Module

Halogen.Hooks.Internal.Eval.Types

Package
purescript-halogen-hooks
Repository
thomashoneyman/purescript-halogen-hooks

#HalogenM' Source

type HalogenM' :: (Type -> Type) -> Type -> (Type -> Type) -> Type -> Type -> Typetype HalogenM' q i m b a = HalogenM (HookState q i m b) (HookM m Unit) SlotType OutputValue m a

#toHalogenM Source

toHalogenM :: forall q i ps o m b a. SlotToken ps -> OutputToken o -> HalogenM' q i m b a -> HalogenM (HookState q i m b) (HookM m Unit) ps o m a

#QueryFn Source

data QueryFn :: (Type -> Type) -> (Type -> Type) -> Typedata QueryFn t0 t1

#toQueryFn Source

toQueryFn :: forall q m. (forall a. q a -> HookM m (Maybe a)) -> QueryFn q m

#fromQueryFn Source

fromQueryFn :: forall q m. QueryFn q m -> (forall a. q a -> HookM m (Maybe a))

#HookState Source

newtype HookState :: (Type -> Type) -> Type -> (Type -> Type) -> Type -> Typenewtype HookState q i m a

Constructors

Instances

#InternalHookState Source

type InternalHookState :: (Type -> Type) -> Type -> (Type -> Type) -> Type -> Typetype InternalHookState q i m a = { componentRef :: ComponentRef, effectCells :: QueueState ((Maybe MemoValues) /\ (HookM m Unit)), evalQueue :: Array (HalogenM (HookState q i m a) (HookM m Unit) SlotType OutputValue m Unit), input :: i, memoCells :: QueueState (MemoValues /\ MemoValue), queryFn :: Maybe (QueryFn q m), refCells :: QueueState (Ref RefValue), stateCells :: QueueState StateValue, stateDirty :: Boolean }

#QueueState Source

type QueueState a = { index :: Int, queue :: Array a }