UNPKG

@aeternity/aepp-sdk

Version:

SDK for the æternity blockchain

32 lines (30 loc) 1.25 kB
import { Buffer as _Buffer } from "buffer"; import BigNumber from 'bignumber.js'; import { NoSerializerFoundError, TypeError } from './errors.js'; /** * Convert string, number, or BigNumber to byte array * @param val - value to convert * @param big - enables force conversion to BigNumber * @returns Buffer * @category utils * @deprecated use `Buffer.from(<string>)` or `Buffer.from(<number>.toString(16), 'hex')` instead */ // eslint-disable-next-line import/prefer-default-export export function toBytes(val, big = false) { // Encode a value to bytes. // If the value is an int it will be encoded as bytes big endian // Raises ValueError if the input is not an int or string if (val == null) return _Buffer.from([]); if (Number.isInteger(val) || BigNumber.isBigNumber(val) || big) { if (!BigNumber.isBigNumber(val)) val = new BigNumber(val); if (!val.isInteger()) throw new TypeError(`Unexpected not integer value: ${val.toFixed()}`); let hexString = val.toString(16); if (hexString.length % 2 === 1) hexString = `0${hexString}`; return _Buffer.from(hexString, 'hex'); } if (typeof val === 'string') { return _Buffer.from(val); } throw new NoSerializerFoundError(); } //# sourceMappingURL=bytes.js.map