massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-json / node_modules / vscode-jsonrpc / lib / node / ril.js
diff --git a/.config/coc/extensions/node_modules/coc-json/node_modules/vscode-jsonrpc/lib/node/ril.js b/.config/coc/extensions/node_modules/coc-json/node_modules/vscode-jsonrpc/lib/node/ril.js
new file mode 100644 (file)
index 0000000..bfa6c50
--- /dev/null
@@ -0,0 +1,164 @@
+"use strict";
+/* --------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ * ------------------------------------------------------------------------------------------ */
+Object.defineProperty(exports, "__esModule", { value: true });
+const ral_1 = require("../common/ral");
+const util_1 = require("util");
+const disposable_1 = require("../common/disposable");
+const messageBuffer_1 = require("../common/messageBuffer");
+class MessageBuffer extends messageBuffer_1.AbstractMessageBuffer {
+    constructor(encoding = 'utf-8') {
+        super(encoding);
+    }
+    emptyBuffer() {
+        return MessageBuffer.emptyBuffer;
+    }
+    fromString(value, encoding) {
+        return Buffer.from(value, encoding);
+    }
+    toString(value, encoding) {
+        if (value instanceof Buffer) {
+            return value.toString(encoding);
+        }
+        else {
+            return new util_1.TextDecoder(encoding).decode(value);
+        }
+    }
+    asNative(buffer, length) {
+        if (length === undefined) {
+            return buffer instanceof Buffer ? buffer : Buffer.from(buffer);
+        }
+        else {
+            return buffer instanceof Buffer ? buffer.slice(0, length) : Buffer.from(buffer, 0, length);
+        }
+    }
+    allocNative(length) {
+        return Buffer.allocUnsafe(length);
+    }
+}
+MessageBuffer.emptyBuffer = Buffer.allocUnsafe(0);
+class ReadableStreamWrapper {
+    constructor(stream) {
+        this.stream = stream;
+    }
+    onClose(listener) {
+        this.stream.on('close', listener);
+        return disposable_1.Disposable.create(() => this.stream.off('close', listener));
+    }
+    onError(listener) {
+        this.stream.on('error', listener);
+        return disposable_1.Disposable.create(() => this.stream.off('error', listener));
+    }
+    onEnd(listener) {
+        this.stream.on('end', listener);
+        return disposable_1.Disposable.create(() => this.stream.off('end', listener));
+    }
+    onData(listener) {
+        this.stream.on('data', listener);
+        return disposable_1.Disposable.create(() => this.stream.off('data', listener));
+    }
+}
+class WritableStreamWrapper {
+    constructor(stream) {
+        this.stream = stream;
+    }
+    onClose(listener) {
+        this.stream.on('close', listener);
+        return disposable_1.Disposable.create(() => this.stream.off('close', listener));
+    }
+    onError(listener) {
+        this.stream.on('error', listener);
+        return disposable_1.Disposable.create(() => this.stream.off('error', listener));
+    }
+    onEnd(listener) {
+        this.stream.on('end', listener);
+        return disposable_1.Disposable.create(() => this.stream.off('end', listener));
+    }
+    write(data, encoding) {
+        return new Promise((resolve, reject) => {
+            const callback = (error) => {
+                if (error === undefined || error === null) {
+                    resolve();
+                }
+                else {
+                    reject(error);
+                }
+            };
+            if (typeof data === 'string') {
+                this.stream.write(data, encoding, callback);
+            }
+            else {
+                this.stream.write(data, callback);
+            }
+        });
+    }
+    end() {
+        this.stream.end();
+    }
+}
+const _ril = Object.freeze({
+    messageBuffer: Object.freeze({
+        create: (encoding) => new MessageBuffer(encoding)
+    }),
+    applicationJson: Object.freeze({
+        encoder: Object.freeze({
+            name: 'application/json',
+            encode: (msg, options) => {
+                try {
+                    return Promise.resolve(Buffer.from(JSON.stringify(msg, undefined, 0), options.charset));
+                }
+                catch (err) {
+                    return Promise.reject(err);
+                }
+            }
+        }),
+        decoder: Object.freeze({
+            name: 'application/json',
+            decode: (buffer, options) => {
+                try {
+                    if (buffer instanceof Buffer) {
+                        return Promise.resolve(JSON.parse(buffer.toString(options.charset)));
+                    }
+                    else {
+                        return Promise.resolve(JSON.parse(new util_1.TextDecoder(options.charset).decode(buffer)));
+                    }
+                }
+                catch (err) {
+                    return Promise.reject(err);
+                }
+            }
+        })
+    }),
+    stream: Object.freeze({
+        asReadableStream: (stream) => new ReadableStreamWrapper(stream),
+        asWritableStream: (stream) => new WritableStreamWrapper(stream)
+    }),
+    console: console,
+    timer: Object.freeze({
+        setTimeout(callback, ms, ...args) {
+            return setTimeout(callback, ms, ...args);
+        },
+        clearTimeout(handle) {
+            clearTimeout(handle);
+        },
+        setImmediate(callback, ...args) {
+            return setImmediate(callback, ...args);
+        },
+        clearImmediate(handle) {
+            clearImmediate(handle);
+        }
+    })
+});
+function RIL() {
+    return _ril;
+}
+(function (RIL) {
+    function install() {
+        ral_1.default.install(_ril);
+    }
+    RIL.install = install;
+})(RIL || (RIL = {}));
+exports.default = RIL;
+//# sourceMappingURL=ril.js.map
\ No newline at end of file