arowM / elm-thread / Thread.Browser

Browser alternatives.

If your needs cannot be met by this module, use the low level functions of Thread.Procedure.

element : { init : memory, procedures : flags -> Thread.Procedure.Block memory event, view : Thread.Procedure.ThreadId -> memory -> Html (Thread.Procedure.Msg event), subscriptions : Thread.Procedure.ThreadId -> memory -> Platform.Sub.Sub (Thread.Procedure.Msg event) } -> Program flags memory event

Threads version of Browser.element

document : { init : memory, procedures : flags -> Thread.Procedure.Block memory event, view : Thread.Procedure.ThreadId -> memory -> Document (Thread.Procedure.Msg event), subscriptions : Thread.Procedure.ThreadId -> memory -> Platform.Sub.Sub (Thread.Procedure.Msg event) } -> Program flags memory event

Threads version of Browser.document

application : { init : memory, procedures : flags -> Url -> Browser.Navigation.Key -> Thread.Procedure.Block memory event, view : Thread.Procedure.ThreadId -> memory -> Document (Thread.Procedure.Msg event), subscriptions : Thread.Procedure.ThreadId -> memory -> Platform.Sub.Sub (Thread.Procedure.Msg event), onUrlRequest : Browser.UrlRequest -> event, onUrlChange : Url -> event } -> Program flags memory event

Threads version of Browser.application


type alias Program flags memory event =
Platform.Program flags (Thread.Procedure.Model memory event) (Thread.Procedure.Msg event)

An alias for Platform.Program.


type alias Document event =
Browser.Document event

Reexport Browser.Document for convenience.

globalHtml : (memory -> Html event) -> Thread.Procedure.ThreadId -> memory -> Html (Thread.Procedure.Msg event)

Construct a view field for element from Html event. All the events fired in the resulting Html is delivered to all threads.

globalDocument : (memory -> Document event) -> Thread.Procedure.ThreadId -> memory -> Document (Thread.Procedure.Msg event)

Construct a view field for document and application from Document event. All the events fired in the resulting Document is delivered to all threads.

globalSubscriptions : (memory -> Platform.Sub.Sub event) -> Thread.Procedure.ThreadId -> memory -> Platform.Sub.Sub (Thread.Procedure.Msg event)

Construct a subscriptions field from Sub event. All the events fired in the resulting Sub is delivered to all threads.