UNPKG

@provide/nats.ws

Version:
75 lines 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const databuffer_1 = require("./databuffer"); let CRLF = databuffer_1.DataBuffer.fromAscii("\r\n"); let CR = new Uint8Array(CRLF)[0]; let LF = new Uint8Array(CRLF)[1]; function isArrayBuffer(a) { return a instanceof ArrayBuffer; } exports.isArrayBuffer = isArrayBuffer; function extend(a, ...b) { for (let i = 0; i < b.length; i++) { let o = b[i]; Object.keys(o).forEach(function (k) { a[k] = o[k]; }); } return a; } exports.extend = extend; function protoLen(a) { let ba = new Uint8Array(a); for (let i = 0; i < ba.byteLength; i++) { let n = i + 1; if (ba.byteLength > n && ba[i] === CR && ba[n] === LF) { return n + 1; } } return -1; } function extractProtocolMessage(a) { let len = protoLen(a); if (len) { let ba = new Uint8Array(a); let small = ba.slice(0, len); return String.fromCharCode.apply(null, small); } return ""; } exports.extractProtocolMessage = extractProtocolMessage; function buildWSMessage(protocol, a) { let msg = databuffer_1.DataBuffer.fromAscii(protocol); if (a) { msg = databuffer_1.DataBuffer.concat(msg, a, CRLF); } return msg; } exports.buildWSMessage = buildWSMessage; function settle(a) { if (Array.isArray(a)) { return Promise.resolve(a).then(_settle); } else { return Promise.reject(new TypeError('argument requires an array of promises')); } } exports.settle = settle; function stringToUint8Array(str) { const chars = str.split(''); const uintArray = []; for (var i = 0; i < chars.length; i++) { uintArray.push(chars[i].charCodeAt(0)); } return new Uint8Array(uintArray); } exports.stringToUint8Array = stringToUint8Array; function _settle(a) { return Promise.all(a.map((p) => { return Promise.resolve(p).then(_resolve, _resolve); })); } function _resolve(r) { return r; } //# sourceMappingURL=util.js.map