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/CodeGenerationResults.js | 35 +++++++++++++++++++++++++++++++----
1 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/node_modules/webpack/lib/CodeGenerationResults.js b/node_modules/webpack/lib/CodeGenerationResults.js
index 89ff0ab..cf5c787 100644
--- a/node_modules/webpack/lib/CodeGenerationResults.js
+++ b/node_modules/webpack/lib/CodeGenerationResults.js
@@ -13,23 +13,33 @@
/** @typedef {import("webpack-sources").Source} Source */
/** @typedef {import("./Module")} Module */
+/** @typedef {import("./Module").SourceType} SourceType */
/** @typedef {import("./Module").CodeGenerationResult} CodeGenerationResult */
/** @typedef {import("./Module").CodeGenerationResultData} CodeGenerationResultData */
/** @typedef {import("./Module").ReadOnlyRuntimeRequirements} ReadOnlyRuntimeRequirements */
-/** @typedef {typeof import("./util/Hash")} Hash */
+/** @typedef {import("./util/Hash").HashFunction} HashFunction */
/** @typedef {import("./util/runtime").RuntimeSpec} RuntimeSpec */
+/**
+ * Stores code generation results keyed by module and runtime so later stages
+ * can retrieve emitted sources, metadata, and derived hashes.
+ */
class CodeGenerationResults {
/**
- * @param {string | Hash} hashFunction the hash function to use
+ * Initializes an empty result store and remembers which hash function should
+ * be used when a result hash needs to be derived lazily.
+ * @param {HashFunction} hashFunction the hash function to use
*/
constructor(hashFunction = DEFAULTS.HASH_FUNCTION) {
/** @type {Map<Module, RuntimeSpecMap<CodeGenerationResult>>} */
this.map = new Map();
+ /** @type {HashFunction} */
this._hashFunction = hashFunction;
}
/**
+ * Returns the code generation result for a module/runtime pair, rejecting
+ * ambiguous lookups where no unique runtime-independent result exists.
* @param {Module} module the module
* @param {RuntimeSpec} runtime runtime(s)
* @returns {CodeGenerationResult} the CodeGenerationResult
@@ -75,6 +85,8 @@
}
/**
+ * Reports whether a module has a stored result for the requested runtime, or
+ * a single unambiguous result when no runtime is specified.
* @param {Module} module the module
* @param {RuntimeSpec} runtime runtime(s)
* @returns {boolean} true, when we have data for this
@@ -94,9 +106,11 @@
}
/**
+ * Returns a generated source of the requested source type from a stored code
+ * generation result.
* @param {Module} module the module
* @param {RuntimeSpec} runtime runtime(s)
- * @param {string} sourceType the source type
+ * @param {SourceType} sourceType the source type
* @returns {Source} a source
*/
getSource(module, runtime, sourceType) {
@@ -106,6 +120,8 @@
}
/**
+ * Returns the runtime requirements captured during code generation for the
+ * requested module/runtime pair.
* @param {Module} module the module
* @param {RuntimeSpec} runtime runtime(s)
* @returns {ReadOnlyRuntimeRequirements | null} runtime requirements
@@ -115,6 +131,7 @@
}
/**
+ * Returns an arbitrary metadata entry recorded during code generation.
* @param {Module} module the module
* @param {RuntimeSpec} runtime runtime(s)
* @param {string} key data key
@@ -126,6 +143,8 @@
}
/**
+ * Returns a stable hash for the generated sources and runtime requirements,
+ * computing and caching it on first access.
* @param {Module} module the module
* @param {RuntimeSpec} runtime runtime(s)
* @returns {string} hash of the code generation
@@ -145,13 +164,21 @@
}
/**
+ * Stores a code generation result for a module/runtime pair, creating the
+ * per-module runtime map when needed.
* @param {Module} module the module
* @param {RuntimeSpec} runtime runtime(s)
* @param {CodeGenerationResult} result result from module
* @returns {void}
*/
add(module, runtime, result) {
- const map = getOrInsert(this.map, module, () => new RuntimeSpecMap());
+ const map = getOrInsert(
+ this.map,
+ module,
+ () =>
+ /** @type {RuntimeSpecMap<CodeGenerationResult>} */
+ new RuntimeSpecMap()
+ );
map.set(runtime, result);
}
}
--
Gitblit v1.9.3