massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-json / node_modules / vscode-jsonrpc / lib / common / messageReader.d.ts
1 import RAL from './ral';
2 import { Event } from './events';
3 import { Message } from './messages';
4 import { ContentDecoder, ContentTypeDecoder } from './encoding';
5 import { Disposable } from './api';
6 /**
7  * A callback that receives each incoming JSON-RPC message.
8  */
9 export interface DataCallback {
10     (data: Message): void;
11 }
12 export interface PartialMessageInfo {
13     readonly messageToken: number;
14     readonly waitingTime: number;
15 }
16 /** Reads JSON-RPC messages from some underlying transport. */
17 export interface MessageReader {
18     /** Raised whenever an error occurs while reading a message. */
19     readonly onError: Event<Error>;
20     /** An event raised when the end of the underlying transport has been reached. */
21     readonly onClose: Event<void>;
22     /**
23      * An event that *may* be raised to inform the owner that only part of a message has been received.
24      * A MessageReader implementation may choose to raise this event after a timeout elapses while waiting for more of a partially received message to be received.
25      */
26     readonly onPartialMessage: Event<PartialMessageInfo>;
27     /**
28      * Begins listening for incoming messages. To be called at most once.
29      * @param callback A callback for receiving decoded messages.
30      */
31     listen(callback: DataCallback): Disposable;
32     /** Releases resources incurred from reading or raising events. Does NOT close the underlying transport, if any. */
33     dispose(): void;
34 }
35 export declare namespace MessageReader {
36     function is(value: any): value is MessageReader;
37 }
38 export declare abstract class AbstractMessageReader implements MessageReader {
39     private errorEmitter;
40     private closeEmitter;
41     private partialMessageEmitter;
42     constructor();
43     dispose(): void;
44     get onError(): Event<Error>;
45     protected fireError(error: any): void;
46     get onClose(): Event<void>;
47     protected fireClose(): void;
48     get onPartialMessage(): Event<PartialMessageInfo>;
49     protected firePartialMessage(info: PartialMessageInfo): void;
50     private asError;
51     abstract listen(callback: DataCallback): Disposable;
52 }
53 export interface MessageReaderOptions {
54     charset?: RAL.MessageBufferEncoding;
55     contentDecoder?: ContentDecoder;
56     contentDecoders?: ContentDecoder[];
57     contentTypeDecoder?: ContentTypeDecoder;
58     contentTypeDecoders?: ContentTypeDecoder[];
59 }
60 export declare class ReadableStreamMessageReader extends AbstractMessageReader {
61     private readable;
62     private options;
63     private callback;
64     private nextMessageLength;
65     private messageToken;
66     private buffer;
67     private partialMessageTimer;
68     private _partialMessageTimeout;
69     constructor(readable: RAL.ReadableStream, options?: RAL.MessageBufferEncoding | MessageReaderOptions);
70     set partialMessageTimeout(timeout: number);
71     get partialMessageTimeout(): number;
72     listen(callback: DataCallback): Disposable;
73     private onData;
74     private clearPartialMessageTimer;
75     private setPartialMessageTimer;
76 }