From 9bce51f651aad297ef9eb6df832bfdaf1de05d84 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 22 四月 2026 14:27:54 +0800
Subject: [PATCH] 青岛推送

---
 node_modules/webpack/lib/util/LazyBucketSortedSet.js |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/node_modules/webpack/lib/util/LazyBucketSortedSet.js b/node_modules/webpack/lib/util/LazyBucketSortedSet.js
index 2618875..e2bbc89 100644
--- a/node_modules/webpack/lib/util/LazyBucketSortedSet.js
+++ b/node_modules/webpack/lib/util/LazyBucketSortedSet.js
@@ -9,23 +9,28 @@
 const SortableSet = require("./SortableSet");
 
 /**
+ * Callback that extracts the grouping key for an item at one bucket layer.
  * @template T
  * @template K
  * @typedef {(item: T) => K} GetKey
  */
 
 /**
+ * Comparison function used to order keys or leaf items.
  * @template T
  * @typedef {(a: T, n: T) => number} Comparator
  */
 
 /**
+ * Internal bucket entry, either another nested bucket set or a sorted leaf set.
  * @template T
  * @template K
  * @typedef {LazyBucketSortedSet<T, K> | SortableSet<T>} Entry
  */
 
 /**
+ * Constructor argument accepted for nested bucket layers or the final leaf
+ * comparator.
  * @template T
  * @template K
  * @typedef {GetKey<T, K> | Comparator<K> | Comparator<T>} Arg
@@ -45,6 +50,8 @@
  */
 class LazyBucketSortedSet {
 	/**
+	 * Creates a lazily sorted, potentially multi-level bucket structure whose
+	 * order is only fully resolved when items are popped.
 	 * @param {GetKey<T, K>} getKey function to get key from item
 	 * @param {Comparator<K>=} comparator comparator to sort keys
 	 * @param {...Arg<T, K>} args more pairs of getKey and comparator plus optional final comparator for the last layer
@@ -56,11 +63,14 @@
 		this._keys = new SortableSet(undefined, comparator);
 		/** @type {Map<K, Entry<T, K>>} */
 		this._map = new Map();
+		/** @type {Set<T>} */
 		this._unsortedItems = new Set();
 		this.size = 0;
 	}
 
 	/**
+	 * Adds an item to the unsorted staging area so sorting can be deferred until
+	 * an ordered pop is requested.
 	 * @param {T} item an item
 	 * @returns {void}
 	 */
@@ -70,6 +80,8 @@
 	}
 
 	/**
+	 * Inserts an item into the correct nested bucket, creating intermediate
+	 * bucket structures on demand.
 	 * @param {K} key key of item
 	 * @param {T} item the item
 	 * @returns {void}
@@ -94,6 +106,8 @@
 	}
 
 	/**
+	 * Removes an item from either the unsorted staging area or its resolved
+	 * bucket and prunes empty buckets as needed.
 	 * @param {T} item an item
 	 * @returns {void}
 	 */
@@ -112,6 +126,7 @@
 	}
 
 	/**
+	 * Removes an empty bucket key and its corresponding nested entry.
 	 * @param {K} key key to be removed
 	 * @returns {void}
 	 */
@@ -121,6 +136,8 @@
 	}
 
 	/**
+	 * Removes and returns the smallest item according to the configured bucket
+	 * order, sorting only the portions of the structure that are needed.
 	 * @returns {T | undefined} an item
 	 */
 	popFirst() {
@@ -157,6 +174,8 @@
 	}
 
 	/**
+	 * Begins an in-place update for an item and returns a completion callback
+	 * that can either reinsert it under a new key or remove it entirely.
 	 * @param {T} item to be updated item
 	 * @returns {(remove?: true) => void} finish update
 	 */
@@ -221,6 +240,8 @@
 	}
 
 	/**
+	 * Appends iterators for every stored bucket and leaf to support unordered
+	 * traversal across the entire structure.
 	 * @param {Iterator<T>[]} iterators list of iterators to append to
 	 * @returns {void}
 	 */
@@ -244,6 +265,7 @@
 	}
 
 	/**
+	 * Iterates over all stored items without imposing bucket sort order.
 	 * @returns {Iterator<T>} the iterator
 	 */
 	[Symbol.iterator]() {

--
Gitblit v1.9.3