File tree Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change 11import { parse } from './parse.js' ;
22import { stringify } from './stringify.js' ;
3+ import type { TypeGuardFunction } from './types.js' ;
34
4- export function serialize ( obj : any ) {
5+ export function serialize < T > ( obj : any , typeGuard ?: TypeGuardFunction < T > ) {
56 return parse (
67 stringify ( obj , {
78 extended : { enable : true , relaxed : true } ,
89 compress : { enable : false } ,
910 minify : { enable : false } ,
1011 } ) ,
12+ null ,
1113 {
1214 extended : { enable : false } ,
1315 decompress : { enable : false } ,
1416 unminify : { enable : false } ,
1517 } ,
18+ typeGuard ,
1619 ) ;
1720}
1821
19- export function deserialize ( obj : any ) {
22+ export function deserialize < T > ( obj : any , typeGuard ?: TypeGuardFunction < T > ) {
2023 return parse (
2124 stringify ( obj , {
2225 extended : { enable : false } ,
2326 compress : { enable : false } ,
2427 minify : { enable : false } ,
2528 } ) ,
29+ null ,
2630 {
2731 extended : { enable : true , relaxed : true } ,
2832 decompress : { enable : false } ,
2933 unminify : { enable : false } ,
3034 } ,
35+ typeGuard ,
3136 ) ;
3237}
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ describe('[serialize] serialize', () => {
77 } ;
88
99 it ( 'serialize should transform JavaScript object into Extended JSON object' , ( ) => {
10- const serializedObj = JsonKit . serialize ( obj ) ;
10+ const serializedObj = JsonKit . serialize < { date : unknown } > ( obj ) ;
1111 expect ( serializedObj . date ) . toHaveProperty ( '$date' ) ;
1212 } ) ;
1313} ) ;
@@ -18,7 +18,7 @@ describe('[serialize] deserialize', () => {
1818 } ;
1919
2020 it ( 'deserialize should transform Extended JSON object into JavaScript object' , ( ) => {
21- const deserializedObj = JsonKit . deserialize ( obj ) ;
21+ const deserializedObj = JsonKit . deserialize < { date : unknown } > ( obj ) ;
2222 expect ( deserializedObj . date ) . toBeInstanceOf ( Date ) ;
2323 } ) ;
2424} ) ;
You can’t perform that action at this time.
0 commit comments