Compile JSBI code that works in today’s environments to native BigInt code.
Input using JSBI:
import JSBI from 'jsbi'; const a = JSBI.BigInt(Number.MAX_SAFE_INTEGER); const b = JSBI.BigInt('42'); JSBI.add(a, b); JSBI.subtract(a, b); JSBI.multiply(a, b); JSBI.divide(a, b); JSBI.remainder(a, b); JSBI.exponentiate(a, b); JSBI.leftShift(a, b); JSBI.signedRightShift(a, b); JSBI.bitwiseAnd(a, b); JSBI.bitwiseOr(a, b); JSBI.bitwiseXor(a, b); JSBI.unaryMinus(a); JSBI.bitwiseNot(a); JSBI.equal(a, b); JSBI.notEqual(a, b); JSBI.lessThan(a, b); JSBI.lessThanOrEqual(a, b); JSBI.greaterThan(a, b); JSBI.greaterThanOrEqual(a, b); JSBI.EQ(a, b); JSBI.NE(a, b); JSBI.LT(a, b); JSBI.LE(a, b); JSBI.GT(a, b); JSBI.GE(a, b); a.toString(); JSBI.toNumber(a); a instanceof JSBI; JSBI.asIntN(64, JSBI.BigInt('42')); JSBI.asUintN(64, JSBI.BigInt('42'));
Transpiled output using native BigInt
s:
const a = BigInt(Number.MAX_SAFE_INTEGER); const b = 42n; a + b; a - b; a * b; a / b; a % b; a ** b; a << b; a >> b; a & b; a | b; a ^ b; -a; ~a; a === b; a !== b; a < b; a <= b; a > b; a >= b; a == b; a != b; a < b; a <= b; a > b; a >= b; a.toString(); Number(a); typeof a === 'bigint'; BigInt.asIntN(64, 42n); BigInt.asUintN(64, 42n);
See the JSBI documentation for more information.
$ npm install babel-plugin-transform-jsbi-to-bigintVia
.babelrc
(recommended)
.babelrc
{ "plugins": ["transform-jsbi-to-bigint"] }
$ babel --plugins transform-jsbi-to-bigint script.js
require('@babel/core').transform(code, { 'plugins': ['transform-jsbi-to-bigint'] });How to publish a new release
On the main
branch, bump the version number in package.json
:
npm version patch -m 'Release v%s'
Instead of patch
, use minor
or major
as needed.
Note that this produces a Git commit + tag.
Push the release commit and tag:
git push && git push --tags
Our CI then automatically publishes the new release to npm.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4