Module

Flame.Application

Package
purescript-flame
Repository
easafe/purescript-flame

Run TEA like applications

#Update Source

type Update model message = model -> message -> Tuple model (Array (Aff (Maybe message)))

#App Source

type App :: Type -> Type -> Row Type -> Typetype App model message extension = { subscribe :: Array (Subscription message), view :: model -> Html message | extension }

Abstracts over common fields of an Application

#Application Source

type Application model message = App model message (model :: model, update :: Update model message)

Application contains

  • model – starting model
  • view – a function to update your markup
  • update – a function to update your model
  • subscribe – list of external events

#noMessages Source

noMessages :: forall model message. model -> Tuple model (Array (Aff (Maybe message)))

#mount Source

mount :: forall id model message. Show id => QuerySelector -> AppId id message -> Application model message -> Effect Unit

Mount a Flame application that can be fed arbitrary external messages

#mount_ Source

mount_ :: forall model message. QuerySelector -> Application model message -> Effect Unit

Mount a Flame application on the given selector

#ResumedApplication Source

type ResumedApplication model message = App model message (update :: Update model message)

ResumedApplication contains

  • view – a function to update your markup
  • update – a function to update your model
  • subscribe – list of external events

#resumeMount Source

resumeMount :: forall id model message. UnserializeState model => Show id => QuerySelector -> AppId id message -> ResumedApplication model message -> Effect model

Mount on the given selector a Flame application which was rendered server-side and can be fed arbitrary external messages

#resumeMount_ Source

resumeMount_ :: forall model message. UnserializeState model => QuerySelector -> ResumedApplication model message -> Effect model

Mount a Flame application on the given selector which was rendered server-side