Skip to content

BrowserSocket

Browser WebSocket layers for Effect sockets.

layerWebSocket creates a Socket.Socket connected to a WebSocket URL using the browser WebSocket constructor. layerWebSocketConstructor provides only the browser-backed constructor service for lower-level socket code.

2 exports Added in v4.0.0 Source

Layers

Creates a Socket layer connected to the given URL using the browser WebSocket constructor.

When to use

Use when you need browser code to satisfy the platform socket service from a URL without wiring the browser constructor service separately.

Details

Delegates socket construction to Socket.makeWebSocket and provides the browser-backed WebSocketConstructor service.

Gotchas

Browser WebSocket rules still control URL schemes, mixed-content blocking, cookies, authentication, origin checks, subprotocols, and extensions. Close events are errors unless closeCodeIsError classifies the close code as clean.

See

Signature

declare function layerWebSocket(
  url: string,
  options?: {
    readonly closeCodeIsError?: (code: number) => boolean;
  },
): Layer<Socket>;

Layer that provides a WebSocketConstructor service backed by globalThis.WebSocket.

Signature

declare const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketConstructor>;