Skip to content

Commit b107334

Browse files
committed
reorder maps to make binary encoding more efficient
1 parent a594f98 commit b107334

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

lib/serialization/MapObjectSerializer.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,22 @@
77
class MapObjectSerializer {
88
serialize(obj, { write }) {
99
write(obj.size);
10-
for (const [key, value] of obj) {
10+
for (const key of obj.keys()) {
1111
write(key);
12+
}
13+
for (const value of obj.values()) {
1214
write(value);
1315
}
1416
}
1517
deserialize({ read }) {
1618
let size = read();
1719
const map = new Map();
20+
const keys = [];
21+
for (let i = 0; i < size; i++) {
22+
keys.push(read());
23+
}
1824
for (let i = 0; i < size; i++) {
19-
map.set(read(), read());
25+
map.set(keys[i], read());
2026
}
2127
return map;
2228
}

0 commit comments

Comments
 (0)