@nubjs/nub-linux-arm64 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/nub +0 -0
- package/package.json +1 -1
- package/runtime/addons/nub-native.node +0 -0
- package/runtime/node_modules/@js-temporal/polyfill/CHANGELOG.md +453 -0
- package/runtime/node_modules/@js-temporal/polyfill/LICENSE +13 -0
- package/runtime/node_modules/@js-temporal/polyfill/README.md +90 -0
- package/runtime/node_modules/@js-temporal/polyfill/dist/index.cjs +2 -0
- package/runtime/node_modules/@js-temporal/polyfill/dist/index.cjs.map +1 -0
- package/runtime/node_modules/@js-temporal/polyfill/dist/index.esm.js +2 -0
- package/runtime/node_modules/@js-temporal/polyfill/dist/index.esm.js.map +1 -0
- package/runtime/node_modules/@js-temporal/polyfill/dist/index.umd.js +2 -0
- package/runtime/node_modules/@js-temporal/polyfill/dist/index.umd.js.map +1 -0
- package/runtime/node_modules/@js-temporal/polyfill/index.d.cts +1215 -0
- package/runtime/node_modules/@js-temporal/polyfill/index.d.ts +1215 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/assert.ts +8 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/bigintmath.ts +39 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/calendar.ts +2424 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/debug.ts +7 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/duration.ts +438 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/durationformat.d.ts +93 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/ecmascript.ts +4973 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/index.ts +34 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/init.ts +43 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/instant.ts +138 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/internaltypes.d.ts +242 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/intl.ts +758 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/intrinsicclass.ts +162 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/legacydate.ts +17 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/math.ts +96 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/now.ts +48 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/plaindate.ts +212 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/plaindatetime.ts +274 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/plainmonthday.ts +110 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/plaintime.ts +154 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/plainyearmonth.ts +157 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/regex.ts +59 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/slots.ts +341 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/temporal.ts +10 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/timeduration.ts +149 -0
- package/runtime/node_modules/@js-temporal/polyfill/lib/zoneddatetime.ts +492 -0
- package/runtime/node_modules/@js-temporal/polyfill/package.json +143 -0
- package/runtime/node_modules/@oxc-parser/binding-linux-x64-gnu/README.md +3 -0
- package/runtime/node_modules/@oxc-parser/binding-linux-x64-gnu/package.json +42 -0
- package/runtime/node_modules/@oxc-parser/binding-linux-x64-gnu/parser.linux-x64-gnu.node +0 -0
- package/runtime/node_modules/@oxc-project/runtime/CHANGELOG.md +88 -0
- package/runtime/node_modules/@oxc-project/runtime/LICENSE +22 -0
- package/runtime/node_modules/@oxc-project/runtime/README.md +5 -0
- package/runtime/node_modules/@oxc-project/runtime/package.json +1066 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/AwaitValue.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecoratedDescriptor.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs.js +236 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs2203.js +184 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs2203R.js +191 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs2301.js +222 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs2305.js +133 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/applyDecs2311.js +124 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/arrayLikeToArray.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/arrayWithHoles.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/arrayWithoutHoles.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/assertClassBrand.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/assertThisInitialized.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/asyncGeneratorDelegate.js +24 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js +45 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/asyncToGenerator.js +26 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/callSuper.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/checkInRHS.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/checkPrivateRedeclaration.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classApplyDescriptorDestructureSet.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classApplyDescriptorGet.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classApplyDescriptorSet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classCallCheck.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classCheckPrivateStaticAccess.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classCheckPrivateStaticFieldDescriptor.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classExtractFieldDescriptor.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classNameTDZError.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldDestructureSet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldGet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldGet2.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldInitSpec.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldLooseBase.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldLooseKey.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldSet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateFieldSet2.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateGetter.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateMethodGet.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateMethodInitSpec.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateMethodSet.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classPrivateSetter.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classStaticPrivateFieldDestructureSet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classStaticPrivateFieldSpecGet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classStaticPrivateFieldSpecSet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classStaticPrivateMethodGet.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/classStaticPrivateMethodSet.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/construct.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/createClass.js +13 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/createForOfIteratorHelper.js +50 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/createForOfIteratorHelperLoose.js +19 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/createSuper.js +16 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/decorate.js +23 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/decorateMetadata.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/decorateParam.js +11 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/defaults.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/defineAccessor.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/defineEnumerableProperties.js +12 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/dispose.js +28 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/AwaitValue.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/OverloadYield.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecoratedDescriptor.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs.js +236 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs2203.js +184 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs2203R.js +191 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs2301.js +222 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs2305.js +133 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/applyDecs2311.js +124 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/arrayLikeToArray.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/arrayWithHoles.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/arrayWithoutHoles.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/assertClassBrand.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/assertThisInitialized.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/asyncGeneratorDelegate.js +24 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/asyncIterator.js +45 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/asyncToGenerator.js +26 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/awaitAsyncGenerator.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/callSuper.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/checkInRHS.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/checkPrivateRedeclaration.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classApplyDescriptorDestructureSet.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classApplyDescriptorGet.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classApplyDescriptorSet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classCallCheck.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classCheckPrivateStaticAccess.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classExtractFieldDescriptor.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classNameTDZError.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldDestructureSet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldGet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldGet2.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldInitSpec.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldLooseBase.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldLooseKey.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldSet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateFieldSet2.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateGetter.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateMethodGet.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateMethodInitSpec.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateMethodSet.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classPrivateSetter.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classStaticPrivateFieldDestructureSet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classStaticPrivateFieldSpecGet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classStaticPrivateFieldSpecSet.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classStaticPrivateMethodGet.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/classStaticPrivateMethodSet.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/construct.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/createClass.js +13 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/createForOfIteratorHelper.js +50 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/createForOfIteratorHelperLoose.js +19 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/createSuper.js +16 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/decorate.js +21 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/decorateMetadata.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/decorateParam.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/defaults.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/defineAccessor.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/defineEnumerableProperties.js +12 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/defineProperty.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/dispose.js +28 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/extends.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/get.js +11 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/getPrototypeOf.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/identity.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/importDeferProxy.js +27 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/inherits.js +14 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/inheritsLoose.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/initializerDefineProperty.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/initializerWarningHelper.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/instanceof.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/interopRequireDefault.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/interopRequireWildcard.js +27 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/isNativeFunction.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/isNativeReflectConstruct.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/iterableToArray.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/iterableToArrayLimit.js +28 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/jsx.js +22 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/maybeArrayLike.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/newArrowCheck.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/nonIterableRest.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/nonIterableSpread.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/nullishReceiverError.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/objectDestructuringEmpty.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/objectSpread.js +14 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/objectSpread2.js +23 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/objectWithoutProperties.js +13 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/objectWithoutPropertiesLoose.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/package.json +3 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/possibleConstructorReturn.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/readOnlyError.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/regeneratorRuntime.js +304 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/set.js +22 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/setFunctionName.js +12 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/setPrototypeOf.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/skipFirstGeneratorNext.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/slicedToArray.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/superPropBase.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/superPropGet.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/superPropSet.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/taggedTemplateLiteral.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/taggedTemplateLiteralLoose.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/tdz.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/temporalRef.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/temporalUndefined.js +2 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/toArray.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/toConsumableArray.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/toPrimitive.js +12 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/toPropertyKey.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/toSetter.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/typeof.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/unsupportedIterableToArray.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/using.js +12 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/usingCtx.js +59 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/wrapAsyncGenerator.js +69 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/wrapNativeSuper.js +27 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/wrapRegExp.js +51 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/esm/writeOnlyError.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/extends.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/get.js +11 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/getPrototypeOf.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/identity.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/importDeferProxy.js +27 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/inherits.js +14 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/inheritsLoose.js +5 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/initializerDefineProperty.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/initializerWarningHelper.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/instanceof.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/interopRequireDefault.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/interopRequireWildcard.js +27 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/isNativeFunction.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/isNativeReflectConstruct.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/iterableToArray.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/iterableToArrayLimit.js +28 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/jsx.js +22 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/maybeArrayLike.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/newArrowCheck.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/nonIterableRest.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/nonIterableSpread.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/nullishReceiverError.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/objectDestructuringEmpty.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/objectSpread.js +14 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js +23 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/objectWithoutProperties.js +13 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/objectWithoutPropertiesLoose.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/possibleConstructorReturn.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/readOnlyError.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/regeneratorRuntime.js +304 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/set.js +22 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/setFunctionName.js +12 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/setPrototypeOf.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/skipFirstGeneratorNext.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/slicedToArray.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/superPropBase.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/superPropGet.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/superPropSet.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/taggedTemplateLiteral.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/taggedTemplateLiteralLoose.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/tdz.js +4 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/temporalRef.js +6 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/temporalUndefined.js +2 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/toArray.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/toConsumableArray.js +8 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js +12 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js +7 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/toSetter.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/typeof.js +10 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/unsupportedIterableToArray.js +9 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/using.js +12 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js +59 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js +69 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/wrapNativeSuper.js +27 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/wrapRegExp.js +51 -0
- package/runtime/node_modules/@oxc-project/runtime/src/helpers/writeOnlyError.js +4 -0
- package/runtime/node_modules/@oxc-project/types/LICENSE +22 -0
- package/runtime/node_modules/@oxc-project/types/README.md +3 -0
- package/runtime/node_modules/@oxc-project/types/package.json +26 -0
- package/runtime/node_modules/@oxc-project/types/types.d.ts +1912 -0
- package/runtime/node_modules/@oxc-transform/binding-linux-x64-gnu/README.md +3 -0
- package/runtime/node_modules/@oxc-transform/binding-linux-x64-gnu/package.json +44 -0
- package/runtime/node_modules/@oxc-transform/binding-linux-x64-gnu/transform.linux-x64-gnu.node +0 -0
- package/runtime/node_modules/@petamoriken/float16/LICENSE +21 -0
- package/runtime/node_modules/@petamoriken/float16/README.md +413 -0
- package/runtime/node_modules/@petamoriken/float16/browser/float16.js +1340 -0
- package/runtime/node_modules/@petamoriken/float16/browser/float16.mjs +1325 -0
- package/runtime/node_modules/@petamoriken/float16/index.d.ts +546 -0
- package/runtime/node_modules/@petamoriken/float16/index.v5.6.d.ts +546 -0
- package/runtime/node_modules/@petamoriken/float16/index.v5.7.d.ts +555 -0
- package/runtime/node_modules/@petamoriken/float16/inspect/node.cjs +25 -0
- package/runtime/node_modules/@petamoriken/float16/inspect/node.mjs +23 -0
- package/runtime/node_modules/@petamoriken/float16/lib/DataView.cjs +16 -0
- package/runtime/node_modules/@petamoriken/float16/lib/Float16Array.cjs +690 -0
- package/runtime/node_modules/@petamoriken/float16/lib/_util/arrayIterator.cjs +52 -0
- package/runtime/node_modules/@petamoriken/float16/lib/_util/brand.cjs +27 -0
- package/runtime/node_modules/@petamoriken/float16/lib/_util/converter.cjs +111 -0
- package/runtime/node_modules/@petamoriken/float16/lib/_util/is.cjs +78 -0
- package/runtime/node_modules/@petamoriken/float16/lib/_util/messages.cjs +18 -0
- package/runtime/node_modules/@petamoriken/float16/lib/_util/primordials.cjs +150 -0
- package/runtime/node_modules/@petamoriken/float16/lib/_util/spec.cjs +84 -0
- package/runtime/node_modules/@petamoriken/float16/lib/f16round.cjs +10 -0
- package/runtime/node_modules/@petamoriken/float16/lib/index.cjs +16 -0
- package/runtime/node_modules/@petamoriken/float16/lib/isTypedArray.cjs +11 -0
- package/runtime/node_modules/@petamoriken/float16/package.json +115 -0
- package/runtime/node_modules/@petamoriken/float16/src/DataView.mjs +35 -0
- package/runtime/node_modules/@petamoriken/float16/src/Float16Array.mjs +1194 -0
- package/runtime/node_modules/@petamoriken/float16/src/_util/arrayIterator.mjs +86 -0
- package/runtime/node_modules/@petamoriken/float16/src/_util/brand.mjs +31 -0
- package/runtime/node_modules/@petamoriken/float16/src/_util/converter.mjs +173 -0
- package/runtime/node_modules/@petamoriken/float16/src/_util/is.mjs +151 -0
- package/runtime/node_modules/@petamoriken/float16/src/_util/messages.mjs +22 -0
- package/runtime/node_modules/@petamoriken/float16/src/_util/primordials.mjs +254 -0
- package/runtime/node_modules/@petamoriken/float16/src/_util/spec.mjs +137 -0
- package/runtime/node_modules/@petamoriken/float16/src/f16round.mjs +10 -0
- package/runtime/node_modules/@petamoriken/float16/src/index.mjs +7 -0
- package/runtime/node_modules/@petamoriken/float16/src/isTypedArray.mjs +10 -0
- package/runtime/node_modules/get-tsconfig/LICENSE +21 -0
- package/runtime/node_modules/get-tsconfig/README.md +268 -0
- package/runtime/node_modules/get-tsconfig/dist/index.cjs +7 -0
- package/runtime/node_modules/get-tsconfig/dist/index.d.cts +2116 -0
- package/runtime/node_modules/get-tsconfig/dist/index.d.mts +2116 -0
- package/runtime/node_modules/get-tsconfig/dist/index.mjs +7 -0
- package/runtime/node_modules/get-tsconfig/package.json +46 -0
- package/runtime/node_modules/jsbi/LICENSE +176 -0
- package/runtime/node_modules/jsbi/README.md +173 -0
- package/runtime/node_modules/jsbi/dist/jsbi-cjs.js +2 -0
- package/runtime/node_modules/jsbi/dist/jsbi-cjs.js.map +1 -0
- package/runtime/node_modules/jsbi/dist/jsbi-umd.js +2 -0
- package/runtime/node_modules/jsbi/dist/jsbi-umd.js.map +1 -0
- package/runtime/node_modules/jsbi/dist/jsbi.mjs +2 -0
- package/runtime/node_modules/jsbi/dist/jsbi.mjs.map +1 -0
- package/runtime/node_modules/jsbi/jsbi.d.ts +43 -0
- package/runtime/node_modules/jsbi/package.json +35 -0
- package/runtime/node_modules/oxc-parser/LICENSE +22 -0
- package/runtime/node_modules/oxc-parser/README.md +167 -0
- package/runtime/node_modules/oxc-parser/package.json +153 -0
- package/runtime/node_modules/oxc-parser/src-js/bindings.js +601 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/constants.js +105 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/deserialize/js.js +5862 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/deserialize/js_range.js +6403 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/deserialize/ts.js +6154 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/deserialize/ts_range.js +6723 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/lazy/constructors.js +13875 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/lazy/type_ids.js +191 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/lazy/walk.js +5810 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/visit/keys.js +220 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/visit/type_ids.js +177 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/visit/visitor.d.ts +387 -0
- package/runtime/node_modules/oxc-parser/src-js/generated/visit/walk.js +2455 -0
- package/runtime/node_modules/oxc-parser/src-js/index.d.ts +312 -0
- package/runtime/node_modules/oxc-parser/src-js/index.js +108 -0
- package/runtime/node_modules/oxc-parser/src-js/raw-transfer/common.js +301 -0
- package/runtime/node_modules/oxc-parser/src-js/raw-transfer/eager.js +255 -0
- package/runtime/node_modules/oxc-parser/src-js/raw-transfer/lazy-common.js +11 -0
- package/runtime/node_modules/oxc-parser/src-js/raw-transfer/lazy.js +162 -0
- package/runtime/node_modules/oxc-parser/src-js/raw-transfer/node-array.js +365 -0
- package/runtime/node_modules/oxc-parser/src-js/raw-transfer/supported.js +52 -0
- package/runtime/node_modules/oxc-parser/src-js/raw-transfer/visitor.js +127 -0
- package/runtime/node_modules/oxc-parser/src-js/visit/index.js +41 -0
- package/runtime/node_modules/oxc-parser/src-js/visit/visitor.js +405 -0
- package/runtime/node_modules/oxc-parser/src-js/wasm.js +13 -0
- package/runtime/node_modules/oxc-parser/src-js/webcontainer-fallback.cjs +21 -0
- package/runtime/node_modules/oxc-parser/src-js/wrap.js +57 -0
- package/runtime/node_modules/oxc-transform/LICENSE +22 -0
- package/runtime/node_modules/oxc-transform/README.md +84 -0
- package/runtime/node_modules/oxc-transform/browser.js +1 -0
- package/runtime/node_modules/oxc-transform/index.d.ts +658 -0
- package/runtime/node_modules/oxc-transform/index.js +598 -0
- package/runtime/node_modules/oxc-transform/package.json +114 -0
- package/runtime/node_modules/oxc-transform/webcontainer-fallback.cjs +21 -0
- package/runtime/node_modules/resolve-pkg-maps/LICENSE +21 -0
- package/runtime/node_modules/resolve-pkg-maps/README.md +216 -0
- package/runtime/node_modules/resolve-pkg-maps/dist/index.cjs +1 -0
- package/runtime/node_modules/resolve-pkg-maps/dist/index.d.cts +11 -0
- package/runtime/node_modules/resolve-pkg-maps/dist/index.d.mts +11 -0
- package/runtime/node_modules/resolve-pkg-maps/dist/index.mjs +1 -0
- package/runtime/node_modules/resolve-pkg-maps/package.json +42 -0
- package/runtime/node_modules/urlpattern-polyfill/LICENSE +19 -0
- package/runtime/node_modules/urlpattern-polyfill/README.md +242 -0
- package/runtime/node_modules/urlpattern-polyfill/dist/index.d.ts +9 -0
- package/runtime/node_modules/urlpattern-polyfill/dist/types.d.ts +49 -0
- package/runtime/node_modules/urlpattern-polyfill/dist/urlpattern.cjs +1 -0
- package/runtime/node_modules/urlpattern-polyfill/dist/urlpattern.js +1 -0
- package/runtime/node_modules/urlpattern-polyfill/index.cjs +7 -0
- package/runtime/node_modules/urlpattern-polyfill/index.js +7 -0
- package/runtime/node_modules/urlpattern-polyfill/package.json +149 -0
- package/runtime/version.mjs +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsbi.mjs","sources":["../tsc-out/jsbi.mjs"],"sourcesContent":["// Copyright 2018 Google Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the “License”);\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n// <https://apache.org/licenses/LICENSE-2.0>.\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an “AS IS” BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nclass JSBI extends Array {\n constructor(length, sign) {\n super(length);\n this.sign = sign;\n // Explicitly set the prototype as per\n // https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, JSBI.prototype);\n if (length > JSBI.__kMaxLength) {\n throw new RangeError('Maximum BigInt size exceeded');\n }\n }\n static BigInt(arg) {\n if (typeof arg === 'number') {\n if (arg === 0)\n return JSBI.__zero();\n if (JSBI.__isOneDigitInt(arg)) {\n if (arg < 0) {\n return JSBI.__oneDigit(-arg, true);\n }\n return JSBI.__oneDigit(arg, false);\n }\n if (!Number.isFinite(arg) || Math.floor(arg) !== arg) {\n throw new RangeError('The number ' + arg + ' cannot be converted to ' +\n 'BigInt because it is not an integer');\n }\n return JSBI.__fromDouble(arg);\n }\n else if (typeof arg === 'string') {\n const result = JSBI.__fromString(arg);\n if (result === null) {\n throw new SyntaxError('Cannot convert ' + arg + ' to a BigInt');\n }\n return result;\n }\n else if (typeof arg === 'boolean') {\n if (arg === true) {\n return JSBI.__oneDigit(1, false);\n }\n return JSBI.__zero();\n }\n else if (typeof arg === 'object') {\n if (arg.constructor === JSBI)\n return arg;\n const primitive = JSBI.__toPrimitive(arg);\n return JSBI.BigInt(primitive);\n }\n throw new TypeError('Cannot convert ' + arg + ' to a BigInt');\n }\n toDebugString() {\n const result = ['BigInt['];\n for (const digit of this) {\n result.push((digit ? (digit >>> 0).toString(16) : digit) + ', ');\n }\n result.push(']');\n return result.join('');\n }\n toString(radix = 10) {\n if (radix < 2 || radix > 36) {\n throw new RangeError('toString() radix argument must be between 2 and 36');\n }\n if (this.length === 0)\n return '0';\n if ((radix & (radix - 1)) === 0) {\n return JSBI.__toStringBasePowerOfTwo(this, radix);\n }\n return JSBI.__toStringGeneric(this, radix, false);\n }\n valueOf() {\n throw new Error('Convert JSBI instances to native numbers using `toNumber`.');\n }\n // Equivalent of \"Number(my_bigint)\" in the native implementation.\n // TODO: add more tests\n static toNumber(x) {\n const xLength = x.length;\n if (xLength === 0)\n return 0;\n if (xLength === 1) {\n const value = x.__unsignedDigit(0);\n return x.sign ? -value : value;\n }\n const xMsd = x.__digit(xLength - 1);\n const msdLeadingZeros = JSBI.__clz30(xMsd);\n const xBitLength = xLength * 30 - msdLeadingZeros;\n if (xBitLength > 1024)\n return x.sign ? -Infinity : Infinity;\n let exponent = xBitLength - 1;\n let currentDigit = xMsd;\n let digitIndex = xLength - 1;\n const shift = msdLeadingZeros + 3;\n let mantissaHigh = (shift === 32) ? 0 : currentDigit << shift;\n mantissaHigh >>>= 12;\n const mantissaHighBitsUnset = shift - 12;\n let mantissaLow = (shift >= 12) ? 0 : (currentDigit << (20 + shift));\n let mantissaLowBitsUnset = 20 + shift;\n if (mantissaHighBitsUnset > 0 && digitIndex > 0) {\n digitIndex--;\n currentDigit = x.__digit(digitIndex);\n mantissaHigh |= (currentDigit >>> (30 - mantissaHighBitsUnset));\n mantissaLow = currentDigit << mantissaHighBitsUnset + 2;\n mantissaLowBitsUnset = mantissaHighBitsUnset + 2;\n }\n while (mantissaLowBitsUnset > 0 && digitIndex > 0) {\n digitIndex--;\n currentDigit = x.__digit(digitIndex);\n if (mantissaLowBitsUnset >= 30) {\n mantissaLow |= (currentDigit << (mantissaLowBitsUnset - 30));\n }\n else {\n mantissaLow |= (currentDigit >>> (30 - mantissaLowBitsUnset));\n }\n mantissaLowBitsUnset -= 30;\n }\n const rounding = JSBI.__decideRounding(x, mantissaLowBitsUnset, digitIndex, currentDigit);\n if (rounding === 1 || (rounding === 0 && (mantissaLow & 1) === 1)) {\n mantissaLow = (mantissaLow + 1) >>> 0;\n if (mantissaLow === 0) {\n // Incrementing mantissaLow overflowed.\n mantissaHigh++;\n if ((mantissaHigh >>> 20) !== 0) {\n // Incrementing mantissaHigh overflowed.\n mantissaHigh = 0;\n exponent++;\n if (exponent > 1023) {\n // Incrementing the exponent overflowed.\n return x.sign ? -Infinity : Infinity;\n }\n }\n }\n }\n const signBit = x.sign ? (1 << 31) : 0;\n exponent = (exponent + 0x3FF) << 20;\n JSBI.__kBitConversionInts[JSBI.__kBitConversionIntHigh] =\n signBit | exponent | mantissaHigh;\n JSBI.__kBitConversionInts[JSBI.__kBitConversionIntLow] = mantissaLow;\n return JSBI.__kBitConversionDouble[0];\n }\n // Operations.\n static unaryMinus(x) {\n if (x.length === 0)\n return x;\n const result = x.__copy();\n result.sign = !x.sign;\n return result;\n }\n static bitwiseNot(x) {\n if (x.sign) {\n // ~(-x) == ~(~(x-1)) == x-1\n return JSBI.__absoluteSubOne(x).__trim();\n }\n // ~x == -x-1 == -(x+1)\n return JSBI.__absoluteAddOne(x, true);\n }\n static exponentiate(x, y) {\n if (y.sign) {\n throw new RangeError('Exponent must be positive');\n }\n if (y.length === 0) {\n return JSBI.__oneDigit(1, false);\n }\n if (x.length === 0)\n return x;\n if (x.length === 1 && x.__digit(0) === 1) {\n // (-1) ** even_number == 1.\n if (x.sign && (y.__digit(0) & 1) === 0) {\n return JSBI.unaryMinus(x);\n }\n // (-1) ** odd_number == -1, 1 ** anything == 1.\n return x;\n }\n // For all bases >= 2, very large exponents would lead to unrepresentable\n // results.\n if (y.length > 1)\n throw new RangeError('BigInt too big');\n let expValue = y.__unsignedDigit(0);\n if (expValue === 1)\n return x;\n if (expValue >= JSBI.__kMaxLengthBits) {\n throw new RangeError('BigInt too big');\n }\n if (x.length === 1 && x.__digit(0) === 2) {\n // Fast path for 2^n.\n const neededDigits = 1 + ((expValue / 30) | 0);\n const sign = x.sign && ((expValue & 1) !== 0);\n const result = new JSBI(neededDigits, sign);\n result.__initializeDigits();\n // All bits are zero. Now set the n-th bit.\n const msd = 1 << (expValue % 30);\n result.__setDigit(neededDigits - 1, msd);\n return result;\n }\n let result = null;\n let runningSquare = x;\n // This implicitly sets the result's sign correctly.\n if ((expValue & 1) !== 0)\n result = x;\n expValue >>= 1;\n for (; expValue !== 0; expValue >>= 1) {\n runningSquare = JSBI.multiply(runningSquare, runningSquare);\n if ((expValue & 1) !== 0) {\n if (result === null) {\n result = runningSquare;\n }\n else {\n result = JSBI.multiply(result, runningSquare);\n }\n }\n }\n // TODO see if there's a way for tsc to infer this will always happen?\n return result;\n }\n static multiply(x, y) {\n if (x.length === 0)\n return x;\n if (y.length === 0)\n return y;\n let resultLength = x.length + y.length;\n if (x.__clzmsd() + y.__clzmsd() >= 30) {\n resultLength--;\n }\n const result = new JSBI(resultLength, x.sign !== y.sign);\n result.__initializeDigits();\n for (let i = 0; i < x.length; i++) {\n JSBI.__multiplyAccumulate(y, x.__digit(i), result, i);\n }\n return result.__trim();\n }\n static divide(x, y) {\n if (y.length === 0)\n throw new RangeError('Division by zero');\n if (JSBI.__absoluteCompare(x, y) < 0)\n return JSBI.__zero();\n const resultSign = x.sign !== y.sign;\n const divisor = y.__unsignedDigit(0);\n let quotient;\n if (y.length === 1 && divisor <= 0x7FFF) {\n if (divisor === 1) {\n return resultSign === x.sign ? x : JSBI.unaryMinus(x);\n }\n quotient = JSBI.__absoluteDivSmall(x, divisor, null);\n }\n else {\n quotient = JSBI.__absoluteDivLarge(x, y, true, false);\n }\n quotient.sign = resultSign;\n return quotient.__trim();\n }\n static remainder(x, y) {\n if (y.length === 0)\n throw new RangeError('Division by zero');\n if (JSBI.__absoluteCompare(x, y) < 0)\n return x;\n const divisor = y.__unsignedDigit(0);\n if (y.length === 1 && divisor <= 0x7FFF) {\n if (divisor === 1)\n return JSBI.__zero();\n const remainderDigit = JSBI.__absoluteModSmall(x, divisor);\n if (remainderDigit === 0)\n return JSBI.__zero();\n return JSBI.__oneDigit(remainderDigit, x.sign);\n }\n const remainder = JSBI.__absoluteDivLarge(x, y, false, true);\n remainder.sign = x.sign;\n return remainder.__trim();\n }\n static add(x, y) {\n const sign = x.sign;\n if (sign === y.sign) {\n // x + y == x + y\n // -x + -y == -(x + y)\n return JSBI.__absoluteAdd(x, y, sign);\n }\n // x + -y == x - y == -(y - x)\n // -x + y == y - x == -(x - y)\n if (JSBI.__absoluteCompare(x, y) >= 0) {\n return JSBI.__absoluteSub(x, y, sign);\n }\n return JSBI.__absoluteSub(y, x, !sign);\n }\n static subtract(x, y) {\n const sign = x.sign;\n if (sign !== y.sign) {\n // x - (-y) == x + y\n // (-x) - y == -(x + y)\n return JSBI.__absoluteAdd(x, y, sign);\n }\n // x - y == -(y - x)\n // (-x) - (-y) == y - x == -(x - y)\n if (JSBI.__absoluteCompare(x, y) >= 0) {\n return JSBI.__absoluteSub(x, y, sign);\n }\n return JSBI.__absoluteSub(y, x, !sign);\n }\n static leftShift(x, y) {\n if (y.length === 0 || x.length === 0)\n return x;\n if (y.sign)\n return JSBI.__rightShiftByAbsolute(x, y);\n return JSBI.__leftShiftByAbsolute(x, y);\n }\n static signedRightShift(x, y) {\n if (y.length === 0 || x.length === 0)\n return x;\n if (y.sign)\n return JSBI.__leftShiftByAbsolute(x, y);\n return JSBI.__rightShiftByAbsolute(x, y);\n }\n static unsignedRightShift() {\n throw new TypeError('BigInts have no unsigned right shift; use >> instead');\n }\n static lessThan(x, y) {\n return JSBI.__compareToBigInt(x, y) < 0;\n }\n static lessThanOrEqual(x, y) {\n return JSBI.__compareToBigInt(x, y) <= 0;\n }\n static greaterThan(x, y) {\n return JSBI.__compareToBigInt(x, y) > 0;\n }\n static greaterThanOrEqual(x, y) {\n return JSBI.__compareToBigInt(x, y) >= 0;\n }\n static equal(x, y) {\n if (x.sign !== y.sign)\n return false;\n if (x.length !== y.length)\n return false;\n for (let i = 0; i < x.length; i++) {\n if (x.__digit(i) !== y.__digit(i))\n return false;\n }\n return true;\n }\n static notEqual(x, y) {\n return !JSBI.equal(x, y);\n }\n static bitwiseAnd(x, y) {\n if (!x.sign && !y.sign) {\n return JSBI.__absoluteAnd(x, y).__trim();\n }\n else if (x.sign && y.sign) {\n const resultLength = Math.max(x.length, y.length) + 1;\n // (-x) & (-y) == ~(x-1) & ~(y-1) == ~((x-1) | (y-1))\n // == -(((x-1) | (y-1)) + 1)\n let result = JSBI.__absoluteSubOne(x, resultLength);\n const y1 = JSBI.__absoluteSubOne(y);\n result = JSBI.__absoluteOr(result, y1, result);\n return JSBI.__absoluteAddOne(result, true, result).__trim();\n }\n // Assume that x is the positive BigInt.\n if (x.sign) {\n [x, y] = [y, x];\n }\n // x & (-y) == x & ~(y-1) == x &~ (y-1)\n return JSBI.__absoluteAndNot(x, JSBI.__absoluteSubOne(y)).__trim();\n }\n static bitwiseXor(x, y) {\n if (!x.sign && !y.sign) {\n return JSBI.__absoluteXor(x, y).__trim();\n }\n else if (x.sign && y.sign) {\n // (-x) ^ (-y) == ~(x-1) ^ ~(y-1) == (x-1) ^ (y-1)\n const resultLength = Math.max(x.length, y.length);\n const result = JSBI.__absoluteSubOne(x, resultLength);\n const y1 = JSBI.__absoluteSubOne(y);\n return JSBI.__absoluteXor(result, y1, result).__trim();\n }\n const resultLength = Math.max(x.length, y.length) + 1;\n // Assume that x is the positive BigInt.\n if (x.sign) {\n [x, y] = [y, x];\n }\n // x ^ (-y) == x ^ ~(y-1) == ~(x ^ (y-1)) == -((x ^ (y-1)) + 1)\n let result = JSBI.__absoluteSubOne(y, resultLength);\n result = JSBI.__absoluteXor(result, x, result);\n return JSBI.__absoluteAddOne(result, true, result).__trim();\n }\n static bitwiseOr(x, y) {\n const resultLength = Math.max(x.length, y.length);\n if (!x.sign && !y.sign) {\n return JSBI.__absoluteOr(x, y).__trim();\n }\n else if (x.sign && y.sign) {\n // (-x) | (-y) == ~(x-1) | ~(y-1) == ~((x-1) & (y-1))\n // == -(((x-1) & (y-1)) + 1)\n let result = JSBI.__absoluteSubOne(x, resultLength);\n const y1 = JSBI.__absoluteSubOne(y);\n result = JSBI.__absoluteAnd(result, y1, result);\n return JSBI.__absoluteAddOne(result, true, result).__trim();\n }\n // Assume that x is the positive BigInt.\n if (x.sign) {\n [x, y] = [y, x];\n }\n // x | (-y) == x | ~(y-1) == ~((y-1) &~ x) == -(((y-1) ~& x) + 1)\n let result = JSBI.__absoluteSubOne(y, resultLength);\n result = JSBI.__absoluteAndNot(result, x, result);\n return JSBI.__absoluteAddOne(result, true, result).__trim();\n }\n static asIntN(n, x) {\n if (x.length === 0)\n return x;\n n = Math.floor(n);\n if (n < 0) {\n throw new RangeError('Invalid value: not (convertible to) a safe integer');\n }\n if (n === 0)\n return JSBI.__zero();\n // If {x} has less than {n} bits, return it directly.\n if (n >= JSBI.__kMaxLengthBits)\n return x;\n const neededLength = ((n + 29) / 30) | 0;\n if (x.length < neededLength)\n return x;\n const topDigit = x.__unsignedDigit(neededLength - 1);\n const compareDigit = 1 << ((n - 1) % 30);\n if (x.length === neededLength && topDigit < compareDigit)\n return x;\n // Otherwise truncate and simulate two's complement.\n const hasBit = (topDigit & compareDigit) === compareDigit;\n if (!hasBit)\n return JSBI.__truncateToNBits(n, x);\n if (!x.sign)\n return JSBI.__truncateAndSubFromPowerOfTwo(n, x, true);\n if ((topDigit & (compareDigit - 1)) === 0) {\n for (let i = neededLength - 2; i >= 0; i--) {\n if (x.__digit(i) !== 0) {\n return JSBI.__truncateAndSubFromPowerOfTwo(n, x, false);\n }\n }\n if (x.length === neededLength && topDigit === compareDigit)\n return x;\n return JSBI.__truncateToNBits(n, x);\n }\n return JSBI.__truncateAndSubFromPowerOfTwo(n, x, false);\n }\n static asUintN(n, x) {\n if (x.length === 0)\n return x;\n n = Math.floor(n);\n if (n < 0) {\n throw new RangeError('Invalid value: not (convertible to) a safe integer');\n }\n if (n === 0)\n return JSBI.__zero();\n // If {x} is negative, simulate two's complement representation.\n if (x.sign) {\n if (n > JSBI.__kMaxLengthBits) {\n throw new RangeError('BigInt too big');\n }\n return JSBI.__truncateAndSubFromPowerOfTwo(n, x, false);\n }\n // If {x} is positive and has up to {n} bits, return it directly.\n if (n >= JSBI.__kMaxLengthBits)\n return x;\n const neededLength = ((n + 29) / 30) | 0;\n if (x.length < neededLength)\n return x;\n const bitsInTopDigit = n % 30;\n if (x.length == neededLength) {\n if (bitsInTopDigit === 0)\n return x;\n const topDigit = x.__digit(neededLength - 1);\n if ((topDigit >>> bitsInTopDigit) === 0)\n return x;\n }\n // Otherwise, truncate.\n return JSBI.__truncateToNBits(n, x);\n }\n // Operators.\n static ADD(x, y) {\n x = JSBI.__toPrimitive(x);\n y = JSBI.__toPrimitive(y);\n if (typeof x === 'string') {\n if (typeof y !== 'string')\n y = y.toString();\n return x + y;\n }\n if (typeof y === 'string') {\n return x.toString() + y;\n }\n x = JSBI.__toNumeric(x);\n y = JSBI.__toNumeric(y);\n if (JSBI.__isBigInt(x) && JSBI.__isBigInt(y)) {\n return JSBI.add(x, y);\n }\n if (typeof x === 'number' && typeof y === 'number') {\n return x + y;\n }\n throw new TypeError('Cannot mix BigInt and other types, use explicit conversions');\n }\n static LT(x, y) {\n return JSBI.__compare(x, y, 0);\n }\n static LE(x, y) {\n return JSBI.__compare(x, y, 1);\n }\n static GT(x, y) {\n return JSBI.__compare(x, y, 2);\n }\n static GE(x, y) {\n return JSBI.__compare(x, y, 3);\n }\n static EQ(x, y) {\n while (true) {\n if (JSBI.__isBigInt(x)) {\n if (JSBI.__isBigInt(y))\n return JSBI.equal(x, y);\n return JSBI.EQ(y, x);\n }\n else if (typeof x === 'number') {\n if (JSBI.__isBigInt(y))\n return JSBI.__equalToNumber(y, x);\n if (typeof y !== 'object')\n return x == y;\n y = JSBI.__toPrimitive(y);\n }\n else if (typeof x === 'string') {\n if (JSBI.__isBigInt(y)) {\n x = JSBI.__fromString(x);\n if (x === null)\n return false;\n return JSBI.equal(x, y);\n }\n if (typeof y !== 'object')\n return x == y;\n y = JSBI.__toPrimitive(y);\n }\n else if (typeof x === 'boolean') {\n if (JSBI.__isBigInt(y))\n return JSBI.__equalToNumber(y, +x);\n if (typeof y !== 'object')\n return x == y;\n y = JSBI.__toPrimitive(y);\n }\n else if (typeof x === 'symbol') {\n if (JSBI.__isBigInt(y))\n return false;\n if (typeof y !== 'object')\n return x == y;\n y = JSBI.__toPrimitive(y);\n }\n else if (typeof x === 'object') {\n if (typeof y === 'object' && y.constructor !== JSBI)\n return x == y;\n x = JSBI.__toPrimitive(x);\n }\n else {\n return x == y;\n }\n }\n }\n static NE(x, y) {\n return !JSBI.EQ(x, y);\n }\n // DataView-related functionality.\n static DataViewGetBigInt64(dataview, byteOffset, littleEndian = false) {\n return JSBI.asIntN(64, JSBI.DataViewGetBigUint64(dataview, byteOffset, littleEndian));\n }\n static DataViewGetBigUint64(dataview, byteOffset, littleEndian = false) {\n const [h, l] = littleEndian ? [4, 0] : [0, 4];\n const high = dataview.getUint32(byteOffset + h, littleEndian);\n const low = dataview.getUint32(byteOffset + l, littleEndian);\n const result = new JSBI(3, false);\n result.__setDigit(0, low & 0x3FFFFFFF);\n result.__setDigit(1, ((high & 0xFFFFFFF) << 2) | (low >>> 30));\n result.__setDigit(2, high >>> 28);\n return result.__trim();\n }\n static DataViewSetBigInt64(dataview, byteOffset, value, littleEndian = false) {\n JSBI.DataViewSetBigUint64(dataview, byteOffset, value, littleEndian);\n }\n static DataViewSetBigUint64(dataview, byteOffset, value, littleEndian = false) {\n value = JSBI.asUintN(64, value);\n let high = 0;\n let low = 0;\n if (value.length > 0) {\n low = value.__digit(0);\n if (value.length > 1) {\n const d1 = value.__digit(1);\n low = low | d1 << 30;\n high = d1 >>> 2;\n if (value.length > 2) {\n high = high | (value.__digit(2) << 28);\n }\n }\n }\n const [h, l] = littleEndian ? [4, 0] : [0, 4];\n dataview.setUint32(byteOffset + h, high, littleEndian);\n dataview.setUint32(byteOffset + l, low, littleEndian);\n }\n // Helpers.\n static __zero() {\n return new JSBI(0, false);\n }\n static __oneDigit(value, sign) {\n const result = new JSBI(1, sign);\n result.__setDigit(0, value);\n return result;\n }\n __copy() {\n const result = new JSBI(this.length, this.sign);\n for (let i = 0; i < this.length; i++) {\n result[i] = this[i];\n }\n return result;\n }\n __trim() {\n let newLength = this.length;\n let last = this[newLength - 1];\n while (last === 0) {\n newLength--;\n last = this[newLength - 1];\n this.pop();\n }\n if (newLength === 0)\n this.sign = false;\n return this;\n }\n __initializeDigits() {\n for (let i = 0; i < this.length; i++) {\n this[i] = 0;\n }\n }\n static __decideRounding(x, mantissaBitsUnset, digitIndex, currentDigit) {\n if (mantissaBitsUnset > 0)\n return -1;\n let topUnconsumedBit;\n if (mantissaBitsUnset < 0) {\n topUnconsumedBit = -mantissaBitsUnset - 1;\n }\n else {\n // {currentDigit} fit the mantissa exactly; look at the next digit.\n if (digitIndex === 0)\n return -1;\n digitIndex--;\n currentDigit = x.__digit(digitIndex);\n topUnconsumedBit = 29;\n }\n // If the most significant remaining bit is 0, round down.\n let mask = 1 << topUnconsumedBit;\n if ((currentDigit & mask) === 0)\n return -1;\n // If any other remaining bit is set, round up.\n mask -= 1;\n if ((currentDigit & mask) !== 0)\n return 1;\n while (digitIndex > 0) {\n digitIndex--;\n if (x.__digit(digitIndex) !== 0)\n return 1;\n }\n return 0;\n }\n static __fromDouble(value) {\n const sign = value < 0;\n JSBI.__kBitConversionDouble[0] = value;\n const rawExponent = (JSBI.__kBitConversionInts[JSBI.__kBitConversionIntHigh] >>> 20) &\n 0x7FF;\n const exponent = rawExponent - 0x3FF;\n const digits = ((exponent / 30) | 0) + 1;\n const result = new JSBI(digits, sign);\n const kHiddenBit = 0x00100000;\n let mantissaHigh = (JSBI.__kBitConversionInts[JSBI.__kBitConversionIntHigh] & 0xFFFFF) |\n kHiddenBit;\n let mantissaLow = JSBI.__kBitConversionInts[JSBI.__kBitConversionIntLow];\n const kMantissaHighTopBit = 20;\n // 0-indexed position of most significant bit in most significant digit.\n const msdTopBit = exponent % 30;\n // Number of unused bits in the mantissa. We'll keep them shifted to the\n // left (i.e. most significant part).\n let remainingMantissaBits = 0;\n // Next digit under construction.\n let digit;\n // First, build the MSD by shifting the mantissa appropriately.\n if (msdTopBit < kMantissaHighTopBit) {\n const shift = kMantissaHighTopBit - msdTopBit;\n remainingMantissaBits = shift + 32;\n digit = mantissaHigh >>> shift;\n mantissaHigh = (mantissaHigh << (32 - shift)) | (mantissaLow >>> shift);\n mantissaLow = mantissaLow << (32 - shift);\n }\n else if (msdTopBit === kMantissaHighTopBit) {\n remainingMantissaBits = 32;\n digit = mantissaHigh;\n mantissaHigh = mantissaLow;\n mantissaLow = 0;\n }\n else {\n const shift = msdTopBit - kMantissaHighTopBit;\n remainingMantissaBits = 32 - shift;\n digit = (mantissaHigh << shift) | (mantissaLow >>> (32 - shift));\n mantissaHigh = mantissaLow << shift;\n mantissaLow = 0;\n }\n result.__setDigit(digits - 1, digit);\n // Then fill in the rest of the digits.\n for (let digitIndex = digits - 2; digitIndex >= 0; digitIndex--) {\n if (remainingMantissaBits > 0) {\n remainingMantissaBits -= 30;\n digit = mantissaHigh >>> 2;\n mantissaHigh = (mantissaHigh << 30) | (mantissaLow >>> 2);\n mantissaLow = (mantissaLow << 30);\n }\n else {\n digit = 0;\n }\n result.__setDigit(digitIndex, digit);\n }\n return result.__trim();\n }\n static __isWhitespace(c) {\n if (c <= 0x0D && c >= 0x09)\n return true;\n if (c <= 0x9F)\n return c === 0x20;\n if (c <= 0x01FFFF) {\n return c === 0xA0 || c === 0x1680;\n }\n if (c <= 0x02FFFF) {\n c &= 0x01FFFF;\n return c <= 0x0A || c === 0x28 || c === 0x29 || c === 0x2F ||\n c === 0x5F || c === 0x1000;\n }\n return c === 0xFEFF;\n }\n static __fromString(string, radix = 0) {\n let sign = 0;\n let leadingZero = false;\n const length = string.length;\n let cursor = 0;\n if (cursor === length)\n return JSBI.__zero();\n let current = string.charCodeAt(cursor);\n // Skip whitespace.\n while (JSBI.__isWhitespace(current)) {\n if (++cursor === length)\n return JSBI.__zero();\n current = string.charCodeAt(cursor);\n }\n // Detect radix.\n if (current === 0x2B) { // '+'\n if (++cursor === length)\n return null;\n current = string.charCodeAt(cursor);\n sign = 1;\n }\n else if (current === 0x2D) { // '-'\n if (++cursor === length)\n return null;\n current = string.charCodeAt(cursor);\n sign = -1;\n }\n if (radix === 0) {\n radix = 10;\n if (current === 0x30) { // '0'\n if (++cursor === length)\n return JSBI.__zero();\n current = string.charCodeAt(cursor);\n if (current === 0x58 || current === 0x78) { // 'X' or 'x'\n radix = 16;\n if (++cursor === length)\n return null;\n current = string.charCodeAt(cursor);\n }\n else if (current === 0x4F || current === 0x6F) { // 'O' or 'o'\n radix = 8;\n if (++cursor === length)\n return null;\n current = string.charCodeAt(cursor);\n }\n else if (current === 0x42 || current === 0x62) { // 'B' or 'b'\n radix = 2;\n if (++cursor === length)\n return null;\n current = string.charCodeAt(cursor);\n }\n else {\n leadingZero = true;\n }\n }\n }\n else if (radix === 16) {\n if (current === 0x30) { // '0'\n // Allow \"0x\" prefix.\n if (++cursor === length)\n return JSBI.__zero();\n current = string.charCodeAt(cursor);\n if (current === 0x58 || current === 0x78) { // 'X' or 'x'\n if (++cursor === length)\n return null;\n current = string.charCodeAt(cursor);\n }\n else {\n leadingZero = true;\n }\n }\n }\n if (sign !== 0 && radix !== 10)\n return null;\n // Skip leading zeros.\n while (current === 0x30) {\n leadingZero = true;\n if (++cursor === length)\n return JSBI.__zero();\n current = string.charCodeAt(cursor);\n }\n // Allocate result.\n const chars = length - cursor;\n let bitsPerChar = JSBI.__kMaxBitsPerChar[radix];\n let roundup = JSBI.__kBitsPerCharTableMultiplier - 1;\n if (chars > (1 << 30) / bitsPerChar)\n return null;\n const bitsMin = (bitsPerChar * chars + roundup) >>> JSBI.__kBitsPerCharTableShift;\n const resultLength = ((bitsMin + 29) / 30) | 0;\n const result = new JSBI(resultLength, false);\n // Parse.\n const limDigit = radix < 10 ? radix : 10;\n const limAlpha = radix > 10 ? radix - 10 : 0;\n if ((radix & (radix - 1)) === 0) {\n // Power-of-two radix.\n bitsPerChar >>= JSBI.__kBitsPerCharTableShift;\n const parts = [];\n const partsBits = [];\n let done = false;\n do {\n let part = 0;\n let bits = 0;\n while (true) {\n let d;\n if (((current - 48) >>> 0) < limDigit) {\n d = current - 48;\n }\n else if ((((current | 32) - 97) >>> 0) < limAlpha) {\n d = (current | 32) - 87;\n }\n else {\n done = true;\n break;\n }\n bits += bitsPerChar;\n part = (part << bitsPerChar) | d;\n if (++cursor === length) {\n done = true;\n break;\n }\n current = string.charCodeAt(cursor);\n if (bits + bitsPerChar > 30)\n break;\n }\n parts.push(part);\n partsBits.push(bits);\n } while (!done);\n JSBI.__fillFromParts(result, parts, partsBits);\n }\n else {\n result.__initializeDigits();\n let done = false;\n let charsSoFar = 0;\n do {\n let part = 0;\n let multiplier = 1;\n while (true) {\n let d;\n if (((current - 48) >>> 0) < limDigit) {\n d = current - 48;\n }\n else if ((((current | 32) - 97) >>> 0) < limAlpha) {\n d = (current | 32) - 87;\n }\n else {\n done = true;\n break;\n }\n const m = multiplier * radix;\n if (m > 0x3FFFFFFF)\n break;\n multiplier = m;\n part = part * radix + d;\n charsSoFar++;\n if (++cursor === length) {\n done = true;\n break;\n }\n current = string.charCodeAt(cursor);\n }\n roundup = JSBI.__kBitsPerCharTableMultiplier * 30 - 1;\n const digitsSoFar = (((bitsPerChar * charsSoFar + roundup) >>>\n JSBI.__kBitsPerCharTableShift) / 30) | 0;\n result.__inplaceMultiplyAdd(multiplier, part, digitsSoFar);\n } while (!done);\n }\n if (cursor !== length) {\n if (!JSBI.__isWhitespace(current))\n return null;\n for (cursor++; cursor < length; cursor++) {\n current = string.charCodeAt(cursor);\n if (!JSBI.__isWhitespace(current))\n return null;\n }\n }\n // Get result.\n result.sign = (sign === -1);\n return result.__trim();\n }\n static __fillFromParts(result, parts, partsBits) {\n let digitIndex = 0;\n let digit = 0;\n let bitsInDigit = 0;\n for (let i = parts.length - 1; i >= 0; i--) {\n const part = parts[i];\n const partBits = partsBits[i];\n digit |= (part << bitsInDigit);\n bitsInDigit += partBits;\n if (bitsInDigit === 30) {\n result.__setDigit(digitIndex++, digit);\n bitsInDigit = 0;\n digit = 0;\n }\n else if (bitsInDigit > 30) {\n result.__setDigit(digitIndex++, digit & 0x3FFFFFFF);\n bitsInDigit -= 30;\n digit = part >>> (partBits - bitsInDigit);\n }\n }\n if (digit !== 0) {\n if (digitIndex >= result.length)\n throw new Error('implementation bug');\n result.__setDigit(digitIndex++, digit);\n }\n for (; digitIndex < result.length; digitIndex++) {\n result.__setDigit(digitIndex, 0);\n }\n }\n static __toStringBasePowerOfTwo(x, radix) {\n const length = x.length;\n let bits = radix - 1;\n bits = ((bits >>> 1) & 0x55) + (bits & 0x55);\n bits = ((bits >>> 2) & 0x33) + (bits & 0x33);\n bits = ((bits >>> 4) & 0x0F) + (bits & 0x0F);\n const bitsPerChar = bits;\n const charMask = radix - 1;\n const msd = x.__digit(length - 1);\n const msdLeadingZeros = JSBI.__clz30(msd);\n const bitLength = length * 30 - msdLeadingZeros;\n let charsRequired = ((bitLength + bitsPerChar - 1) / bitsPerChar) | 0;\n if (x.sign)\n charsRequired++;\n if (charsRequired > (1 << 28))\n throw new Error('string too long');\n const result = new Array(charsRequired);\n let pos = charsRequired - 1;\n let digit = 0;\n let availableBits = 0;\n for (let i = 0; i < length - 1; i++) {\n const newDigit = x.__digit(i);\n const current = (digit | (newDigit << availableBits)) & charMask;\n result[pos--] = JSBI.__kConversionChars[current];\n const consumedBits = bitsPerChar - availableBits;\n digit = newDigit >>> consumedBits;\n availableBits = 30 - consumedBits;\n while (availableBits >= bitsPerChar) {\n result[pos--] = JSBI.__kConversionChars[digit & charMask];\n digit >>>= bitsPerChar;\n availableBits -= bitsPerChar;\n }\n }\n const current = (digit | (msd << availableBits)) & charMask;\n result[pos--] = JSBI.__kConversionChars[current];\n digit = msd >>> (bitsPerChar - availableBits);\n while (digit !== 0) {\n result[pos--] = JSBI.__kConversionChars[digit & charMask];\n digit >>>= bitsPerChar;\n }\n if (x.sign)\n result[pos--] = '-';\n if (pos !== -1)\n throw new Error('implementation bug');\n return result.join('');\n }\n static __toStringGeneric(x, radix, isRecursiveCall) {\n const length = x.length;\n if (length === 0)\n return '';\n if (length === 1) {\n let result = x.__unsignedDigit(0).toString(radix);\n if (isRecursiveCall === false && x.sign) {\n result = '-' + result;\n }\n return result;\n }\n const bitLength = length * 30 - JSBI.__clz30(x.__digit(length - 1));\n const maxBitsPerChar = JSBI.__kMaxBitsPerChar[radix];\n const minBitsPerChar = maxBitsPerChar - 1;\n let charsRequired = bitLength * JSBI.__kBitsPerCharTableMultiplier;\n charsRequired += minBitsPerChar - 1;\n charsRequired = (charsRequired / minBitsPerChar) | 0;\n const secondHalfChars = (charsRequired + 1) >> 1;\n // Divide-and-conquer: split by a power of {radix} that's approximately\n // the square root of {x}, then recurse.\n const conqueror = JSBI.exponentiate(JSBI.__oneDigit(radix, false), JSBI.__oneDigit(secondHalfChars, false));\n let quotient;\n let secondHalf;\n const divisor = conqueror.__unsignedDigit(0);\n if (conqueror.length === 1 && divisor <= 0x7FFF) {\n quotient = new JSBI(x.length, false);\n quotient.__initializeDigits();\n let remainder = 0;\n for (let i = x.length * 2 - 1; i >= 0; i--) {\n const input = (remainder << 15) | x.__halfDigit(i);\n quotient.__setHalfDigit(i, (input / divisor) | 0);\n remainder = (input % divisor) | 0;\n }\n secondHalf = remainder.toString(radix);\n }\n else {\n const divisionResult = JSBI.__absoluteDivLarge(x, conqueror, true, true);\n quotient = divisionResult.quotient;\n const remainder = divisionResult.remainder.__trim();\n secondHalf = JSBI.__toStringGeneric(remainder, radix, true);\n }\n quotient.__trim();\n let firstHalf = JSBI.__toStringGeneric(quotient, radix, true);\n while (secondHalf.length < secondHalfChars) {\n secondHalf = '0' + secondHalf;\n }\n if (isRecursiveCall === false && x.sign) {\n firstHalf = '-' + firstHalf;\n }\n return firstHalf + secondHalf;\n }\n static __unequalSign(leftNegative) {\n return leftNegative ? -1 : 1;\n }\n static __absoluteGreater(bothNegative) {\n return bothNegative ? -1 : 1;\n }\n static __absoluteLess(bothNegative) {\n return bothNegative ? 1 : -1;\n }\n static __compareToBigInt(x, y) {\n const xSign = x.sign;\n if (xSign !== y.sign)\n return JSBI.__unequalSign(xSign);\n const result = JSBI.__absoluteCompare(x, y);\n if (result > 0)\n return JSBI.__absoluteGreater(xSign);\n if (result < 0)\n return JSBI.__absoluteLess(xSign);\n return 0;\n }\n static __compareToNumber(x, y) {\n if (JSBI.__isOneDigitInt(y)) {\n const xSign = x.sign;\n const ySign = (y < 0);\n if (xSign !== ySign)\n return JSBI.__unequalSign(xSign);\n if (x.length === 0) {\n if (ySign)\n throw new Error('implementation bug');\n return y === 0 ? 0 : -1;\n }\n // Any multi-digit BigInt is bigger than an int32.\n if (x.length > 1)\n return JSBI.__absoluteGreater(xSign);\n const yAbs = Math.abs(y);\n const xDigit = x.__unsignedDigit(0);\n if (xDigit > yAbs)\n return JSBI.__absoluteGreater(xSign);\n if (xDigit < yAbs)\n return JSBI.__absoluteLess(xSign);\n return 0;\n }\n return JSBI.__compareToDouble(x, y);\n }\n static __compareToDouble(x, y) {\n if (y !== y)\n return y; // NaN.\n if (y === Infinity)\n return -1;\n if (y === -Infinity)\n return 1;\n const xSign = x.sign;\n const ySign = (y < 0);\n if (xSign !== ySign)\n return JSBI.__unequalSign(xSign);\n if (y === 0) {\n throw new Error('implementation bug: should be handled elsewhere');\n }\n if (x.length === 0)\n return -1;\n JSBI.__kBitConversionDouble[0] = y;\n const rawExponent = (JSBI.__kBitConversionInts[JSBI.__kBitConversionIntHigh] >>> 20) &\n 0x7FF;\n if (rawExponent === 0x7FF) {\n throw new Error('implementation bug: handled elsewhere');\n }\n const exponent = rawExponent - 0x3FF;\n if (exponent < 0) {\n // The absolute value of y is less than 1. Only 0n has an absolute\n // value smaller than that, but we've already covered that case.\n return JSBI.__absoluteGreater(xSign);\n }\n const xLength = x.length;\n let xMsd = x.__digit(xLength - 1);\n const msdLeadingZeros = JSBI.__clz30(xMsd);\n const xBitLength = xLength * 30 - msdLeadingZeros;\n const yBitLength = exponent + 1;\n if (xBitLength < yBitLength)\n return JSBI.__absoluteLess(xSign);\n if (xBitLength > yBitLength)\n return JSBI.__absoluteGreater(xSign);\n // Same sign, same bit length. Shift mantissa to align with x and compare\n // bit for bit.\n const kHiddenBit = 0x00100000;\n let mantissaHigh = (JSBI.__kBitConversionInts[JSBI.__kBitConversionIntHigh] & 0xFFFFF) |\n kHiddenBit;\n let mantissaLow = JSBI.__kBitConversionInts[JSBI.__kBitConversionIntLow];\n const kMantissaHighTopBit = 20;\n const msdTopBit = 29 - msdLeadingZeros;\n if (msdTopBit !== (((xBitLength - 1) % 30) | 0)) {\n throw new Error('implementation bug');\n }\n let compareMantissa; // Shifted chunk of mantissa.\n let remainingMantissaBits = 0;\n // First, compare most significant digit against beginning of mantissa.\n if (msdTopBit < kMantissaHighTopBit) {\n const shift = kMantissaHighTopBit - msdTopBit;\n remainingMantissaBits = shift + 32;\n compareMantissa = mantissaHigh >>> shift;\n mantissaHigh = (mantissaHigh << (32 - shift)) | (mantissaLow >>> shift);\n mantissaLow = mantissaLow << (32 - shift);\n }\n else if (msdTopBit === kMantissaHighTopBit) {\n remainingMantissaBits = 32;\n compareMantissa = mantissaHigh;\n mantissaHigh = mantissaLow;\n mantissaLow = 0;\n }\n else {\n const shift = msdTopBit - kMantissaHighTopBit;\n remainingMantissaBits = 32 - shift;\n compareMantissa =\n (mantissaHigh << shift) | (mantissaLow >>> (32 - shift));\n mantissaHigh = mantissaLow << shift;\n mantissaLow = 0;\n }\n xMsd = xMsd >>> 0;\n compareMantissa = compareMantissa >>> 0;\n if (xMsd > compareMantissa)\n return JSBI.__absoluteGreater(xSign);\n if (xMsd < compareMantissa)\n return JSBI.__absoluteLess(xSign);\n // Then, compare additional digits against remaining mantissa bits.\n for (let digitIndex = xLength - 2; digitIndex >= 0; digitIndex--) {\n if (remainingMantissaBits > 0) {\n remainingMantissaBits -= 30;\n compareMantissa = mantissaHigh >>> 2;\n mantissaHigh = (mantissaHigh << 30) | (mantissaLow >>> 2);\n mantissaLow = (mantissaLow << 30);\n }\n else {\n compareMantissa = 0;\n }\n const digit = x.__unsignedDigit(digitIndex);\n if (digit > compareMantissa)\n return JSBI.__absoluteGreater(xSign);\n if (digit < compareMantissa)\n return JSBI.__absoluteLess(xSign);\n }\n // Integer parts are equal; check whether {y} has a fractional part.\n if (mantissaHigh !== 0 || mantissaLow !== 0) {\n if (remainingMantissaBits === 0)\n throw new Error('implementation bug');\n return JSBI.__absoluteLess(xSign);\n }\n return 0;\n }\n static __equalToNumber(x, y) {\n if (JSBI.__isOneDigitInt(y)) {\n if (y === 0)\n return x.length === 0;\n // Any multi-digit BigInt is bigger than an int32.\n return (x.length === 1) && (x.sign === (y < 0)) &&\n (x.__unsignedDigit(0) === Math.abs(y));\n }\n return JSBI.__compareToDouble(x, y) === 0;\n }\n // Comparison operations, chosen such that \"op ^ 2\" reverses direction:\n // 0 - lessThan\n // 1 - lessThanOrEqual\n // 2 - greaterThan\n // 3 - greaterThanOrEqual\n static __comparisonResultToBool(result, op) {\n switch (op) {\n case 0: return result < 0;\n case 1: return result <= 0;\n case 2: return result > 0;\n case 3: return result >= 0;\n }\n }\n static __compare(x, y, op) {\n x = JSBI.__toPrimitive(x);\n y = JSBI.__toPrimitive(y);\n if (typeof x === 'string' && typeof y === 'string') {\n switch (op) {\n case 0: return x < y;\n case 1: return x <= y;\n case 2: return x > y;\n case 3: return x >= y;\n }\n }\n if (JSBI.__isBigInt(x) && typeof y === 'string') {\n y = JSBI.__fromString(y);\n if (y === null)\n return false;\n return JSBI.__comparisonResultToBool(JSBI.__compareToBigInt(x, y), op);\n }\n if (typeof x === 'string' && JSBI.__isBigInt(y)) {\n x = JSBI.__fromString(x);\n if (x === null)\n return false;\n return JSBI.__comparisonResultToBool(JSBI.__compareToBigInt(x, y), op);\n }\n x = JSBI.__toNumeric(x);\n y = JSBI.__toNumeric(y);\n if (JSBI.__isBigInt(x)) {\n if (JSBI.__isBigInt(y)) {\n return JSBI.__comparisonResultToBool(JSBI.__compareToBigInt(x, y), op);\n }\n if (typeof y !== 'number')\n throw new Error('implementation bug');\n return JSBI.__comparisonResultToBool(JSBI.__compareToNumber(x, y), op);\n }\n if (typeof x !== 'number')\n throw new Error('implementation bug');\n if (JSBI.__isBigInt(y)) {\n // Note that \"op ^ 2\" reverses the op's direction.\n return JSBI.__comparisonResultToBool(JSBI.__compareToNumber(y, x), (op ^ 2));\n }\n if (typeof y !== 'number')\n throw new Error('implementation bug');\n switch (op) {\n case 0: return x < y;\n case 1: return x <= y;\n case 2: return x > y;\n case 3: return x >= y;\n }\n }\n __clzmsd() {\n return JSBI.__clz30(this.__digit(this.length - 1));\n }\n static __absoluteAdd(x, y, resultSign) {\n if (x.length < y.length)\n return JSBI.__absoluteAdd(y, x, resultSign);\n if (x.length === 0)\n return x;\n if (y.length === 0)\n return x.sign === resultSign ? x : JSBI.unaryMinus(x);\n let resultLength = x.length;\n if (x.__clzmsd() === 0 || (y.length === x.length && y.__clzmsd() === 0)) {\n resultLength++;\n }\n const result = new JSBI(resultLength, resultSign);\n let carry = 0;\n let i = 0;\n for (; i < y.length; i++) {\n const r = x.__digit(i) + y.__digit(i) + carry;\n carry = r >>> 30;\n result.__setDigit(i, r & 0x3FFFFFFF);\n }\n for (; i < x.length; i++) {\n const r = x.__digit(i) + carry;\n carry = r >>> 30;\n result.__setDigit(i, r & 0x3FFFFFFF);\n }\n if (i < result.length) {\n result.__setDigit(i, carry);\n }\n return result.__trim();\n }\n static __absoluteSub(x, y, resultSign) {\n if (x.length === 0)\n return x;\n if (y.length === 0)\n return x.sign === resultSign ? x : JSBI.unaryMinus(x);\n const result = new JSBI(x.length, resultSign);\n let borrow = 0;\n let i = 0;\n for (; i < y.length; i++) {\n const r = x.__digit(i) - y.__digit(i) - borrow;\n borrow = (r >>> 30) & 1;\n result.__setDigit(i, r & 0x3FFFFFFF);\n }\n for (; i < x.length; i++) {\n const r = x.__digit(i) - borrow;\n borrow = (r >>> 30) & 1;\n result.__setDigit(i, r & 0x3FFFFFFF);\n }\n return result.__trim();\n }\n static __absoluteAddOne(x, sign, result = null) {\n const inputLength = x.length;\n if (result === null) {\n result = new JSBI(inputLength, sign);\n }\n else {\n result.sign = sign;\n }\n let carry = 1;\n for (let i = 0; i < inputLength; i++) {\n const r = x.__digit(i) + carry;\n carry = r >>> 30;\n result.__setDigit(i, r & 0x3FFFFFFF);\n }\n if (carry !== 0) {\n result.__setDigitGrow(inputLength, 1);\n }\n return result;\n }\n static __absoluteSubOne(x, resultLength) {\n const length = x.length;\n resultLength = resultLength || length;\n const result = new JSBI(resultLength, false);\n let borrow = 1;\n for (let i = 0; i < length; i++) {\n const r = x.__digit(i) - borrow;\n borrow = (r >>> 30) & 1;\n result.__setDigit(i, r & 0x3FFFFFFF);\n }\n if (borrow !== 0)\n throw new Error('implementation bug');\n for (let i = length; i < resultLength; i++) {\n result.__setDigit(i, 0);\n }\n return result;\n }\n static __absoluteAnd(x, y, result = null) {\n let xLength = x.length;\n let yLength = y.length;\n let numPairs = yLength;\n if (xLength < yLength) {\n numPairs = xLength;\n const tmp = x;\n const tmpLength = xLength;\n x = y;\n xLength = yLength;\n y = tmp;\n yLength = tmpLength;\n }\n let resultLength = numPairs;\n if (result === null) {\n result = new JSBI(resultLength, false);\n }\n else {\n resultLength = result.length;\n }\n let i = 0;\n for (; i < numPairs; i++) {\n result.__setDigit(i, x.__digit(i) & y.__digit(i));\n }\n for (; i < resultLength; i++) {\n result.__setDigit(i, 0);\n }\n return result;\n }\n static __absoluteAndNot(x, y, result = null) {\n const xLength = x.length;\n const yLength = y.length;\n let numPairs = yLength;\n if (xLength < yLength) {\n numPairs = xLength;\n }\n let resultLength = xLength;\n if (result === null) {\n result = new JSBI(resultLength, false);\n }\n else {\n resultLength = result.length;\n }\n let i = 0;\n for (; i < numPairs; i++) {\n result.__setDigit(i, x.__digit(i) & ~y.__digit(i));\n }\n for (; i < xLength; i++) {\n result.__setDigit(i, x.__digit(i));\n }\n for (; i < resultLength; i++) {\n result.__setDigit(i, 0);\n }\n return result;\n }\n static __absoluteOr(x, y, result = null) {\n let xLength = x.length;\n let yLength = y.length;\n let numPairs = yLength;\n if (xLength < yLength) {\n numPairs = xLength;\n const tmp = x;\n const tmpLength = xLength;\n x = y;\n xLength = yLength;\n y = tmp;\n yLength = tmpLength;\n }\n let resultLength = xLength;\n if (result === null) {\n result = new JSBI(resultLength, false);\n }\n else {\n resultLength = result.length;\n }\n let i = 0;\n for (; i < numPairs; i++) {\n result.__setDigit(i, x.__digit(i) | y.__digit(i));\n }\n for (; i < xLength; i++) {\n result.__setDigit(i, x.__digit(i));\n }\n for (; i < resultLength; i++) {\n result.__setDigit(i, 0);\n }\n return result;\n }\n static __absoluteXor(x, y, result = null) {\n let xLength = x.length;\n let yLength = y.length;\n let numPairs = yLength;\n if (xLength < yLength) {\n numPairs = xLength;\n const tmp = x;\n const tmpLength = xLength;\n x = y;\n xLength = yLength;\n y = tmp;\n yLength = tmpLength;\n }\n let resultLength = xLength;\n if (result === null) {\n result = new JSBI(resultLength, false);\n }\n else {\n resultLength = result.length;\n }\n let i = 0;\n for (; i < numPairs; i++) {\n result.__setDigit(i, x.__digit(i) ^ y.__digit(i));\n }\n for (; i < xLength; i++) {\n result.__setDigit(i, x.__digit(i));\n }\n for (; i < resultLength; i++) {\n result.__setDigit(i, 0);\n }\n return result;\n }\n static __absoluteCompare(x, y) {\n const diff = x.length - y.length;\n if (diff !== 0)\n return diff;\n let i = x.length - 1;\n while (i >= 0 && x.__digit(i) === y.__digit(i))\n i--;\n if (i < 0)\n return 0;\n return x.__unsignedDigit(i) > y.__unsignedDigit(i) ? 1 : -1;\n }\n static __multiplyAccumulate(multiplicand, multiplier, accumulator, accumulatorIndex) {\n if (multiplier === 0)\n return;\n const m2Low = multiplier & 0x7FFF;\n const m2High = multiplier >>> 15;\n let carry = 0;\n let high = 0;\n for (let i = 0; i < multiplicand.length; i++, accumulatorIndex++) {\n let acc = accumulator.__digit(accumulatorIndex);\n const m1 = multiplicand.__digit(i);\n const m1Low = m1 & 0x7FFF;\n const m1High = m1 >>> 15;\n const rLow = JSBI.__imul(m1Low, m2Low);\n const rMid1 = JSBI.__imul(m1Low, m2High);\n const rMid2 = JSBI.__imul(m1High, m2Low);\n const rHigh = JSBI.__imul(m1High, m2High);\n acc += high + rLow + carry;\n carry = acc >>> 30;\n acc &= 0x3FFFFFFF;\n acc += ((rMid1 & 0x7FFF) << 15) + ((rMid2 & 0x7FFF) << 15);\n carry += acc >>> 30;\n high = rHigh + (rMid1 >>> 15) + (rMid2 >>> 15);\n accumulator.__setDigit(accumulatorIndex, acc & 0x3FFFFFFF);\n }\n for (; carry !== 0 || high !== 0; accumulatorIndex++) {\n let acc = accumulator.__digit(accumulatorIndex);\n acc += carry + high;\n high = 0;\n carry = acc >>> 30;\n accumulator.__setDigit(accumulatorIndex, acc & 0x3FFFFFFF);\n }\n }\n static __internalMultiplyAdd(source, factor, summand, n, result) {\n let carry = summand;\n let high = 0;\n for (let i = 0; i < n; i++) {\n const digit = source.__digit(i);\n const rx = JSBI.__imul(digit & 0x7FFF, factor);\n const ry = JSBI.__imul(digit >>> 15, factor);\n const r = rx + ((ry & 0x7FFF) << 15) + high + carry;\n carry = r >>> 30;\n high = ry >>> 15;\n result.__setDigit(i, r & 0x3FFFFFFF);\n }\n if (result.length > n) {\n result.__setDigit(n++, carry + high);\n while (n < result.length) {\n result.__setDigit(n++, 0);\n }\n }\n else {\n if (carry + high !== 0)\n throw new Error('implementation bug');\n }\n }\n __inplaceMultiplyAdd(multiplier, summand, length) {\n if (length > this.length)\n length = this.length;\n const mLow = multiplier & 0x7FFF;\n const mHigh = multiplier >>> 15;\n let carry = 0;\n let high = summand;\n for (let i = 0; i < length; i++) {\n const d = this.__digit(i);\n const dLow = d & 0x7FFF;\n const dHigh = d >>> 15;\n const pLow = JSBI.__imul(dLow, mLow);\n const pMid1 = JSBI.__imul(dLow, mHigh);\n const pMid2 = JSBI.__imul(dHigh, mLow);\n const pHigh = JSBI.__imul(dHigh, mHigh);\n let result = high + pLow + carry;\n carry = result >>> 30;\n result &= 0x3FFFFFFF;\n result += ((pMid1 & 0x7FFF) << 15) + ((pMid2 & 0x7FFF) << 15);\n carry += result >>> 30;\n high = pHigh + (pMid1 >>> 15) + (pMid2 >>> 15);\n this.__setDigit(i, result & 0x3FFFFFFF);\n }\n if (carry !== 0 || high !== 0) {\n throw new Error('implementation bug');\n }\n }\n static __absoluteDivSmall(x, divisor, quotient = null) {\n if (quotient === null)\n quotient = new JSBI(x.length, false);\n let remainder = 0;\n for (let i = x.length * 2 - 1; i >= 0; i -= 2) {\n let input = ((remainder << 15) | x.__halfDigit(i)) >>> 0;\n const upperHalf = (input / divisor) | 0;\n remainder = (input % divisor) | 0;\n input = ((remainder << 15) | x.__halfDigit(i - 1)) >>> 0;\n const lowerHalf = (input / divisor) | 0;\n remainder = (input % divisor) | 0;\n quotient.__setDigit(i >>> 1, (upperHalf << 15) | lowerHalf);\n }\n return quotient;\n }\n static __absoluteModSmall(x, divisor) {\n let remainder = 0;\n for (let i = x.length * 2 - 1; i >= 0; i--) {\n const input = ((remainder << 15) | x.__halfDigit(i)) >>> 0;\n remainder = (input % divisor) | 0;\n }\n return remainder;\n }\n static __absoluteDivLarge(dividend, divisor, wantQuotient, wantRemainder) {\n const n = divisor.__halfDigitLength();\n const n2 = divisor.length;\n const m = dividend.__halfDigitLength() - n;\n let q = null;\n if (wantQuotient) {\n q = new JSBI((m + 2) >>> 1, false);\n q.__initializeDigits();\n }\n const qhatv = new JSBI((n + 2) >>> 1, false);\n qhatv.__initializeDigits();\n // D1.\n const shift = JSBI.__clz15(divisor.__halfDigit(n - 1));\n if (shift > 0) {\n divisor = JSBI.__specialLeftShift(divisor, shift, 0 /* add no digits*/);\n }\n const u = JSBI.__specialLeftShift(dividend, shift, 1 /* add one digit */);\n // D2.\n const vn1 = divisor.__halfDigit(n - 1);\n let halfDigitBuffer = 0;\n for (let j = m; j >= 0; j--) {\n // D3.\n let qhat = 0x7FFF;\n const ujn = u.__halfDigit(j + n);\n if (ujn !== vn1) {\n const input = ((ujn << 15) | u.__halfDigit(j + n - 1)) >>> 0;\n qhat = (input / vn1) | 0;\n let rhat = (input % vn1) | 0;\n const vn2 = divisor.__halfDigit(n - 2);\n const ujn2 = u.__halfDigit(j + n - 2);\n while ((JSBI.__imul(qhat, vn2) >>> 0) > (((rhat << 16) | ujn2) >>> 0)) {\n qhat--;\n rhat += vn1;\n if (rhat > 0x7FFF)\n break;\n }\n }\n // D4.\n JSBI.__internalMultiplyAdd(divisor, qhat, 0, n2, qhatv);\n let c = u.__inplaceSub(qhatv, j, n + 1);\n if (c !== 0) {\n c = u.__inplaceAdd(divisor, j, n);\n u.__setHalfDigit(j + n, (u.__halfDigit(j + n) + c) & 0x7FFF);\n qhat--;\n }\n if (wantQuotient) {\n if (j & 1) {\n halfDigitBuffer = qhat << 15;\n }\n else {\n // TODO make this statically determinable\n q.__setDigit(j >>> 1, halfDigitBuffer | qhat);\n }\n }\n }\n if (wantRemainder) {\n u.__inplaceRightShift(shift);\n if (wantQuotient) {\n return { quotient: q, remainder: u };\n }\n return u;\n }\n if (wantQuotient)\n return q;\n // TODO find a way to make this statically unreachable?\n throw new Error('unreachable');\n }\n static __clz15(value) {\n return JSBI.__clz30(value) - 15;\n }\n // TODO: work on full digits, like __inplaceSub?\n __inplaceAdd(summand, startIndex, halfDigits) {\n let carry = 0;\n for (let i = 0; i < halfDigits; i++) {\n const sum = this.__halfDigit(startIndex + i) +\n summand.__halfDigit(i) +\n carry;\n carry = sum >>> 15;\n this.__setHalfDigit(startIndex + i, sum & 0x7FFF);\n }\n return carry;\n }\n __inplaceSub(subtrahend, startIndex, halfDigits) {\n const fullSteps = (halfDigits - 1) >>> 1;\n let borrow = 0;\n if (startIndex & 1) {\n // this: [..][..][..]\n // subtr.: [..][..]\n startIndex >>= 1;\n let current = this.__digit(startIndex);\n let r0 = current & 0x7FFF;\n let i = 0;\n for (; i < fullSteps; i++) {\n const sub = subtrahend.__digit(i);\n const r15 = (current >>> 15) - (sub & 0x7FFF) - borrow;\n borrow = (r15 >>> 15) & 1;\n this.__setDigit(startIndex + i, ((r15 & 0x7FFF) << 15) | (r0 & 0x7FFF));\n current = this.__digit(startIndex + i + 1);\n r0 = (current & 0x7FFF) - (sub >>> 15) - borrow;\n borrow = (r0 >>> 15) & 1;\n }\n // Unrolling the last iteration gives a 5% performance benefit!\n const sub = subtrahend.__digit(i);\n const r15 = (current >>> 15) - (sub & 0x7FFF) - borrow;\n borrow = (r15 >>> 15) & 1;\n this.__setDigit(startIndex + i, ((r15 & 0x7FFF) << 15) | (r0 & 0x7FFF));\n const subTop = sub >>> 15;\n if (startIndex + i + 1 >= this.length) {\n throw new RangeError('out of bounds');\n }\n if ((halfDigits & 1) === 0) {\n current = this.__digit(startIndex + i + 1);\n r0 = (current & 0x7FFF) - subTop - borrow;\n borrow = (r0 >>> 15) & 1;\n this.__setDigit(startIndex + subtrahend.length, (current & 0x3FFF8000) | (r0 & 0x7FFF));\n }\n }\n else {\n startIndex >>= 1;\n let i = 0;\n for (; i < subtrahend.length - 1; i++) {\n const current = this.__digit(startIndex + i);\n const sub = subtrahend.__digit(i);\n const r0 = (current & 0x7FFF) - (sub & 0x7FFF) - borrow;\n borrow = (r0 >>> 15) & 1;\n const r15 = (current >>> 15) - (sub >>> 15) - borrow;\n borrow = (r15 >>> 15) & 1;\n this.__setDigit(startIndex + i, ((r15 & 0x7FFF) << 15) | (r0 & 0x7FFF));\n }\n const current = this.__digit(startIndex + i);\n const sub = subtrahend.__digit(i);\n const r0 = (current & 0x7FFF) - (sub & 0x7FFF) - borrow;\n borrow = (r0 >>> 15) & 1;\n let r15 = 0;\n if ((halfDigits & 1) === 0) {\n r15 = (current >>> 15) - (sub >>> 15) - borrow;\n borrow = (r15 >>> 15) & 1;\n }\n this.__setDigit(startIndex + i, ((r15 & 0x7FFF) << 15) | (r0 & 0x7FFF));\n }\n return borrow;\n }\n __inplaceRightShift(shift) {\n if (shift === 0)\n return;\n let carry = this.__digit(0) >>> shift;\n const last = this.length - 1;\n for (let i = 0; i < last; i++) {\n const d = this.__digit(i + 1);\n this.__setDigit(i, ((d << (30 - shift)) & 0x3FFFFFFF) | carry);\n carry = d >>> shift;\n }\n this.__setDigit(last, carry);\n }\n static __specialLeftShift(x, shift, addDigit) {\n const n = x.length;\n const resultLength = n + addDigit;\n const result = new JSBI(resultLength, false);\n if (shift === 0) {\n for (let i = 0; i < n; i++)\n result.__setDigit(i, x.__digit(i));\n if (addDigit > 0)\n result.__setDigit(n, 0);\n return result;\n }\n let carry = 0;\n for (let i = 0; i < n; i++) {\n const d = x.__digit(i);\n result.__setDigit(i, ((d << shift) & 0x3FFFFFFF) | carry);\n carry = d >>> (30 - shift);\n }\n if (addDigit > 0) {\n result.__setDigit(n, carry);\n }\n return result;\n }\n static __leftShiftByAbsolute(x, y) {\n const shift = JSBI.__toShiftAmount(y);\n if (shift < 0)\n throw new RangeError('BigInt too big');\n const digitShift = (shift / 30) | 0;\n const bitsShift = shift % 30;\n const length = x.length;\n const grow = bitsShift !== 0 &&\n (x.__digit(length - 1) >>> (30 - bitsShift)) !== 0;\n const resultLength = length + digitShift + (grow ? 1 : 0);\n const result = new JSBI(resultLength, x.sign);\n if (bitsShift === 0) {\n let i = 0;\n for (; i < digitShift; i++)\n result.__setDigit(i, 0);\n for (; i < resultLength; i++) {\n result.__setDigit(i, x.__digit(i - digitShift));\n }\n }\n else {\n let carry = 0;\n for (let i = 0; i < digitShift; i++)\n result.__setDigit(i, 0);\n for (let i = 0; i < length; i++) {\n const d = x.__digit(i);\n result.__setDigit(i + digitShift, ((d << bitsShift) & 0x3FFFFFFF) | carry);\n carry = d >>> (30 - bitsShift);\n }\n if (grow) {\n result.__setDigit(length + digitShift, carry);\n }\n else {\n if (carry !== 0)\n throw new Error('implementation bug');\n }\n }\n return result.__trim();\n }\n static __rightShiftByAbsolute(x, y) {\n const length = x.length;\n const sign = x.sign;\n const shift = JSBI.__toShiftAmount(y);\n if (shift < 0)\n return JSBI.__rightShiftByMaximum(sign);\n const digitShift = (shift / 30) | 0;\n const bitsShift = shift % 30;\n let resultLength = length - digitShift;\n if (resultLength <= 0)\n return JSBI.__rightShiftByMaximum(sign);\n // For negative numbers, round down if any bit was shifted out (so that\n // e.g. -5n >> 1n == -3n and not -2n). Check now whether this will happen\n // and whether itc an cause overflow into a new digit. If we allocate the\n // result large enough up front, it avoids having to do grow it later.\n let mustRoundDown = false;\n if (sign) {\n const mask = (1 << bitsShift) - 1;\n if ((x.__digit(digitShift) & mask) !== 0) {\n mustRoundDown = true;\n }\n else {\n for (let i = 0; i < digitShift; i++) {\n if (x.__digit(i) !== 0) {\n mustRoundDown = true;\n break;\n }\n }\n }\n }\n // If bitsShift is non-zero, it frees up bits, preventing overflow.\n if (mustRoundDown && bitsShift === 0) {\n // Overflow cannot happen if the most significant digit has unset bits.\n const msd = x.__digit(length - 1);\n const roundingCanOverflow = ~msd === 0;\n if (roundingCanOverflow)\n resultLength++;\n }\n let result = new JSBI(resultLength, sign);\n if (bitsShift === 0) {\n // Zero out any overflow digit (see \"roundingCanOverflow\" above).\n result.__setDigit(resultLength - 1, 0);\n for (let i = digitShift; i < length; i++) {\n result.__setDigit(i - digitShift, x.__digit(i));\n }\n }\n else {\n let carry = x.__digit(digitShift) >>> bitsShift;\n const last = length - digitShift - 1;\n for (let i = 0; i < last; i++) {\n const d = x.__digit(i + digitShift + 1);\n result.__setDigit(i, ((d << (30 - bitsShift)) & 0x3FFFFFFF) | carry);\n carry = d >>> bitsShift;\n }\n result.__setDigit(last, carry);\n }\n if (mustRoundDown) {\n // Since the result is negative, rounding down means adding one to its\n // absolute value. This cannot overflow.\n result = JSBI.__absoluteAddOne(result, true, result);\n }\n return result.__trim();\n }\n static __rightShiftByMaximum(sign) {\n if (sign) {\n return JSBI.__oneDigit(1, true);\n }\n return JSBI.__zero();\n }\n static __toShiftAmount(x) {\n if (x.length > 1)\n return -1;\n const value = x.__unsignedDigit(0);\n if (value > JSBI.__kMaxLengthBits)\n return -1;\n return value;\n }\n static __toPrimitive(obj, hint = 'default') {\n if (typeof obj !== 'object')\n return obj;\n if (obj.constructor === JSBI)\n return obj;\n if (typeof Symbol !== 'undefined' &&\n typeof Symbol.toPrimitive === 'symbol') {\n if (obj[Symbol.toPrimitive]) {\n const primitive = obj[Symbol.toPrimitive](hint);\n if (typeof primitive !== 'object')\n return primitive;\n throw new TypeError('Cannot convert object to primitive value');\n }\n }\n const valueOf = obj.valueOf;\n if (valueOf) {\n const primitive = valueOf.call(obj);\n if (typeof primitive !== 'object')\n return primitive;\n }\n const toString = obj.toString;\n if (toString) {\n const primitive = toString.call(obj);\n if (typeof primitive !== 'object')\n return primitive;\n }\n throw new TypeError('Cannot convert object to primitive value');\n }\n static __toNumeric(value) {\n if (JSBI.__isBigInt(value))\n return value;\n return +value;\n }\n static __isBigInt(value) {\n return typeof value === 'object' && value !== null &&\n value.constructor === JSBI;\n }\n static __truncateToNBits(n, x) {\n const neededDigits = ((n + 29) / 30) | 0;\n const result = new JSBI(neededDigits, x.sign);\n const last = neededDigits - 1;\n for (let i = 0; i < last; i++) {\n result.__setDigit(i, x.__digit(i));\n }\n let msd = x.__digit(last);\n if ((n % 30) !== 0) {\n const drop = 32 - (n % 30);\n msd = (msd << drop) >>> drop;\n }\n result.__setDigit(last, msd);\n return result.__trim();\n }\n static __truncateAndSubFromPowerOfTwo(n, x, resultSign) {\n const neededDigits = ((n + 29) / 30) | 0;\n const result = new JSBI(neededDigits, resultSign);\n let i = 0;\n const last = neededDigits - 1;\n let borrow = 0;\n const limit = Math.min(last, x.length);\n for (; i < limit; i++) {\n const r = 0 - x.__digit(i) - borrow;\n borrow = (r >>> 30) & 1;\n result.__setDigit(i, r & 0x3FFFFFFF);\n }\n for (; i < last; i++) {\n result.__setDigit(i, (-borrow & 0x3FFFFFFF) | 0);\n }\n let msd = last < x.length ? x.__digit(last) : 0;\n const msdBitsConsumed = n % 30;\n let resultMsd;\n if (msdBitsConsumed === 0) {\n resultMsd = 0 - msd - borrow;\n resultMsd &= 0x3FFFFFFF;\n }\n else {\n const drop = 32 - msdBitsConsumed;\n msd = (msd << drop) >>> drop;\n const minuendMsd = 1 << (32 - drop);\n resultMsd = minuendMsd - msd - borrow;\n resultMsd &= (minuendMsd - 1);\n }\n result.__setDigit(last, resultMsd);\n return result.__trim();\n }\n // Digit helpers.\n __digit(i) {\n return this[i];\n }\n __unsignedDigit(i) {\n return this[i] >>> 0;\n }\n __setDigit(i, digit) {\n this[i] = digit | 0;\n }\n __setDigitGrow(i, digit) {\n this[i] = digit | 0;\n }\n __halfDigitLength() {\n const len = this.length;\n if (this.__unsignedDigit(len - 1) <= 0x7FFF)\n return len * 2 - 1;\n return len * 2;\n }\n __halfDigit(i) {\n return (this[i >>> 1] >>> ((i & 1) * 15)) & 0x7FFF;\n }\n __setHalfDigit(i, value) {\n const digitIndex = i >>> 1;\n const previous = this.__digit(digitIndex);\n const updated = (i & 1) ? (previous & 0x7FFF) | (value << 15) :\n (previous & 0x3FFF8000) | (value & 0x7FFF);\n this.__setDigit(digitIndex, updated);\n }\n static __digitPow(base, exponent) {\n let result = 1;\n while (exponent > 0) {\n if (exponent & 1)\n result *= base;\n exponent >>>= 1;\n base *= base;\n }\n return result;\n }\n static __detectBigEndian() {\n JSBI.__kBitConversionDouble[0] = -0.0;\n return JSBI.__kBitConversionInts[0] !== 0;\n }\n static __isOneDigitInt(x) {\n return (x & 0x3FFFFFFF) === x;\n }\n}\nJSBI.__kMaxLength = 1 << 25;\nJSBI.__kMaxLengthBits = JSBI.__kMaxLength << 5;\n// Lookup table for the maximum number of bits required per character of a\n// base-N string representation of a number. To increase accuracy, the array\n// value is the actual value multiplied by 32. To generate this table:\n//\n// for (let i = 0; i <= 36; i++) {\n// console.log(Math.ceil(Math.log2(i) * 32) + ',');\n// }\nJSBI.__kMaxBitsPerChar = [\n 0, 0, 32, 51, 64, 75, 83, 90, 96,\n 102, 107, 111, 115, 119, 122, 126, 128,\n 131, 134, 136, 139, 141, 143, 145, 147,\n 149, 151, 153, 154, 156, 158, 159, 160,\n 162, 163, 165, 166, // 33..36\n];\nJSBI.__kBitsPerCharTableShift = 5;\nJSBI.__kBitsPerCharTableMultiplier = 1 << JSBI.__kBitsPerCharTableShift;\nJSBI.__kConversionChars = '0123456789abcdefghijklmnopqrstuvwxyz'.split('');\nJSBI.__kBitConversionBuffer = new ArrayBuffer(8);\nJSBI.__kBitConversionDouble = new Float64Array(JSBI.__kBitConversionBuffer);\nJSBI.__kBitConversionInts = new Int32Array(JSBI.__kBitConversionBuffer);\nJSBI.__kBitConversionIntHigh = JSBI.__detectBigEndian() ? 0 : 1;\nJSBI.__kBitConversionIntLow = JSBI.__detectBigEndian() ? 1 : 0;\n// For IE11 compatibility.\n// Note that the custom replacements are tailored for JSBI's needs, and as\n// such are not reusable as general-purpose polyfills.\nJSBI.__clz30 = Math.clz32 ? function (x) {\n return Math.clz32(x) - 2;\n} : function (x) {\n if (x === 0)\n return 30;\n return 29 - (Math.log(x >>> 0) / Math.LN2 | 0) | 0;\n};\nJSBI.__imul = Math.imul || function (a, b) {\n return (a * b) | 0;\n};\nexport default JSBI;\n//# sourceMappingURL=jsbi.js.map"],"names":["JSBI","Array","constructor","length","sign","Object","setPrototypeOf","prototype","__kMaxLength","RangeError","BigInt","arg","_","Math","floor","t","Number","isFinite","__zero","__isOneDigitInt","__oneDigit","__fromDouble","result","__fromString","SyntaxError","primitive","__toPrimitive","TypeError","toDebugString","digit","push","toString","join","radix","__toStringBasePowerOfTwo","__toStringGeneric","valueOf","Error","toNumber","x","xLength","value","__unsignedDigit","xMsd","__digit","msdLeadingZeros","__clz30","xBitLength","Infinity","exponent","currentDigit","digitIndex","shift","mantissaHigh","mantissaHighBitsUnset","mantissaLow","mantissaLowBitsUnset","rounding","__decideRounding","signBit","__kBitConversionInts","__kBitConversionIntHigh","__kBitConversionIntLow","__kBitConversionDouble","unaryMinus","__copy","bitwiseNot","__absoluteSubOne","__trim","__absoluteAddOne","exponentiate","y","expValue","__kMaxLengthBits","neededDigits","__initializeDigits","msd","__setDigit","runningSquare","multiply","resultLength","__clzmsd","i","__multiplyAccumulate","divide","__absoluteCompare","resultSign","divisor","quotient","__absoluteDivSmall","__absoluteDivLarge","remainder","remainderDigit","__absoluteModSmall","add","__absoluteAdd","__absoluteSub","subtract","leftShift","__rightShiftByAbsolute","__leftShiftByAbsolute","signedRightShift","unsignedRightShift","lessThan","__compareToBigInt","lessThanOrEqual","greaterThan","greaterThanOrEqual","equal","notEqual","bitwiseAnd","max","__absoluteAnd","y1","__absoluteOr","__absoluteAndNot","bitwiseXor","__absoluteXor","bitwiseOr","asIntN","n","neededLength","topDigit","compareDigit","__truncateToNBits","__truncateAndSubFromPowerOfTwo","asUintN","bitsInTopDigit","ADD","__toNumeric","__isBigInt","LT","__compare","LE","GT","GE","EQ","__equalToNumber","NE","DataViewGetBigInt64","dataview","byteOffset","littleEndian","DataViewGetBigUint64","h","l","high","getUint32","low","DataViewSetBigInt64","DataViewSetBigUint64","d1","setUint32","newLength","last","pop","mantissaBitsUnset","topUnconsumedBit","mask","rawExponent","digits","kMantissaHighTopBit","msdTopBit","remainingMantissaBits","__isWhitespace","c","string","cursor","current","charCodeAt","chars","bitsPerChar","__kMaxBitsPerChar","roundup","__kBitsPerCharTableMultiplier","bitsMin","__kBitsPerCharTableShift","limDigit","limAlpha","parts","partsBits","done","part","bits","d","__fillFromParts","charsSoFar","multiplier","m","digitsSoFar","__inplaceMultiplyAdd","bitsInDigit","partBits","charMask","charsRequired","pos","availableBits","newDigit","__kConversionChars","consumedBits","isRecursiveCall","bitLength","maxBitsPerChar","minBitsPerChar","secondHalfChars","conqueror","secondHalf","input","__halfDigit","__setHalfDigit","divisionResult","firstHalf","__unequalSign","leftNegative","__absoluteGreater","bothNegative","__absoluteLess","xSign","__compareToNumber","ySign","yAbs","abs","xDigit","__compareToDouble","yBitLength","compareMantissa","__comparisonResultToBool","op","carry","r","borrow","inputLength","__setDigitGrow","yLength","numPairs","tmp","tmpLength","diff","multiplicand","accumulator","accumulatorIndex","m2Low","m2High","acc","m1","m1Low","m1High","rLow","__imul","rMid1","rMid2","rHigh","__internalMultiplyAdd","source","factor","summand","rx","ry","mLow","mHigh","dLow","dHigh","pLow","pMid1","pMid2","pHigh","upperHalf","lowerHalf","dividend","wantQuotient","wantRemainder","__halfDigitLength","n2","q","qhatv","__clz15","__specialLeftShift","u","vn1","halfDigitBuffer","qhat","j","ujn","rhat","vn2","ujn2","__inplaceSub","__inplaceAdd","__inplaceRightShift","startIndex","halfDigits","sum","subtrahend","r0","sub","r15","addDigit","__toShiftAmount","digitShift","bitsShift","grow","__rightShiftByMaximum","mustRoundDown","obj","hint","Symbol","toPrimitive","call","drop","min","limit","msdBitsConsumed","resultMsd","minuendMsd","len","previous","updated","__digitPow","base","__detectBigEndian","__kBitConversionBuffer","ArrayBuffer","Float64Array","Int32Array","clz32","log","LN2","imul","a","b"],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
declare class JSBI extends Array {
|
|
2
|
+
private sign;
|
|
3
|
+
private constructor();
|
|
4
|
+
static BigInt(arg: number | string | boolean | object): JSBI;
|
|
5
|
+
toDebugString(): string;
|
|
6
|
+
toString(radix?: number): string;
|
|
7
|
+
valueOf(): void;
|
|
8
|
+
static toNumber(x: JSBI): number;
|
|
9
|
+
static unaryMinus(x: JSBI): JSBI;
|
|
10
|
+
static bitwiseNot(x: JSBI): JSBI;
|
|
11
|
+
static exponentiate(x: JSBI, y: JSBI): JSBI;
|
|
12
|
+
static multiply(x: JSBI, y: JSBI): JSBI;
|
|
13
|
+
static divide(x: JSBI, y: JSBI): JSBI;
|
|
14
|
+
static remainder(x: JSBI, y: JSBI): JSBI;
|
|
15
|
+
static add(x: JSBI, y: JSBI): JSBI;
|
|
16
|
+
static subtract(x: JSBI, y: JSBI): JSBI;
|
|
17
|
+
static leftShift(x: JSBI, y: JSBI): JSBI;
|
|
18
|
+
static signedRightShift(x: JSBI, y: JSBI): JSBI;
|
|
19
|
+
static unsignedRightShift(): void;
|
|
20
|
+
static lessThan(x: JSBI, y: JSBI): boolean;
|
|
21
|
+
static lessThanOrEqual(x: JSBI, y: JSBI): boolean;
|
|
22
|
+
static greaterThan(x: JSBI, y: JSBI): boolean;
|
|
23
|
+
static greaterThanOrEqual(x: JSBI, y: JSBI): boolean;
|
|
24
|
+
static equal(x: JSBI, y: JSBI): boolean;
|
|
25
|
+
static notEqual(x: JSBI, y: JSBI): boolean;
|
|
26
|
+
static bitwiseAnd(x: JSBI, y: JSBI): JSBI;
|
|
27
|
+
static bitwiseXor(x: JSBI, y: JSBI): JSBI;
|
|
28
|
+
static bitwiseOr(x: JSBI, y: JSBI): JSBI;
|
|
29
|
+
static asIntN(n: number, x: JSBI): JSBI;
|
|
30
|
+
static asUintN(n: number, x: JSBI): JSBI;
|
|
31
|
+
static ADD(x: any, y: any): string | number | JSBI;
|
|
32
|
+
static LT(x: any, y: any): boolean;
|
|
33
|
+
static LE(x: any, y: any): boolean;
|
|
34
|
+
static GT(x: any, y: any): boolean;
|
|
35
|
+
static GE(x: any, y: any): boolean;
|
|
36
|
+
static EQ(x: any, y: any): boolean;
|
|
37
|
+
static NE(x: any, y: any): boolean;
|
|
38
|
+
static DataViewGetBigInt64(dataview: DataView, byteOffset: number, littleEndian?: boolean): JSBI;
|
|
39
|
+
static DataViewGetBigUint64(dataview: DataView, byteOffset: number, littleEndian?: boolean): JSBI;
|
|
40
|
+
static DataViewSetBigInt64(dataview: DataView, byteOffset: number, value: JSBI, littleEndian?: boolean): void;
|
|
41
|
+
static DataViewSetBigUint64(dataview: DataView, byteOffset: number, value: JSBI, littleEndian?: boolean): void;
|
|
42
|
+
}
|
|
43
|
+
export default JSBI;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "jsbi",
|
|
3
|
+
"version": "4.3.2",
|
|
4
|
+
"repository": "GoogleChromeLabs/jsbi",
|
|
5
|
+
"devDependencies": {
|
|
6
|
+
"@babel/preset-env": "^7.5.5",
|
|
7
|
+
"@typescript-eslint/eslint-plugin": "^4.29.1",
|
|
8
|
+
"@typescript-eslint/parser": "^4.29.1",
|
|
9
|
+
"eslint": "^6.2.0",
|
|
10
|
+
"eslint-config-google": "^0.14.0",
|
|
11
|
+
"rollup": "^1.19.4",
|
|
12
|
+
"rollup-plugin-babel": "^4.3.3",
|
|
13
|
+
"rollup-plugin-babel-minify": "^9.0.0",
|
|
14
|
+
"typescript": "^4.4.2"
|
|
15
|
+
},
|
|
16
|
+
"main": "dist/jsbi-cjs.js",
|
|
17
|
+
"module": "dist/jsbi.mjs",
|
|
18
|
+
"browser": "dist/jsbi-umd.js",
|
|
19
|
+
"types": "jsbi.d.ts",
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"jsbi.d.ts"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "tsc && for f in tsc-out/*.js; do mv -- \"$f\" \"${f%.js}.mjs\"; done && sed -e '/__absoluteDivLarge/,+4d' tsc-out/jsbi.d.ts | grep -v ' __' > jsbi.d.ts && rollup --config rollup.config.js",
|
|
26
|
+
"dev": "tsc --watch",
|
|
27
|
+
"test": "set -e; for file in tests/*.mjs; do node --no-warnings --experimental-modules --experimental-specifier-resolution=node --loader ./tests/resolve.source.mjs \"${file}\"; done; for file in benchmarks/*.mjs; do node --no-warnings --experimental-modules --experimental-specifier-resolution=node --loader ./tests/resolve.source.mjs \"${file}\"; done",
|
|
28
|
+
"pretest": "npm run build",
|
|
29
|
+
"prepublish": "npm run ci",
|
|
30
|
+
"lint": "eslint . --ext ts --fix",
|
|
31
|
+
"generate-benchmarks": "for op in add and div mod mul neg not or sar shl sub xor; do scripts/generate-benchmark.py generate \"${op}\" > \"benchmarks/${op}.mjs\"; done",
|
|
32
|
+
"ci": "npm run lint && npm run build && git status && git diff-index --quiet HEAD -- || git diff && npm test"
|
|
33
|
+
},
|
|
34
|
+
"license": "Apache-2.0"
|
|
35
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024-present VoidZero Inc. & Contributors
|
|
4
|
+
Copyright (c) 2023 Boshen
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|