1.1.0 • Published 2 months ago

safe-bigint v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

safe-bigint Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

Safely create a BigInt from a numerical string, even one larger than MAX_SAFE_INTEGER.

Note that the implementation in node versions that lack the exports field, or bundlers/tooling that does not understand it, will use Function, which in browsers, may not work due to CSP controls.

However, the modern version (which modern node and bundlers/tooling should all detect) just exports the BigInt constructor. Feel free to alias this package with module.exports = BigInt or export default BigInt in your build process configuration.

Example

const safeBigInt = require('safe-bigint');
const assert = require('assert');
const { satisfies } = require('semver');

assert.equal(9007199254740991n, safeBigInt(9007199254740991));
assert.equal(9007199254740992n, safeBigInt(9007199254740992));

if (satisfies(process.version, '10.4 - 10.8')) {
    assert.throws(
        () => BigInt(9007199254740992),
        RangeError
    );
}

Tests

Simply clone the repo, npm install, and run npm test

1.1.0

2 months ago

1.0.1

2 months ago

1.0.0

3 months ago