massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-json / node_modules / vscode-jsonrpc / lib / common / ral.d.ts
1 import type { Disposable } from './disposable';
2 import type { ContentTypeEncoder, ContentTypeDecoder } from './encoding';
3 interface _MessageBuffer {
4     readonly encoding: RAL.MessageBufferEncoding;
5     /**
6      * Append data to the message buffer.
7      *
8      * @param chunk the data to append.
9      */
10     append(chunk: Uint8Array | string): void;
11     /**
12      * Tries to read the headers from the buffer
13      *
14      * @returns the header properties or undefined in not enough data can be read.
15      */
16     tryReadHeaders(): Map<string, string> | undefined;
17     /**
18      * Tries to read the body of the given length.
19      *
20      * @param length the amount of bytes to read.
21      * @returns the data or undefined int less data is available.
22      */
23     tryReadBody(length: number): Uint8Array | undefined;
24 }
25 declare type _MessageBufferEncoding = 'ascii' | 'utf-8';
26 interface _ReadableStream {
27     onData(listener: (data: Uint8Array) => void): Disposable;
28     onClose(listener: () => void): Disposable;
29     onError(listener: (error: any) => void): Disposable;
30     onEnd(listener: () => void): Disposable;
31 }
32 interface _WritableStream {
33     onClose(listener: () => void): Disposable;
34     onError(listener: (error: any) => void): Disposable;
35     onEnd(listener: () => void): Disposable;
36     write(data: Uint8Array): Promise<void>;
37     write(data: string, encoding: _MessageBufferEncoding): Promise<void>;
38     end(): void;
39 }
40 interface _DuplexStream extends _ReadableStream, _WritableStream {
41 }
42 interface _TimeoutHandle {
43     _timerBrand: undefined;
44 }
45 interface _ImmediateHandle {
46     _immediateBrand: undefined;
47 }
48 interface RAL {
49     readonly applicationJson: {
50         readonly encoder: ContentTypeEncoder;
51         readonly decoder: ContentTypeDecoder;
52     };
53     readonly messageBuffer: {
54         create(encoding: RAL.MessageBufferEncoding): RAL.MessageBuffer;
55     };
56     readonly console: {
57         info(message?: any, ...optionalParams: any[]): void;
58         log(message?: any, ...optionalParams: any[]): void;
59         warn(message?: any, ...optionalParams: any[]): void;
60         error(message?: any, ...optionalParams: any[]): void;
61     };
62     readonly timer: {
63         setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): RAL.TimeoutHandle;
64         clearTimeout(handle: RAL.TimeoutHandle): void;
65         setImmediate(callback: (...args: any[]) => void, ...args: any[]): RAL.ImmediateHandle;
66         clearImmediate(handle: RAL.ImmediateHandle): void;
67     };
68 }
69 declare function RAL(): RAL;
70 declare namespace RAL {
71     type MessageBuffer = _MessageBuffer;
72     type MessageBufferEncoding = _MessageBufferEncoding;
73     type ReadableStream = _ReadableStream;
74     type WritableStream = _WritableStream;
75     type DuplexStream = _DuplexStream;
76     type TimeoutHandle = _TimeoutHandle;
77     type ImmediateHandle = _ImmediateHandle;
78     function install(ral: RAL): void;
79 }
80 export default RAL;