#WidgetStepRecord Source

type WidgetStepRecord v a = { cont :: Aff a, view :: v }

#WidgetStep Source

newtype WidgetStep v a



#unWidgetStep Source

unWidgetStep :: forall a v. WidgetStep v a -> Effect (Either a (WidgetStepRecord v a))

#displayStep Source

displayStep :: forall v a. v -> WidgetStep v a

#Widget Source

newtype Widget v a



#unWidget Source

unWidget :: forall a v. Widget v a -> Free (WidgetStep v) a

#flipEither Source

flipEither :: forall b a. Either a b -> Either b a

#resume Source

resume :: forall a f. Functor f => Free f a -> Either a (f (Free f a))

#andd Source

andd :: forall a v. Monoid v => Array (Widget v a) -> Widget v (Array a)

Run multiple widgets in parallel until all finish, and collect their outputs Contrast with orr

#pulse Source

pulse :: forall v. Monoid v => Widget v Unit

#mapView Source

mapView :: forall v2 v1 a. (v1 -> v2) -> Widget v1 a -> Widget v2 a

#mapViewStep Source

mapViewStep :: forall a v2 v1. (v1 -> v2) -> WidgetStep v1 a -> WidgetStep v2 a

#display Source

display :: forall v a. v -> Widget v a

#effAction Source

effAction :: forall v a. Effect a -> Widget v a

#unsafeBlockingEffAction Source

unsafeBlockingEffAction :: forall v a. Effect a -> Widget v a

#affAction Source

affAction :: forall v a. v -> Aff a -> Widget v a

#asyncAction Source

asyncAction :: forall a v. v -> ((Either Error a -> Effect Unit) -> Effect (Effect Unit)) -> Widget v a