UNPKG

@ledgerhq/coin-stacks

Version:
26 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getBufferFromString = exports.throwIfError = exports.getPath = exports.isNoErrorReturnCode = exports.isValidBase64 = exports.isValidHex = void 0; // NOTE: inlined now, this shared utils code will be moved to coin-framework in a future PR const validHexRegExp = new RegExp(/^(0x)?[a-fA-F0-9]+$/); const validBase64RegExp = new RegExp(/^(?:[A-Za-z\d+/]{4})*(?:[A-Za-z\d+/]{3}=|[A-Za-z\d+/]{2}==)?$/); const isValidHex = (msg) => validHexRegExp.test(msg) && msg.length % 2 === 0; exports.isValidHex = isValidHex; const isValidBase64 = (msg) => validBase64RegExp.test(msg); exports.isValidBase64 = isValidBase64; const isNoErrorReturnCode = (code) => code === 0x9000; exports.isNoErrorReturnCode = isNoErrorReturnCode; const getPath = (path) => (path && path.substr(0, 2) !== "m/" ? `m/${path}` : path); exports.getPath = getPath; const throwIfError = (r) => { if (!(0, exports.isNoErrorReturnCode)(r.returnCode)) throw new Error(`${r.returnCode} - ${r.errorMessage}`); }; exports.throwIfError = throwIfError; const getBufferFromString = (message) => (0, exports.isValidHex)(message) ? Buffer.from(message, "hex") : (0, exports.isValidBase64)(message) ? Buffer.from(message, "base64") : Buffer.from(message); exports.getBufferFromString = getBufferFromString; //# sourceMappingURL=utils.js.map