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 beforeunload listener that interrupts the main fiber when the page is unloading.
Running
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;
};
Runs an effect as the browser main program and interrupts its fiber when the page receives a
beforeunloadevent.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, includingdisableErrorReportingand customteardownbehavior.Gotchas
The
beforeunloadinterruption is best-effort. Browser teardown may prevent asynchronous finalizers, network work, timers, or prompts from completing.