Skip to content

Commit e824272

Browse files
committed
fix proxied map serialisation
1 parent 0158387 commit e824272

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

src/serialize.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)