summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/serialization/PlainObjectSerializer.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-11-05 17:23:37 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-11-05 17:23:37 +0800
commit2cdf0cb352ab6a2d0f8cb25120e4ebc92c5316e3 (patch)
tree6b088c99810bd013f17b80522c936ca6dfc09858 /node_modules/webpack/lib/serialization/PlainObjectSerializer.js
parentf8ee6ef722e6c560c4a1c879e04dbdf0b01f0316 (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.js91
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;