UNPKG

@okxweb3/coin-base

Version:
62 lines 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.unpadBuffer = exports.stripZeros = exports.setLengthRight = exports.setLengthLeft = exports.zeros = exports.assertIsBuffer = void 0; const assertIsBuffer = function (input) { if (!Buffer.isBuffer(input)) { const msg = `This method only supports Buffer but input was: ${input}`; throw new Error(msg); } }; exports.assertIsBuffer = assertIsBuffer; const zeros = function (bytes) { return Buffer.allocUnsafe(bytes).fill(0); }; exports.zeros = zeros; const setLength = function (msg, length, right) { const buf = (0, exports.zeros)(length); if (right) { if (msg.length < length) { msg.copy(buf); return buf; } return msg.slice(0, length); } else { if (msg.length < length) { msg.copy(buf, length - msg.length); return buf; } return msg.slice(-length); } }; const setLengthLeft = function (msg, length) { if (!Buffer.isBuffer(msg)) { msg = Buffer.from(msg); } return setLength(msg, length, false); }; exports.setLengthLeft = setLengthLeft; const setLengthRight = function (msg, length) { if (!Buffer.isBuffer(msg)) { msg = Buffer.from(msg); } return setLength(msg, length, true); }; exports.setLengthRight = setLengthRight; const stripZeros = function (a) { let first = a[0]; while (a.length > 0 && first.toString() === '0') { a = a.slice(1); first = a[0]; } return a; }; exports.stripZeros = stripZeros; const unpadBuffer = function (a) { if (!Buffer.isBuffer(a)) { a = Buffer.from(a); } return (0, exports.stripZeros)(a); }; exports.unpadBuffer = unpadBuffer; //# sourceMappingURL=util.js.map