diff options
Diffstat (limited to 'node_modules/webpack/lib/wasm-async/AsyncWebAssemblyGenerator.js')
| -rw-r--r-- | node_modules/webpack/lib/wasm-async/AsyncWebAssemblyGenerator.js | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyGenerator.js b/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyGenerator.js new file mode 100644 index 00000000..b29e8a00 --- /dev/null +++ b/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyGenerator.js @@ -0,0 +1,61 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + +"use strict"; + +const Generator = require("../Generator"); + +/** @typedef {import("webpack-sources").Source} Source */ +/** @typedef {import("../Generator").GenerateContext} GenerateContext */ +/** @typedef {import("../NormalModule")} NormalModule */ + +const TYPES = new Set(["webassembly"]); + +/** + * @typedef {object} AsyncWebAssemblyGeneratorOptions + * @property {boolean} [mangleImports] mangle imports + */ + +class AsyncWebAssemblyGenerator extends Generator { + /** + * @param {AsyncWebAssemblyGeneratorOptions} options options + */ + constructor(options) { + super(); + this.options = options; + } + + /** + * @param {NormalModule} module fresh module + * @returns {Set<string>} available types (do not mutate) + */ + getTypes(module) { + return TYPES; + } + + /** + * @param {NormalModule} module the module + * @param {string=} type source type + * @returns {number} estimate size of the module + */ + getSize(module, type) { + const originalSource = module.originalSource(); + if (!originalSource) { + return 0; + } + return originalSource.size(); + } + + /** + * @param {NormalModule} module module for which the code should be generated + * @param {GenerateContext} generateContext context for generate + * @returns {Source} generated code + */ + generate(module, generateContext) { + return /** @type {Source} */ (module.originalSource()); + } +} + +module.exports = AsyncWebAssemblyGenerator; |
