UNPKG

@yoroi/common

Version:

The Common package of Yoroi SDK

27 lines (26 loc) 979 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toBigInt = toBigInt; var _bignumber = _interopRequireDefault(require("bignumber.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @description Converts a number to a bigint in atomic units * don't use this to format inputs use parseDecimal instead * * @param quantity string | number | BigNumber * @param decimalPlaces * @returns bigint with atomic units * * @example * toBigInt('123456789', 0) // => 123456789n * toBigInt('123456789.000000000000000001', 18) // => 123456789000000000000000001n * toBigInt('1', 18) // => 1000000000000000000n */ function toBigInt(quantity, decimalPlaces) { const bigNumber = (0, _bignumber.default)(quantity || 0); const scaledNumber = bigNumber.shiftedBy(decimalPlaces); return BigInt(scaledNumber.toFixed(0, _bignumber.default.ROUND_DOWN)); } //# sourceMappingURL=to-bigint.js.map