BrowserRuntime
Browser helper for running a root Effect program.
This module exports runMain, a browser version of the main Effect runner.
It forwards runner options to the core runtime and adds a pagehide
listener that interrupts the main fiber when the document is discarded.
Running
Runs an effect as the browser main program and interrupts its fiber when the document is discarded.
When to use
Use to launch a browser page, single-page application, demo, or browser test harness as a root Effect program.
Details
Supports both direct and curried call forms. Options are forwarded to
makeRunMain, including disableErrorReporting and custom teardown
behavior. A persisted pagehide event is ignored because the document is
entering the back/forward cache and may be restored.
Gotchas
The pagehide interruption is best-effort. Browser teardown may prevent
asynchronous finalizers, network work, timers, or prompts from completing.
Signature
declare const runMain: { (options?: { readonly disableErrorReporting?: boolean; readonly teardown?: Teardown; }): <E, A>(effect: Effect<A, E>) => void; <E, A>(effect: Effect<A, E>, options?: { readonly disableErrorReporting?: boolean; readonly teardown?: Teardown; }): void;}