UNPKG

rsocket-rxjs

Version:
45 lines (44 loc) 2.11 kB
import { Observable } from "rxjs"; import { RSocket, RSocketResponder, RSocketState } from "../api/rsocket.api"; import { RSocketConfig } from "../core/config/rsocket-config"; import { Payload } from "../core/protocol/payload"; export interface DecodedPayload<DataType = any, MetadataType = any> { data?: DataType; dataMimeType?: string; metadata?: MetadataType; metadataMimeType?: string; } export interface RSocketEncoderRequestOptions { responseDataMimeType?: string; responseMetadataMimeType?: string; } export interface RSocketEncoder { mimeType: string; encode: (data: any, rsocket: EncodingRSocket) => Uint8Array; } export interface RSocketDecoder { mimeType: string; decode: (buffer: Uint8Array, rsocket: EncodingRSocket) => any; } export declare class EncodingRSocket implements RSocket<DecodedPayload, DecodedPayload, RSocketEncoderRequestOptions> { readonly rsocket: RSocket<Payload, Payload>; private _encoder; private _decoder; constructor(rsocket: RSocket<Payload, Payload>); get responder(): RSocketResponder; close(): Observable<void>; state(): Observable<RSocketState>; addEncoder(encoder: RSocketEncoder): EncodingRSocket; addDecoder(decoder: RSocketDecoder): EncodingRSocket; removeEncoder(mimeType: string): EncodingRSocket; removeDecoder(mimeType: string): EncodingRSocket; requestResponse(payload: DecodedPayload, options?: RSocketEncoderRequestOptions): Observable<DecodedPayload>; requestStream(payload: DecodedPayload, requester?: Observable<number>, options?: RSocketEncoderRequestOptions): Observable<DecodedPayload>; requestFNF(payload: DecodedPayload): void; setResponder(responder: RSocketResponder): void; tryEncodePayload(payload: DecodedPayload): Payload; tryEncodeObject(object: any, mimeType: string): Uint8Array; tryDecodePayload(payload: Payload, options?: RSocketEncoderRequestOptions): DecodedPayload<any, any>; tryDecodeObject(buffer: Uint8Array, mimeType: string): any; getSetupConfig(): RSocketConfig; }