UNPKG

@akala/core

Version:
10 lines (9 loc) 730 B
import { IsomorphicBuffer } from "../helpers.js"; import { SocketAdapter } from "./shared.js"; import { SocketProtocolAdapter } from "./shared.socket-protocol-adapter.js"; export interface SocketProtocolTransformer<TMessage, TSource = string | IsomorphicBuffer> { receive: (data: TSource, self: SocketProtocolAdapter<unknown>) => TMessage[]; send: (data: TMessage, self: SocketProtocolAdapter<unknown>) => TSource; close?: (socket: SocketAdapter) => Promise<void>; } export declare function pipeSocketProtocolTransformer<TSource, TIntermediate, TTarget>(source: SocketProtocolTransformer<TIntermediate, TSource>, target: SocketProtocolTransformer<TTarget, TIntermediate>): SocketProtocolTransformer<TTarget, TSource>;