Skip to content

BunSocket.ts

Bun platform socket entry point for Effect sockets.

This module re-exports the shared Node socket constructors for TCP clients, Unix domain socket clients, and adapters from existing Node Duplex streams. It also provides Bun WebSocket layers using globalThis.WebSocket, including a constructor layer and a Socket.Socket layer for a WebSocket URL.

Since v4.0.0



Creates a Socket.Socket layer for a WebSocket URL using Bun’s global WebSocket constructor, honoring protocol, open-timeout, and close-code error options.

Signature

declare const layerWebSocket: (
url: string | Effect<string>,
options?:
| {
readonly closeCodeIsError?: ((code: number) => boolean) | undefined
readonly openTimeout?: Duration.Input | undefined
readonly protocols?: string | Array<string> | undefined
}
| undefined
) => Layer.Layer<Socket.Socket, never, never>

Source

Since v4.0.0

Provides a Socket.WebSocketConstructor backed by Bun’s global WebSocket implementation.

Signature

declare const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketConstructor, never, never>

Source

Since v4.0.0

“@effect/platform-node-shared/NodeSocket” (namespace export)

Section titled ““@effect/platform-node-shared/NodeSocket” (namespace export)”

Re-exports all named exports from the “@effect/platform-node-shared/NodeSocket” module.

Signature

export * from "@effect/platform-node-shared/NodeSocket"

Source

Since v4.0.0