Module
MVC.Variant.Update  
- Package
- purescript-mvc
- Repository
- thought2/purescript-mvc
#MatchCase Source
#MatchCaseRL Source
class MatchCaseRL :: RowList Type -> Row Type -> Row Type -> Row Type -> Constraintclass MatchCaseRL (rl :: RowList Type) (rcase :: Row Type) (initstates :: Row Type) (rsta :: Row Type) | rl -> rcase where
Members
- matchCaseRL :: Proxy rl -> Record initstates -> Variant rcase -> Variant rsta
Instances
- MatchCaseRL Nil () initstates rsta
- (Cons sym sta rstax rsta, Cons sym sta initstatesx initstates, Cons sym Unit rcase' rcase, Lacks sym rcase', MatchCaseRL rl' rcase' initstates rsta, IsSymbol sym) => MatchCaseRL (Cons sym x rl') rcase initstates rsta
#UpdateVariant Source
class UpdateVariant :: Row Type -> Row Type -> Row Type -> Row Type -> Row Type -> Constraintclass UpdateVariant (initstates :: Row Type) (updates :: Row Type) (rcase :: Row Type) (rmsg :: Row Type) (rsta :: Row Type) where
Members
- updateVariant :: Record initstates -> Record updates -> (VariantMsg rcase rmsg -> VariantState rsta -> VariantState rsta)
Instances
- (UpdateVariantRL rl updates rmsg rsta, RowToList updates rl, MatchCase rcase initstates rsta) => UpdateVariant initstates updates rcase rmsg rsta
#UpdateVariantRL Source
class UpdateVariantRL :: RowList Type -> Row Type -> Row Type -> Row Type -> Constraintclass UpdateVariantRL (rl :: RowList Type) (updates :: Row Type) (rmsg :: Row Type) (rsta :: Row Type) | rl -> rsta where
Members
Instances
- UpdateVariantRL Nil updates rmsg ()
- (Cons sym (msg -> sta -> sta) updatesx updates, Cons sym msg rmsgx rmsg, Cons sym sta rsta' rsta, Lacks sym rsta', Lacks sym updatesx, UpdateVariantRL rl' updates rmsg rsta', IsSymbol sym, Union rsta' rstax rsta, RowToList rsta msgRL) => UpdateVariantRL (Cons sym x rl') updates rmsg rsta