Skip to content

Commit 64beb87

Browse files
committed
apodict: added bigint.
1 parent 5ce8717 commit 64beb87

3 files changed

Lines changed: 11 additions & 8 deletions

File tree

src/core/disassembler.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ function* dump(value, options, processed) {
1414
case 'function':
1515
case 'symbol':
1616
case 'undefined':
17+
case 'bigint':
1718
return;
1819
case 'number':
1920
if (isNaN(value) || !isFinite(value)) {
@@ -70,6 +71,7 @@ function* dump(value, options, processed) {
7071
case 'function':
7172
case 'symbol':
7273
case 'undefined':
74+
case 'bigint':
7375
v = null; // force null
7476
break;
7577
}
@@ -93,6 +95,7 @@ function* dump(value, options, processed) {
9395
case 'function':
9496
case 'symbol':
9597
case 'undefined':
98+
case 'bigint':
9699
continue;
97100
}
98101
if (options.streamKeys) {

tests/node/test-disassembler.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ test.asPromise('disassembler: roundtrip', (t, resolve, reject) => {
3333
});
3434

3535
test.asPromise('disassembler: bad top-level values', (t, resolve, reject) => {
36-
const input = [1, () => {}, 2, undefined, 3, Symbol(), 4],
36+
const input = [1, () => {}, 2, undefined, 3, Symbol(), 4, 5n],
3737
result = [],
3838
pipeline = chain([disassembler(), streamValues()]);
3939

@@ -51,7 +51,7 @@ test.asPromise('disassembler: bad top-level values', (t, resolve, reject) => {
5151
});
5252

5353
test.asPromise('disassembler: bad values in object', (t, resolve, reject) => {
54-
const input = [{a: 1, b: () => {}, c: 2, d: undefined, e: 3, f: Symbol(), g: 4}],
54+
const input = [{a: 1, b: () => {}, c: 2, d: undefined, e: 3, f: Symbol(), g: 4, h: 5n}],
5555
result = [],
5656
pipeline = chain([disassembler(), streamValues()]);
5757

@@ -69,14 +69,14 @@ test.asPromise('disassembler: bad values in object', (t, resolve, reject) => {
6969
});
7070

7171
test.asPromise('disassembler: bad values in array', (t, resolve, reject) => {
72-
const input = [[1, () => {}, 2, undefined, 3, Symbol(), 4]],
72+
const input = [[1, () => {}, 2, undefined, 3, Symbol(), 4, 5n]],
7373
result = [],
7474
pipeline = chain([disassembler(), streamValues()]);
7575

7676
pipeline.on('data', item => result.push(item.value));
7777
pipeline.on('error', reject);
7878
pipeline.on('end', () => {
79-
t.deepEqual(result, [[1, null, 2, null, 3, null, 4]]);
79+
t.deepEqual(result, [[1, null, 2, null, 3, null, 4, null]]);
8080
resolve();
8181
});
8282

tests/web/test-disassembler.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ test.asPromise('disassembler (web): roundtrip', async (t, resolve, reject) => {
4949

5050
test.asPromise('disassembler (web): bad top-level values', async (t, resolve, reject) => {
5151
try {
52-
const input = [1, () => {}, 2, undefined, 3, Symbol(), 4];
52+
const input = [1, () => {}, 2, undefined, 3, Symbol(), 4, 5n];
5353
const pipeline = chain([fromArray(input), disassembler(), streamValues()]);
5454
const out = await drain(pipeline);
5555
const result = out.map(item => item.value);
@@ -62,7 +62,7 @@ test.asPromise('disassembler (web): bad top-level values', async (t, resolve, re
6262

6363
test.asPromise('disassembler (web): bad values in object', async (t, resolve, reject) => {
6464
try {
65-
const input = [{a: 1, b: () => {}, c: 2, d: undefined, e: 3, f: Symbol(), g: 4}];
65+
const input = [{a: 1, b: () => {}, c: 2, d: undefined, e: 3, f: Symbol(), g: 4, h: 5n}];
6666
const pipeline = chain([fromArray(input), disassembler(), streamValues()]);
6767
const out = await drain(pipeline);
6868
const result = out.map(item => item.value);
@@ -75,11 +75,11 @@ test.asPromise('disassembler (web): bad values in object', async (t, resolve, re
7575

7676
test.asPromise('disassembler (web): bad values in array', async (t, resolve, reject) => {
7777
try {
78-
const input = [[1, () => {}, 2, undefined, 3, Symbol(), 4]];
78+
const input = [[1, () => {}, 2, undefined, 3, Symbol(), 4, 5n]];
7979
const pipeline = chain([fromArray(input), disassembler(), streamValues()]);
8080
const out = await drain(pipeline);
8181
const result = out.map(item => item.value);
82-
t.deepEqual(result, [[1, null, 2, null, 3, null, 4]]);
82+
t.deepEqual(result, [[1, null, 2, null, 3, null, 4, null]]);
8383
resolve();
8484
} catch (e) {
8585
reject(e);

0 commit comments

Comments
 (0)