Module

Halogen.Data.Slot

#Slot

data Slot (query :: Type -> Type) output slot

#SlotStorage

newtype SlotStorage (slots :: Row Type) (slot :: (Type -> Type) -> Type -> Type)

#empty

empty :: forall slots slot. SlotStorage slots slot

#lookup

lookup :: forall sym px slots slot query output s. Cons sym (Slot query output s) px slots => IsSymbol sym => Ord s => Proxy sym -> s -> SlotStorage slots slot -> Maybe (slot query output)

#insert

insert :: forall sym px slots slot query output s. Cons sym (Slot query output s) px slots => IsSymbol sym => Ord s => Proxy sym -> s -> slot query output -> SlotStorage slots slot -> SlotStorage slots slot

#pop

pop :: forall sym px slots slot query output s. Cons sym (Slot query output s) px slots => IsSymbol sym => Ord s => Proxy sym -> s -> SlotStorage slots slot -> Maybe (Tuple (slot query output) (SlotStorage slots slot))

#slots

slots :: forall sym px slots slot query output s. Cons sym (Slot query output s) px slots => IsSymbol sym => Ord s => Proxy sym -> SlotStorage slots slot -> Map s (slot query output)

#foreachSlot

foreachSlot :: forall m slots slot. Applicative m => SlotStorage slots slot -> (forall query output. slot query output -> m Unit) -> m Unit

Modules