ihp-1.4.0: Haskell Web Framework
Copyright(c) digitally induced GmbH 2020
Safe HaskellNone
LanguageGHC2021

IHP.Record

Description

 
Synopsis

Documentation

(|>) :: a -> (a -> b) -> b infixl 8 Source #

Pipe operator

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 #

Like set but wraps the value with a Just.

setMaybe :: forall model (name :: Symbol) value. (KnownSymbol name, SetField name model (Maybe value)) => Proxy name -> Maybe value -> model -> model Source #

Like set but doesn't set the value if it's Nothing.

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 #

Methods

setField :: value -> model -> model Source #

Instances

Instances details
SetField "distinctClause" SQLQuery Bool Source # 
Instance details

Defined in IHP.QueryBuilder.Types

SetField "maxItems" Options Int Source # 
Instance details

Defined in IHP.Pagination.Types

SetField "selectFrom" SQLQuery Text Source # 
Instance details

Defined in IHP.QueryBuilder.Types

SetField "windowSize" Options Int Source # 
Instance details

Defined in IHP.Pagination.Types

SetField "annotations" MetaBag [(Text, Violation)] Source # 
Instance details

Defined in IHP.ModelSupport

SetField "distinctOnClause" SQLQuery (Maybe Text) Source # 
Instance details

Defined in IHP.QueryBuilder.Types

SetField "limitClause" SQLQuery (Maybe Int) Source # 
Instance details

Defined in IHP.QueryBuilder.Types

SetField "offsetClause" SQLQuery (Maybe Int) Source # 
Instance details

Defined in IHP.QueryBuilder.Types

SetField "orderByClause" SQLQuery [OrderByClause] Source # 
Instance details

Defined in IHP.QueryBuilder.Types

SetField "queryIndex" SQLQuery (Maybe Text) Source # 
Instance details

Defined in IHP.QueryBuilder.Types

SetField "touchedFields" MetaBag [Text] Source # 
Instance details

Defined in IHP.ModelSupport

Methods

setField :: [Text] -> MetaBag -> MetaBag Source #

SetField "whereCondition" SQLQuery (Maybe Condition) Source # 
Instance details

Defined in IHP.QueryBuilder.Types

SetField "cssFramework" (FormContext record) CSSFramework Source # 
Instance details

Defined in IHP.View.Types

Methods

setField :: CSSFramework -> FormContext record -> FormContext record Source #

SetField "disableJavascriptSubmission" (FormContext record) Bool Source # 
Instance details

Defined in IHP.View.Types

Methods

setField :: Bool -> FormContext record -> FormContext record Source #

SetField "formAction" (FormContext record) Text Source # 
Instance details

Defined in IHP.View.Types

Methods

setField :: Text -> FormContext record -> FormContext record Source #

SetField "formClass" (FormContext record) Text Source # 
Instance details

Defined in IHP.View.Types

Methods

setField :: Text -> FormContext record -> FormContext record Source #

SetField "formId" (FormContext record) Text Source # 
Instance details

Defined in IHP.View.Types

Methods

setField :: Text -> FormContext record -> FormContext record Source #

SetField "formMethod" (FormContext record) Text Source # 
Instance details

Defined in IHP.View.Types

Methods

setField :: Text -> FormContext record -> FormContext record Source #

SetField "model" (FormContext record) record Source # 
Instance details

Defined in IHP.View.Types

Methods

setField :: record -> FormContext record -> FormContext record Source #

SetField "customFormAttributes" (FormContext record) [(Text, Text)] Source # 
Instance details

Defined in IHP.View.Types

Methods

setField :: [(Text, Text)] -> FormContext record -> FormContext record Source #

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

Instances details
CopyFields ('[] :: [Symbol]) destinationRecord sourceRecord Source # 
Instance details

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 # 
Instance details

Defined in IHP.Record

Methods

copyFields :: sourceRecord -> destinationRecord -> destinationRecord Source #