Skip to content
Effect 4.0 is here. One ecosystem. Zero dependencies.

BrowserWorkerRunner unstable

Runner-side browser platform for Effect worker handlers.

make builds a WorkerRunnerPlatform over a MessagePort or Window. layer provides the platform from the global worker self, and layerMessagePort provides it from an explicit endpoint. The platform receives parent or client messages, runs Effect handlers, and posts responses back through the browser messaging channel.

3 exports Since v4.0.0 Source

Constructors

make

unstable
Since v4.0.0

Creates a WorkerRunnerPlatform service that runs worker handlers over a MessagePort or Window.

Signature

declare function make(self: MessagePort | Window): {
readonly start: <O = unknown, I = unknown>() => Effect<WorkerRunner<O, I>, WorkerError>;
}

Layers

layer

unstable
Since v4.0.0

Layer that provides a browser WorkerRunnerPlatform using the global self worker context.

When to use

Use when you need a browser worker entry point to use the ambient self object as the worker transport.

Details

Delegates to make(self) and provides the runner-side platform used by protocols such as RpcServer.layerProtocolWorkerRunner.

Gotchas

This layer depends on the browser worker global self. Use layerMessagePort when the transport is an explicit MessagePort or Window.

See

  • make for constructing a runner platform from an explicit endpoint
  • layerMessagePort for providing a platform from an explicit endpoint

Signature

declare const layer: Layer.Layer<WorkerRunner.WorkerRunnerPlatform>
Since v4.0.0

Layer that provides a WorkerRunnerPlatform using the supplied MessagePort or Window.

Signature

declare function layerMessagePort(port: MessagePort | Window): Layer<WorkerRunnerPlatform>