Module

Halogen.Hooks.Internal.Eval.Types

#HalogenM'

type HalogenM' q i m b a = HalogenM (HookState q i m b) (HookM m Unit) SlotType OutputValue m a

#toHalogenM

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

#InterpretHookReason

#QueryFn

data QueryFn :: (Type -> Type) -> (Type -> Type) -> Type

#toQueryFn

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

#fromQueryFn

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

#HookState

newtype HookState q i m a

Constructors

Instances

#InternalHookState

type 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

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

Modules