| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | /*	MIT License http://www.opensource.org/licenses/mit-license.php	Author Tobias Koppers @sokra*/"use strict";const Template = require("../Template");const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDependency");/** @typedef {import("../Module")} Module *//** @typedef {Object} UsedWasmDependency * @property {WebAssemblyImportDependency} dependency the dependency * @property {string} name the export name * @property {string} module the module name */const MANGLED_MODULE = "a";/** * @param {Module} module the module * @param {boolean} mangle mangle module and export names * @returns {UsedWasmDependency[]} used dependencies and (mangled) name */const getUsedDependencies = (module, mangle) => {	/** @type {UsedWasmDependency[]} */	const array = [];	let importIndex = 0;	for (const dep of module.dependencies) {		if (dep instanceof WebAssemblyImportDependency) {			if (dep.description.type === "GlobalType" || dep.module === null) {				continue;			}			const exportName = dep.name;			// TODO add the following 3 lines when removing of ModuleExport is possible			// const importedModule = dep.module;			// const usedName = importedModule && importedModule.isUsed(exportName);			// if (usedName !== false) {			if (mangle) {				array.push({					dependency: dep,					name: Template.numberToIdentifer(importIndex++),					module: MANGLED_MODULE				});			} else {				array.push({					dependency: dep,					name: exportName,					module: dep.request				});			}		}	}	return array;};exports.getUsedDependencies = getUsedDependencies;exports.MANGLED_MODULE = MANGLED_MODULE;
 |