Socket
Combinators
Signature
declare function toChannel<IE>(
self: Socket,
): Channel<
Chunk<Uint8Array<ArrayBufferLike>>,
Chunk<string | Uint8Array<ArrayBufferLike> | CloseEvent>,
SocketError | IE,
IE,
void,
unknown
>;toChannelMap
Added in v1.0.0
Source
Signature
declare function toChannelMap<IE, A>(
self: Socket,
f: (data: string | Uint8Array<ArrayBufferLike>) => A,
): Channel<
Chunk<A>,
Chunk<string | Uint8Array<ArrayBufferLike> | CloseEvent>,
SocketError | IE,
IE,
void,
unknown
>;toChannelString
Added in v1.0.0
Source
Signature
declare const toChannelString: {
(
encoding?: string,
): <IE>(
self: Socket,
) => Channel<
Chunk<string>,
Chunk<string | Uint8Array<ArrayBufferLike> | CloseEvent>,
SocketError | IE,
IE,
void,
unknown
>;
<IE>(
self: Socket,
encoding?: string,
): Channel<
Chunk<string>,
Chunk<string | Uint8Array<ArrayBufferLike> | CloseEvent>,
SocketError | IE,
IE,
void,
unknown
>;
};toChannelWith
Added in v1.0.0
Source
Signature
declare function toChannelWith<IE = never>(): (
self: Socket,
) => Channel<
Chunk<Uint8Array<ArrayBufferLike>>,
Chunk<string | Uint8Array<ArrayBufferLike> | CloseEvent>,
SocketError | IE,
IE,
void,
unknown
>;Constructors
fromTransformStream
Added in v1.0.0
Source
Signature
declare function fromTransformStream<R>(
acquire: Effect<InputTransformStream, SocketError, R>,
options?: {
readonly closeCodeIsError?: (code: number) => boolean;
},
): Effect<Socket, never, Exclude<R, Scope>>;fromWebSocket
Added in v1.0.0
Source
Signature
declare function fromWebSocket<RO>(
acquire: Effect<WebSocket, SocketError, RO>,
options?: {
readonly closeCodeIsError?: (code: number) => boolean;
readonly openTimeout?: any;
},
): Effect<Socket, never, Exclude<RO, Scope>>;makeChannel
Added in v1.0.0
Source
Signature
declare function makeChannel<IE = never>(): Channel<
Chunk<Uint8Array<ArrayBufferLike>>,
Chunk<string | Uint8Array<ArrayBufferLike> | CloseEvent>,
SocketError | IE,
IE,
void,
unknown,
Socket
>;makeWebSocket
Added in v1.0.0
Source
Signature
declare function makeWebSocket(
url: string | Effect<string, never, never>,
options?: {
readonly closeCodeIsError?: (code: number) => boolean;
readonly openTimeout?: any;
readonly protocols?: string | Array<string>;
},
): Effect<Socket, never, WebSocketConstructor>;makeWebSocketChannel
Added in v1.0.0
Source
Signature
declare function makeWebSocketChannel<IE = never>(
url: string,
options?: {
readonly closeCodeIsError?: (code: number) => boolean;
},
): Channel<
Chunk<Uint8Array<ArrayBufferLike>>,
Chunk<string | Uint8Array<ArrayBufferLike> | CloseEvent>,
SocketError | IE,
IE,
void,
unknown,
WebSocketConstructor
>;Errors
SocketCloseError
Added in v1.0.0
Source
Signature
declare class SocketCloseError extends YieldableError<this> & Record<typeof SocketErrorTypeId, typeof SocketErrorTypeId> & {
readonly _tag: "SocketError";
} & Readonly<{
readonly closeReason?: string;
readonly code: number;
readonly reason: "Close";
}> {
constructor(args: {
readonly closeReason?: string;
readonly code: number;
readonly reason: "Close";
});
message: string;
static is(u: unknown): u is SocketCloseError;
static isClean(isClean: (code: number) => boolean): (u: unknown) => u is SocketCloseError;
}SocketError type
Added in v1.0.0
Source
Signature
type SocketError = SocketGenericError | SocketCloseError;SocketGenericError
Added in v1.0.0
Source
Signature
declare class SocketGenericError extends YieldableError<this> & Record<typeof SocketErrorTypeId, typeof SocketErrorTypeId> & {
readonly _tag: "SocketError";
} & Readonly<{
readonly cause: unknown;
readonly reason: "Write" | "Read" | "Open" | "OpenTimeout";
}> {
constructor(args: {
readonly cause: unknown;
readonly reason: "Write" | "Read" | "Open" | "OpenTimeout";
});
message: string;
}Fiber Refs
currentSendQueueCapacity
Added in v1.0.0
Source
Signature
declare const currentSendQueueCapacity: FiberRef.FiberRef<number>;Guards
Layers
layerWebSocket
Added in v1.0.0
Source
Signature
declare function layerWebSocket(
url: string,
options?: {
readonly closeCodeIsError?: (code: number) => boolean;
},
): Layer<Socket, never, WebSocketConstructor>;layerWebSocketConstructorGlobal
Added in v1.0.0
Source
Signature
declare const layerWebSocketConstructorGlobal: Layer.Layer<WebSocketConstructor>;Models
CloseEvent
Added in v1.0.0
Source
Signature
declare class CloseEvent {
constructor(code: number, reason?: string);
readonly [CloseEventTypeId]: typeof CloseEventTypeId;
readonly code: number;
readonly reason?: string;
toString(): string;
}InputTransformStream interface
Added in v1.0.0
Source
Signature
interface InputTransformStream {
readonly readable:
| ReadableStream<Uint8Array<ArrayBufferLike>>
| ReadableStream<string>
| ReadableStream<string | Uint8Array<ArrayBufferLike>>;
readonly writable: WritableStream<Uint8Array<ArrayBufferLike>>;
}Signature
interface Socket {
readonly [TypeId]: typeof TypeId;
readonly run: <_, E = never, R = never>(
handler: (_: Uint8Array) => void | Effect<_, E, R>,
options?: {
readonly onOpen?: Effect<void, never, never>;
},
) => Effect<void, SocketError | E, R>;
readonly runRaw: <_, E = never, R = never>(
handler: (_: string | Uint8Array<ArrayBufferLike>) => void | Effect<_, E, R>,
options?: {
readonly onOpen?: Effect<void, never, never>;
},
) => Effect<void, SocketError | E, R>;
readonly writer: Effect<
(chunk: string | Uint8Array<ArrayBufferLike> | CloseEvent) => Effect<void, SocketError>,
never,
Scope
>;
}Other
defaultCloseCodeIsError
Added in v1.0.0
Source
Signature
declare function defaultCloseCodeIsError(code: number): boolean;Refinements
isCloseEvent
Added in v1.0.0
Source
Signature
declare function isCloseEvent(u: unknown): u is CloseEvent;isSocketError
Added in v1.0.0
Source
Signature
declare function isSocketError(u: unknown): u is SocketError;Type Ids
CloseEventTypeId
Added in v1.0.0
Source
Signature
declare const CloseEventTypeId: unique symbol;CloseEventTypeId type
Added in v1.0.0
Source
Signature
type CloseEventTypeId = typeof CloseEventTypeId;SocketErrorTypeId
Added in v1.0.0
Source
Signature
declare const SocketErrorTypeId: unique symbol;SocketErrorTypeId type
Added in v1.0.0
Source
Signature
type SocketErrorTypeId = typeof SocketErrorTypeId;Signature
declare const TypeId: unique symbol;Signature
type TypeId = typeof TypeId;