summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-11-01 20:49:36 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-11-01 20:49:36 +0800
commite99f950f5018cfe737c0d1150e50d97c6e6a4823 (patch)
tree16f329a1b22128ed67f3fcae15a9b0a030f2ccbf /node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js
parentc5d8a744dd584749e0b920119b42e731e37e5f62 (diff)
update
Diffstat (limited to 'node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js')
-rw-r--r--node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js82
1 files changed, 0 insertions, 82 deletions
diff --git a/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js b/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js
deleted file mode 100644
index 4a9632cb..00000000
--- a/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-
-"use strict";
-
-const t = require("@webassemblyjs/ast");
-const { decode } = require("@webassemblyjs/wasm-parser");
-const Parser = require("../Parser");
-const StaticExportsDependency = require("../dependencies/StaticExportsDependency");
-const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDependency");
-
-/** @typedef {import("../Module").BuildInfo} BuildInfo */
-/** @typedef {import("../Module").BuildMeta} BuildMeta */
-/** @typedef {import("../Parser").ParserState} ParserState */
-/** @typedef {import("../Parser").PreparsedAst} PreparsedAst */
-
-const decoderOpts = {
- ignoreCodeSection: true,
- ignoreDataSection: true,
-
- // this will avoid having to lookup with identifiers in the ModuleContext
- ignoreCustomNameSection: true
-};
-
-class WebAssemblyParser extends Parser {
- /**
- * @param {{}=} options parser options
- */
- constructor(options) {
- super();
- this.hooks = Object.freeze({});
- this.options = options;
- }
-
- /**
- * @param {string | Buffer | PreparsedAst} source the source to parse
- * @param {ParserState} state the parser state
- * @returns {ParserState} the parser state
- */
- parse(source, state) {
- if (!Buffer.isBuffer(source)) {
- throw new Error("WebAssemblyParser input must be a Buffer");
- }
-
- // flag it as async module
- const buildInfo = /** @type {BuildInfo} */ (state.module.buildInfo);
- buildInfo.strict = true;
- const BuildMeta = /** @type {BuildMeta} */ (state.module.buildMeta);
- BuildMeta.exportsType = "namespace";
- BuildMeta.async = true;
-
- // parse it
- const program = decode(source, decoderOpts);
- const module = program.body[0];
- /** @type {Array<string>} */
- const exports = [];
- t.traverse(module, {
- ModuleExport({ node }) {
- exports.push(node.name);
- },
-
- ModuleImport({ node }) {
- const dep = new WebAssemblyImportDependency(
- node.module,
- node.name,
- node.descr,
- false
- );
-
- state.module.addDependency(dep);
- }
- });
-
- state.module.addDependency(new StaticExportsDependency(exports, false));
-
- return state;
- }
-}
-
-module.exports = WebAssemblyParser;