Hyperlinkv0.8.0-beta.28

NodeSocket

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

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

layers
export 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> = flow(
  Socket.makeWebSocket,
  Layer.effect(Socket.Socket),
  Layer.provide(layerWebSocketConstructor)
)