initial commit
This commit is contained in:
164
node_modules/vscode-jsonrpc/lib/node/ril.js
generated
vendored
Normal file
164
node_modules/vscode-jsonrpc/lib/node/ril.js
generated
vendored
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user