diff --git a/lib/serializer.js b/lib/serializer.js index 24917433..1a006d5f 100644 --- a/lib/serializer.js +++ b/lib/serializer.js @@ -41,7 +41,7 @@ module.exports = class Serializer { asNumber (i) { // fast cast to number - const num = +i + const num = Number(i) // check if number is NaN // eslint-disable-next-line no-self-compare if (num !== num) { diff --git a/test/asNumber.test.js b/test/asNumber.test.js new file mode 100644 index 00000000..5e68b922 --- /dev/null +++ b/test/asNumber.test.js @@ -0,0 +1,13 @@ +'use strict' + +const test = require('tap').test + +test('asNumber should convert BigInt', (t) => { + t.plan(1) + const Serializer = require('../lib/serializer') + const serializer = new Serializer() + + const number = serializer.asNumber(11753021440n) + + t.equal(number, '11753021440') +})