@actyx/sdk
Version:
Actyx SDK
26 lines (25 loc) • 1.17 kB
TypeScript
import * as t from 'io-ts';
import { MultiplexedWebsocket as WS, RequestMessage, ResponseMessageType } from '../internal_common/multiplexedWebSocket';
import { WebSocketSubjectConfig } from '../../node_modules/rxjs/webSocket';
import { Observable } from '../../node_modules/rxjs';
export declare const ResponseMessage: t.UnionC<[t.ReadonlyC<t.TypeC<{
type: t.LiteralC<ResponseMessageType.Next>;
requestId: t.NumberC;
payload: t.UnknownC;
}>>, t.ReadonlyC<t.TypeC<{
type: t.LiteralC<ResponseMessageType.Complete>;
requestId: t.NumberC;
}>>, t.ReadonlyC<t.TypeC<{
type: t.LiteralC<ResponseMessageType.Error>;
requestId: t.NumberC;
kind: t.UnknownC;
}>>]>;
export declare type ResponseMessage = t.TypeOf<typeof ResponseMessage>;
export declare class MultiplexedWebsocket {
ws: WS<ResponseMessage>;
constructor(config: WebSocketSubjectConfig<RequestMessage | ResponseMessage>, redialAfter?: number);
request(serviceId: string, payload?: unknown): Observable<unknown>;
close(): void;
errors(): Observable<unknown>;
}
export declare const mkConfig: (url: string) => WebSocketSubjectConfig<RequestMessage | ResponseMessage>;