| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 
							- /*
 
- 	MIT License http://www.opensource.org/licenses/mit-license.php
 
- */
 
- "use strict";
 
- const RuntimeGlobals = require("../RuntimeGlobals");
 
- const RuntimeModule = require("../RuntimeModule");
 
- const Template = require("../Template");
 
- /** @typedef {import("../Compilation")} Compilation */
 
- /** @typedef {import("../RuntimeTemplate")} RuntimeTemplate */
 
- class ChunkPrefetchTriggerRuntimeModule extends RuntimeModule {
 
- 	/**
 
- 	 * @param {Record<string|number, (string|number)[]>} chunkMap map from chunk to
 
- 	 */
 
- 	constructor(chunkMap) {
 
- 		super("chunk prefetch trigger", RuntimeModule.STAGE_TRIGGER);
 
- 		this.chunkMap = chunkMap;
 
- 	}
 
- 	/**
 
- 	 * @returns {string | null} runtime code
 
- 	 */
 
- 	generate() {
 
- 		const { chunkMap } = this;
 
- 		const compilation = /** @type {Compilation} */ (this.compilation);
 
- 		const { runtimeTemplate } = compilation;
 
- 		const body = [
 
- 			"var chunks = chunkToChildrenMap[chunkId];",
 
- 			`Array.isArray(chunks) && chunks.map(${RuntimeGlobals.prefetchChunk});`
 
- 		];
 
- 		return Template.asString([
 
- 			Template.asString([
 
- 				`var chunkToChildrenMap = ${JSON.stringify(chunkMap, null, "\t")};`,
 
- 				`${
 
- 					RuntimeGlobals.ensureChunkHandlers
 
- 				}.prefetch = ${runtimeTemplate.expressionFunction(
 
- 					`Promise.all(promises).then(${runtimeTemplate.basicFunction(
 
- 						"",
 
- 						body
 
- 					)})`,
 
- 					"chunkId, promises"
 
- 				)};`
 
- 			])
 
- 		]);
 
- 	}
 
- }
 
- module.exports = ChunkPrefetchTriggerRuntimeModule;
 
 
  |