UNPKG

node-noise

Version:
74 lines 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decode2 = exports.decode1 = exports.decode0 = exports.encode2 = exports.encode1 = exports.encode0 = exports.uint16BEDecode = exports.uint16BEEncode = void 0; var concat_1 = require("./uint8arrays/concat"); var allocUnsafe = function (len) { if (globalThis.Buffer) { return globalThis.Buffer.allocUnsafe(len); } return new Uint8Array(len); }; var uint16BEEncode = function (value) { var target = allocUnsafe(2); new DataView(target.buffer, target.byteOffset, target.byteLength).setUint16(0, value, false); return target; }; exports.uint16BEEncode = uint16BEEncode; exports.uint16BEEncode.bytes = 2; var uint16BEDecode = function (data) { if (data.length < 2) throw RangeError('Could not decode int16BE'); if (data instanceof Uint8Array) { return new DataView(data.buffer, data.byteOffset, data.byteLength).getUint16(0, false); } return data.getUint16(0); }; exports.uint16BEDecode = uint16BEDecode; exports.uint16BEDecode.bytes = 2; // Note: IK and XX encoder usage is opposite (XX uses in stages encode0 where IK uses encode1) function encode0(message) { return (0, concat_1.concat)([message.ne, message.ciphertext], message.ne.length + message.ciphertext.length); } exports.encode0 = encode0; function encode1(message) { return (0, concat_1.concat)([message.ne, message.ns, message.ciphertext], message.ne.length + message.ns.length + message.ciphertext.length); } exports.encode1 = encode1; function encode2(message) { return (0, concat_1.concat)([message.ns, message.ciphertext], message.ns.length + message.ciphertext.length); } exports.encode2 = encode2; function decode0(input) { if (input.length < 32) { throw new Error('Cannot decode stage 0 MessageBuffer: length less than 32 bytes.'); } return { ne: input.subarray(0, 32), ciphertext: input.subarray(32, input.length), ns: new Uint8Array(0) }; } exports.decode0 = decode0; function decode1(input) { if (input.length < 80) { throw new Error('Cannot decode stage 1 MessageBuffer: length less than 80 bytes.'); } return { ne: input.subarray(0, 32), ns: input.subarray(32, 80), ciphertext: input.subarray(80, input.length) }; } exports.decode1 = decode1; function decode2(input) { if (input.length < 48) { throw new Error('Cannot decode stage 2 MessageBuffer: length less than 48 bytes.'); } return { ne: new Uint8Array(0), ns: input.subarray(0, 48), ciphertext: input.subarray(48, input.length) }; } exports.decode2 = decode2; //# sourceMappingURL=encoder.js.map