Module

Halogen.VDom

Package
purescript-halogen-vdom
Repository
slamdata/purescript-halogen-vdom

Re-exports from Halogen.VDom.DOM

#VDomSpec Source

newtype VDomSpec a w

Widget machines recursively reference the configured spec to potentially enable recursive trees of Widgets.

Constructors

#buildVDom Source

buildVDom :: forall w a. VDomSpec a w -> VDomMachine a w

Starts an initial VDom machine by providing a VDomSpec.

main = do
  machine1 ← buildVDom spec vdomTree1
  machine2 ← Machine.step machine1 vdomTree2
  machine3 ← Machine.step machine2 vdomTree3
  ...

Re-exports from Halogen.VDom.Machine

#Step Source

data Step a b

Constructors

#Machine Source

type Machine a b = EffectFn1 a (Step a b)

#step Source

step :: forall b a. Step a b -> EffectFn1 a (Step a b)

Runs the next step.

#halt Source

halt :: forall b a. Step a b -> Effect Unit

Runs the finalizer associated with a Step

#extract Source

extract :: forall b a. Step a b -> b

Returns the output value of a Step.

Re-exports from Halogen.VDom.Types

#VDom Source

data VDom a w

The core virtual-dom tree type, where a is the type of attributes, and w is the type of "widgets". Widgets are machines that have complete control over the lifecycle of some DOM.Node.

The Grafted constructor and associated machinery enables bimap fusion using a Coyoneda-like encoding.

Constructors

Instances

#Graft Source

data Graft :: Type -> Type -> Type

Instances

#ElemSpec Source

data ElemSpec a

Constructors

Instances

#ElemName Source

#runGraft Source

runGraft :: forall w' a'. Graft a' w' -> VDom a' w'