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 -> Constraint
class 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 -> Constraint
class 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 -> Constraint
class 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