diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2023-11-05 17:23:37 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2023-11-05 17:23:37 +0800 |
| commit | 2cdf0cb352ab6a2d0f8cb25120e4ebc92c5316e3 (patch) | |
| tree | 6b088c99810bd013f17b80522c936ca6dfc09858 /node_modules/webpack/lib/serialization/PlainObjectSerializer.js | |
| parent | f8ee6ef722e6c560c4a1c879e04dbdf0b01f0316 (diff) | |
removed autoprefix hover as it will have a high chance of making hover stopped working
Diffstat (limited to 'node_modules/webpack/lib/serialization/PlainObjectSerializer.js')
| -rw-r--r-- | node_modules/webpack/lib/serialization/PlainObjectSerializer.js | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/node_modules/webpack/lib/serialization/PlainObjectSerializer.js b/node_modules/webpack/lib/serialization/PlainObjectSerializer.js deleted file mode 100644 index b10ff555..00000000 --- a/node_modules/webpack/lib/serialization/PlainObjectSerializer.js +++ /dev/null @@ -1,91 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php -*/ - -"use strict"; - -/** @typedef {import("./ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */ -/** @typedef {import("./ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */ - -const cache = new WeakMap(); - -class ObjectStructure { - constructor() { - this.keys = undefined; - this.children = undefined; - } - - getKeys(keys) { - if (this.keys === undefined) this.keys = keys; - return this.keys; - } - - key(key) { - if (this.children === undefined) this.children = new Map(); - const child = this.children.get(key); - if (child !== undefined) return child; - const newChild = new ObjectStructure(); - this.children.set(key, newChild); - return newChild; - } -} - -const getCachedKeys = (keys, cacheAssoc) => { - let root = cache.get(cacheAssoc); - if (root === undefined) { - root = new ObjectStructure(); - cache.set(cacheAssoc, root); - } - let current = root; - for (const key of keys) { - current = current.key(key); - } - return current.getKeys(keys); -}; - -class PlainObjectSerializer { - /** - * @param {Object} obj plain object - * @param {ObjectSerializerContext} context context - */ - serialize(obj, context) { - const keys = Object.keys(obj); - if (keys.length > 128) { - // Objects with so many keys are unlikely to share structure - // with other objects - context.write(keys); - for (const key of keys) { - context.write(obj[key]); - } - } else if (keys.length > 1) { - context.write(getCachedKeys(keys, context.write)); - for (const key of keys) { - context.write(obj[key]); - } - } else if (keys.length === 1) { - const key = keys[0]; - context.write(key); - context.write(obj[key]); - } else { - context.write(null); - } - } - /** - * @param {ObjectDeserializerContext} context context - * @returns {Object} plain object - */ - deserialize(context) { - const keys = context.read(); - const obj = {}; - if (Array.isArray(keys)) { - for (const key of keys) { - obj[key] = context.read(); - } - } else if (keys !== null) { - obj[keys] = context.read(); - } - return obj; - } -} - -module.exports = PlainObjectSerializer; |
