@@ -21,6 +21,7 @@ describe('Type System: Specified scalar types', () => {
21
21
expect ( parseValue ( 1 ) ) . to . equal ( 1 ) ;
22
22
expect ( parseValue ( 0 ) ) . to . equal ( 0 ) ;
23
23
expect ( parseValue ( - 1 ) ) . to . equal ( - 1 ) ;
24
+ expect ( parseValue ( 1n ) ) . to . equal ( 1 ) ;
24
25
25
26
expect ( ( ) => parseValue ( 9876504321 ) ) . to . throw (
26
27
'Int cannot represent non 32-bit signed integer value: 9876504321' ,
@@ -119,6 +120,7 @@ describe('Type System: Specified scalar types', () => {
119
120
expect ( serialize ( 1e5 ) ) . to . equal ( 100000 ) ;
120
121
expect ( serialize ( false ) ) . to . equal ( 0 ) ;
121
122
expect ( serialize ( true ) ) . to . equal ( 1 ) ;
123
+ expect ( serialize ( 1n ) ) . to . equal ( 1 ) ;
122
124
123
125
const customValueOfObj = {
124
126
value : 5 ,
@@ -280,6 +282,7 @@ describe('Type System: Specified scalar types', () => {
280
282
expect ( serialize ( '-1.1' ) ) . to . equal ( - 1.1 ) ;
281
283
expect ( serialize ( false ) ) . to . equal ( 0.0 ) ;
282
284
expect ( serialize ( true ) ) . to . equal ( 1.0 ) ;
285
+ expect ( serialize ( 1n ) ) . to . equal ( 1n ) ;
283
286
284
287
const customValueOfObj = {
285
288
value : 5.5 ,
@@ -380,6 +383,7 @@ describe('Type System: Specified scalar types', () => {
380
383
expect ( serialize ( - 1.1 ) ) . to . equal ( '-1.1' ) ;
381
384
expect ( serialize ( true ) ) . to . equal ( 'true' ) ;
382
385
expect ( serialize ( false ) ) . to . equal ( 'false' ) ;
386
+ expect ( serialize ( 9007199254740993n ) ) . to . equal ( '9007199254740993' ) ;
383
387
384
388
const valueOf = ( ) => 'valueOf string' ;
385
389
const toJSON = ( ) => 'toJSON string' ;
@@ -493,6 +497,8 @@ describe('Type System: Specified scalar types', () => {
493
497
494
498
expect ( serialize ( 1 ) ) . to . equal ( true ) ;
495
499
expect ( serialize ( 0 ) ) . to . equal ( false ) ;
500
+ expect ( serialize ( 1n ) ) . to . equal ( true ) ;
501
+ expect ( serialize ( 0n ) ) . to . equal ( false ) ;
496
502
expect ( serialize ( true ) ) . to . equal ( true ) ;
497
503
expect ( serialize ( false ) ) . to . equal ( false ) ;
498
504
expect (
@@ -539,6 +545,9 @@ describe('Type System: Specified scalar types', () => {
539
545
expect ( parseValue ( 9007199254740991 ) ) . to . equal ( '9007199254740991' ) ;
540
546
expect ( parseValue ( - 9007199254740991 ) ) . to . equal ( '-9007199254740991' ) ;
541
547
548
+ // Can handle bigint in JS
549
+ expect ( parseValue ( 9007199254740993n ) ) . to . equal ( '9007199254740993' ) ;
550
+
542
551
expect ( ( ) => parseValue ( undefined ) ) . to . throw (
543
552
'ID cannot represent value: undefined' ,
544
553
) ;
@@ -614,6 +623,7 @@ describe('Type System: Specified scalar types', () => {
614
623
expect ( serialize ( 123 ) ) . to . equal ( '123' ) ;
615
624
expect ( serialize ( 0 ) ) . to . equal ( '0' ) ;
616
625
expect ( serialize ( - 1 ) ) . to . equal ( '-1' ) ;
626
+ expect ( serialize ( 9007199254740993n ) ) . to . equal ( '9007199254740993' ) ;
617
627
618
628
const valueOf = ( ) => 'valueOf ID' ;
619
629
const toJSON = ( ) => 'toJSON ID' ;
0 commit comments