@aeternity/aepp-sdk
Version:
SDK for the æternity blockchain
30 lines (26 loc) • 986 B
text/typescript
/**
* Big Number Helpers
* @module @aeternity/aepp-sdk/es/utils/bignumber
* @example import { parseBigNumber, isBigNumber, ceil } from '@aeternity/aepp-sdk/es/utils/bignumber'
*/
import BigNumber from 'bignumber.js'
/**
* Convert number to string
* @param {String|Number|BigNumber} number number to convert
* @return {String}
*/
export const parseBigNumber = (number: string | number | BigNumber): string =>
new BigNumber(number.toString()).toString(10)
/**
* Check if value is BigNumber, Number or number string representation
* @param {String|Number|BigNumber} number number to convert
* @return {Boolean}
*/
export const isBigNumber = (number: string | number | BigNumber): boolean =>
!isNaN(number as number) || Number.isInteger(number) || BigNumber.isBigNumber(number)
/**
* BigNumber ceil operation
* @param {BigNumber} bigNumber
* @return {BigNumber}
*/
export const ceil = (bigNumber: BigNumber): BigNumber => bigNumber.integerValue(BigNumber.ROUND_CEIL)