Skip to content

Commit e1bcb4f

Browse files
authored
fix: Call correct function when using Long.fromValue with a bigInt (#134)
1 parent a45797a commit e1bcb4f

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1562,7 +1562,7 @@ if (typeof BigInt === "function") {
15621562

15631563
// Override
15641564
Long.fromValue = function fromValueWithBigInt(value, unsigned) {
1565-
if (typeof value === "bigint") return fromBigInt(value, unsigned);
1565+
if (typeof value === "bigint") return Long.fromBigInt(value, unsigned);
15661566
return fromValue(value, unsigned);
15671567
};
15681568

tests/index.js

+9
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,15 @@ var tests = [
267267
assert.strictEqual(unsignedFromUnsigned.toBigInt(), values[i].unsigned);
268268
var signedFromUnsigned = Long.fromBigInt(values[i].unsigned);
269269
assert.strictEqual(signedFromUnsigned.toBigInt(), values[i].signed);
270+
271+
var signedFromSigned = Long.fromValue(values[i].signed);
272+
assert.strictEqual(signedFromSigned.toBigInt(), values[i].signed);
273+
var unsignedFromSigned = Long.fromValue(values[i].signed, true);
274+
assert.strictEqual(unsignedFromSigned.toBigInt(), values[i].unsigned);
275+
var unsignedFromUnsigned = Long.fromValue(values[i].unsigned, true);
276+
assert.strictEqual(unsignedFromUnsigned.toBigInt(), values[i].unsigned);
277+
var signedFromUnsigned = Long.fromValue(values[i].unsigned);
278+
assert.strictEqual(signedFromUnsigned.toBigInt(), values[i].signed);
270279
}
271280
},
272281

0 commit comments

Comments
 (0)