massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-json / node_modules / vscode-jsonrpc / lib / common / messageWriter.d.ts
1 import RAL from './ral';
2 import { Message } from './messages';
3 import { Event } from './events';
4 import { ContentEncoder, ContentTypeEncoder } from './encoding';
5 /** Writes JSON-RPC messages to an underlying transport. */
6 export interface MessageWriter {
7     /** Raised whenever an error occurs while writing a message. */
8     readonly onError: Event<[Error, Message | undefined, number | undefined]>;
9     /** An event raised when the underlying transport has closed and writing is no longer possible. */
10     readonly onClose: Event<void>;
11     /**
12      * Sends a JSON-RPC message.
13      * @param msg The JSON-RPC message to be sent.
14      * @description Implementations should guarantee messages are transmitted in the same order that they are received by this method.
15      */
16     write(msg: Message): Promise<void>;
17     end(): void;
18     /** Releases resources incurred from writing or raising events. Does NOT close the underlying transport, if any. */
19     dispose(): void;
20 }
21 export declare namespace MessageWriter {
22     function is(value: any): value is MessageWriter;
23 }
24 export declare abstract class AbstractMessageWriter {
25     private errorEmitter;
26     private closeEmitter;
27     constructor();
28     dispose(): void;
29     get onError(): Event<[Error, Message | undefined, number | undefined]>;
30     protected fireError(error: any, message?: Message, count?: number): void;
31     get onClose(): Event<void>;
32     protected fireClose(): void;
33     private asError;
34 }
35 export interface MessageWriterOptions {
36     charset?: RAL.MessageBufferEncoding;
37     contentEncoder?: ContentEncoder;
38     contentTypeEncoder?: ContentTypeEncoder;
39 }
40 export declare class WriteableStreamMessageWriter extends AbstractMessageWriter implements MessageWriter {
41     private writable;
42     private options;
43     private errorCount;
44     private writeSemaphore;
45     constructor(writable: RAL.WritableStream, options?: RAL.MessageBufferEncoding | MessageWriterOptions);
46     write(msg: Message): Promise<void>;
47     private doWrite;
48     private handleError;
49     end(): void;
50 }