diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 01e89bb..ab8e05d 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -1,7 +1,5 @@
name: Publish
on:
- schedule:
- - cron: '0 0 * * *'
workflow_dispatch:
jobs:
publish:
diff --git a/README.md b/README.md
index ab168f1..6f551c9 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ long.js
A Long class for representing a 64 bit two's-complement integer value derived from the [Closure Library](https://github.com/google/closure-library)
for stand-alone use and extended with unsigned support.
-[](https://github.com/dcodeIO/long.js/actions?query=workflow%3ATest) [](https://github.com/dcodeIO/long.js/actions?query=workflow%3APublish) [](https://www.npmjs.com/package/long)
+[](https://github.com/dcodeIO/long.js/actions/workflows/test.yml) [](https://github.com/dcodeIO/long.js/actions/workflows/publish.yml) [](https://www.npmjs.com/package/long)
Background
----------
@@ -103,7 +103,10 @@ API
### Utility
-* Long.**isLong**(obj: `*`): `boolean`
+* type **LongLike**: `Long | number | bigint | string`
+ Any value or object that either is or can be converted to a Long.
+
+* Long.**isLong**(obj: `any`): `boolean`
Tests if the specified object is a Long.
* Long.**fromBits**(lowBits: `number`, highBits: `number`, unsigned?: `boolean`): `Long`
@@ -124,28 +127,31 @@ API
* Long.**fromNumber**(value: `number`, unsigned?: `boolean`): `Long`
Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.
+* Long.**fromBigInt**(value: `bigint`, unsigned?: `boolean`): `Long`
+ Returns a Long representing the given big integer.
+
* Long.**fromString**(str: `string`, unsigned?: `boolean`, radix?: `number`)
Long.**fromString**(str: `string`, radix: `number`)
Returns a Long representation of the given string, written using the specified radix.
-* Long.**fromValue**(val: `*`, unsigned?: `boolean`): `Long`
+* Long.**fromValue**(val: `LongLike`, unsigned?: `boolean`): `Long`
Converts the specified value to a Long using the appropriate from* function for its type.
### Methods
-* Long#**add**(addend: `Long | number | string`): `Long`
+* Long#**add**(addend: `LongLike`): `Long`
Returns the sum of this and the specified Long.
-* Long#**and**(other: `Long | number | string`): `Long`
+* Long#**and**(other: `LongLike`): `Long`
Returns the bitwise AND of this Long and the specified.
-* Long#**compare**/**comp**(other: `Long | number | string`): `number`
+* Long#**compare**/**comp**(other: `LongLike`): `number`
Compares this Long's value with the specified's. Returns `0` if they are the same, `1` if the this is greater and `-1` if the given one is greater.
-* Long#**divide**/**div**(divisor: `Long | number | string`): `Long`
+* Long#**divide**/**div**(divisor: `LongLike`): `Long`
Returns this Long divided by the specified.
-* Long#**equals**/**eq**(other: `Long | number | string`): `boolean`
+* Long#**equals**/**eq**(other: `LongLike`): `boolean`
Tests if this Long's value equals the specified's.
* Long#**getHighBits**(): `number`
@@ -163,10 +169,10 @@ API
* Long#**getNumBitsAbs**(): `number`
Gets the number of bits needed to represent the absolute value of this Long.
-* Long#**greaterThan**/**gt**(other: `Long | number | string`): `boolean`
+* Long#**greaterThan**/**gt**(other: `LongLike`): `boolean`
Tests if this Long's value is greater than the specified's.
-* Long#**greaterThanOrEqual**/**gte**/**ge**(other: `Long | number | string`): `boolean`
+* Long#**greaterThanOrEqual**/**gte**/**ge**(other: `LongLike`): `boolean`
Tests if this Long's value is greater than or equal the specified's.
* Long#**isEven**(): `boolean`
@@ -181,19 +187,22 @@ API
* Long#**isPositive**(): `boolean`
Tests if this Long's value is positive or zero.
+* Long#**isSafeInteger**(): `boolean`
+ Tests if this Long can be safely represented as a JavaScript number.
+
* Long#**isZero**/**eqz**(): `boolean`
Tests if this Long's value equals zero.
-* Long#**lessThan**/**lt**(other: `Long | number | string`): `boolean`
+* Long#**lessThan**/**lt**(other: `LongLike`): `boolean`
Tests if this Long's value is less than the specified's.
-* Long#**lessThanOrEqual**/**lte**/**le**(other: `Long | number | string`): `boolean`
+* Long#**lessThanOrEqual**/**lte**/**le**(other: `LongLike`): `boolean`
Tests if this Long's value is less than or equal the specified's.
-* Long#**modulo**/**mod**/**rem**(divisor: `Long | number | string`): `Long`
+* Long#**modulo**/**mod**/**rem**(divisor: `LongLike`): `Long`
Returns this Long modulo the specified.
-* Long#**multiply**/**mul**(multiplier: `Long | number | string`): `Long`
+* Long#**multiply**/**mul**(multiplier: `LongLike`): `Long`
Returns the product of this and the specified Long.
* Long#**negate**/**neg**(): `Long`
@@ -208,28 +217,28 @@ API
* Long#**countTrailingZeros**/**ctz**(): `number`
Returns count trailing zeros of this Long.
-* Long#**notEquals**/**neq**/**ne**(other: `Long | number | string`): `boolean`
+* Long#**notEquals**/**neq**/**ne**(other: `LongLike`): `boolean`
Tests if this Long's value differs from the specified's.
-* Long#**or**(other: `Long | number | string`): `Long`
+* Long#**or**(other: `LongLike`): `Long`
Returns the bitwise OR of this Long and the specified.
-* Long#**shiftLeft**/**shl**(numBits: `Long | number | string`): `Long`
+* Long#**shiftLeft**/**shl**(numBits: `Long | number`): `Long`
Returns this Long with bits shifted to the left by the given amount.
-* Long#**shiftRight**/**shr**(numBits: `Long | number | string`): `Long`
+* Long#**shiftRight**/**shr**(numBits: `Long | number`): `Long`
Returns this Long with bits arithmetically shifted to the right by the given amount.
-* Long#**shiftRightUnsigned**/**shru**/**shr_u**(numBits: `Long | number | string`): `Long`
+* Long#**shiftRightUnsigned**/**shru**/**shr_u**(numBits: `Long | number`): `Long`
Returns this Long with bits logically shifted to the right by the given amount.
-* Long#**rotateLeft**/**rotl**(numBits: `Long | number | string`): `Long`
+* Long#**rotateLeft**/**rotl**(numBits: `Long | number`): `Long`
Returns this Long with bits rotated to the left by the given amount.
-* Long#**rotateRight**/**rotr**(numBits: `Long | number | string`): `Long`
+* Long#**rotateRight**/**rotr**(numBits: `Long | number`): `Long`
Returns this Long with bits rotated to the right by the given amount.
-* Long#**subtract**/**sub**(subtrahend: `Long | number | string`): `Long`
+* Long#**subtract**/**sub**(subtrahend: `LongLike`): `Long`
Returns the difference of this and the specified Long.
* Long#**toBytes**(le?: `boolean`): `number[]`
@@ -247,6 +256,9 @@ API
* Long#**toNumber**(): `number`
Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).
+* Long#**toBigInt**(): `bigint`
+ Converts the Long to its big integer representation.
+
* Long#**toSigned**(): `Long`
Converts this Long to signed.
diff --git a/index.d.ts b/index.d.ts
index d675d33..d16583c 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -1,2 +1,2 @@
-import Long from './umd/index';
-export default Long; // compatible with `import Long from "long"`
+import { Long } from './types.js';
+export default Long;
diff --git a/index.js b/index.js
index f04775e..ca2615d 100644
--- a/index.js
+++ b/index.js
@@ -22,9 +22,69 @@
var wasm = null;
try {
wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([
- 0, 97, 115, 109, 1, 0, 0, 0, 1, 13, 2, 96, 0, 1, 127, 96, 4, 127, 127, 127, 127, 1, 127, 3, 7, 6, 0, 1, 1, 1, 1, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 50, 6, 3, 109, 117, 108, 0, 1, 5, 100, 105, 118, 95, 115, 0, 2, 5, 100, 105, 118, 95, 117, 0, 3, 5, 114, 101, 109, 95, 115, 0, 4, 5, 114, 101, 109, 95, 117, 0, 5, 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0, 10, 191, 1, 6, 4, 0, 35, 0, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11
+ // \0asm
+ 0, 97, 115, 109,
+ // version 1
+ 1, 0, 0, 0,
+
+ // section "type"
+ 1, 13, 2,
+ // 0, () => i32
+ 96, 0, 1, 127,
+ // 1, (i32, i32, i32, i32) => i32
+ 96, 4, 127, 127, 127, 127, 1, 127,
+
+ // section "function"
+ 3, 7, 6,
+ // 0, type 0
+ 0,
+ // 1, type 1
+ 1,
+ // 2, type 1
+ 1,
+ // 3, type 1
+ 1,
+ // 4, type 1
+ 1,
+ // 5, type 1
+ 1,
+
+ // section "global"
+ 6, 6, 1,
+ // 0, "high", mutable i32
+ 127, 1, 65, 0, 11,
+
+ // section "export"
+ 7, 50, 6,
+ // 0, "mul"
+ 3, 109, 117, 108, 0, 1,
+ // 1, "div_s"
+ 5, 100, 105, 118, 95, 115, 0, 2,
+ // 2, "div_u"
+ 5, 100, 105, 118, 95, 117, 0, 3,
+ // 3, "rem_s"
+ 5, 114, 101, 109, 95, 115, 0, 4,
+ // 4, "rem_u"
+ 5, 114, 101, 109, 95, 117, 0, 5,
+ // 5, "get_high"
+ 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0,
+
+ // section "code"
+ 10, 191, 1, 6,
+ // 0, "get_high"
+ 4, 0, 35, 0, 11,
+ // 1, "mul"
+ 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11,
+ // 2, "div_s"
+ 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11,
+ // 3, "div_u"
+ 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11,
+ // 4, "rem_s"
+ 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11,
+ // 5, "rem_u"
+ 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11
])), {}).exports;
-} catch (e) {
+} catch {
// no wasm support :(
}
@@ -315,7 +375,7 @@ function fromValue(val, unsigned) {
/**
* Converts the specified value to a Long using the appropriate from* function for its type.
* @function
- * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value
+ * @param {!Long|number|bigint|string|!{low: number, high: number, unsigned: boolean}} val Value
* @param {boolean=} unsigned Whether unsigned or not, defaults to signed
* @returns {!Long}
*/
@@ -585,6 +645,22 @@ LongPrototype.getNumBitsAbs = function getNumBitsAbs() {
return this.high != 0 ? bit + 33 : bit + 1;
};
+/**
+ * Tests if this Long can be safely represented as a JavaScript number.
+ * @this {!Long}
+ * @returns {boolean}
+ */
+LongPrototype.isSafeInteger = function isSafeInteger() {
+ // 2^53-1 is the maximum safe value
+ var top11Bits = this.high >> 21;
+ // [0, 2^53-1]
+ if (!top11Bits) return true;
+ // > 2^53-1
+ if (this.unsigned) return false;
+ // [-2^53, -1] except -2^53
+ return top11Bits === -1 && !(this.low === 0 && this.high === -0x200000);
+};
+
/**
* Tests if this Long's value equals zero.
* @this {!Long}
@@ -639,7 +715,7 @@ LongPrototype.isEven = function isEven() {
/**
* Tests if this Long's value equals the specified's.
* @this {!Long}
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.equals = function equals(other) {
@@ -653,7 +729,7 @@ LongPrototype.equals = function equals(other) {
/**
* Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}.
* @function
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.eq = LongPrototype.equals;
@@ -661,7 +737,7 @@ LongPrototype.eq = LongPrototype.equals;
/**
* Tests if this Long's value differs from the specified's.
* @this {!Long}
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.notEquals = function notEquals(other) {
@@ -671,7 +747,7 @@ LongPrototype.notEquals = function notEquals(other) {
/**
* Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.
* @function
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.neq = LongPrototype.notEquals;
@@ -679,7 +755,7 @@ LongPrototype.neq = LongPrototype.notEquals;
/**
* Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.
* @function
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.ne = LongPrototype.notEquals;
@@ -687,7 +763,7 @@ LongPrototype.ne = LongPrototype.notEquals;
/**
* Tests if this Long's value is less than the specified's.
* @this {!Long}
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.lessThan = function lessThan(other) {
@@ -697,7 +773,7 @@ LongPrototype.lessThan = function lessThan(other) {
/**
* Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}.
* @function
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.lt = LongPrototype.lessThan;
@@ -705,7 +781,7 @@ LongPrototype.lt = LongPrototype.lessThan;
/**
* Tests if this Long's value is less than or equal the specified's.
* @this {!Long}
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.lessThanOrEqual = function lessThanOrEqual(other) {
@@ -715,7 +791,7 @@ LongPrototype.lessThanOrEqual = function lessThanOrEqual(other) {
/**
* Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.
* @function
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.lte = LongPrototype.lessThanOrEqual;
@@ -723,7 +799,7 @@ LongPrototype.lte = LongPrototype.lessThanOrEqual;
/**
* Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.
* @function
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.le = LongPrototype.lessThanOrEqual;
@@ -731,7 +807,7 @@ LongPrototype.le = LongPrototype.lessThanOrEqual;
/**
* Tests if this Long's value is greater than the specified's.
* @this {!Long}
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.greaterThan = function greaterThan(other) {
@@ -741,7 +817,7 @@ LongPrototype.greaterThan = function greaterThan(other) {
/**
* Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}.
* @function
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.gt = LongPrototype.greaterThan;
@@ -749,7 +825,7 @@ LongPrototype.gt = LongPrototype.greaterThan;
/**
* Tests if this Long's value is greater than or equal the specified's.
* @this {!Long}
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) {
@@ -759,7 +835,7 @@ LongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) {
/**
* Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.
* @function
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.gte = LongPrototype.greaterThanOrEqual;
@@ -767,7 +843,7 @@ LongPrototype.gte = LongPrototype.greaterThanOrEqual;
/**
* Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.
* @function
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {boolean}
*/
LongPrototype.ge = LongPrototype.greaterThanOrEqual;
@@ -775,7 +851,7 @@ LongPrototype.ge = LongPrototype.greaterThanOrEqual;
/**
* Compares this Long's value with the specified's.
* @this {!Long}
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {number} 0 if they are the same, 1 if the this is greater and -1
* if the given one is greater
*/
@@ -800,7 +876,7 @@ LongPrototype.compare = function compare(other) {
/**
* Compares this Long's value with the specified's. This is an alias of {@link Long#compare}.
* @function
- * @param {!Long|number|string} other Other value
+ * @param {!Long|number|bigint|string} other Other value
* @returns {number} 0 if they are the same, 1 if the this is greater and -1
* if the given one is greater
*/
@@ -827,7 +903,7 @@ LongPrototype.neg = LongPrototype.negate;
/**
* Returns the sum of this and the specified Long.
* @this {!Long}
- * @param {!Long|number|string} addend Addend
+ * @param {!Long|number|bigint|string} addend Addend
* @returns {!Long} Sum
*/
LongPrototype.add = function add(addend) {
@@ -864,7 +940,7 @@ LongPrototype.add = function add(addend) {
/**
* Returns the difference of this and the specified Long.
* @this {!Long}
- * @param {!Long|number|string} subtrahend Subtrahend
+ * @param {!Long|number|bigint|string} subtrahend Subtrahend
* @returns {!Long} Difference
*/
LongPrototype.subtract = function subtract(subtrahend) {
@@ -876,7 +952,7 @@ LongPrototype.subtract = function subtract(subtrahend) {
/**
* Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}.
* @function
- * @param {!Long|number|string} subtrahend Subtrahend
+ * @param {!Long|number|bigint|string} subtrahend Subtrahend
* @returns {!Long} Difference
*/
LongPrototype.sub = LongPrototype.subtract;
@@ -884,7 +960,7 @@ LongPrototype.sub = LongPrototype.subtract;
/**
* Returns the product of this and the specified Long.
* @this {!Long}
- * @param {!Long|number|string} multiplier Multiplier
+ * @param {!Long|number|bigint|string} multiplier Multiplier
* @returns {!Long} Product
*/
LongPrototype.multiply = function multiply(multiplier) {
@@ -961,7 +1037,7 @@ LongPrototype.multiply = function multiply(multiplier) {
/**
* Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}.
* @function
- * @param {!Long|number|string} multiplier Multiplier
+ * @param {!Long|number|bigint|string} multiplier Multiplier
* @returns {!Long} Product
*/
LongPrototype.mul = LongPrototype.multiply;
@@ -970,7 +1046,7 @@ LongPrototype.mul = LongPrototype.multiply;
* Returns this Long divided by the specified. The result is signed if this Long is signed or
* unsigned if this Long is unsigned.
* @this {!Long}
- * @param {!Long|number|string} divisor Divisor
+ * @param {!Long|number|bigint|string} divisor Divisor
* @returns {!Long} Quotient
*/
LongPrototype.divide = function divide(divisor) {
@@ -1083,7 +1159,7 @@ LongPrototype.divide = function divide(divisor) {
/**
* Returns this Long divided by the specified. This is an alias of {@link Long#divide}.
* @function
- * @param {!Long|number|string} divisor Divisor
+ * @param {!Long|number|bigint|string} divisor Divisor
* @returns {!Long} Quotient
*/
LongPrototype.div = LongPrototype.divide;
@@ -1091,7 +1167,7 @@ LongPrototype.div = LongPrototype.divide;
/**
* Returns this Long modulo the specified.
* @this {!Long}
- * @param {!Long|number|string} divisor Divisor
+ * @param {!Long|number|bigint|string} divisor Divisor
* @returns {!Long} Remainder
*/
LongPrototype.modulo = function modulo(divisor) {
@@ -1115,7 +1191,7 @@ LongPrototype.modulo = function modulo(divisor) {
/**
* Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.
* @function
- * @param {!Long|number|string} divisor Divisor
+ * @param {!Long|number|bigint|string} divisor Divisor
* @returns {!Long} Remainder
*/
LongPrototype.mod = LongPrototype.modulo;
@@ -1123,7 +1199,7 @@ LongPrototype.mod = LongPrototype.modulo;
/**
* Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.
* @function
- * @param {!Long|number|string} divisor Divisor
+ * @param {!Long|number|bigint|string} divisor Divisor
* @returns {!Long} Remainder
*/
LongPrototype.rem = LongPrototype.modulo;
@@ -1174,7 +1250,7 @@ LongPrototype.ctz = LongPrototype.countTrailingZeros;
/**
* Returns the bitwise AND of this Long and the specified.
* @this {!Long}
- * @param {!Long|number|string} other Other Long
+ * @param {!Long|number|bigint|string} other Other Long
* @returns {!Long}
*/
LongPrototype.and = function and(other) {
@@ -1186,7 +1262,7 @@ LongPrototype.and = function and(other) {
/**
* Returns the bitwise OR of this Long and the specified.
* @this {!Long}
- * @param {!Long|number|string} other Other Long
+ * @param {!Long|number|bigint|string} other Other Long
* @returns {!Long}
*/
LongPrototype.or = function or(other) {
@@ -1198,7 +1274,7 @@ LongPrototype.or = function or(other) {
/**
* Returns the bitwise XOR of this Long and the given one.
* @this {!Long}
- * @param {!Long|number|string} other Other Long
+ * @param {!Long|number|bigint|string} other Other Long
* @returns {!Long}
*/
LongPrototype.xor = function xor(other) {
@@ -1464,4 +1540,40 @@ Long.fromBytesBE = function fromBytesBE(bytes, unsigned) {
);
};
+// Support conversion to/from BigInt where available
+if (typeof BigInt === "function") {
+
+ /**
+ * Returns a Long representing the given big integer.
+ * @function
+ * @param {number} value The big integer value
+ * @param {boolean=} unsigned Whether unsigned or not, defaults to signed
+ * @returns {!Long} The corresponding Long value
+ */
+ Long.fromBigInt = function fromBigInt(value, unsigned) {
+ var lowBits = Number(BigInt.asIntN(32, value));
+ var highBits = Number(BigInt.asIntN(32, value >> BigInt(32)));
+ return fromBits(lowBits, highBits, unsigned);
+ };
+
+ // Override
+ Long.fromValue = function fromValueWithBigInt(value, unsigned) {
+ if (typeof value === "bigint")
+ return fromBigInt(value, unsigned);
+ return fromValue(value, unsigned);
+ }
+
+ /**
+ * Converts the Long to its big integer representation.
+ * @this {!Long}
+ * @returns {bigint}
+ */
+ LongPrototype.toBigInt = function toBigInt() {
+ var lowBigInt = BigInt(this.low >>> 0);
+ var highBigInt = BigInt(this.unsigned ? this.high >>> 0 : this.high);
+ return highBigInt << BigInt(32) | lowBigInt;
+ };
+
+}
+
export default Long;
diff --git a/package-lock.json b/package-lock.json
index f73067c..cdefeb9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,51 +9,72 @@
"version": "0.0.0",
"license": "Apache-2.0",
"devDependencies": {
- "esm2umd": "^0.2.1"
+ "esm2umd": "^0.2.2",
+ "typescript": "^5.7.3"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
"node_modules/@babel/code-frame": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz",
- "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==",
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
+ "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.14.5"
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/compat-data": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
- "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz",
+ "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz",
- "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.15.8",
- "@babel/generator": "^7.15.8",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-module-transforms": "^7.15.8",
- "@babel/helpers": "^7.15.4",
- "@babel/parser": "^7.15.8",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.6",
- "convert-source-map": "^1.7.0",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.8.tgz",
+ "integrity": "sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.26.2",
+ "@babel/generator": "^7.26.8",
+ "@babel/helper-compilation-targets": "^7.26.5",
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helpers": "^7.26.7",
+ "@babel/parser": "^7.26.8",
+ "@babel/template": "^7.26.8",
+ "@babel/traverse": "^7.26.8",
+ "@babel/types": "^7.26.8",
+ "@types/gensync": "^1.0.0",
+ "convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -64,229 +85,134 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz",
- "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.8.tgz",
+ "integrity": "sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.15.6",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
+ "@babel/parser": "^7.26.8",
+ "@babel/types": "^7.26.8",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^3.0.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz",
- "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==",
- "dev": true,
- "dependencies": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.16.6",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz",
- "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-get-function-arity": "^7.15.4",
- "@babel/template": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-get-function-arity": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz",
- "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-hoist-variables": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz",
- "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz",
- "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz",
+ "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.15.4"
+ "@babel/compat-data": "^7.26.5",
+ "@babel/helper-validator-option": "^7.25.9",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz",
- "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
+ "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.15.4"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz",
- "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
+ "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-module-imports": "^7.15.4",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-simple-access": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/helper-validator-identifier": "^7.15.7",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.6"
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz",
- "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.15.4"
},
- "engines": {
- "node": ">=6.9.0"
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-replace-supers": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz",
- "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
+ "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
"dev": true,
- "dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- },
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-simple-access": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz",
- "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==",
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
"dev": true,
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz",
- "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.15.4"
- },
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.15.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
- "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
+ "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz",
- "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==",
+ "version": "7.26.7",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz",
+ "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.7"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/highlight": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
- "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
+ "node_modules/@babel/parser": {
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz",
+ "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.14.5",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
+ "@babel/types": "^7.26.8"
},
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz",
- "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==",
- "dev": true,
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -295,15 +221,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz",
- "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz",
+ "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-simple-access": "^7.15.4",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -313,33 +238,33 @@
}
},
"node_modules/@babel/template": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz",
- "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.8.tgz",
+ "integrity": "sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4"
+ "@babel/code-frame": "^7.26.2",
+ "@babel/parser": "^7.26.8",
+ "@babel/types": "^7.26.8"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
- "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.8.tgz",
+ "integrity": "sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.26.2",
+ "@babel/generator": "^7.26.8",
+ "@babel/parser": "^7.26.8",
+ "@babel/template": "^7.26.8",
+ "@babel/types": "^7.26.8",
+ "debug": "^4.3.1",
"globals": "^11.1.0"
},
"engines": {
@@ -347,130 +272,148 @@
}
},
"node_modules/@babel/types": {
- "version": "7.15.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz",
- "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz",
+ "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
+ "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "color-convert": "^1.9.0"
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
- "node": ">=4"
+ "node": ">=6.0.0"
}
},
- "node_modules/babel-plugin-dynamic-import-node": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
- "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
- "dependencies": {
- "object.assign": "^4.1.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "node_modules/browserslist": {
- "version": "4.17.5",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.5.tgz",
- "integrity": "sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==",
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
"dev": true,
- "dependencies": {
- "caniuse-lite": "^1.0.30001271",
- "electron-to-chromium": "^1.3.878",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.1",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "browserslist": "cli.js"
- },
+ "license": "MIT",
"engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
+ "node": ">=6.0.0"
}
},
- "node_modules/call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
"dev": true,
- "dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "license": "MIT"
},
- "node_modules/caniuse-lite": {
- "version": "1.0.30001272",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001272.tgz",
- "integrity": "sha512-DV1j9Oot5dydyH1v28g25KoVm7l8MTxazwuiH3utWiAS6iL/9Nh//TGwqFEeqqN8nnWYQ8HHhUq+o4QPt9kvYw==",
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dev": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "node_modules/@types/gensync": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@types/gensync/-/gensync-1.0.4.tgz",
+ "integrity": "sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==",
"dev": true,
+ "license": "MIT"
+ },
+ "node_modules/browserslist": {
+ "version": "4.24.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
+ "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
"dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "caniuse-lite": "^1.0.30001688",
+ "electron-to-chromium": "^1.5.73",
+ "node-releases": "^2.0.19",
+ "update-browserslist-db": "^1.1.1"
+ },
+ "bin": {
+ "browserslist": "cli.js"
},
"engines": {
- "node": ">=4"
- }
- },
- "node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001699",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz",
+ "integrity": "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
},
"node_modules/convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
"dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.1"
- }
+ "license": "MIT"
},
"node_modules/debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -481,142 +424,74 @@
}
}
},
- "node_modules/define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "dev": true,
- "dependencies": {
- "object-keys": "^1.0.12"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
"node_modules/electron-to-chromium": {
- "version": "1.3.884",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.884.tgz",
- "integrity": "sha512-kOaCAa+biA98PwH5BpCkeUeTL6mCeg8p3Q3OhqzPyqhu/5QUnWAN2wr/3IK8xMQxIV76kfoQpP+Bn/wij/jXrg==",
- "dev": true
+ "version": "1.5.96",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.96.tgz",
+ "integrity": "sha512-8AJUW6dh75Fm/ny8+kZKJzI1pgoE8bKLZlzDU2W1ENd+DXKJrx7I7l9hb8UWR4ojlnb5OlixMt00QWiYJoVw1w==",
+ "dev": true,
+ "license": "ISC"
},
"node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
- "node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
"node_modules/esm2umd": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/esm2umd/-/esm2umd-0.2.1.tgz",
- "integrity": "sha512-6xxUuzVJ7/lBOe0+vc4+YDo07ZAXkWrHUKrQWtF3QVSkmaktiHMJIhxHnGYj3pJ0pTvZLSmfhSJp3ntNfHNuJw==",
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/esm2umd/-/esm2umd-0.2.2.tgz",
+ "integrity": "sha512-boNmWNAUIyir6V0V5XGJDQ79vHQgYdagXxVHdG2ArVkQ/e6daZ1PAqPLXdSepV+ehYPTsqdv6KPSejogORP68A==",
"dev": true,
"dependencies": {
- "@babel/core": "^7",
- "@babel/plugin-transform-modules-commonjs": "^7"
+ "@babel/core": "^7.26.8",
+ "@babel/plugin-transform-modules-commonjs": "^7.26.3"
},
"bin": {
"esm2umd": "bin/esm2umd.js"
}
},
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
"node_modules/gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
- "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
"dev": true,
+ "license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
},
"engines": {
- "node": ">=4"
+ "node": ">=6"
}
},
"node_modules/json5": {
@@ -624,6 +499,7 @@
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true,
+ "license": "MIT",
"bin": {
"json5": "lib/cli.js"
},
@@ -631,535 +507,400 @@
"node": ">=6"
}
},
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/node-releases": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
- "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
- "dev": true
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
- "engines": {
- "node": ">= 0.4"
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
}
},
- "node_modules/object.assign": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
- "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
- "dependencies": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "has-symbols": "^1.0.1",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "license": "MIT"
},
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
+ "node_modules/node-releases": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
+ "dev": true,
+ "license": "MIT"
},
- "node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
},
"node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
}
},
- "node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "node_modules/typescript": {
+ "version": "5.7.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
+ "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
"dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz",
+ "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
"dependencies": {
- "has-flag": "^3.0.0"
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
},
- "engines": {
- "node": ">=4"
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
}
},
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true,
- "engines": {
- "node": ">=4"
- }
+ "license": "ISC"
}
},
"dependencies": {
+ "@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
"@babel/code-frame": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz",
- "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==",
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
+ "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.14.5"
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
}
},
"@babel/compat-data": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
- "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz",
+ "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==",
"dev": true
},
"@babel/core": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz",
- "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.15.8",
- "@babel/generator": "^7.15.8",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-module-transforms": "^7.15.8",
- "@babel/helpers": "^7.15.4",
- "@babel/parser": "^7.15.8",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.6",
- "convert-source-map": "^1.7.0",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.8.tgz",
+ "integrity": "sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==",
+ "dev": true,
+ "requires": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.26.2",
+ "@babel/generator": "^7.26.8",
+ "@babel/helper-compilation-targets": "^7.26.5",
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helpers": "^7.26.7",
+ "@babel/parser": "^7.26.8",
+ "@babel/template": "^7.26.8",
+ "@babel/traverse": "^7.26.8",
+ "@babel/types": "^7.26.8",
+ "@types/gensync": "^1.0.0",
+ "convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
}
},
"@babel/generator": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz",
- "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.8.tgz",
+ "integrity": "sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.6",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
+ "@babel/parser": "^7.26.8",
+ "@babel/types": "^7.26.8",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^3.0.2"
}
},
"@babel/helper-compilation-targets": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz",
- "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.16.6",
- "semver": "^6.3.0"
- }
- },
- "@babel/helper-function-name": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz",
- "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz",
+ "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.15.4",
- "@babel/template": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz",
- "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz",
- "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-member-expression-to-functions": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz",
- "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
+ "@babel/compat-data": "^7.26.5",
+ "@babel/helper-validator-option": "^7.25.9",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
}
},
"@babel/helper-module-imports": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz",
- "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
+ "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
}
},
"@babel/helper-module-transforms": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz",
- "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
+ "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.15.4",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-simple-access": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/helper-validator-identifier": "^7.15.7",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.6"
- }
- },
- "@babel/helper-optimise-call-expression": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz",
- "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
}
},
"@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
+ "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
"dev": true
},
- "@babel/helper-replace-supers": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz",
- "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==",
- "dev": true,
- "requires": {
- "@babel/helper-member-expression-to-functions": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz",
- "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz",
- "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.15.4"
- }
+ "@babel/helper-string-parser": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
+ "dev": true
},
"@babel/helper-validator-identifier": {
- "version": "7.15.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
- "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
"dev": true
},
"@babel/helper-validator-option": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
+ "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
"dev": true
},
"@babel/helpers": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz",
- "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==",
+ "version": "7.26.7",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz",
+ "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==",
"dev": true,
"requires": {
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.7"
}
},
- "@babel/highlight": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
- "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
+ "@babel/parser": {
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz",
+ "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.14.5",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
+ "@babel/types": "^7.26.8"
}
},
- "@babel/parser": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz",
- "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==",
- "dev": true
- },
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz",
- "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz",
+ "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-simple-access": "^7.15.4",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/template": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz",
- "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.8.tgz",
+ "integrity": "sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4"
+ "@babel/code-frame": "^7.26.2",
+ "@babel/parser": "^7.26.8",
+ "@babel/types": "^7.26.8"
}
},
"@babel/traverse": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
- "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.8.tgz",
+ "integrity": "sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
- "debug": "^4.1.0",
+ "@babel/code-frame": "^7.26.2",
+ "@babel/generator": "^7.26.8",
+ "@babel/parser": "^7.26.8",
+ "@babel/template": "^7.26.8",
+ "@babel/types": "^7.26.8",
+ "debug": "^4.3.1",
"globals": "^11.1.0"
}
},
"@babel/types": {
- "version": "7.15.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz",
- "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.9",
- "to-fast-properties": "^2.0.0"
- }
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz",
+ "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==",
"dev": true,
"requires": {
- "color-convert": "^1.9.0"
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
}
},
- "babel-plugin-dynamic-import-node": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
- "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
+ "@jridgewell/gen-mapping": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
+ "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
"dev": true,
"requires": {
- "object.assign": "^4.1.0"
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
- "browserslist": {
- "version": "4.17.5",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.5.tgz",
- "integrity": "sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001271",
- "electron-to-chromium": "^1.3.878",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.1",
- "picocolors": "^1.0.0"
- }
+ "@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true
},
- "call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- }
+ "@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "dev": true
},
- "caniuse-lite": {
- "version": "1.0.30001272",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001272.tgz",
- "integrity": "sha512-DV1j9Oot5dydyH1v28g25KoVm7l8MTxazwuiH3utWiAS6iL/9Nh//TGwqFEeqqN8nnWYQ8HHhUq+o4QPt9kvYw==",
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
"dev": true
},
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "@types/gensync": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@types/gensync/-/gensync-1.0.4.tgz",
+ "integrity": "sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==",
+ "dev": true
+ },
+ "browserslist": {
+ "version": "4.24.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
+ "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
"dev": true,
"requires": {
- "color-name": "1.1.3"
+ "caniuse-lite": "^1.0.30001688",
+ "electron-to-chromium": "^1.5.73",
+ "node-releases": "^2.0.19",
+ "update-browserslist-db": "^1.1.1"
}
},
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "caniuse-lite": {
+ "version": "1.0.30001699",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz",
+ "integrity": "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==",
"dev": true
},
"convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- }
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
},
"debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"requires": {
- "ms": "2.1.2"
- }
- },
- "define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "dev": true,
- "requires": {
- "object-keys": "^1.0.12"
+ "ms": "^2.1.3"
}
},
"electron-to-chromium": {
- "version": "1.3.884",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.884.tgz",
- "integrity": "sha512-kOaCAa+biA98PwH5BpCkeUeTL6mCeg8p3Q3OhqzPyqhu/5QUnWAN2wr/3IK8xMQxIV76kfoQpP+Bn/wij/jXrg==",
+ "version": "1.5.96",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.96.tgz",
+ "integrity": "sha512-8AJUW6dh75Fm/ny8+kZKJzI1pgoE8bKLZlzDU2W1ENd+DXKJrx7I7l9hb8UWR4ojlnb5OlixMt00QWiYJoVw1w==",
"dev": true
},
"escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"dev": true
},
"esm2umd": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/esm2umd/-/esm2umd-0.2.1.tgz",
- "integrity": "sha512-6xxUuzVJ7/lBOe0+vc4+YDo07ZAXkWrHUKrQWtF3QVSkmaktiHMJIhxHnGYj3pJ0pTvZLSmfhSJp3ntNfHNuJw==",
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/esm2umd/-/esm2umd-0.2.2.tgz",
+ "integrity": "sha512-boNmWNAUIyir6V0V5XGJDQ79vHQgYdagXxVHdG2ArVkQ/e6daZ1PAqPLXdSepV+ehYPTsqdv6KPSejogORP68A==",
"dev": true,
"requires": {
- "@babel/core": "^7",
- "@babel/plugin-transform-modules-commonjs": "^7"
+ "@babel/core": "^7.26.8",
+ "@babel/plugin-transform-modules-commonjs": "^7.26.3"
}
},
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
"gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true
},
- "get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
- }
- },
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true
},
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "has-symbols": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
- "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
- "dev": true
- },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -1167,9 +908,9 @@
"dev": true
},
"jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
"dev": true
},
"json5": {
@@ -1178,73 +919,59 @@
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true
},
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
"ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
"node-releases": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
- "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
- "dev": true
- },
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
"dev": true
},
- "object.assign": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
- "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "has-symbols": "^1.0.1",
- "object-keys": "^1.1.1"
- }
- },
"picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"dev": true
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "typescript": {
+ "version": "5.7.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
+ "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
"dev": true
},
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "update-browserslist-db": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz",
+ "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
}
},
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true
}
}
diff --git a/package.json b/package.json
index dcd5fcb..343d7cf 100644
--- a/package.json
+++ b/package.json
@@ -33,7 +33,9 @@
},
"scripts": {
"build": "esm2umd Long index.js > umd/index.js",
- "test": "node tests"
+ "test": "npm run test:unit && npm run test:typescript",
+ "test:unit": "node tests",
+ "test:typescript": "tsc --project tests/typescript/tsconfig.esnext.json && tsc --project tests/typescript/tsconfig.nodenext.json && tsc --project tests/typescript/tsconfig.commonjs.json"
},
"files": [
"index.js",
@@ -41,10 +43,12 @@
"umd/index.js",
"umd/index.d.ts",
"umd/package.json",
+ "types.d.ts",
"LICENSE",
"README.md"
],
"devDependencies": {
- "esm2umd": "^0.2.1"
+ "esm2umd": "^0.2.2",
+ "typescript": "^5.7.3"
}
}
diff --git a/tests/index.js b/tests/index.js
index b935f9a..4ee1183 100644
--- a/tests/index.js
+++ b/tests/index.js
@@ -209,6 +209,42 @@ var tests = [ // BEGIN TEST CASES
assert.deepEqual(longVal1.ctz(), 0);
assert.deepEqual(longVal2.ctz(), 32);
assert.deepEqual(longVal3.ctz(), 0);
+ },
+
+ function testBigInt() {
+ if (typeof BigInt !== "function") return
+
+ var values = [
+ { signed: 0n, unsigned: 0n },
+ { signed: 1n, unsigned: 1n },
+ { signed: -1n, unsigned: 18446744073709551615n },
+ { signed: 9223372036854775807n, unsigned: 9223372036854775807n },
+ { signed: -9223372036854775808n, unsigned: 9223372036854775808n }
+ ];
+
+ for (var i = 0; i < values.length; i++) {
+ var signedFromSigned = Long.fromBigInt(values[i].signed);
+ assert.strictEqual(signedFromSigned.toBigInt(), values[i].signed);
+ var unsignedFromSigned = Long.fromBigInt(values[i].signed, true);
+ assert.strictEqual(unsignedFromSigned.toBigInt(), values[i].unsigned);
+ var unsignedFromUnsigned = Long.fromBigInt(values[i].unsigned, true);
+ assert.strictEqual(unsignedFromUnsigned.toBigInt(), values[i].unsigned);
+ var signedFromUnsigned = Long.fromBigInt(values[i].unsigned);
+ assert.strictEqual(signedFromUnsigned.toBigInt(), values[i].signed);
+ }
+ },
+
+ function testSafeInteger() {
+ assert(Long.fromNumber(0).isSafeInteger());
+ assert(Long.fromNumber(1).isSafeInteger());
+ assert(Long.fromNumber(-1).isSafeInteger());
+ assert(!Long.fromNumber(-1).toUnsigned().isSafeInteger());
+ assert(Long.fromNumber(Math.pow(2, 32)).isSafeInteger());
+ assert(Long.fromNumber(-Math.pow(2, 32)).isSafeInteger());
+ assert(Long.fromNumber(Math.pow(2, 53) - 1).isSafeInteger());
+ assert(Long.fromNumber(-Math.pow(2, 53) + 1).isSafeInteger());
+ assert(!Long.fromNumber(Math.pow(2, 53)).isSafeInteger());
+ assert(!Long.fromNumber(-Math.pow(2, 53)).isSafeInteger());
}
]; // END TEST CASES
diff --git a/tests/typescript/test-import.ts b/tests/typescript/test-import.ts
new file mode 100644
index 0000000..c9a7836
--- /dev/null
+++ b/tests/typescript/test-import.ts
@@ -0,0 +1,5 @@
+import Long from '../../index.js';
+
+Long.fromValue(1);
+
+export default Long;
diff --git a/tests/typescript/test-require.ts b/tests/typescript/test-require.ts
new file mode 100644
index 0000000..477034d
--- /dev/null
+++ b/tests/typescript/test-require.ts
@@ -0,0 +1,5 @@
+import Long = require("../../umd/index.js");
+
+Long.fromValue(1);
+
+export default Long;
diff --git a/tests/typescript/tsconfig.base.json b/tests/typescript/tsconfig.base.json
new file mode 100644
index 0000000..46e02c5
--- /dev/null
+++ b/tests/typescript/tsconfig.base.json
@@ -0,0 +1,6 @@
+{
+ "compilerOptions": {
+ "target": "ESNext",
+ "noEmit": true
+ }
+}
\ No newline at end of file
diff --git a/tests/typescript/tsconfig.commonjs.json b/tests/typescript/tsconfig.commonjs.json
new file mode 100644
index 0000000..4bcb890
--- /dev/null
+++ b/tests/typescript/tsconfig.commonjs.json
@@ -0,0 +1,8 @@
+{
+ "extends": "./tsconfig.base.json",
+ "compilerOptions": {
+ "module": "CommonJS",
+ "moduleResolution": "node10"
+ },
+ "include": ["./test-require.ts"]
+}
diff --git a/tests/typescript/tsconfig.esnext.json b/tests/typescript/tsconfig.esnext.json
new file mode 100644
index 0000000..d4d907b
--- /dev/null
+++ b/tests/typescript/tsconfig.esnext.json
@@ -0,0 +1,7 @@
+{
+ "extends": "./tsconfig.base.json",
+ "compilerOptions": {
+ "module": "ESNext",
+ },
+ "include": ["./test-import.ts"]
+}
diff --git a/tests/typescript/tsconfig.json b/tests/typescript/tsconfig.json
new file mode 100644
index 0000000..88a731f
--- /dev/null
+++ b/tests/typescript/tsconfig.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./tsconfig.commonjs.json"
+}
diff --git a/tests/typescript/tsconfig.nodenext.json b/tests/typescript/tsconfig.nodenext.json
new file mode 100644
index 0000000..823d527
--- /dev/null
+++ b/tests/typescript/tsconfig.nodenext.json
@@ -0,0 +1,8 @@
+{
+ "extends": "./tsconfig.base.json",
+ "compilerOptions": {
+ "module": "NodeNext",
+ "moduleResolution": "nodenext",
+ },
+ "include": ["./test-import.ts"]
+}
diff --git a/types.d.ts b/types.d.ts
new file mode 100644
index 0000000..7fc3f9b
--- /dev/null
+++ b/types.d.ts
@@ -0,0 +1,465 @@
+type LongLike = Long | number | bigint | string | { low: number; high: number; unsigned: boolean };
+
+export declare class Long {
+ /**
+ * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as signed integers. See the from* functions below for more convenient ways of constructing Longs.
+ */
+ constructor(low: number, high?: number, unsigned?: boolean);
+
+ /**
+ * Maximum unsigned value.
+ */
+ static MAX_UNSIGNED_VALUE: Long;
+
+ /**
+ * Maximum signed value.
+ */
+ static MAX_VALUE: Long;
+
+ /**
+ * Minimum signed value.
+ */
+ static MIN_VALUE: Long;
+
+ /**
+ * Signed negative one.
+ */
+ static NEG_ONE: Long;
+
+ /**
+ * Signed one.
+ */
+ static ONE: Long;
+
+ /**
+ * Unsigned one.
+ */
+ static UONE: Long;
+
+ /**
+ * Unsigned zero.
+ */
+ static UZERO: Long;
+
+ /**
+ * Signed zero
+ */
+ static ZERO: Long;
+
+ /**
+ * The high 32 bits as a signed value.
+ */
+ high: number;
+
+ /**
+ * The low 32 bits as a signed value.
+ */
+ low: number;
+
+ /**
+ * Whether unsigned or not.
+ */
+ unsigned: boolean;
+
+ /**
+ * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is assumed to use 32 bits.
+ */
+ static fromBits(lowBits: number, highBits: number, unsigned?: boolean): Long;
+
+ /**
+ * Returns a Long representing the given 32 bit integer value.
+ */
+ static fromInt(value: number, unsigned?: boolean): Long;
+
+ /**
+ * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.
+ */
+ static fromNumber(value: number, unsigned?: boolean): Long;
+
+ /**
+ * Returns a Long representing the given big integer value.
+ */
+ static fromBigInt(value: bigint, unsigned?: boolean): Long;
+
+ /**
+ * Returns a Long representation of the given string, written using the specified radix.
+ */
+ static fromString(
+ str: string,
+ unsigned?: boolean | number,
+ radix?: number
+ ): Long;
+
+ /**
+ * Creates a Long from its byte representation.
+ */
+ static fromBytes(bytes: number[], unsigned?: boolean, le?: boolean): Long;
+
+ /**
+ * Creates a Long from its little endian byte representation.
+ */
+ static fromBytesLE(bytes: number[], unsigned?: boolean): Long;
+
+ /**
+ * Creates a Long from its big endian byte representation.
+ */
+ static fromBytesBE(bytes: number[], unsigned?: boolean): Long;
+
+ /**
+ * Tests if the specified object is a Long.
+ */
+ static isLong(obj: any): obj is Long;
+
+ /**
+ * Converts the specified value to a Long.
+ */
+ static fromValue(val: LongLike, unsigned?: boolean): Long;
+
+ /**
+ * Returns the sum of this and the specified Long.
+ */
+ add(addend: LongLike): Long;
+
+ /**
+ * Returns the bitwise AND of this Long and the specified.
+ */
+ and(other: LongLike): Long;
+
+ /**
+ * Compares this Long's value with the specified's.
+ */
+ compare(other: LongLike): number;
+
+ /**
+ * Compares this Long's value with the specified's.
+ */
+ comp(other: LongLike): number;
+
+ /**
+ * Returns this Long divided by the specified.
+ */
+ divide(divisor: LongLike): Long;
+
+ /**
+ * Returns this Long divided by the specified.
+ */
+ div(divisor: LongLike): Long;
+
+ /**
+ * Tests if this Long's value equals the specified's.
+ */
+ equals(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value equals the specified's.
+ */
+ eq(other: LongLike): boolean;
+
+ /**
+ * Gets the high 32 bits as a signed integer.
+ */
+ getHighBits(): number;
+
+ /**
+ * Gets the high 32 bits as an unsigned integer.
+ */
+ getHighBitsUnsigned(): number;
+
+ /**
+ * Gets the low 32 bits as a signed integer.
+ */
+ getLowBits(): number;
+
+ /**
+ * Gets the low 32 bits as an unsigned integer.
+ */
+ getLowBitsUnsigned(): number;
+
+ /**
+ * Gets the number of bits needed to represent the absolute value of this Long.
+ */
+ getNumBitsAbs(): number;
+
+ /**
+ * Tests if this Long's value is greater than the specified's.
+ */
+ greaterThan(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value is greater than the specified's.
+ */
+ gt(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value is greater than or equal the specified's.
+ */
+ greaterThanOrEqual(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value is greater than or equal the specified's.
+ */
+ gte(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value is greater than or equal the specified's.
+ */
+ ge(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value is even.
+ */
+ isEven(): boolean;
+
+ /**
+ * Tests if this Long's value is negative.
+ */
+ isNegative(): boolean;
+
+ /**
+ * Tests if this Long's value is odd.
+ */
+ isOdd(): boolean;
+
+ /**
+ * Tests if this Long's value is positive or zero.
+ */
+ isPositive(): boolean;
+
+ /**
+ * Tests if this Long can be safely represented as a JavaScript number.
+ */
+ isSafeInteger(): boolean;
+
+ /**
+ * Tests if this Long's value equals zero.
+ */
+ isZero(): boolean;
+
+ /**
+ * Tests if this Long's value equals zero.
+ */
+ eqz(): boolean;
+
+ /**
+ * Tests if this Long's value is less than the specified's.
+ */
+ lessThan(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value is less than the specified's.
+ */
+ lt(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value is less than or equal the specified's.
+ */
+ lessThanOrEqual(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value is less than or equal the specified's.
+ */
+ lte(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value is less than or equal the specified's.
+ */
+ le(other: LongLike): boolean;
+
+ /**
+ * Returns this Long modulo the specified.
+ */
+ modulo(other: LongLike): Long;
+
+ /**
+ * Returns this Long modulo the specified.
+ */
+ mod(other: LongLike): Long;
+
+ /**
+ * Returns this Long modulo the specified.
+ */
+ rem(other: LongLike): Long;
+
+ /**
+ * Returns the product of this and the specified Long.
+ */
+ multiply(multiplier: LongLike): Long;
+
+ /**
+ * Returns the product of this and the specified Long.
+ */
+ mul(multiplier: LongLike): Long;
+
+ /**
+ * Negates this Long's value.
+ */
+ negate(): Long;
+
+ /**
+ * Negates this Long's value.
+ */
+ neg(): Long;
+
+ /**
+ * Returns the bitwise NOT of this Long.
+ */
+ not(): Long;
+
+ /**
+ * Returns count leading zeros of this Long.
+ */
+ countLeadingZeros(): number;
+
+ /**
+ * Returns count leading zeros of this Long.
+ */
+ clz(): number;
+
+ /**
+ * Returns count trailing zeros of this Long.
+ */
+ countTrailingZeros(): number;
+
+ /**
+ * Returns count trailing zeros of this Long.
+ */
+ ctz(): number;
+
+ /**
+ * Tests if this Long's value differs from the specified's.
+ */
+ notEquals(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value differs from the specified's.
+ */
+ neq(other: LongLike): boolean;
+
+ /**
+ * Tests if this Long's value differs from the specified's.
+ */
+ ne(other: LongLike): boolean;
+
+ /**
+ * Returns the bitwise OR of this Long and the specified.
+ */
+ or(other: LongLike): Long;
+
+ /**
+ * Returns this Long with bits shifted to the left by the given amount.
+ */
+ shiftLeft(numBits: number | Long): Long;
+
+ /**
+ * Returns this Long with bits shifted to the left by the given amount.
+ */
+ shl(numBits: number | Long): Long;
+
+ /**
+ * Returns this Long with bits arithmetically shifted to the right by the given amount.
+ */
+ shiftRight(numBits: number | Long): Long;
+
+ /**
+ * Returns this Long with bits arithmetically shifted to the right by the given amount.
+ */
+ shr(numBits: number | Long): Long;
+
+ /**
+ * Returns this Long with bits logically shifted to the right by the given amount.
+ */
+ shiftRightUnsigned(numBits: number | Long): Long;
+
+ /**
+ * Returns this Long with bits logically shifted to the right by the given amount.
+ */
+ shru(numBits: number | Long): Long;
+
+ /**
+ * Returns this Long with bits logically shifted to the right by the given amount.
+ */
+ shr_u(numBits: number | Long): Long;
+
+ /**
+ * Returns this Long with bits rotated to the left by the given amount.
+ */
+ rotateLeft(numBits: number | Long): Long;
+
+ /**
+ * Returns this Long with bits rotated to the left by the given amount.
+ */
+ rotl(numBits: number | Long): Long;
+
+ /**
+ * Returns this Long with bits rotated to the right by the given amount.
+ */
+ rotateRight(numBits: number | Long): Long;
+
+ /**
+ * Returns this Long with bits rotated to the right by the given amount.
+ */
+ rotr(numBits: number | Long): Long;
+
+ /**
+ * Returns the difference of this and the specified Long.
+ */
+ subtract(subtrahend: LongLike): Long;
+
+ /**
+ * Returns the difference of this and the specified Long.
+ */
+ sub(subtrahend: LongLike): Long;
+
+ /**
+ * Converts the Long to a big integer.
+ */
+ toBigInt(): bigint;
+
+ /**
+ * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.
+ */
+ toInt(): number;
+
+ /**
+ * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).
+ */
+ toNumber(): number;
+
+ /**
+ * Converts this Long to its byte representation.
+ */
+
+ toBytes(le?: boolean): number[];
+
+ /**
+ * Converts this Long to its little endian byte representation.
+ */
+
+ toBytesLE(): number[];
+
+ /**
+ * Converts this Long to its big endian byte representation.
+ */
+
+ toBytesBE(): number[];
+
+ /**
+ * Converts this Long to signed.
+ */
+ toSigned(): Long;
+
+ /**
+ * Converts the Long to a string written in the specified radix.
+ */
+ toString(radix?: number): string;
+
+ /**
+ * Converts this Long to unsigned.
+ */
+ toUnsigned(): Long;
+
+ /**
+ * Returns the bitwise XOR of this Long and the given one.
+ */
+ xor(other: LongLike): Long;
+}
diff --git a/umd/index.d.ts b/umd/index.d.ts
index c6b1440..3599abb 100644
--- a/umd/index.d.ts
+++ b/umd/index.d.ts
@@ -1,457 +1,2 @@
-declare class Long {
- /**
- * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as signed integers. See the from* functions below for more convenient ways of constructing Longs.
- */
- constructor(low: number, high?: number, unsigned?: boolean);
-
- /**
- * Maximum unsigned value.
- */
- static MAX_UNSIGNED_VALUE: Long;
-
- /**
- * Maximum signed value.
- */
- static MAX_VALUE: Long;
-
- /**
- * Minimum signed value.
- */
- static MIN_VALUE: Long;
-
- /**
- * Signed negative one.
- */
- static NEG_ONE: Long;
-
- /**
- * Signed one.
- */
- static ONE: Long;
-
- /**
- * Unsigned one.
- */
- static UONE: Long;
-
- /**
- * Unsigned zero.
- */
- static UZERO: Long;
-
- /**
- * Signed zero
- */
- static ZERO: Long;
-
- /**
- * The high 32 bits as a signed value.
- */
- high: number;
-
- /**
- * The low 32 bits as a signed value.
- */
- low: number;
-
- /**
- * Whether unsigned or not.
- */
- unsigned: boolean;
-
- /**
- * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is assumed to use 32 bits.
- */
- static fromBits(lowBits: number, highBits: number, unsigned?: boolean): Long;
-
- /**
- * Returns a Long representing the given 32 bit integer value.
- */
- static fromInt(value: number, unsigned?: boolean): Long;
-
- /**
- * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.
- */
- static fromNumber(value: number, unsigned?: boolean): Long;
-
- /**
- * Returns a Long representation of the given string, written using the specified radix.
- */
- static fromString(
- str: string,
- unsigned?: boolean | number,
- radix?: number
- ): Long;
-
- /**
- * Creates a Long from its byte representation.
- */
- static fromBytes(bytes: number[], unsigned?: boolean, le?: boolean): Long;
-
- /**
- * Creates a Long from its little endian byte representation.
- */
- static fromBytesLE(bytes: number[], unsigned?: boolean): Long;
-
- /**
- * Creates a Long from its big endian byte representation.
- */
- static fromBytesBE(bytes: number[], unsigned?: boolean): Long;
-
- /**
- * Tests if the specified object is a Long.
- */
- static isLong(obj: any): obj is Long;
-
- /**
- * Converts the specified value to a Long.
- */
- static fromValue(
- val:
- | Long
- | number
- | string
- | { low: number; high: number; unsigned: boolean },
- unsigned?: boolean
- ): Long;
-
- /**
- * Returns the sum of this and the specified Long.
- */
- add(addend: number | Long | string): Long;
-
- /**
- * Returns the bitwise AND of this Long and the specified.
- */
- and(other: Long | number | string): Long;
-
- /**
- * Compares this Long's value with the specified's.
- */
- compare(other: Long | number | string): number;
-
- /**
- * Compares this Long's value with the specified's.
- */
- comp(other: Long | number | string): number;
-
- /**
- * Returns this Long divided by the specified.
- */
- divide(divisor: Long | number | string): Long;
-
- /**
- * Returns this Long divided by the specified.
- */
- div(divisor: Long | number | string): Long;
-
- /**
- * Tests if this Long's value equals the specified's.
- */
- equals(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value equals the specified's.
- */
- eq(other: Long | number | string): boolean;
-
- /**
- * Gets the high 32 bits as a signed integer.
- */
- getHighBits(): number;
-
- /**
- * Gets the high 32 bits as an unsigned integer.
- */
- getHighBitsUnsigned(): number;
-
- /**
- * Gets the low 32 bits as a signed integer.
- */
- getLowBits(): number;
-
- /**
- * Gets the low 32 bits as an unsigned integer.
- */
- getLowBitsUnsigned(): number;
-
- /**
- * Gets the number of bits needed to represent the absolute value of this Long.
- */
- getNumBitsAbs(): number;
-
- /**
- * Tests if this Long's value is greater than the specified's.
- */
- greaterThan(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value is greater than the specified's.
- */
- gt(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value is greater than or equal the specified's.
- */
- greaterThanOrEqual(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value is greater than or equal the specified's.
- */
- gte(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value is greater than or equal the specified's.
- */
- ge(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value is even.
- */
- isEven(): boolean;
-
- /**
- * Tests if this Long's value is negative.
- */
- isNegative(): boolean;
-
- /**
- * Tests if this Long's value is odd.
- */
- isOdd(): boolean;
-
- /**
- * Tests if this Long's value is positive or zero.
- */
- isPositive(): boolean;
-
- /**
- * Tests if this Long's value equals zero.
- */
- isZero(): boolean;
-
- /**
- * Tests if this Long's value equals zero.
- */
- eqz(): boolean;
-
- /**
- * Tests if this Long's value is less than the specified's.
- */
- lessThan(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value is less than the specified's.
- */
- lt(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value is less than or equal the specified's.
- */
- lessThanOrEqual(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value is less than or equal the specified's.
- */
- lte(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value is less than or equal the specified's.
- */
- le(other: Long | number | string): boolean;
-
- /**
- * Returns this Long modulo the specified.
- */
- modulo(other: Long | number | string): Long;
-
- /**
- * Returns this Long modulo the specified.
- */
- mod(other: Long | number | string): Long;
-
- /**
- * Returns this Long modulo the specified.
- */
- rem(other: Long | number | string): Long;
-
- /**
- * Returns the product of this and the specified Long.
- */
- multiply(multiplier: Long | number | string): Long;
-
- /**
- * Returns the product of this and the specified Long.
- */
- mul(multiplier: Long | number | string): Long;
-
- /**
- * Negates this Long's value.
- */
- negate(): Long;
-
- /**
- * Negates this Long's value.
- */
- neg(): Long;
-
- /**
- * Returns the bitwise NOT of this Long.
- */
- not(): Long;
-
- /**
- * Returns count leading zeros of this Long.
- */
- countLeadingZeros(): number;
-
- /**
- * Returns count leading zeros of this Long.
- */
- clz(): number;
-
- /**
- * Returns count trailing zeros of this Long.
- */
- countTrailingZeros(): number;
-
- /**
- * Returns count trailing zeros of this Long.
- */
- ctz(): number;
-
- /**
- * Tests if this Long's value differs from the specified's.
- */
- notEquals(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value differs from the specified's.
- */
- neq(other: Long | number | string): boolean;
-
- /**
- * Tests if this Long's value differs from the specified's.
- */
- ne(other: Long | number | string): boolean;
-
- /**
- * Returns the bitwise OR of this Long and the specified.
- */
- or(other: Long | number | string): Long;
-
- /**
- * Returns this Long with bits shifted to the left by the given amount.
- */
- shiftLeft(numBits: number | Long): Long;
-
- /**
- * Returns this Long with bits shifted to the left by the given amount.
- */
- shl(numBits: number | Long): Long;
-
- /**
- * Returns this Long with bits arithmetically shifted to the right by the given amount.
- */
- shiftRight(numBits: number | Long): Long;
-
- /**
- * Returns this Long with bits arithmetically shifted to the right by the given amount.
- */
- shr(numBits: number | Long): Long;
-
- /**
- * Returns this Long with bits logically shifted to the right by the given amount.
- */
- shiftRightUnsigned(numBits: number | Long): Long;
-
- /**
- * Returns this Long with bits logically shifted to the right by the given amount.
- */
- shru(numBits: number | Long): Long;
-
- /**
- * Returns this Long with bits logically shifted to the right by the given amount.
- */
- shr_u(numBits: number | Long): Long;
-
- /**
- * Returns this Long with bits rotated to the left by the given amount.
- */
- rotateLeft(numBits: number | Long): Long;
-
- /**
- * Returns this Long with bits rotated to the left by the given amount.
- */
- rotl(numBits: number | Long): Long;
-
- /**
- * Returns this Long with bits rotated to the right by the given amount.
- */
- rotateRight(numBits: number | Long): Long;
-
- /**
- * Returns this Long with bits rotated to the right by the given amount.
- */
- rotr(numBits: number | Long): Long;
-
- /**
- * Returns the difference of this and the specified Long.
- */
- subtract(subtrahend: number | Long | string): Long;
-
- /**
- * Returns the difference of this and the specified Long.
- */
- sub(subtrahend: number | Long | string): Long;
-
- /**
- * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.
- */
- toInt(): number;
-
- /**
- * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).
- */
- toNumber(): number;
-
- /**
- * Converts this Long to its byte representation.
- */
-
- toBytes(le?: boolean): number[];
-
- /**
- * Converts this Long to its little endian byte representation.
- */
-
- toBytesLE(): number[];
-
- /**
- * Converts this Long to its big endian byte representation.
- */
-
- toBytesBE(): number[];
-
- /**
- * Converts this Long to signed.
- */
- toSigned(): Long;
-
- /**
- * Converts the Long to a string written in the specified radix.
- */
- toString(radix?: number): string;
-
- /**
- * Converts this Long to unsigned.
- */
- toUnsigned(): Long;
-
- /**
- * Returns the bitwise XOR of this Long and the given one.
- */
- xor(other: Long | number | string): Long;
-}
-
+import { Long } from '../types.js';
export = Long;
diff --git a/wasm.wat b/wasm.wat
index 983fcdf..d1bfeb4 100644
--- a/wasm.wat
+++ b/wasm.wat
@@ -7,206 +7,206 @@
(export "get_high" (func $get_high))
(global $high (mut i32) (i32.const 0))
(func $get_high (result i32)
- (get_global $high)
+ (global.get $high)
)
(func $mul (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (result i32)
(local $result i64)
- (set_local $result
+ (local.set $result
(i64.mul
(i64.or
- (i64.extend_u/i32
- (get_local $xl)
+ (i64.extend_i32_u
+ (local.get $xl)
)
(i64.shl
- (i64.extend_u/i32
- (get_local $xh)
+ (i64.extend_i32_u
+ (local.get $xh)
)
(i64.const 32)
)
)
(i64.or
- (i64.extend_u/i32
- (get_local $yl)
+ (i64.extend_i32_u
+ (local.get $yl)
)
(i64.shl
- (i64.extend_u/i32
- (get_local $yh)
+ (i64.extend_i32_u
+ (local.get $yh)
)
(i64.const 32)
)
)
)
)
- (set_global $high
- (i32.wrap/i64
+ (global.set $high
+ (i32.wrap_i64
(i64.shr_s
- (get_local $result)
+ (local.get $result)
(i64.const 32)
)
)
)
- (i32.wrap/i64
- (get_local $result)
+ (i32.wrap_i64
+ (local.get $result)
)
)
(func $div_s (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (result i32)
(local $result i64)
- (set_local $result
+ (local.set $result
(i64.div_s
(i64.or
- (i64.extend_u/i32
- (get_local $xl)
+ (i64.extend_i32_u
+ (local.get $xl)
)
(i64.shl
- (i64.extend_u/i32
- (get_local $xh)
+ (i64.extend_i32_u
+ (local.get $xh)
)
(i64.const 32)
)
)
(i64.or
- (i64.extend_u/i32
- (get_local $yl)
+ (i64.extend_i32_u
+ (local.get $yl)
)
(i64.shl
- (i64.extend_u/i32
- (get_local $yh)
+ (i64.extend_i32_u
+ (local.get $yh)
)
(i64.const 32)
)
)
)
)
- (set_global $high
- (i32.wrap/i64
+ (global.set $high
+ (i32.wrap_i64
(i64.shr_s
- (get_local $result)
+ (local.get $result)
(i64.const 32)
)
)
)
- (i32.wrap/i64
- (get_local $result)
+ (i32.wrap_i64
+ (local.get $result)
)
)
(func $div_u (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (result i32)
(local $result i64)
- (set_local $result
+ (local.set $result
(i64.div_u
(i64.or
- (i64.extend_u/i32
- (get_local $xl)
+ (i64.extend_i32_u
+ (local.get $xl)
)
(i64.shl
- (i64.extend_u/i32
- (get_local $xh)
+ (i64.extend_i32_u
+ (local.get $xh)
)
(i64.const 32)
)
)
(i64.or
- (i64.extend_u/i32
- (get_local $yl)
+ (i64.extend_i32_u
+ (local.get $yl)
)
(i64.shl
- (i64.extend_u/i32
- (get_local $yh)
+ (i64.extend_i32_u
+ (local.get $yh)
)
(i64.const 32)
)
)
)
)
- (set_global $high
- (i32.wrap/i64
+ (global.set $high
+ (i32.wrap_i64
(i64.shr_s
- (get_local $result)
+ (local.get $result)
(i64.const 32)
)
)
)
- (i32.wrap/i64
- (get_local $result)
+ (i32.wrap_i64
+ (local.get $result)
)
)
(func $rem_s (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (result i32)
(local $result i64)
- (set_local $result
+ (local.set $result
(i64.rem_s
(i64.or
- (i64.extend_u/i32
- (get_local $xl)
+ (i64.extend_i32_u
+ (local.get $xl)
)
(i64.shl
- (i64.extend_u/i32
- (get_local $xh)
+ (i64.extend_i32_u
+ (local.get $xh)
)
(i64.const 32)
)
)
(i64.or
- (i64.extend_u/i32
- (get_local $yl)
+ (i64.extend_i32_u
+ (local.get $yl)
)
(i64.shl
- (i64.extend_u/i32
- (get_local $yh)
+ (i64.extend_i32_u
+ (local.get $yh)
)
(i64.const 32)
)
)
)
)
- (set_global $high
- (i32.wrap/i64
+ (global.set $high
+ (i32.wrap_i64
(i64.shr_s
- (get_local $result)
+ (local.get $result)
(i64.const 32)
)
)
)
- (i32.wrap/i64
- (get_local $result)
+ (i32.wrap_i64
+ (local.get $result)
)
)
(func $rem_u (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (result i32)
(local $result i64)
- (set_local $result
+ (local.set $result
(i64.rem_u
(i64.or
- (i64.extend_u/i32
- (get_local $xl)
+ (i64.extend_i32_u
+ (local.get $xl)
)
(i64.shl
- (i64.extend_u/i32
- (get_local $xh)
+ (i64.extend_i32_u
+ (local.get $xh)
)
(i64.const 32)
)
)
(i64.or
- (i64.extend_u/i32
- (get_local $yl)
+ (i64.extend_i32_u
+ (local.get $yl)
)
(i64.shl
- (i64.extend_u/i32
- (get_local $yh)
+ (i64.extend_i32_u
+ (local.get $yh)
)
(i64.const 32)
)
)
)
)
- (set_global $high
- (i32.wrap/i64
+ (global.set $high
+ (i32.wrap_i64
(i64.shr_s
- (get_local $result)
+ (local.get $result)
(i64.const 32)
)
)
)
- (i32.wrap/i64
- (get_local $result)
+ (i32.wrap_i64
+ (local.get $result)
)
)
)
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: