Skip to content

NodeSocket.ts

Node.js socket constructors and layers for Effect sockets.

This module re-exports the shared Node socket support for TCP connections, Unix domain socket connections, and Node Duplex streams. It also provides WebSocket constructor layers: one that uses globalThis.WebSocket when present and falls back to ws, one that always uses ws, and one that creates a Socket.Socket layer for a WebSocket URL.

Since v4.0.0



Creates a Socket.Socket layer for a WebSocket URL using the Node WebSocket constructor layer, honoring protocol, open-timeout, and close-code error options.

Signature

declare const layerWebSocket: (
url: string | Effect.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, using globalThis.WebSocket when available and falling back to the ws package otherwise.

Signature

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

Source

Since v4.0.0

Provides a Socket.WebSocketConstructor backed explicitly by the ws package.

Signature

declare const layerWebSocketConstructorWS: 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