@yoroi/common
Version:
The Common package of Yoroi SDK
27 lines (26 loc) • 979 B
JavaScript
;
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