@@ -11,16 +11,15 @@ export function serialize(value: any): any | void {
1111 return value . map ( v => serialize ( v ) )
1212 } else if ( value . constructor === { } . constructor ) {
1313 return Object . fromEntries (
14- Array . from (
15- Object . entries ( value )
16- . map ( ( [ key , value ] ) => [ key , serialize ( value ) ] )
17- )
14+ Array . from ( Object . entries ( value ) )
15+ . map ( ( [ key , value ] ) => [ key , serialize ( value ) ] )
1816 )
19- } else if ( value . constructor === Map ) {
17+ } else if ( value instanceof Map ) {
2018 return {
2119 $$iposType : 'Map' ,
22- data : Array . from ( value . entries ( ) ) . map ( ( [ key , value ] ) =>
23- [ key , serialize ( value ) ]
20+ data : Object . fromEntries (
21+ Array . from ( value . entries ( ) )
22+ . map ( ( [ key , value ] ) => [ key , serialize ( value ) ] )
2423 )
2524 }
2625 } else {
@@ -51,7 +50,10 @@ export function deserialize(value: string | number | Array<any> | { $$iposType?:
5150 // todo: is this acceptable?
5251 return eval ( `(${ value . data } )` )
5352 } else if ( value . $$iposType === 'Map' ) {
54- return Object . fromEntries ( value . data . map ( deserialize ) )
53+ return Object . fromEntries (
54+ Array . from ( Object . entries ( value . data ) )
55+ . map ( deserialize )
56+ )
5557 }
5658 } else
5759 console . warn ( 'I don\'t know' , value )
0 commit comments