webpack/lib/serialization/MapObjectSerializer.js

32 lines
554 B
JavaScript
Raw Normal View History

2018-10-09 20:30:59 +08:00
/*
MIT License http://www.opensource.org/licenses/mit-license.php
*/
"use strict";
class MapObjectSerializer {
serialize(obj, { write }) {
write(obj.size);
for (const key of obj.keys()) {
2018-10-09 20:30:59 +08:00
write(key);
}
for (const value of obj.values()) {
2018-10-09 20:30:59 +08:00
write(value);
}
}
deserialize({ read }) {
let size = read();
const map = new Map();
const keys = [];
for (let i = 0; i < size; i++) {
keys.push(read());
}
2018-10-09 20:30:59 +08:00
for (let i = 0; i < size; i++) {
map.set(keys[i], read());
2018-10-09 20:30:59 +08:00
}
return map;
}
}
module.exports = MapObjectSerializer;