Module
ChocoPie
- Package
- purescript-choco-pie
- Repository
- justinwoo/purescript-chocopie
#runChocoPie Source
runChocoPie :: forall eff sourceRow sinkRow driverRow bundleRow. ChocoPieRecord eff sourceRow sinkRow driverRow bundleRow => (Record sourceRow -> Record sinkRow) -> Record driverRow -> Eff (frp :: FRP | eff) Unit
#ChocoPieRecord Source
class ChocoPieRecord (e :: Row Effect) (sourceRow :: Row Type) (sinkRow :: Row Type) (driverRow :: Row Type) (bundleRow :: Row Type) | e -> sourceRow sinkRow driverRow bundleRow where
Members
chocoPieItUp :: (Record sourceRow -> Record sinkRow) -> (Record driverRow) -> Eff (frp :: FRP | e) Unit
Instances
(RowToList sourceRow sourceList, RowToList sinkRow sinkList, RowToList driverRow driverList, RowToList bundleRow bundleList, ChocoPieRowList e sourceList sinkList driverList bundleList, MakeSinkProxies e sinkList sinkRow bundleList bundleRow, CallDrivers e driverList driverRow bundleList bundleRow sourceList sourceRow, ReplicateMany e sinkList sinkRow bundleList bundleRow) => ChocoPieRecord e sourceRow sinkRow driverRow bundleRow
#MakeSinkProxies Source
class MakeSinkProxies (e :: Row Effect) (sinkList :: RowList) (sinks :: Row Type) (bundleList :: RowList) (bundles :: Row Type) | sinkList -> sinks, bundleList -> bundles where
Members
makeSinkProxies :: RLProxy sinkList -> RLProxy bundleList -> RProxy sinks -> Eff (frp :: FRP | e) (Record bundles)
Instances
(IsSymbol name, MakeSinkProxies e tail tailRow bundleList bundles', RowLacks name bundles', RowCons name { event :: Event a, push :: a -> Eff (frp :: FRP | e) Unit } bundles' bundles) => MakeSinkProxies e (Cons name (Event a) tail) row bundleList bundles
(TypeEquals (Record bundle) (Record ())) => MakeSinkProxies e Nil row bundleList bundle
#CallDrivers Source
class CallDrivers (e :: Row Effect) (driverList :: RowList) (driver :: Row Type) (bundleList :: RowList) (bundle :: Row Type) (sourceList :: RowList) (source :: Row Type) | driverList -> driver bundleList sourceList, bundleList -> bundle driverList sourceList, sourceList -> source driverList bundleList where
Members
callDrivers :: RLProxy driverList -> RLProxy bundleList -> RLProxy sourceList -> Record driver -> Record bundle -> Eff (frp :: FRP | e) (Record source)
Instances
(IsSymbol name, CallDrivers e driverTail driverRow bundleTail bundleRow sourceTail sourceTailRow, TypeEquals bundleton { event :: Event a, push :: a -> Eff (frp :: FRP | e) Unit }, TypeEquals driverton (Event a -> Eff (frp :: FRP | e) b), RowCons name driverton trash1 driverRow, RowCons name bundleton trash2 bundleRow, RowLacks name sourceTailRow, RowCons name b sourceTailRow sourceRow) => CallDrivers e (Cons name driverton driverTail) driverRow (Cons name bundleton bundleTail) bundleRow (Cons name b sourceTail) sourceRow
(TypeEquals (Record source) (Record ())) => CallDrivers e Nil driver Nil bundle Nil source
#ReplicateMany Source
class ReplicateMany (e :: Row Effect) (sinkList :: RowList) (sinkRow :: Row Type) (bundleList :: RowList) (bundleRow :: Row Type) | sinkList -> sinkRow, bundleList -> bundleRow where
Members
replicateMany :: RLProxy sinkList -> RLProxy bundleList -> Record sinkRow -> Record bundleRow -> Eff (frp :: FRP | e) Unit
Instances
(IsSymbol name, TypeEquals bundleton { event :: Event a, push :: a -> Eff (frp :: FRP | e) Unit }, RowCons name (Event a) sinkTailRow sinkRow, RowCons name bundleton bundleTailRow bundleRow, ReplicateMany e sinkTail sinkRow bundleTail bundleRow) => ReplicateMany e (Cons name (Event a) sinkTail) sinkRow (Cons name bundleton bundleTail) bundleRow
ReplicateMany e Nil sinkRow Nil bundleRow
#ChocoPieRowList Source
class ChocoPieRowList (e :: Row Effect) (sourceList :: RowList) (sinkList :: RowList) (driverList :: RowList) (bundleList :: RowList) | sourceList -> sinkList driverList bundleList, sinkList -> sourceList driverList bundleList, driverList -> sourceList sinkList bundleList, bundleList -> sourceList sinkList driverList
Instances
(ChocoPieRowList e sourceTail sinkTail driverTail bundleTail, TypeEquals driver ((Event a) -> Eff (frp :: FRP | e) b), TypeEquals c { event :: Event a, push :: a -> Eff (frp :: FRP | e) Unit }) => ChocoPieRowList e (Cons k b sourceTail) (Cons k (Event a) sinkTail) (Cons k driver driverTail) (Cons k c bundleTail)
ChocoPieRowList e Nil Nil Nil Nil
- Modules
- ChocoPie