UNPKG

@bitgo/utxo-lib

Version:

Client-side Bitcoin JavaScript library

30 lines 3.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toTNumber = toTNumber; /** * Convert input to bigint or number. * Throws error if input cannot be converted to a safe integer number. * @param value - input value * @param amountType - desired output type * @return value converted to amountType */ function toTNumber(value, amountType) { if (typeof value === amountType) { return value; } if (value === undefined) { throw new Error('input value cannot be undefined'); } if (amountType === 'number') { const numberValue = Number(value); if (!Number.isSafeInteger(numberValue)) { throw new Error('input value cannot be converted to safe integer number'); } return Number(value); } if (amountType === 'bigint') { return BigInt(value); } throw new Error('amountType must be either "number" or "bigint"'); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaXRnby90bnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0EsOEJBcUJDO0FBNUJEOzs7Ozs7R0FNRztBQUNILFNBQWdCLFNBQVMsQ0FDdkIsS0FBK0IsRUFDL0IsVUFBK0I7SUFFL0IsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEtBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ0QsSUFBSSxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQVksQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFZLENBQUM7SUFDbEMsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztBQUNwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb252ZXJ0IGlucHV0IHRvIGJpZ2ludCBvciBudW1iZXIuXG4gKiBUaHJvd3MgZXJyb3IgaWYgaW5wdXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIHNhZmUgaW50ZWdlciBudW1iZXIuXG4gKiBAcGFyYW0gdmFsdWUgLSBpbnB1dCB2YWx1ZVxuICogQHBhcmFtIGFtb3VudFR5cGUgLSBkZXNpcmVkIG91dHB1dCB0eXBlXG4gKiBAcmV0dXJuIHZhbHVlIGNvbnZlcnRlZCB0byBhbW91bnRUeXBlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1ROdW1iZXI8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIHZhbHVlOiBudW1iZXIgfCBiaWdpbnQgfCBzdHJpbmcsXG4gIGFtb3VudFR5cGU6ICdudW1iZXInIHwgJ2JpZ2ludCdcbik6IFROdW1iZXIge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSBhbW91bnRUeXBlKSB7XG4gICAgcmV0dXJuIHZhbHVlIGFzIFROdW1iZXI7XG4gIH1cbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2lucHV0IHZhbHVlIGNhbm5vdCBiZSB1bmRlZmluZWQnKTtcbiAgfVxuICBpZiAoYW1vdW50VHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICBjb25zdCBudW1iZXJWYWx1ZSA9IE51bWJlcih2YWx1ZSk7XG4gICAgaWYgKCFOdW1iZXIuaXNTYWZlSW50ZWdlcihudW1iZXJWYWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW5wdXQgdmFsdWUgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBzYWZlIGludGVnZXIgbnVtYmVyJyk7XG4gICAgfVxuICAgIHJldHVybiBOdW1iZXIodmFsdWUpIGFzIFROdW1iZXI7XG4gIH1cbiAgaWYgKGFtb3VudFR5cGUgPT09ICdiaWdpbnQnKSB7XG4gICAgcmV0dXJuIEJpZ0ludCh2YWx1ZSkgYXMgVE51bWJlcjtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ2Ftb3VudFR5cGUgbXVzdCBiZSBlaXRoZXIgXCJudW1iZXJcIiBvciBcImJpZ2ludFwiJyk7XG59XG4iXX0=