Skip to content

BrowserWorkerRunner

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 Added in v4.0.0 Source

Constructors

make

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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>;

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

Signature

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