@akala/core
Version:
23 lines (22 loc) • 987 B
TypeScript
import type { EventBus, SpecialEvents } from "../events/event-bus.js";
import type { IEvent } from "../events/shared.js";
import { IsomorphicBuffer } from "../helpers.js";
export interface SocketAdapterEventMap<T = string | IsomorphicBuffer> {
message: T;
open: Event;
error: Event;
close: CloseEvent;
}
export type SocketAdapterAkalaEventMap<T = string | IsomorphicBuffer> = {
[key in keyof SocketAdapterEventMap<T>]: IEvent<[SocketAdapterEventMap<T>[key]], void>;
};
export interface SocketAdapter<T = string | IsomorphicBuffer> extends EventBus<SocketAdapterAkalaEventMap<T> & Partial<SpecialEvents>> {
readonly open: boolean;
close(): Promise<void>;
send(data: T): Promise<void>;
pipe(socket: SocketAdapter<T>): void;
}
export * from './shared.long-message-protocol-transformer.js';
export * from './shared.transformer.js';
export * from './shared.socket-protocol-adapter.js';
export * from './shared.socket-transformer-with-connection-retry.js';