Socket.ts overview
Since v1.0.0
Exports Grouped by Category
combinators
toChannel
Signature
declare const toChannel: <IE>(
self: Socket
) => Channel.Channel<
Chunk.Chunk<Uint8Array>,
Chunk.Chunk<Uint8Array | string | CloseEvent>,
SocketError | IE,
IE,
void,
unknown
>
Since v1.0.0
toChannelMap
Signature
declare const toChannelMap: <IE, A>(
self: Socket,
f: (data: Uint8Array | string) => A
) => Channel.Channel<Chunk.Chunk<A>, Chunk.Chunk<Uint8Array | string | CloseEvent>, SocketError | IE, IE, void, unknown>
Since v1.0.0
toChannelString
Signature
declare const toChannelString: {
(
encoding?: string | undefined
): <IE>(
self: Socket
) => Channel.Channel<
Chunk.Chunk<string>,
Chunk.Chunk<Uint8Array | string | CloseEvent>,
SocketError | IE,
IE,
void,
unknown
>
<IE>(
self: Socket,
encoding?: string | undefined
): Channel.Channel<
Chunk.Chunk<string>,
Chunk.Chunk<Uint8Array | string | CloseEvent>,
SocketError | IE,
IE,
void,
unknown
>
}
Since v1.0.0
toChannelWith
Signature
declare const toChannelWith: <IE = never>() => (
self: Socket
) => Channel.Channel<
Chunk.Chunk<Uint8Array>,
Chunk.Chunk<Uint8Array | string | CloseEvent>,
SocketError | IE,
IE,
void,
unknown
>
Since v1.0.0
constructors
fromTransformStream
Signature
declare const fromTransformStream: <R>(
acquire: Effect.Effect<InputTransformStream, SocketError, R>,
options?: { readonly closeCodeIsError?: (code: number) => boolean }
) => Effect.Effect<Socket, never, Exclude<R, Scope.Scope>>
Since v1.0.0
fromWebSocket
Signature
declare const fromWebSocket: <RO>(
acquire: Effect.Effect<globalThis.WebSocket, SocketError, RO>,
options?: { readonly closeCodeIsError?: (code: number) => boolean; readonly openTimeout?: DurationInput }
) => Effect.Effect<Socket, never, Exclude<RO, Scope.Scope>>
Since v1.0.0
makeChannel
Signature
declare const makeChannel: <IE = never>() => Channel.Channel<
Chunk.Chunk<Uint8Array>,
Chunk.Chunk<Uint8Array | string | CloseEvent>,
SocketError | IE,
IE,
void,
unknown,
Socket
>
Since v1.0.0
makeWebSocket
Signature
declare const makeWebSocket: (
url: string | Effect.Effect<string>,
options?: {
readonly closeCodeIsError?: ((code: number) => boolean) | undefined
readonly openTimeout?: DurationInput | undefined
readonly protocols?: string | Array<string> | undefined
}
) => Effect.Effect<Socket, never, WebSocketConstructor>
Since v1.0.0
makeWebSocketChannel
Signature
declare const makeWebSocketChannel: <IE = never>(
url: string,
options?: { readonly closeCodeIsError?: (code: number) => boolean }
) => Channel.Channel<
Chunk.Chunk<Uint8Array>,
Chunk.Chunk<Uint8Array | string | CloseEvent>,
SocketError | IE,
IE,
void,
unknown,
WebSocketConstructor
>
Since v1.0.0
errors
SocketCloseError (class)
Signature
declare class SocketCloseError
Since v1.0.0
is (static method)
Signature
declare const is: (u: unknown) => u is SocketCloseError
Since v1.0.0
isClean (static method)
Signature
declare const isClean: (isClean: (code: number) => boolean) => (u: unknown) => u is SocketCloseError
Since v1.0.0
SocketError (type alias)
Signature
type SocketError = SocketGenericError | SocketCloseError
Since v1.0.0
SocketGenericError (class)
Signature
declare class SocketGenericError
Since v1.0.0
fiber refs
currentSendQueueCapacity
Signature
declare const currentSendQueueCapacity: FiberRef.FiberRef<number>
Since v1.0.0
guards
isSocket
Signature
declare const isSocket: (u: unknown) => u is Socket
Since v1.0.0
layers
layerWebSocket
Signature
declare const layerWebSocket: (
url: string,
options?: { readonly closeCodeIsError?: (code: number) => boolean }
) => Layer.Layer<Socket, never, WebSocketConstructor>
Since v1.0.0
layerWebSocketConstructorGlobal
Signature
declare const layerWebSocketConstructorGlobal: Layer.Layer<WebSocketConstructor>
Since v1.0.0
models
CloseEvent (class)
Signature
declare class CloseEvent { constructor(readonly code = 1000, readonly reason?: string) }
Since v1.0.0
toString (method)
Signature
declare const toString: () => string
Since v1.0.0
[CloseEventTypeId] (property)
Signature
readonly [CloseEventTypeId]: unique symbol
Since v1.0.0
InputTransformStream (interface)
Signature
export interface InputTransformStream {
readonly readable: ReadableStream<Uint8Array> | ReadableStream<string> | ReadableStream<Uint8Array | string>
readonly writable: WritableStream<Uint8Array>
}
Since v1.0.0
Socket (interface)
Signature
export interface Socket {
readonly [TypeId]: TypeId
readonly run: <_, E = never, R = never>(
handler: (_: Uint8Array) => Effect.Effect<_, E, R> | void
) => Effect.Effect<void, SocketError | E, R>
readonly runRaw: <_, E = never, R = never>(
handler: (_: string | Uint8Array) => Effect.Effect<_, E, R> | void
) => Effect.Effect<void, SocketError | E, R>
readonly writer: Effect.Effect<
(chunk: Uint8Array | string | CloseEvent) => Effect.Effect<void, SocketError>,
never,
Scope.Scope
>
}
Since v1.0.0
refinements
isCloseEvent
Signature
declare const isCloseEvent: (u: unknown) => u is CloseEvent
Since v1.0.0
isSocketError
Signature
declare const isSocketError: (u: unknown) => u is SocketError
Since v1.0.0
tags
Socket
Signature
declare const Socket: Context.Tag<Socket, Socket>
Since v1.0.0
WebSocket
Signature
declare const WebSocket: Context.Tag<WebSocket, globalThis.WebSocket>
Since v1.0.0
WebSocket (interface)
Signature
export interface WebSocket {
readonly _: unique symbol
}
Since v1.0.0
WebSocketConstructor
Signature
declare const WebSocketConstructor: Context.Tag<
WebSocketConstructor,
(url: string, protocols?: string | Array<string> | undefined) => globalThis.WebSocket
>
Since v1.0.0
WebSocketConstructor (interface)
Signature
export interface WebSocketConstructor {
readonly _: unique symbol
}
Since v1.0.0
type ids
CloseEventTypeId
Signature
declare const CloseEventTypeId: unique symbol
Since v1.0.0
CloseEventTypeId (type alias)
Signature
type CloseEventTypeId = typeof CloseEventTypeId
Since v1.0.0
SocketErrorTypeId
Signature
declare const SocketErrorTypeId: unique symbol
Since v1.0.0
SocketErrorTypeId (type alias)
Signature
type SocketErrorTypeId = typeof SocketErrorTypeId
Since v1.0.0
TypeId
Signature
declare const TypeId: unique symbol
Since v1.0.0
TypeId (type alias)
Signature
type TypeId = typeof TypeId
Since v1.0.0
utils
defaultCloseCodeIsError
Signature
declare const defaultCloseCodeIsError: (code: number) => boolean
Since v1.0.0