| Copyright | (c) digitally induced GmbH 2020 |
|---|---|
| Safe Haskell | None |
| Language | GHC2021 |
IHP.Record
Description
Synopsis
- (|>) :: a -> (a -> b) -> b
- get :: forall model (name :: Symbol) value. (KnownSymbol name, HasField name model value) => Proxy name -> model -> value
- set :: forall model (name :: Symbol) value. (KnownSymbol name, SetField name model value) => Proxy name -> value -> model -> model
- setJust :: forall model (name :: Symbol) value. (KnownSymbol name, SetField name model (Maybe value)) => Proxy name -> value -> model -> model
- setMaybe :: forall model (name :: Symbol) value. (KnownSymbol name, SetField name model (Maybe value)) => Proxy name -> Maybe value -> model -> model
- modify :: forall model (name :: Symbol) value. (KnownSymbol name, HasField name model value, SetField name model value) => Proxy name -> (value -> value) -> model -> model
- modifyJust :: forall model (name :: Symbol) value. (KnownSymbol name, HasField name model (Maybe value), SetField name model (Maybe value)) => Proxy name -> (value -> value) -> model -> model
- class SetField (field :: Symbol) model value | field model -> value where
- setField :: value -> model -> model
- class HasField field model value => UpdateField (field :: Symbol) model model' value value' | model model' value' -> value where
- updateField :: value' -> model -> model'
- incrementField :: forall model (name :: Symbol) value. (KnownSymbol name, HasField name model value, SetField name model value, Num value) => Proxy name -> model -> model
- decrementField :: forall model (name :: Symbol) value. (KnownSymbol name, HasField name model value, SetField name model value, Num value) => Proxy name -> model -> model
- class CopyFields (fields :: [Symbol]) destinationRecord sourceRecord where
- copyFields :: sourceRecord -> destinationRecord -> destinationRecord
Documentation
get :: forall model (name :: Symbol) value. (KnownSymbol name, HasField name model value) => Proxy name -> model -> value Source #
Returns the field value for a field name
set :: forall model (name :: Symbol) value. (KnownSymbol name, SetField name model value) => Proxy name -> value -> model -> model Source #
Sets a field of a record and returns the new record.
setJust :: forall model (name :: Symbol) value. (KnownSymbol name, SetField name model (Maybe value)) => Proxy name -> value -> model -> model Source #
setMaybe :: forall model (name :: Symbol) value. (KnownSymbol name, SetField name model (Maybe value)) => Proxy name -> Maybe value -> model -> model Source #
modify :: forall model (name :: Symbol) value. (KnownSymbol name, HasField name model value, SetField name model value) => Proxy name -> (value -> value) -> model -> model Source #
modifyJust :: forall model (name :: Symbol) value. (KnownSymbol name, HasField name model (Maybe value), SetField name model (Maybe value)) => Proxy name -> (value -> value) -> model -> model Source #
Like modify, but only modifies the value if it's not Nothing.
class SetField (field :: Symbol) model value | field model -> value where Source #
Instances
class HasField field model value => UpdateField (field :: Symbol) model model' value value' | model model' value' -> value where Source #
Methods
updateField :: value' -> model -> model' Source #
incrementField :: forall model (name :: Symbol) value. (KnownSymbol name, HasField name model value, SetField name model value, Num value) => Proxy name -> model -> model Source #
Plus 1 on record field.
decrementField :: forall model (name :: Symbol) value. (KnownSymbol name, HasField name model value, SetField name model value, Num value) => Proxy name -> model -> model Source #
Minus 1 on a record field.
class CopyFields (fields :: [Symbol]) destinationRecord sourceRecord where Source #
Methods
copyFields :: sourceRecord -> destinationRecord -> destinationRecord Source #
Instances
| CopyFields ('[] :: [Symbol]) destinationRecord sourceRecord Source # | |
Defined in IHP.Record Methods copyFields :: sourceRecord -> destinationRecord -> destinationRecord Source # | |
| (CopyFields rest destinationRecord sourceRecord, KnownSymbol fieldName, SetField fieldName destinationRecord fieldType, HasField fieldName sourceRecord fieldType) => CopyFields (fieldName ': rest) destinationRecord sourceRecord Source # | |
Defined in IHP.Record Methods copyFields :: sourceRecord -> destinationRecord -> destinationRecord Source # | |