From d1d9f00b1bd660842addf5e6b1d1b64c852a9eea Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sun, 5 Nov 2023 17:16:09 +0800 Subject: added hover prefixer --- .../lib/serialization/MapObjectSerializer.js | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 node_modules/webpack/lib/serialization/MapObjectSerializer.js (limited to 'node_modules/webpack/lib/serialization/MapObjectSerializer.js') diff --git a/node_modules/webpack/lib/serialization/MapObjectSerializer.js b/node_modules/webpack/lib/serialization/MapObjectSerializer.js new file mode 100644 index 00000000..cb5fa6b6 --- /dev/null +++ b/node_modules/webpack/lib/serialization/MapObjectSerializer.js @@ -0,0 +1,47 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php +*/ + +"use strict"; + +/** @typedef {import("./ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */ +/** @typedef {import("./ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */ + +class MapObjectSerializer { + /** + * @template K, V + * @param {Map} obj map + * @param {ObjectSerializerContext} context context + */ + serialize(obj, context) { + context.write(obj.size); + for (const key of obj.keys()) { + context.write(key); + } + for (const value of obj.values()) { + context.write(value); + } + } + /** + * @template K, V + * @param {ObjectDeserializerContext} context context + * @returns {Map} map + */ + deserialize(context) { + /** @type {number} */ + let size = context.read(); + /** @type {Map} */ + const map = new Map(); + /** @type {K[]} */ + const keys = []; + for (let i = 0; i < size; i++) { + keys.push(context.read()); + } + for (let i = 0; i < size; i++) { + map.set(keys[i], context.read()); + } + return map; + } +} + +module.exports = MapObjectSerializer; -- cgit v1.2.3