| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | /*	MIT License http://www.opensource.org/licenses/mit-license.php*/"use strict";const RuntimeGlobals = require("../RuntimeGlobals");const RuntimeModule = require("../RuntimeModule");/** @typedef {import("../MainTemplate")} MainTemplate */class StartupEntrypointRuntimeModule extends RuntimeModule {	constructor(asyncChunkLoading) {		super("startup entrypoint");		this.asyncChunkLoading = asyncChunkLoading;	}	/**	 * @returns {string} runtime code	 */	generate() {		const { compilation } = this;		const { runtimeTemplate } = compilation;		return `${			RuntimeGlobals.startupEntrypoint		} = ${runtimeTemplate.basicFunction("result, chunkIds, fn", [			"// arguments: chunkIds, moduleId are deprecated",			"var moduleId = chunkIds;",			`if(!fn) chunkIds = result, fn = ${runtimeTemplate.returningFunction(				`__webpack_require__(${RuntimeGlobals.entryModuleId} = moduleId)`			)};`,			...(this.asyncChunkLoading				? [						`return Promise.all(chunkIds.map(${							RuntimeGlobals.ensureChunk						}, __webpack_require__)).then(${runtimeTemplate.basicFunction("", [							"var r = fn();",							"return r === undefined ? result : r;"						])})`				  ]				: [						`chunkIds.map(${RuntimeGlobals.ensureChunk}, __webpack_require__)`,						"var r = fn();",						"return r === undefined ? result : r;"				  ])		])}`;	}}module.exports = StartupEntrypointRuntimeModule;
 |