diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2023-11-05 17:23:37 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2023-11-05 17:23:37 +0800 |
| commit | 2cdf0cb352ab6a2d0f8cb25120e4ebc92c5316e3 (patch) | |
| tree | 6b088c99810bd013f17b80522c936ca6dfc09858 /node_modules/@webassemblyjs | |
| parent | f8ee6ef722e6c560c4a1c879e04dbdf0b01f0316 (diff) | |
removed autoprefix hover as it will have a high chance of making hover stopped working
Diffstat (limited to 'node_modules/@webassemblyjs')
75 files changed, 0 insertions, 11251 deletions
diff --git a/node_modules/@webassemblyjs/ast/README.md b/node_modules/@webassemblyjs/ast/README.md deleted file mode 100644 index 75602446..00000000 --- a/node_modules/@webassemblyjs/ast/README.md +++ /dev/null @@ -1,167 +0,0 @@ -# @webassemblyjs/ast - -> AST utils for webassemblyjs - -## Installation - -```sh -yarn add @webassemblyjs/ast -``` - -## Usage - -### Traverse - -```js -import { traverse } from "@webassemblyjs/ast"; - -traverse(ast, { - Module(path) { - console.log(path.node); - } -}); -``` - -### Instruction signatures - -```js -import { signatures } from "@webassemblyjs/ast"; - -console.log(signatures); -``` - -### Path methods - -- `findParent: NodeLocator` -- `replaceWith: Node => void` -- `remove: () => void` -- `insertBefore: Node => void` -- `insertAfter: Node => void` -- `stop: () => void` - -### AST utils - -- function `module(id, fields, metadata)` -- function `moduleMetadata(sections, functionNames, localNames)` -- function `moduleNameMetadata(value)` -- function `functionNameMetadata(value, index)` -- function `localNameMetadata(value, localIndex, functionIndex)` -- function `binaryModule(id, blob)` -- function `quoteModule(id, string)` -- function `sectionMetadata(section, startOffset, size, vectorOfSize)` -- function `loopInstruction(label, resulttype, instr)` -- function `instruction(id, args, namedArgs)` -- function `objectInstruction(id, object, args, namedArgs)` -- function `ifInstruction(testLabel, test, result, consequent, alternate)` -- function `stringLiteral(value)` -- function `numberLiteralFromRaw(value, raw)` -- function `longNumberLiteral(value, raw)` -- function `floatLiteral(value, nan, inf, raw)` -- function `elem(table, offset, funcs)` -- function `indexInFuncSection(index)` -- function `valtypeLiteral(name)` -- function `typeInstruction(id, functype)` -- function `start(index)` -- function `globalType(valtype, mutability)` -- function `leadingComment(value)` -- function `blockComment(value)` -- function `data(memoryIndex, offset, init)` -- function `global(globalType, init, name)` -- function `table(elementType, limits, name, elements)` -- function `memory(limits, id)` -- function `funcImportDescr(id, signature)` -- function `moduleImport(module, name, descr)` -- function `moduleExportDescr(exportType, id)` -- function `moduleExport(name, descr)` -- function `limit(min, max)` -- function `signature(params, results)` -- function `program(body)` -- function `identifier(value, raw)` -- function `blockInstruction(label, instr, result)` -- function `callInstruction(index, instrArgs)` -- function `callIndirectInstruction(signature, intrs)` -- function `byteArray(values)` -- function `func(name, signature, body, isExternal, metadata)` -- Constant`isModule` -- Constant`isModuleMetadata` -- Constant`isModuleNameMetadata` -- Constant`isFunctionNameMetadata` -- Constant`isLocalNameMetadata` -- Constant`isBinaryModule` -- Constant`isQuoteModule` -- Constant`isSectionMetadata` -- Constant`isLoopInstruction` -- Constant`isInstruction` -- Constant`isObjectInstruction` -- Constant`isIfInstruction` -- Constant`isStringLiteral` -- Constant`isNumberLiteral` -- Constant`isLongNumberLiteral` -- Constant`isFloatLiteral` -- Constant`isElem` -- Constant`isIndexInFuncSection` -- Constant`isValtypeLiteral` -- Constant`isTypeInstruction` -- Constant`isStart` -- Constant`isGlobalType` -- Constant`isLeadingComment` -- Constant`isBlockComment` -- Constant`isData` -- Constant`isGlobal` -- Constant`isTable` -- Constant`isMemory` -- Constant`isFuncImportDescr` -- Constant`isModuleImport` -- Constant`isModuleExportDescr` -- Constant`isModuleExport` -- Constant`isLimit` -- Constant`isSignature` -- Constant`isProgram` -- Constant`isIdentifier` -- Constant`isBlockInstruction` -- Constant`isCallInstruction` -- Constant`isCallIndirectInstruction` -- Constant`isByteArray` -- Constant`isFunc` -- Constant`assertModule` -- Constant`assertModuleMetadata` -- Constant`assertModuleNameMetadata` -- Constant`assertFunctionNameMetadata` -- Constant`assertLocalNameMetadata` -- Constant`assertBinaryModule` -- Constant`assertQuoteModule` -- Constant`assertSectionMetadata` -- Constant`assertLoopInstruction` -- Constant`assertInstruction` -- Constant`assertObjectInstruction` -- Constant`assertIfInstruction` -- Constant`assertStringLiteral` -- Constant`assertNumberLiteral` -- Constant`assertLongNumberLiteral` -- Constant`assertFloatLiteral` -- Constant`assertElem` -- Constant`assertIndexInFuncSection` -- Constant`assertValtypeLiteral` -- Constant`assertTypeInstruction` -- Constant`assertStart` -- Constant`assertGlobalType` -- Constant`assertLeadingComment` -- Constant`assertBlockComment` -- Constant`assertData` -- Constant`assertGlobal` -- Constant`assertTable` -- Constant`assertMemory` -- Constant`assertFuncImportDescr` -- Constant`assertModuleImport` -- Constant`assertModuleExportDescr` -- Constant`assertModuleExport` -- Constant`assertLimit` -- Constant`assertSignature` -- Constant`assertProgram` -- Constant`assertIdentifier` -- Constant`assertBlockInstruction` -- Constant`assertCallInstruction` -- Constant`assertCallIndirectInstruction` -- Constant`assertByteArray` -- Constant`assertFunc` - diff --git a/node_modules/@webassemblyjs/ast/lib/clone.js b/node_modules/@webassemblyjs/ast/lib/clone.js deleted file mode 100644 index a27218b4..00000000 --- a/node_modules/@webassemblyjs/ast/lib/clone.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.cloneNode = cloneNode; - -function cloneNode(n) { - // $FlowIgnore - return Object.assign({}, n); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/definitions.js b/node_modules/@webassemblyjs/ast/lib/definitions.js deleted file mode 100644 index 83a838ca..00000000 --- a/node_modules/@webassemblyjs/ast/lib/definitions.js +++ /dev/null @@ -1,670 +0,0 @@ -"use strict"; - -var definitions = {}; - -function defineType(typeName, metadata) { - definitions[typeName] = metadata; -} - -defineType("Module", { - spec: { - wasm: "https://webassembly.github.io/spec/core/binary/modules.html#binary-module", - wat: "https://webassembly.github.io/spec/core/text/modules.html#text-module" - }, - doc: "A module consists of a sequence of sections (termed fields in the text format).", - unionType: ["Node"], - fields: { - id: { - maybe: true, - type: "string" - }, - fields: { - array: true, - type: "Node" - }, - metadata: { - optional: true, - type: "ModuleMetadata" - } - } -}); -defineType("ModuleMetadata", { - unionType: ["Node"], - fields: { - sections: { - array: true, - type: "SectionMetadata" - }, - functionNames: { - optional: true, - array: true, - type: "FunctionNameMetadata" - }, - localNames: { - optional: true, - array: true, - type: "ModuleMetadata" - }, - producers: { - optional: true, - array: true, - type: "ProducersSectionMetadata" - } - } -}); -defineType("ModuleNameMetadata", { - unionType: ["Node"], - fields: { - value: { - type: "string" - } - } -}); -defineType("FunctionNameMetadata", { - unionType: ["Node"], - fields: { - value: { - type: "string" - }, - index: { - type: "number" - } - } -}); -defineType("LocalNameMetadata", { - unionType: ["Node"], - fields: { - value: { - type: "string" - }, - localIndex: { - type: "number" - }, - functionIndex: { - type: "number" - } - } -}); -defineType("BinaryModule", { - unionType: ["Node"], - fields: { - id: { - maybe: true, - type: "string" - }, - blob: { - array: true, - type: "string" - } - } -}); -defineType("QuoteModule", { - unionType: ["Node"], - fields: { - id: { - maybe: true, - type: "string" - }, - string: { - array: true, - type: "string" - } - } -}); -defineType("SectionMetadata", { - unionType: ["Node"], - fields: { - section: { - type: "SectionName" - }, - startOffset: { - type: "number" - }, - size: { - type: "NumberLiteral" - }, - vectorOfSize: { - comment: "Size of the vector in the section (if any)", - type: "NumberLiteral" - } - } -}); -defineType("ProducersSectionMetadata", { - unionType: ["Node"], - fields: { - producers: { - array: true, - type: "ProducerMetadata" - } - } -}); -defineType("ProducerMetadata", { - unionType: ["Node"], - fields: { - language: { - type: "ProducerMetadataVersionedName", - array: true - }, - processedBy: { - type: "ProducerMetadataVersionedName", - array: true - }, - sdk: { - type: "ProducerMetadataVersionedName", - array: true - } - } -}); -defineType("ProducerMetadataVersionedName", { - unionType: ["Node"], - fields: { - name: { - type: "string" - }, - version: { - type: "string" - } - } -}); -/* -Instructions -*/ - -defineType("LoopInstruction", { - unionType: ["Node", "Block", "Instruction"], - fields: { - id: { - constant: true, - type: "string", - value: "loop" - }, - label: { - maybe: true, - type: "Identifier" - }, - resulttype: { - maybe: true, - type: "Valtype" - }, - instr: { - array: true, - type: "Instruction" - } - } -}); -defineType("Instr", { - unionType: ["Node", "Expression", "Instruction"], - fields: { - id: { - type: "string" - }, - object: { - optional: true, - type: "Valtype" - }, - args: { - array: true, - type: "Expression" - }, - namedArgs: { - optional: true, - type: "Object" - } - } -}); -defineType("IfInstruction", { - unionType: ["Node", "Instruction"], - fields: { - id: { - constant: true, - type: "string", - value: "if" - }, - testLabel: { - comment: "only for WAST", - type: "Identifier" - }, - test: { - array: true, - type: "Instruction" - }, - result: { - maybe: true, - type: "Valtype" - }, - consequent: { - array: true, - type: "Instruction" - }, - alternate: { - array: true, - type: "Instruction" - } - } -}); -/* -Concrete value types -*/ - -defineType("StringLiteral", { - unionType: ["Node", "Expression"], - fields: { - value: { - type: "string" - } - } -}); -defineType("NumberLiteral", { - unionType: ["Node", "NumericLiteral", "Expression"], - fields: { - value: { - type: "number" - }, - raw: { - type: "string" - } - } -}); -defineType("LongNumberLiteral", { - unionType: ["Node", "NumericLiteral", "Expression"], - fields: { - value: { - type: "LongNumber" - }, - raw: { - type: "string" - } - } -}); -defineType("FloatLiteral", { - unionType: ["Node", "NumericLiteral", "Expression"], - fields: { - value: { - type: "number" - }, - nan: { - optional: true, - type: "boolean" - }, - inf: { - optional: true, - type: "boolean" - }, - raw: { - type: "string" - } - } -}); -defineType("Elem", { - unionType: ["Node"], - fields: { - table: { - type: "Index" - }, - offset: { - array: true, - type: "Instruction" - }, - funcs: { - array: true, - type: "Index" - } - } -}); -defineType("IndexInFuncSection", { - unionType: ["Node"], - fields: { - index: { - type: "Index" - } - } -}); -defineType("ValtypeLiteral", { - unionType: ["Node", "Expression"], - fields: { - name: { - type: "Valtype" - } - } -}); -defineType("TypeInstruction", { - unionType: ["Node", "Instruction"], - fields: { - id: { - maybe: true, - type: "Index" - }, - functype: { - type: "Signature" - } - } -}); -defineType("Start", { - unionType: ["Node"], - fields: { - index: { - type: "Index" - } - } -}); -defineType("GlobalType", { - unionType: ["Node", "ImportDescr"], - fields: { - valtype: { - type: "Valtype" - }, - mutability: { - type: "Mutability" - } - } -}); -defineType("LeadingComment", { - unionType: ["Node"], - fields: { - value: { - type: "string" - } - } -}); -defineType("BlockComment", { - unionType: ["Node"], - fields: { - value: { - type: "string" - } - } -}); -defineType("Data", { - unionType: ["Node"], - fields: { - memoryIndex: { - type: "Memidx" - }, - offset: { - type: "Instruction" - }, - init: { - type: "ByteArray" - } - } -}); -defineType("Global", { - unionType: ["Node"], - fields: { - globalType: { - type: "GlobalType" - }, - init: { - array: true, - type: "Instruction" - }, - name: { - maybe: true, - type: "Identifier" - } - } -}); -defineType("Table", { - unionType: ["Node", "ImportDescr"], - fields: { - elementType: { - type: "TableElementType" - }, - limits: { - assertNodeType: true, - type: "Limit" - }, - name: { - maybe: true, - type: "Identifier" - }, - elements: { - array: true, - optional: true, - type: "Index" - } - } -}); -defineType("Memory", { - unionType: ["Node", "ImportDescr"], - fields: { - limits: { - type: "Limit" - }, - id: { - maybe: true, - type: "Index" - } - } -}); -defineType("FuncImportDescr", { - unionType: ["Node", "ImportDescr"], - fields: { - id: { - type: "Identifier" - }, - signature: { - type: "Signature" - } - } -}); -defineType("ModuleImport", { - unionType: ["Node"], - fields: { - module: { - type: "string" - }, - name: { - type: "string" - }, - descr: { - type: "ImportDescr" - } - } -}); -defineType("ModuleExportDescr", { - unionType: ["Node"], - fields: { - exportType: { - type: "ExportDescrType" - }, - id: { - type: "Index" - } - } -}); -defineType("ModuleExport", { - unionType: ["Node"], - fields: { - name: { - type: "string" - }, - descr: { - type: "ModuleExportDescr" - } - } -}); -defineType("Limit", { - unionType: ["Node"], - fields: { - min: { - type: "number" - }, - max: { - optional: true, - type: "number" - }, - // Threads proposal, shared memory - shared: { - optional: true, - type: "boolean" - } - } -}); -defineType("Signature", { - unionType: ["Node"], - fields: { - params: { - array: true, - type: "FuncParam" - }, - results: { - array: true, - type: "Valtype" - } - } -}); -defineType("Program", { - unionType: ["Node"], - fields: { - body: { - array: true, - type: "Node" - } - } -}); -defineType("Identifier", { - unionType: ["Node", "Expression"], - fields: { - value: { - type: "string" - }, - raw: { - optional: true, - type: "string" - } - } -}); -defineType("BlockInstruction", { - unionType: ["Node", "Block", "Instruction"], - fields: { - id: { - constant: true, - type: "string", - value: "block" - }, - label: { - maybe: true, - type: "Identifier" - }, - instr: { - array: true, - type: "Instruction" - }, - result: { - maybe: true, - type: "Valtype" - } - } -}); -defineType("CallInstruction", { - unionType: ["Node", "Instruction"], - fields: { - id: { - constant: true, - type: "string", - value: "call" - }, - index: { - type: "Index" - }, - instrArgs: { - array: true, - optional: true, - type: "Expression" - }, - numeric: { - type: "Index", - optional: true - } - } -}); -defineType("CallIndirectInstruction", { - unionType: ["Node", "Instruction"], - fields: { - id: { - constant: true, - type: "string", - value: "call_indirect" - }, - signature: { - type: "SignatureOrTypeRef" - }, - intrs: { - array: true, - optional: true, - type: "Expression" - } - } -}); -defineType("ByteArray", { - unionType: ["Node"], - fields: { - values: { - array: true, - type: "Byte" - } - } -}); -defineType("Func", { - unionType: ["Node", "Block"], - fields: { - name: { - maybe: true, - type: "Index" - }, - signature: { - type: "SignatureOrTypeRef" - }, - body: { - array: true, - type: "Instruction" - }, - isExternal: { - comment: "means that it has been imported from the outside js", - optional: true, - type: "boolean" - }, - metadata: { - optional: true, - type: "FuncMetadata" - } - } -}); -/** - * Intrinsics - */ - -defineType("InternalBrUnless", { - unionType: ["Node", "Intrinsic"], - fields: { - target: { - type: "number" - } - } -}); -defineType("InternalGoto", { - unionType: ["Node", "Intrinsic"], - fields: { - target: { - type: "number" - } - } -}); -defineType("InternalCallExtern", { - unionType: ["Node", "Intrinsic"], - fields: { - target: { - type: "number" - } - } -}); // function bodies are terminated by an `end` instruction but are missing a -// return instruction -// -// Since we can't inject a new instruction we are injecting a new instruction. - -defineType("InternalEndAndReturn", { - unionType: ["Node", "Intrinsic"], - fields: {} -}); -module.exports = definitions;
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/index.js b/node_modules/@webassemblyjs/ast/lib/index.js deleted file mode 100644 index 03c21dd8..00000000 --- a/node_modules/@webassemblyjs/ast/lib/index.js +++ /dev/null @@ -1,129 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _exportNames = { - numberLiteralFromRaw: true, - withLoc: true, - withRaw: true, - funcParam: true, - indexLiteral: true, - memIndexLiteral: true, - instruction: true, - objectInstruction: true, - traverse: true, - signatures: true, - cloneNode: true, - moduleContextFromModuleAST: true -}; -Object.defineProperty(exports, "numberLiteralFromRaw", { - enumerable: true, - get: function get() { - return _nodeHelpers.numberLiteralFromRaw; - } -}); -Object.defineProperty(exports, "withLoc", { - enumerable: true, - get: function get() { - return _nodeHelpers.withLoc; - } -}); -Object.defineProperty(exports, "withRaw", { - enumerable: true, - get: function get() { - return _nodeHelpers.withRaw; - } -}); -Object.defineProperty(exports, "funcParam", { - enumerable: true, - get: function get() { - return _nodeHelpers.funcParam; - } -}); -Object.defineProperty(exports, "indexLiteral", { - enumerable: true, - get: function get() { - return _nodeHelpers.indexLiteral; - } -}); -Object.defineProperty(exports, "memIndexLiteral", { - enumerable: true, - get: function get() { - return _nodeHelpers.memIndexLiteral; - } -}); -Object.defineProperty(exports, "instruction", { - enumerable: true, - get: function get() { - return _nodeHelpers.instruction; - } -}); -Object.defineProperty(exports, "objectInstruction", { - enumerable: true, - get: function get() { - return _nodeHelpers.objectInstruction; - } -}); -Object.defineProperty(exports, "traverse", { - enumerable: true, - get: function get() { - return _traverse.traverse; - } -}); -Object.defineProperty(exports, "signatures", { - enumerable: true, - get: function get() { - return _signatures.signatures; - } -}); -Object.defineProperty(exports, "cloneNode", { - enumerable: true, - get: function get() { - return _clone.cloneNode; - } -}); -Object.defineProperty(exports, "moduleContextFromModuleAST", { - enumerable: true, - get: function get() { - return _astModuleToModuleContext.moduleContextFromModuleAST; - } -}); - -var _nodes = require("./nodes"); - -Object.keys(_nodes).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - if (key in exports && exports[key] === _nodes[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _nodes[key]; - } - }); -}); - -var _nodeHelpers = require("./node-helpers.js"); - -var _traverse = require("./traverse"); - -var _signatures = require("./signatures"); - -var _utils = require("./utils"); - -Object.keys(_utils).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - if (key in exports && exports[key] === _utils[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _utils[key]; - } - }); -}); - -var _clone = require("./clone"); - -var _astModuleToModuleContext = require("./transform/ast-module-to-module-context");
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/node-helpers.js b/node_modules/@webassemblyjs/ast/lib/node-helpers.js deleted file mode 100644 index 73c59594..00000000 --- a/node_modules/@webassemblyjs/ast/lib/node-helpers.js +++ /dev/null @@ -1,107 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.numberLiteralFromRaw = numberLiteralFromRaw; -exports.instruction = instruction; -exports.objectInstruction = objectInstruction; -exports.withLoc = withLoc; -exports.withRaw = withRaw; -exports.funcParam = funcParam; -exports.indexLiteral = indexLiteral; -exports.memIndexLiteral = memIndexLiteral; - -var _helperNumbers = require("@webassemblyjs/helper-numbers"); - -var _nodes = require("./nodes"); - -function numberLiteralFromRaw(rawValue) { - var instructionType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "i32"; - var original = rawValue; // Remove numeric separators _ - - if (typeof rawValue === "string") { - rawValue = rawValue.replace(/_/g, ""); - } - - if (typeof rawValue === "number") { - return (0, _nodes.numberLiteral)(rawValue, String(original)); - } else { - switch (instructionType) { - case "i32": - { - return (0, _nodes.numberLiteral)((0, _helperNumbers.parse32I)(rawValue), String(original)); - } - - case "u32": - { - return (0, _nodes.numberLiteral)((0, _helperNumbers.parseU32)(rawValue), String(original)); - } - - case "i64": - { - return (0, _nodes.longNumberLiteral)((0, _helperNumbers.parse64I)(rawValue), String(original)); - } - - case "f32": - { - return (0, _nodes.floatLiteral)((0, _helperNumbers.parse32F)(rawValue), (0, _helperNumbers.isNanLiteral)(rawValue), (0, _helperNumbers.isInfLiteral)(rawValue), String(original)); - } - // f64 - - default: - { - return (0, _nodes.floatLiteral)((0, _helperNumbers.parse64F)(rawValue), (0, _helperNumbers.isNanLiteral)(rawValue), (0, _helperNumbers.isInfLiteral)(rawValue), String(original)); - } - } - } -} - -function instruction(id) { - var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; - var namedArgs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - return (0, _nodes.instr)(id, undefined, args, namedArgs); -} - -function objectInstruction(id, object) { - var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - var namedArgs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - return (0, _nodes.instr)(id, object, args, namedArgs); -} -/** - * Decorators - */ - - -function withLoc(n, end, start) { - var loc = { - start: start, - end: end - }; - n.loc = loc; - return n; -} - -function withRaw(n, raw) { - n.raw = raw; - return n; -} - -function funcParam(valtype, id) { - return { - id: id, - valtype: valtype - }; -} - -function indexLiteral(value) { - // $FlowIgnore - var x = numberLiteralFromRaw(value, "u32"); - return x; -} - -function memIndexLiteral(value) { - // $FlowIgnore - var x = numberLiteralFromRaw(value, "u32"); - return x; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/node-path.js b/node_modules/@webassemblyjs/ast/lib/node-path.js deleted file mode 100644 index d7650a2a..00000000 --- a/node_modules/@webassemblyjs/ast/lib/node-path.js +++ /dev/null @@ -1,148 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createPath = createPath; - -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } - -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function findParent(_ref, cb) { - var parentPath = _ref.parentPath; - - if (parentPath == null) { - throw new Error("node is root"); - } - - var currentPath = parentPath; - - while (cb(currentPath) !== false) { - // Hit the root node, stop - // $FlowIgnore - if (currentPath.parentPath == null) { - return null; - } // $FlowIgnore - - - currentPath = currentPath.parentPath; - } - - return currentPath.node; -} - -function insertBefore(context, newNode) { - return insert(context, newNode); -} - -function insertAfter(context, newNode) { - return insert(context, newNode, 1); -} - -function insert(_ref2, newNode) { - var node = _ref2.node, - inList = _ref2.inList, - parentPath = _ref2.parentPath, - parentKey = _ref2.parentKey; - var indexOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - - if (!inList) { - throw new Error('inList' + " error: " + ("insert can only be used for nodes that are within lists" || "unknown")); - } - - if (!(parentPath != null)) { - throw new Error('parentPath != null' + " error: " + ("Can not remove root node" || "unknown")); - } - - // $FlowIgnore - var parentList = parentPath.node[parentKey]; - var indexInList = parentList.findIndex(function (n) { - return n === node; - }); - parentList.splice(indexInList + indexOffset, 0, newNode); -} - -function remove(_ref3) { - var node = _ref3.node, - parentKey = _ref3.parentKey, - parentPath = _ref3.parentPath; - - if (!(parentPath != null)) { - throw new Error('parentPath != null' + " error: " + ("Can not remove root node" || "unknown")); - } - - // $FlowIgnore - var parentNode = parentPath.node; // $FlowIgnore - - var parentProperty = parentNode[parentKey]; - - if (Array.isArray(parentProperty)) { - // $FlowIgnore - parentNode[parentKey] = parentProperty.filter(function (n) { - return n !== node; - }); - } else { - // $FlowIgnore - delete parentNode[parentKey]; - } - - node._deleted = true; -} - -function stop(context) { - context.shouldStop = true; -} - -function replaceWith(context, newNode) { - // $FlowIgnore - var parentNode = context.parentPath.node; // $FlowIgnore - - var parentProperty = parentNode[context.parentKey]; - - if (Array.isArray(parentProperty)) { - var indexInList = parentProperty.findIndex(function (n) { - return n === context.node; - }); - parentProperty.splice(indexInList, 1, newNode); - } else { - // $FlowIgnore - parentNode[context.parentKey] = newNode; - } - - context.node._deleted = true; - context.node = newNode; -} // bind the context to the first argument of node operations - - -function bindNodeOperations(operations, context) { - var keys = Object.keys(operations); - var boundOperations = {}; - keys.forEach(function (key) { - boundOperations[key] = operations[key].bind(null, context); - }); - return boundOperations; -} - -function createPathOperations(context) { - // $FlowIgnore - return bindNodeOperations({ - findParent: findParent, - replaceWith: replaceWith, - remove: remove, - insertBefore: insertBefore, - insertAfter: insertAfter, - stop: stop - }, context); -} - -function createPath(context) { - var path = _objectSpread({}, context); // $FlowIgnore - - - Object.assign(path, createPathOperations(path)); // $FlowIgnore - - return path; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/nodes.js b/node_modules/@webassemblyjs/ast/lib/nodes.js deleted file mode 100644 index 3fb4b634..00000000 --- a/node_modules/@webassemblyjs/ast/lib/nodes.js +++ /dev/null @@ -1,1144 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.module = _module; -exports.moduleMetadata = moduleMetadata; -exports.moduleNameMetadata = moduleNameMetadata; -exports.functionNameMetadata = functionNameMetadata; -exports.localNameMetadata = localNameMetadata; -exports.binaryModule = binaryModule; -exports.quoteModule = quoteModule; -exports.sectionMetadata = sectionMetadata; -exports.producersSectionMetadata = producersSectionMetadata; -exports.producerMetadata = producerMetadata; -exports.producerMetadataVersionedName = producerMetadataVersionedName; -exports.loopInstruction = loopInstruction; -exports.instr = instr; -exports.ifInstruction = ifInstruction; -exports.stringLiteral = stringLiteral; -exports.numberLiteral = numberLiteral; -exports.longNumberLiteral = longNumberLiteral; -exports.floatLiteral = floatLiteral; -exports.elem = elem; -exports.indexInFuncSection = indexInFuncSection; -exports.valtypeLiteral = valtypeLiteral; -exports.typeInstruction = typeInstruction; -exports.start = start; -exports.globalType = globalType; -exports.leadingComment = leadingComment; -exports.blockComment = blockComment; -exports.data = data; -exports.global = global; -exports.table = table; -exports.memory = memory; -exports.funcImportDescr = funcImportDescr; -exports.moduleImport = moduleImport; -exports.moduleExportDescr = moduleExportDescr; -exports.moduleExport = moduleExport; -exports.limit = limit; -exports.signature = signature; -exports.program = program; -exports.identifier = identifier; -exports.blockInstruction = blockInstruction; -exports.callInstruction = callInstruction; -exports.callIndirectInstruction = callIndirectInstruction; -exports.byteArray = byteArray; -exports.func = func; -exports.internalBrUnless = internalBrUnless; -exports.internalGoto = internalGoto; -exports.internalCallExtern = internalCallExtern; -exports.internalEndAndReturn = internalEndAndReturn; -exports.assertInternalCallExtern = exports.assertInternalGoto = exports.assertInternalBrUnless = exports.assertFunc = exports.assertByteArray = exports.assertCallIndirectInstruction = exports.assertCallInstruction = exports.assertBlockInstruction = exports.assertIdentifier = exports.assertProgram = exports.assertSignature = exports.assertLimit = exports.assertModuleExport = exports.assertModuleExportDescr = exports.assertModuleImport = exports.assertFuncImportDescr = exports.assertMemory = exports.assertTable = exports.assertGlobal = exports.assertData = exports.assertBlockComment = exports.assertLeadingComment = exports.assertGlobalType = exports.assertStart = exports.assertTypeInstruction = exports.assertValtypeLiteral = exports.assertIndexInFuncSection = exports.assertElem = exports.assertFloatLiteral = exports.assertLongNumberLiteral = exports.assertNumberLiteral = exports.assertStringLiteral = exports.assertIfInstruction = exports.assertInstr = exports.assertLoopInstruction = exports.assertProducerMetadataVersionedName = exports.assertProducerMetadata = exports.assertProducersSectionMetadata = exports.assertSectionMetadata = exports.assertQuoteModule = exports.assertBinaryModule = exports.assertLocalNameMetadata = exports.assertFunctionNameMetadata = exports.assertModuleNameMetadata = exports.assertModuleMetadata = exports.assertModule = exports.isIntrinsic = exports.isImportDescr = exports.isNumericLiteral = exports.isExpression = exports.isInstruction = exports.isBlock = exports.isNode = exports.isInternalEndAndReturn = exports.isInternalCallExtern = exports.isInternalGoto = exports.isInternalBrUnless = exports.isFunc = exports.isByteArray = exports.isCallIndirectInstruction = exports.isCallInstruction = exports.isBlockInstruction = exports.isIdentifier = exports.isProgram = exports.isSignature = exports.isLimit = exports.isModuleExport = exports.isModuleExportDescr = exports.isModuleImport = exports.isFuncImportDescr = exports.isMemory = exports.isTable = exports.isGlobal = exports.isData = exports.isBlockComment = exports.isLeadingComment = exports.isGlobalType = exports.isStart = exports.isTypeInstruction = exports.isValtypeLiteral = exports.isIndexInFuncSection = exports.isElem = exports.isFloatLiteral = exports.isLongNumberLiteral = exports.isNumberLiteral = exports.isStringLiteral = exports.isIfInstruction = exports.isInstr = exports.isLoopInstruction = exports.isProducerMetadataVersionedName = exports.isProducerMetadata = exports.isProducersSectionMetadata = exports.isSectionMetadata = exports.isQuoteModule = exports.isBinaryModule = exports.isLocalNameMetadata = exports.isFunctionNameMetadata = exports.isModuleNameMetadata = exports.isModuleMetadata = exports.isModule = void 0; -exports.nodeAndUnionTypes = exports.unionTypesMap = exports.assertInternalEndAndReturn = void 0; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -// THIS FILE IS AUTOGENERATED -// see scripts/generateNodeUtils.js -function isTypeOf(t) { - return function (n) { - return n.type === t; - }; -} - -function assertTypeOf(t) { - return function (n) { - return function () { - if (!(n.type === t)) { - throw new Error('n.type === t' + " error: " + (undefined || "unknown")); - } - }(); - }; -} - -function _module(id, fields, metadata) { - if (id !== null && id !== undefined) { - if (!(typeof id === "string")) { - throw new Error('typeof id === "string"' + " error: " + ("Argument id must be of type string, given: " + _typeof(id) || "unknown")); - } - } - - if (!(_typeof(fields) === "object" && typeof fields.length !== "undefined")) { - throw new Error('typeof fields === "object" && typeof fields.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "Module", - id: id, - fields: fields - }; - - if (typeof metadata !== "undefined") { - node.metadata = metadata; - } - - return node; -} - -function moduleMetadata(sections, functionNames, localNames, producers) { - if (!(_typeof(sections) === "object" && typeof sections.length !== "undefined")) { - throw new Error('typeof sections === "object" && typeof sections.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - if (functionNames !== null && functionNames !== undefined) { - if (!(_typeof(functionNames) === "object" && typeof functionNames.length !== "undefined")) { - throw new Error('typeof functionNames === "object" && typeof functionNames.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - } - - if (localNames !== null && localNames !== undefined) { - if (!(_typeof(localNames) === "object" && typeof localNames.length !== "undefined")) { - throw new Error('typeof localNames === "object" && typeof localNames.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - } - - if (producers !== null && producers !== undefined) { - if (!(_typeof(producers) === "object" && typeof producers.length !== "undefined")) { - throw new Error('typeof producers === "object" && typeof producers.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - } - - var node = { - type: "ModuleMetadata", - sections: sections - }; - - if (typeof functionNames !== "undefined" && functionNames.length > 0) { - node.functionNames = functionNames; - } - - if (typeof localNames !== "undefined" && localNames.length > 0) { - node.localNames = localNames; - } - - if (typeof producers !== "undefined" && producers.length > 0) { - node.producers = producers; - } - - return node; -} - -function moduleNameMetadata(value) { - if (!(typeof value === "string")) { - throw new Error('typeof value === "string"' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || "unknown")); - } - - var node = { - type: "ModuleNameMetadata", - value: value - }; - return node; -} - -function functionNameMetadata(value, index) { - if (!(typeof value === "string")) { - throw new Error('typeof value === "string"' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || "unknown")); - } - - if (!(typeof index === "number")) { - throw new Error('typeof index === "number"' + " error: " + ("Argument index must be of type number, given: " + _typeof(index) || "unknown")); - } - - var node = { - type: "FunctionNameMetadata", - value: value, - index: index - }; - return node; -} - -function localNameMetadata(value, localIndex, functionIndex) { - if (!(typeof value === "string")) { - throw new Error('typeof value === "string"' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || "unknown")); - } - - if (!(typeof localIndex === "number")) { - throw new Error('typeof localIndex === "number"' + " error: " + ("Argument localIndex must be of type number, given: " + _typeof(localIndex) || "unknown")); - } - - if (!(typeof functionIndex === "number")) { - throw new Error('typeof functionIndex === "number"' + " error: " + ("Argument functionIndex must be of type number, given: " + _typeof(functionIndex) || "unknown")); - } - - var node = { - type: "LocalNameMetadata", - value: value, - localIndex: localIndex, - functionIndex: functionIndex - }; - return node; -} - -function binaryModule(id, blob) { - if (id !== null && id !== undefined) { - if (!(typeof id === "string")) { - throw new Error('typeof id === "string"' + " error: " + ("Argument id must be of type string, given: " + _typeof(id) || "unknown")); - } - } - - if (!(_typeof(blob) === "object" && typeof blob.length !== "undefined")) { - throw new Error('typeof blob === "object" && typeof blob.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "BinaryModule", - id: id, - blob: blob - }; - return node; -} - -function quoteModule(id, string) { - if (id !== null && id !== undefined) { - if (!(typeof id === "string")) { - throw new Error('typeof id === "string"' + " error: " + ("Argument id must be of type string, given: " + _typeof(id) || "unknown")); - } - } - - if (!(_typeof(string) === "object" && typeof string.length !== "undefined")) { - throw new Error('typeof string === "object" && typeof string.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "QuoteModule", - id: id, - string: string - }; - return node; -} - -function sectionMetadata(section, startOffset, size, vectorOfSize) { - if (!(typeof startOffset === "number")) { - throw new Error('typeof startOffset === "number"' + " error: " + ("Argument startOffset must be of type number, given: " + _typeof(startOffset) || "unknown")); - } - - var node = { - type: "SectionMetadata", - section: section, - startOffset: startOffset, - size: size, - vectorOfSize: vectorOfSize - }; - return node; -} - -function producersSectionMetadata(producers) { - if (!(_typeof(producers) === "object" && typeof producers.length !== "undefined")) { - throw new Error('typeof producers === "object" && typeof producers.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "ProducersSectionMetadata", - producers: producers - }; - return node; -} - -function producerMetadata(language, processedBy, sdk) { - if (!(_typeof(language) === "object" && typeof language.length !== "undefined")) { - throw new Error('typeof language === "object" && typeof language.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - if (!(_typeof(processedBy) === "object" && typeof processedBy.length !== "undefined")) { - throw new Error('typeof processedBy === "object" && typeof processedBy.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - if (!(_typeof(sdk) === "object" && typeof sdk.length !== "undefined")) { - throw new Error('typeof sdk === "object" && typeof sdk.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "ProducerMetadata", - language: language, - processedBy: processedBy, - sdk: sdk - }; - return node; -} - -function producerMetadataVersionedName(name, version) { - if (!(typeof name === "string")) { - throw new Error('typeof name === "string"' + " error: " + ("Argument name must be of type string, given: " + _typeof(name) || "unknown")); - } - - if (!(typeof version === "string")) { - throw new Error('typeof version === "string"' + " error: " + ("Argument version must be of type string, given: " + _typeof(version) || "unknown")); - } - - var node = { - type: "ProducerMetadataVersionedName", - name: name, - version: version - }; - return node; -} - -function loopInstruction(label, resulttype, instr) { - if (!(_typeof(instr) === "object" && typeof instr.length !== "undefined")) { - throw new Error('typeof instr === "object" && typeof instr.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "LoopInstruction", - id: "loop", - label: label, - resulttype: resulttype, - instr: instr - }; - return node; -} - -function instr(id, object, args, namedArgs) { - if (!(typeof id === "string")) { - throw new Error('typeof id === "string"' + " error: " + ("Argument id must be of type string, given: " + _typeof(id) || "unknown")); - } - - if (!(_typeof(args) === "object" && typeof args.length !== "undefined")) { - throw new Error('typeof args === "object" && typeof args.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "Instr", - id: id, - args: args - }; - - if (typeof object !== "undefined") { - node.object = object; - } - - if (typeof namedArgs !== "undefined" && Object.keys(namedArgs).length !== 0) { - node.namedArgs = namedArgs; - } - - return node; -} - -function ifInstruction(testLabel, test, result, consequent, alternate) { - if (!(_typeof(test) === "object" && typeof test.length !== "undefined")) { - throw new Error('typeof test === "object" && typeof test.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - if (!(_typeof(consequent) === "object" && typeof consequent.length !== "undefined")) { - throw new Error('typeof consequent === "object" && typeof consequent.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - if (!(_typeof(alternate) === "object" && typeof alternate.length !== "undefined")) { - throw new Error('typeof alternate === "object" && typeof alternate.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "IfInstruction", - id: "if", - testLabel: testLabel, - test: test, - result: result, - consequent: consequent, - alternate: alternate - }; - return node; -} - -function stringLiteral(value) { - if (!(typeof value === "string")) { - throw new Error('typeof value === "string"' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || "unknown")); - } - - var node = { - type: "StringLiteral", - value: value - }; - return node; -} - -function numberLiteral(value, raw) { - if (!(typeof value === "number")) { - throw new Error('typeof value === "number"' + " error: " + ("Argument value must be of type number, given: " + _typeof(value) || "unknown")); - } - - if (!(typeof raw === "string")) { - throw new Error('typeof raw === "string"' + " error: " + ("Argument raw must be of type string, given: " + _typeof(raw) || "unknown")); - } - - var node = { - type: "NumberLiteral", - value: value, - raw: raw - }; - return node; -} - -function longNumberLiteral(value, raw) { - if (!(typeof raw === "string")) { - throw new Error('typeof raw === "string"' + " error: " + ("Argument raw must be of type string, given: " + _typeof(raw) || "unknown")); - } - - var node = { - type: "LongNumberLiteral", - value: value, - raw: raw - }; - return node; -} - -function floatLiteral(value, nan, inf, raw) { - if (!(typeof value === "number")) { - throw new Error('typeof value === "number"' + " error: " + ("Argument value must be of type number, given: " + _typeof(value) || "unknown")); - } - - if (nan !== null && nan !== undefined) { - if (!(typeof nan === "boolean")) { - throw new Error('typeof nan === "boolean"' + " error: " + ("Argument nan must be of type boolean, given: " + _typeof(nan) || "unknown")); - } - } - - if (inf !== null && inf !== undefined) { - if (!(typeof inf === "boolean")) { - throw new Error('typeof inf === "boolean"' + " error: " + ("Argument inf must be of type boolean, given: " + _typeof(inf) || "unknown")); - } - } - - if (!(typeof raw === "string")) { - throw new Error('typeof raw === "string"' + " error: " + ("Argument raw must be of type string, given: " + _typeof(raw) || "unknown")); - } - - var node = { - type: "FloatLiteral", - value: value, - raw: raw - }; - - if (nan === true) { - node.nan = true; - } - - if (inf === true) { - node.inf = true; - } - - return node; -} - -function elem(table, offset, funcs) { - if (!(_typeof(offset) === "object" && typeof offset.length !== "undefined")) { - throw new Error('typeof offset === "object" && typeof offset.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - if (!(_typeof(funcs) === "object" && typeof funcs.length !== "undefined")) { - throw new Error('typeof funcs === "object" && typeof funcs.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "Elem", - table: table, - offset: offset, - funcs: funcs - }; - return node; -} - -function indexInFuncSection(index) { - var node = { - type: "IndexInFuncSection", - index: index - }; - return node; -} - -function valtypeLiteral(name) { - var node = { - type: "ValtypeLiteral", - name: name - }; - return node; -} - -function typeInstruction(id, functype) { - var node = { - type: "TypeInstruction", - id: id, - functype: functype - }; - return node; -} - -function start(index) { - var node = { - type: "Start", - index: index - }; - return node; -} - -function globalType(valtype, mutability) { - var node = { - type: "GlobalType", - valtype: valtype, - mutability: mutability - }; - return node; -} - -function leadingComment(value) { - if (!(typeof value === "string")) { - throw new Error('typeof value === "string"' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || "unknown")); - } - - var node = { - type: "LeadingComment", - value: value - }; - return node; -} - -function blockComment(value) { - if (!(typeof value === "string")) { - throw new Error('typeof value === "string"' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || "unknown")); - } - - var node = { - type: "BlockComment", - value: value - }; - return node; -} - -function data(memoryIndex, offset, init) { - var node = { - type: "Data", - memoryIndex: memoryIndex, - offset: offset, - init: init - }; - return node; -} - -function global(globalType, init, name) { - if (!(_typeof(init) === "object" && typeof init.length !== "undefined")) { - throw new Error('typeof init === "object" && typeof init.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "Global", - globalType: globalType, - init: init, - name: name - }; - return node; -} - -function table(elementType, limits, name, elements) { - if (!(limits.type === "Limit")) { - throw new Error('limits.type === "Limit"' + " error: " + ("Argument limits must be of type Limit, given: " + limits.type || "unknown")); - } - - if (elements !== null && elements !== undefined) { - if (!(_typeof(elements) === "object" && typeof elements.length !== "undefined")) { - throw new Error('typeof elements === "object" && typeof elements.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - } - - var node = { - type: "Table", - elementType: elementType, - limits: limits, - name: name - }; - - if (typeof elements !== "undefined" && elements.length > 0) { - node.elements = elements; - } - - return node; -} - -function memory(limits, id) { - var node = { - type: "Memory", - limits: limits, - id: id - }; - return node; -} - -function funcImportDescr(id, signature) { - var node = { - type: "FuncImportDescr", - id: id, - signature: signature - }; - return node; -} - -function moduleImport(module, name, descr) { - if (!(typeof module === "string")) { - throw new Error('typeof module === "string"' + " error: " + ("Argument module must be of type string, given: " + _typeof(module) || "unknown")); - } - - if (!(typeof name === "string")) { - throw new Error('typeof name === "string"' + " error: " + ("Argument name must be of type string, given: " + _typeof(name) || "unknown")); - } - - var node = { - type: "ModuleImport", - module: module, - name: name, - descr: descr - }; - return node; -} - -function moduleExportDescr(exportType, id) { - var node = { - type: "ModuleExportDescr", - exportType: exportType, - id: id - }; - return node; -} - -function moduleExport(name, descr) { - if (!(typeof name === "string")) { - throw new Error('typeof name === "string"' + " error: " + ("Argument name must be of type string, given: " + _typeof(name) || "unknown")); - } - - var node = { - type: "ModuleExport", - name: name, - descr: descr - }; - return node; -} - -function limit(min, max, shared) { - if (!(typeof min === "number")) { - throw new Error('typeof min === "number"' + " error: " + ("Argument min must be of type number, given: " + _typeof(min) || "unknown")); - } - - if (max !== null && max !== undefined) { - if (!(typeof max === "number")) { - throw new Error('typeof max === "number"' + " error: " + ("Argument max must be of type number, given: " + _typeof(max) || "unknown")); - } - } - - if (shared !== null && shared !== undefined) { - if (!(typeof shared === "boolean")) { - throw new Error('typeof shared === "boolean"' + " error: " + ("Argument shared must be of type boolean, given: " + _typeof(shared) || "unknown")); - } - } - - var node = { - type: "Limit", - min: min - }; - - if (typeof max !== "undefined") { - node.max = max; - } - - if (shared === true) { - node.shared = true; - } - - return node; -} - -function signature(params, results) { - if (!(_typeof(params) === "object" && typeof params.length !== "undefined")) { - throw new Error('typeof params === "object" && typeof params.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - if (!(_typeof(results) === "object" && typeof results.length !== "undefined")) { - throw new Error('typeof results === "object" && typeof results.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "Signature", - params: params, - results: results - }; - return node; -} - -function program(body) { - if (!(_typeof(body) === "object" && typeof body.length !== "undefined")) { - throw new Error('typeof body === "object" && typeof body.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "Program", - body: body - }; - return node; -} - -function identifier(value, raw) { - if (!(typeof value === "string")) { - throw new Error('typeof value === "string"' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || "unknown")); - } - - if (raw !== null && raw !== undefined) { - if (!(typeof raw === "string")) { - throw new Error('typeof raw === "string"' + " error: " + ("Argument raw must be of type string, given: " + _typeof(raw) || "unknown")); - } - } - - var node = { - type: "Identifier", - value: value - }; - - if (typeof raw !== "undefined") { - node.raw = raw; - } - - return node; -} - -function blockInstruction(label, instr, result) { - if (!(_typeof(instr) === "object" && typeof instr.length !== "undefined")) { - throw new Error('typeof instr === "object" && typeof instr.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "BlockInstruction", - id: "block", - label: label, - instr: instr, - result: result - }; - return node; -} - -function callInstruction(index, instrArgs, numeric) { - if (instrArgs !== null && instrArgs !== undefined) { - if (!(_typeof(instrArgs) === "object" && typeof instrArgs.length !== "undefined")) { - throw new Error('typeof instrArgs === "object" && typeof instrArgs.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - } - - var node = { - type: "CallInstruction", - id: "call", - index: index - }; - - if (typeof instrArgs !== "undefined" && instrArgs.length > 0) { - node.instrArgs = instrArgs; - } - - if (typeof numeric !== "undefined") { - node.numeric = numeric; - } - - return node; -} - -function callIndirectInstruction(signature, intrs) { - if (intrs !== null && intrs !== undefined) { - if (!(_typeof(intrs) === "object" && typeof intrs.length !== "undefined")) { - throw new Error('typeof intrs === "object" && typeof intrs.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - } - - var node = { - type: "CallIndirectInstruction", - id: "call_indirect", - signature: signature - }; - - if (typeof intrs !== "undefined" && intrs.length > 0) { - node.intrs = intrs; - } - - return node; -} - -function byteArray(values) { - if (!(_typeof(values) === "object" && typeof values.length !== "undefined")) { - throw new Error('typeof values === "object" && typeof values.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - var node = { - type: "ByteArray", - values: values - }; - return node; -} - -function func(name, signature, body, isExternal, metadata) { - if (!(_typeof(body) === "object" && typeof body.length !== "undefined")) { - throw new Error('typeof body === "object" && typeof body.length !== "undefined"' + " error: " + (undefined || "unknown")); - } - - if (isExternal !== null && isExternal !== undefined) { - if (!(typeof isExternal === "boolean")) { - throw new Error('typeof isExternal === "boolean"' + " error: " + ("Argument isExternal must be of type boolean, given: " + _typeof(isExternal) || "unknown")); - } - } - - var node = { - type: "Func", - name: name, - signature: signature, - body: body - }; - - if (isExternal === true) { - node.isExternal = true; - } - - if (typeof metadata !== "undefined") { - node.metadata = metadata; - } - - return node; -} - -function internalBrUnless(target) { - if (!(typeof target === "number")) { - throw new Error('typeof target === "number"' + " error: " + ("Argument target must be of type number, given: " + _typeof(target) || "unknown")); - } - - var node = { - type: "InternalBrUnless", - target: target - }; - return node; -} - -function internalGoto(target) { - if (!(typeof target === "number")) { - throw new Error('typeof target === "number"' + " error: " + ("Argument target must be of type number, given: " + _typeof(target) || "unknown")); - } - - var node = { - type: "InternalGoto", - target: target - }; - return node; -} - -function internalCallExtern(target) { - if (!(typeof target === "number")) { - throw new Error('typeof target === "number"' + " error: " + ("Argument target must be of type number, given: " + _typeof(target) || "unknown")); - } - - var node = { - type: "InternalCallExtern", - target: target - }; - return node; -} - -function internalEndAndReturn() { - var node = { - type: "InternalEndAndReturn" - }; - return node; -} - -var isModule = isTypeOf("Module"); -exports.isModule = isModule; -var isModuleMetadata = isTypeOf("ModuleMetadata"); -exports.isModuleMetadata = isModuleMetadata; -var isModuleNameMetadata = isTypeOf("ModuleNameMetadata"); -exports.isModuleNameMetadata = isModuleNameMetadata; -var isFunctionNameMetadata = isTypeOf("FunctionNameMetadata"); -exports.isFunctionNameMetadata = isFunctionNameMetadata; -var isLocalNameMetadata = isTypeOf("LocalNameMetadata"); -exports.isLocalNameMetadata = isLocalNameMetadata; -var isBinaryModule = isTypeOf("BinaryModule"); -exports.isBinaryModule = isBinaryModule; -var isQuoteModule = isTypeOf("QuoteModule"); -exports.isQuoteModule = isQuoteModule; -var isSectionMetadata = isTypeOf("SectionMetadata"); -exports.isSectionMetadata = isSectionMetadata; -var isProducersSectionMetadata = isTypeOf("ProducersSectionMetadata"); -exports.isProducersSectionMetadata = isProducersSectionMetadata; -var isProducerMetadata = isTypeOf("ProducerMetadata"); -exports.isProducerMetadata = isProducerMetadata; -var isProducerMetadataVersionedName = isTypeOf("ProducerMetadataVersionedName"); -exports.isProducerMetadataVersionedName = isProducerMetadataVersionedName; -var isLoopInstruction = isTypeOf("LoopInstruction"); -exports.isLoopInstruction = isLoopInstruction; -var isInstr = isTypeOf("Instr"); -exports.isInstr = isInstr; -var isIfInstruction = isTypeOf("IfInstruction"); -exports.isIfInstruction = isIfInstruction; -var isStringLiteral = isTypeOf("StringLiteral"); -exports.isStringLiteral = isStringLiteral; -var isNumberLiteral = isTypeOf("NumberLiteral"); -exports.isNumberLiteral = isNumberLiteral; -var isLongNumberLiteral = isTypeOf("LongNumberLiteral"); -exports.isLongNumberLiteral = isLongNumberLiteral; -var isFloatLiteral = isTypeOf("FloatLiteral"); -exports.isFloatLiteral = isFloatLiteral; -var isElem = isTypeOf("Elem"); -exports.isElem = isElem; -var isIndexInFuncSection = isTypeOf("IndexInFuncSection"); -exports.isIndexInFuncSection = isIndexInFuncSection; -var isValtypeLiteral = isTypeOf("ValtypeLiteral"); -exports.isValtypeLiteral = isValtypeLiteral; -var isTypeInstruction = isTypeOf("TypeInstruction"); -exports.isTypeInstruction = isTypeInstruction; -var isStart = isTypeOf("Start"); -exports.isStart = isStart; -var isGlobalType = isTypeOf("GlobalType"); -exports.isGlobalType = isGlobalType; -var isLeadingComment = isTypeOf("LeadingComment"); -exports.isLeadingComment = isLeadingComment; -var isBlockComment = isTypeOf("BlockComment"); -exports.isBlockComment = isBlockComment; -var isData = isTypeOf("Data"); -exports.isData = isData; -var isGlobal = isTypeOf("Global"); -exports.isGlobal = isGlobal; -var isTable = isTypeOf("Table"); -exports.isTable = isTable; -var isMemory = isTypeOf("Memory"); -exports.isMemory = isMemory; -var isFuncImportDescr = isTypeOf("FuncImportDescr"); -exports.isFuncImportDescr = isFuncImportDescr; -var isModuleImport = isTypeOf("ModuleImport"); -exports.isModuleImport = isModuleImport; -var isModuleExportDescr = isTypeOf("ModuleExportDescr"); -exports.isModuleExportDescr = isModuleExportDescr; -var isModuleExport = isTypeOf("ModuleExport"); -exports.isModuleExport = isModuleExport; -var isLimit = isTypeOf("Limit"); -exports.isLimit = isLimit; -var isSignature = isTypeOf("Signature"); -exports.isSignature = isSignature; -var isProgram = isTypeOf("Program"); -exports.isProgram = isProgram; -var isIdentifier = isTypeOf("Identifier"); -exports.isIdentifier = isIdentifier; -var isBlockInstruction = isTypeOf("BlockInstruction"); -exports.isBlockInstruction = isBlockInstruction; -var isCallInstruction = isTypeOf("CallInstruction"); -exports.isCallInstruction = isCallInstruction; -var isCallIndirectInstruction = isTypeOf("CallIndirectInstruction"); -exports.isCallIndirectInstruction = isCallIndirectInstruction; -var isByteArray = isTypeOf("ByteArray"); -exports.isByteArray = isByteArray; -var isFunc = isTypeOf("Func"); -exports.isFunc = isFunc; -var isInternalBrUnless = isTypeOf("InternalBrUnless"); -exports.isInternalBrUnless = isInternalBrUnless; -var isInternalGoto = isTypeOf("InternalGoto"); -exports.isInternalGoto = isInternalGoto; -var isInternalCallExtern = isTypeOf("InternalCallExtern"); -exports.isInternalCallExtern = isInternalCallExtern; -var isInternalEndAndReturn = isTypeOf("InternalEndAndReturn"); -exports.isInternalEndAndReturn = isInternalEndAndReturn; - -var isNode = function isNode(node) { - return isModule(node) || isModuleMetadata(node) || isModuleNameMetadata(node) || isFunctionNameMetadata(node) || isLocalNameMetadata(node) || isBinaryModule(node) || isQuoteModule(node) || isSectionMetadata(node) || isProducersSectionMetadata(node) || isProducerMetadata(node) || isProducerMetadataVersionedName(node) || isLoopInstruction(node) || isInstr(node) || isIfInstruction(node) || isStringLiteral(node) || isNumberLiteral(node) || isLongNumberLiteral(node) || isFloatLiteral(node) || isElem(node) || isIndexInFuncSection(node) || isValtypeLiteral(node) || isTypeInstruction(node) || isStart(node) || isGlobalType(node) || isLeadingComment(node) || isBlockComment(node) || isData(node) || isGlobal(node) || isTable(node) || isMemory(node) || isFuncImportDescr(node) || isModuleImport(node) || isModuleExportDescr(node) || isModuleExport(node) || isLimit(node) || isSignature(node) || isProgram(node) || isIdentifier(node) || isBlockInstruction(node) || isCallInstruction(node) || isCallIndirectInstruction(node) || isByteArray(node) || isFunc(node) || isInternalBrUnless(node) || isInternalGoto(node) || isInternalCallExtern(node) || isInternalEndAndReturn(node); -}; - -exports.isNode = isNode; - -var isBlock = function isBlock(node) { - return isLoopInstruction(node) || isBlockInstruction(node) || isFunc(node); -}; - -exports.isBlock = isBlock; - -var isInstruction = function isInstruction(node) { - return isLoopInstruction(node) || isInstr(node) || isIfInstruction(node) || isTypeInstruction(node) || isBlockInstruction(node) || isCallInstruction(node) || isCallIndirectInstruction(node); -}; - -exports.isInstruction = isInstruction; - -var isExpression = function isExpression(node) { - return isInstr(node) || isStringLiteral(node) || isNumberLiteral(node) || isLongNumberLiteral(node) || isFloatLiteral(node) || isValtypeLiteral(node) || isIdentifier(node); -}; - -exports.isExpression = isExpression; - -var isNumericLiteral = function isNumericLiteral(node) { - return isNumberLiteral(node) || isLongNumberLiteral(node) || isFloatLiteral(node); -}; - -exports.isNumericLiteral = isNumericLiteral; - -var isImportDescr = function isImportDescr(node) { - return isGlobalType(node) || isTable(node) || isMemory(node) || isFuncImportDescr(node); -}; - -exports.isImportDescr = isImportDescr; - -var isIntrinsic = function isIntrinsic(node) { - return isInternalBrUnless(node) || isInternalGoto(node) || isInternalCallExtern(node) || isInternalEndAndReturn(node); -}; - -exports.isIntrinsic = isIntrinsic; -var assertModule = assertTypeOf("Module"); -exports.assertModule = assertModule; -var assertModuleMetadata = assertTypeOf("ModuleMetadata"); -exports.assertModuleMetadata = assertModuleMetadata; -var assertModuleNameMetadata = assertTypeOf("ModuleNameMetadata"); -exports.assertModuleNameMetadata = assertModuleNameMetadata; -var assertFunctionNameMetadata = assertTypeOf("FunctionNameMetadata"); -exports.assertFunctionNameMetadata = assertFunctionNameMetadata; -var assertLocalNameMetadata = assertTypeOf("LocalNameMetadata"); -exports.assertLocalNameMetadata = assertLocalNameMetadata; -var assertBinaryModule = assertTypeOf("BinaryModule"); -exports.assertBinaryModule = assertBinaryModule; -var assertQuoteModule = assertTypeOf("QuoteModule"); -exports.assertQuoteModule = assertQuoteModule; -var assertSectionMetadata = assertTypeOf("SectionMetadata"); -exports.assertSectionMetadata = assertSectionMetadata; -var assertProducersSectionMetadata = assertTypeOf("ProducersSectionMetadata"); -exports.assertProducersSectionMetadata = assertProducersSectionMetadata; -var assertProducerMetadata = assertTypeOf("ProducerMetadata"); -exports.assertProducerMetadata = assertProducerMetadata; -var assertProducerMetadataVersionedName = assertTypeOf("ProducerMetadataVersionedName"); -exports.assertProducerMetadataVersionedName = assertProducerMetadataVersionedName; -var assertLoopInstruction = assertTypeOf("LoopInstruction"); -exports.assertLoopInstruction = assertLoopInstruction; -var assertInstr = assertTypeOf("Instr"); -exports.assertInstr = assertInstr; -var assertIfInstruction = assertTypeOf("IfInstruction"); -exports.assertIfInstruction = assertIfInstruction; -var assertStringLiteral = assertTypeOf("StringLiteral"); -exports.assertStringLiteral = assertStringLiteral; -var assertNumberLiteral = assertTypeOf("NumberLiteral"); -exports.assertNumberLiteral = assertNumberLiteral; -var assertLongNumberLiteral = assertTypeOf("LongNumberLiteral"); -exports.assertLongNumberLiteral = assertLongNumberLiteral; -var assertFloatLiteral = assertTypeOf("FloatLiteral"); -exports.assertFloatLiteral = assertFloatLiteral; -var assertElem = assertTypeOf("Elem"); -exports.assertElem = assertElem; -var assertIndexInFuncSection = assertTypeOf("IndexInFuncSection"); -exports.assertIndexInFuncSection = assertIndexInFuncSection; -var assertValtypeLiteral = assertTypeOf("ValtypeLiteral"); -exports.assertValtypeLiteral = assertValtypeLiteral; -var assertTypeInstruction = assertTypeOf("TypeInstruction"); -exports.assertTypeInstruction = assertTypeInstruction; -var assertStart = assertTypeOf("Start"); -exports.assertStart = assertStart; -var assertGlobalType = assertTypeOf("GlobalType"); -exports.assertGlobalType = assertGlobalType; -var assertLeadingComment = assertTypeOf("LeadingComment"); -exports.assertLeadingComment = assertLeadingComment; -var assertBlockComment = assertTypeOf("BlockComment"); -exports.assertBlockComment = assertBlockComment; -var assertData = assertTypeOf("Data"); -exports.assertData = assertData; -var assertGlobal = assertTypeOf("Global"); -exports.assertGlobal = assertGlobal; -var assertTable = assertTypeOf("Table"); -exports.assertTable = assertTable; -var assertMemory = assertTypeOf("Memory"); -exports.assertMemory = assertMemory; -var assertFuncImportDescr = assertTypeOf("FuncImportDescr"); -exports.assertFuncImportDescr = assertFuncImportDescr; -var assertModuleImport = assertTypeOf("ModuleImport"); -exports.assertModuleImport = assertModuleImport; -var assertModuleExportDescr = assertTypeOf("ModuleExportDescr"); -exports.assertModuleExportDescr = assertModuleExportDescr; -var assertModuleExport = assertTypeOf("ModuleExport"); -exports.assertModuleExport = assertModuleExport; -var assertLimit = assertTypeOf("Limit"); -exports.assertLimit = assertLimit; -var assertSignature = assertTypeOf("Signature"); -exports.assertSignature = assertSignature; -var assertProgram = assertTypeOf("Program"); -exports.assertProgram = assertProgram; -var assertIdentifier = assertTypeOf("Identifier"); -exports.assertIdentifier = assertIdentifier; -var assertBlockInstruction = assertTypeOf("BlockInstruction"); -exports.assertBlockInstruction = assertBlockInstruction; -var assertCallInstruction = assertTypeOf("CallInstruction"); -exports.assertCallInstruction = assertCallInstruction; -var assertCallIndirectInstruction = assertTypeOf("CallIndirectInstruction"); -exports.assertCallIndirectInstruction = assertCallIndirectInstruction; -var assertByteArray = assertTypeOf("ByteArray"); -exports.assertByteArray = assertByteArray; -var assertFunc = assertTypeOf("Func"); -exports.assertFunc = assertFunc; -var assertInternalBrUnless = assertTypeOf("InternalBrUnless"); -exports.assertInternalBrUnless = assertInternalBrUnless; -var assertInternalGoto = assertTypeOf("InternalGoto"); -exports.assertInternalGoto = assertInternalGoto; -var assertInternalCallExtern = assertTypeOf("InternalCallExtern"); -exports.assertInternalCallExtern = assertInternalCallExtern; -var assertInternalEndAndReturn = assertTypeOf("InternalEndAndReturn"); -exports.assertInternalEndAndReturn = assertInternalEndAndReturn; -var unionTypesMap = { - Module: ["Node"], - ModuleMetadata: ["Node"], - ModuleNameMetadata: ["Node"], - FunctionNameMetadata: ["Node"], - LocalNameMetadata: ["Node"], - BinaryModule: ["Node"], - QuoteModule: ["Node"], - SectionMetadata: ["Node"], - ProducersSectionMetadata: ["Node"], - ProducerMetadata: ["Node"], - ProducerMetadataVersionedName: ["Node"], - LoopInstruction: ["Node", "Block", "Instruction"], - Instr: ["Node", "Expression", "Instruction"], - IfInstruction: ["Node", "Instruction"], - StringLiteral: ["Node", "Expression"], - NumberLiteral: ["Node", "NumericLiteral", "Expression"], - LongNumberLiteral: ["Node", "NumericLiteral", "Expression"], - FloatLiteral: ["Node", "NumericLiteral", "Expression"], - Elem: ["Node"], - IndexInFuncSection: ["Node"], - ValtypeLiteral: ["Node", "Expression"], - TypeInstruction: ["Node", "Instruction"], - Start: ["Node"], - GlobalType: ["Node", "ImportDescr"], - LeadingComment: ["Node"], - BlockComment: ["Node"], - Data: ["Node"], - Global: ["Node"], - Table: ["Node", "ImportDescr"], - Memory: ["Node", "ImportDescr"], - FuncImportDescr: ["Node", "ImportDescr"], - ModuleImport: ["Node"], - ModuleExportDescr: ["Node"], - ModuleExport: ["Node"], - Limit: ["Node"], - Signature: ["Node"], - Program: ["Node"], - Identifier: ["Node", "Expression"], - BlockInstruction: ["Node", "Block", "Instruction"], - CallInstruction: ["Node", "Instruction"], - CallIndirectInstruction: ["Node", "Instruction"], - ByteArray: ["Node"], - Func: ["Node", "Block"], - InternalBrUnless: ["Node", "Intrinsic"], - InternalGoto: ["Node", "Intrinsic"], - InternalCallExtern: ["Node", "Intrinsic"], - InternalEndAndReturn: ["Node", "Intrinsic"] -}; -exports.unionTypesMap = unionTypesMap; -var nodeAndUnionTypes = ["Module", "ModuleMetadata", "ModuleNameMetadata", "FunctionNameMetadata", "LocalNameMetadata", "BinaryModule", "QuoteModule", "SectionMetadata", "ProducersSectionMetadata", "ProducerMetadata", "ProducerMetadataVersionedName", "LoopInstruction", "Instr", "IfInstruction", "StringLiteral", "NumberLiteral", "LongNumberLiteral", "FloatLiteral", "Elem", "IndexInFuncSection", "ValtypeLiteral", "TypeInstruction", "Start", "GlobalType", "LeadingComment", "BlockComment", "Data", "Global", "Table", "Memory", "FuncImportDescr", "ModuleImport", "ModuleExportDescr", "ModuleExport", "Limit", "Signature", "Program", "Identifier", "BlockInstruction", "CallInstruction", "CallIndirectInstruction", "ByteArray", "Func", "InternalBrUnless", "InternalGoto", "InternalCallExtern", "InternalEndAndReturn", "Node", "Block", "Instruction", "Expression", "NumericLiteral", "ImportDescr", "Intrinsic"]; -exports.nodeAndUnionTypes = nodeAndUnionTypes;
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/signatures.js b/node_modules/@webassemblyjs/ast/lib/signatures.js deleted file mode 100644 index 5afc62fd..00000000 --- a/node_modules/@webassemblyjs/ast/lib/signatures.js +++ /dev/null @@ -1,207 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.signatures = void 0; - -function sign(input, output) { - return [input, output]; -} - -var u32 = "u32"; -var i32 = "i32"; -var i64 = "i64"; -var f32 = "f32"; -var f64 = "f64"; - -var vector = function vector(t) { - var vecType = [t]; // $FlowIgnore - - vecType.vector = true; - return vecType; -}; - -var controlInstructions = { - unreachable: sign([], []), - nop: sign([], []), - // block ? - // loop ? - // if ? - // if else ? - br: sign([u32], []), - br_if: sign([u32], []), - br_table: sign(vector(u32), []), - "return": sign([], []), - call: sign([u32], []), - call_indirect: sign([u32], []) -}; -var parametricInstructions = { - drop: sign([], []), - select: sign([], []) -}; -var variableInstructions = { - get_local: sign([u32], []), - set_local: sign([u32], []), - tee_local: sign([u32], []), - get_global: sign([u32], []), - set_global: sign([u32], []) -}; -var memoryInstructions = { - "i32.load": sign([u32, u32], [i32]), - "i64.load": sign([u32, u32], []), - "f32.load": sign([u32, u32], []), - "f64.load": sign([u32, u32], []), - "i32.load8_s": sign([u32, u32], [i32]), - "i32.load8_u": sign([u32, u32], [i32]), - "i32.load16_s": sign([u32, u32], [i32]), - "i32.load16_u": sign([u32, u32], [i32]), - "i64.load8_s": sign([u32, u32], [i64]), - "i64.load8_u": sign([u32, u32], [i64]), - "i64.load16_s": sign([u32, u32], [i64]), - "i64.load16_u": sign([u32, u32], [i64]), - "i64.load32_s": sign([u32, u32], [i64]), - "i64.load32_u": sign([u32, u32], [i64]), - "i32.store": sign([u32, u32], []), - "i64.store": sign([u32, u32], []), - "f32.store": sign([u32, u32], []), - "f64.store": sign([u32, u32], []), - "i32.store8": sign([u32, u32], []), - "i32.store16": sign([u32, u32], []), - "i64.store8": sign([u32, u32], []), - "i64.store16": sign([u32, u32], []), - "i64.store32": sign([u32, u32], []), - current_memory: sign([], []), - grow_memory: sign([], []) -}; -var numericInstructions = { - "i32.const": sign([i32], [i32]), - "i64.const": sign([i64], [i64]), - "f32.const": sign([f32], [f32]), - "f64.const": sign([f64], [f64]), - "i32.eqz": sign([i32], [i32]), - "i32.eq": sign([i32, i32], [i32]), - "i32.ne": sign([i32, i32], [i32]), - "i32.lt_s": sign([i32, i32], [i32]), - "i32.lt_u": sign([i32, i32], [i32]), - "i32.gt_s": sign([i32, i32], [i32]), - "i32.gt_u": sign([i32, i32], [i32]), - "i32.le_s": sign([i32, i32], [i32]), - "i32.le_u": sign([i32, i32], [i32]), - "i32.ge_s": sign([i32, i32], [i32]), - "i32.ge_u": sign([i32, i32], [i32]), - "i64.eqz": sign([i64], [i64]), - "i64.eq": sign([i64, i64], [i32]), - "i64.ne": sign([i64, i64], [i32]), - "i64.lt_s": sign([i64, i64], [i32]), - "i64.lt_u": sign([i64, i64], [i32]), - "i64.gt_s": sign([i64, i64], [i32]), - "i64.gt_u": sign([i64, i64], [i32]), - "i64.le_s": sign([i64, i64], [i32]), - "i64.le_u": sign([i64, i64], [i32]), - "i64.ge_s": sign([i64, i64], [i32]), - "i64.ge_u": sign([i64, i64], [i32]), - "f32.eq": sign([f32, f32], [i32]), - "f32.ne": sign([f32, f32], [i32]), - "f32.lt": sign([f32, f32], [i32]), - "f32.gt": sign([f32, f32], [i32]), - "f32.le": sign([f32, f32], [i32]), - "f32.ge": sign([f32, f32], [i32]), - "f64.eq": sign([f64, f64], [i32]), - "f64.ne": sign([f64, f64], [i32]), - "f64.lt": sign([f64, f64], [i32]), - "f64.gt": sign([f64, f64], [i32]), - "f64.le": sign([f64, f64], [i32]), - "f64.ge": sign([f64, f64], [i32]), - "i32.clz": sign([i32], [i32]), - "i32.ctz": sign([i32], [i32]), - "i32.popcnt": sign([i32], [i32]), - "i32.add": sign([i32, i32], [i32]), - "i32.sub": sign([i32, i32], [i32]), - "i32.mul": sign([i32, i32], [i32]), - "i32.div_s": sign([i32, i32], [i32]), - "i32.div_u": sign([i32, i32], [i32]), - "i32.rem_s": sign([i32, i32], [i32]), - "i32.rem_u": sign([i32, i32], [i32]), - "i32.and": sign([i32, i32], [i32]), - "i32.or": sign([i32, i32], [i32]), - "i32.xor": sign([i32, i32], [i32]), - "i32.shl": sign([i32, i32], [i32]), - "i32.shr_s": sign([i32, i32], [i32]), - "i32.shr_u": sign([i32, i32], [i32]), - "i32.rotl": sign([i32, i32], [i32]), - "i32.rotr": sign([i32, i32], [i32]), - "i64.clz": sign([i64], [i64]), - "i64.ctz": sign([i64], [i64]), - "i64.popcnt": sign([i64], [i64]), - "i64.add": sign([i64, i64], [i64]), - "i64.sub": sign([i64, i64], [i64]), - "i64.mul": sign([i64, i64], [i64]), - "i64.div_s": sign([i64, i64], [i64]), - "i64.div_u": sign([i64, i64], [i64]), - "i64.rem_s": sign([i64, i64], [i64]), - "i64.rem_u": sign([i64, i64], [i64]), - "i64.and": sign([i64, i64], [i64]), - "i64.or": sign([i64, i64], [i64]), - "i64.xor": sign([i64, i64], [i64]), - "i64.shl": sign([i64, i64], [i64]), - "i64.shr_s": sign([i64, i64], [i64]), - "i64.shr_u": sign([i64, i64], [i64]), - "i64.rotl": sign([i64, i64], [i64]), - "i64.rotr": sign([i64, i64], [i64]), - "f32.abs": sign([f32], [f32]), - "f32.neg": sign([f32], [f32]), - "f32.ceil": sign([f32], [f32]), - "f32.floor": sign([f32], [f32]), - "f32.trunc": sign([f32], [f32]), - "f32.nearest": sign([f32], [f32]), - "f32.sqrt": sign([f32], [f32]), - "f32.add": sign([f32, f32], [f32]), - "f32.sub": sign([f32, f32], [f32]), - "f32.mul": sign([f32, f32], [f32]), - "f32.div": sign([f32, f32], [f32]), - "f32.min": sign([f32, f32], [f32]), - "f32.max": sign([f32, f32], [f32]), - "f32.copysign": sign([f32, f32], [f32]), - "f64.abs": sign([f64], [f64]), - "f64.neg": sign([f64], [f64]), - "f64.ceil": sign([f64], [f64]), - "f64.floor": sign([f64], [f64]), - "f64.trunc": sign([f64], [f64]), - "f64.nearest": sign([f64], [f64]), - "f64.sqrt": sign([f64], [f64]), - "f64.add": sign([f64, f64], [f64]), - "f64.sub": sign([f64, f64], [f64]), - "f64.mul": sign([f64, f64], [f64]), - "f64.div": sign([f64, f64], [f64]), - "f64.min": sign([f64, f64], [f64]), - "f64.max": sign([f64, f64], [f64]), - "f64.copysign": sign([f64, f64], [f64]), - "i32.wrap/i64": sign([i64], [i32]), - "i32.trunc_s/f32": sign([f32], [i32]), - "i32.trunc_u/f32": sign([f32], [i32]), - "i32.trunc_s/f64": sign([f32], [i32]), - "i32.trunc_u/f64": sign([f64], [i32]), - "i64.extend_s/i32": sign([i32], [i64]), - "i64.extend_u/i32": sign([i32], [i64]), - "i64.trunc_s/f32": sign([f32], [i64]), - "i64.trunc_u/f32": sign([f32], [i64]), - "i64.trunc_s/f64": sign([f64], [i64]), - "i64.trunc_u/f64": sign([f64], [i64]), - "f32.convert_s/i32": sign([i32], [f32]), - "f32.convert_u/i32": sign([i32], [f32]), - "f32.convert_s/i64": sign([i64], [f32]), - "f32.convert_u/i64": sign([i64], [f32]), - "f32.demote/f64": sign([f64], [f32]), - "f64.convert_s/i32": sign([i32], [f64]), - "f64.convert_u/i32": sign([i32], [f64]), - "f64.convert_s/i64": sign([i64], [f64]), - "f64.convert_u/i64": sign([i64], [f64]), - "f64.promote/f32": sign([f32], [f64]), - "i32.reinterpret/f32": sign([f32], [i32]), - "i64.reinterpret/f64": sign([f64], [i64]), - "f32.reinterpret/i32": sign([i32], [f32]), - "f64.reinterpret/i64": sign([i64], [f64]) -}; -var signatures = Object.assign({}, controlInstructions, parametricInstructions, variableInstructions, memoryInstructions, numericInstructions); -exports.signatures = signatures;
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/transform/ast-module-to-module-context/index.js b/node_modules/@webassemblyjs/ast/lib/transform/ast-module-to-module-context/index.js deleted file mode 100644 index 470ebee0..00000000 --- a/node_modules/@webassemblyjs/ast/lib/transform/ast-module-to-module-context/index.js +++ /dev/null @@ -1,389 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.moduleContextFromModuleAST = moduleContextFromModuleAST; -exports.ModuleContext = void 0; - -var _nodes = require("../../nodes.js"); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function moduleContextFromModuleAST(m) { - var moduleContext = new ModuleContext(); - - if (!(m.type === "Module")) { - throw new Error('m.type === "Module"' + " error: " + (undefined || "unknown")); - } - - m.fields.forEach(function (field) { - switch (field.type) { - case "Start": - { - moduleContext.setStart(field.index); - break; - } - - case "TypeInstruction": - { - moduleContext.addType(field); - break; - } - - case "Func": - { - moduleContext.addFunction(field); - break; - } - - case "Global": - { - moduleContext.defineGlobal(field); - break; - } - - case "ModuleImport": - { - switch (field.descr.type) { - case "GlobalType": - { - moduleContext.importGlobal(field.descr.valtype, field.descr.mutability); - break; - } - - case "Memory": - { - moduleContext.addMemory(field.descr.limits.min, field.descr.limits.max); - break; - } - - case "FuncImportDescr": - { - moduleContext.importFunction(field.descr); - break; - } - - case "Table": - { - // FIXME(sven): not implemented yet - break; - } - - default: - throw new Error("Unsupported ModuleImport of type " + JSON.stringify(field.descr.type)); - } - - break; - } - - case "Memory": - { - moduleContext.addMemory(field.limits.min, field.limits.max); - break; - } - } - }); - return moduleContext; -} -/** - * Module context for type checking - */ - - -var ModuleContext = /*#__PURE__*/function () { - function ModuleContext() { - _classCallCheck(this, ModuleContext); - - this.funcs = []; - this.funcsOffsetByIdentifier = []; - this.types = []; - this.globals = []; - this.globalsOffsetByIdentifier = []; - this.mems = []; // Current stack frame - - this.locals = []; - this.labels = []; - this["return"] = []; - this.debugName = "unknown"; - this.start = null; - } - /** - * Set start segment - */ - - - _createClass(ModuleContext, [{ - key: "setStart", - value: function setStart(index) { - this.start = index.value; - } - /** - * Get start function - */ - - }, { - key: "getStart", - value: function getStart() { - return this.start; - } - /** - * Reset the active stack frame - */ - - }, { - key: "newContext", - value: function newContext(debugName, expectedResult) { - this.locals = []; - this.labels = [expectedResult]; - this["return"] = expectedResult; - this.debugName = debugName; - } - /** - * Functions - */ - - }, { - key: "addFunction", - value: function addFunction(func) { - /* eslint-disable */ - // $FlowIgnore - var _ref = func.signature || {}, - _ref$params = _ref.params, - args = _ref$params === void 0 ? [] : _ref$params, - _ref$results = _ref.results, - result = _ref$results === void 0 ? [] : _ref$results; - /* eslint-enable */ - - - args = args.map(function (arg) { - return arg.valtype; - }); - this.funcs.push({ - args: args, - result: result - }); - - if (typeof func.name !== "undefined") { - // $FlowIgnore - this.funcsOffsetByIdentifier[func.name.value] = this.funcs.length - 1; - } - } - }, { - key: "importFunction", - value: function importFunction(funcimport) { - if ((0, _nodes.isSignature)(funcimport.signature)) { - // eslint-disable-next-line prefer-const - var _funcimport$signature = funcimport.signature, - args = _funcimport$signature.params, - result = _funcimport$signature.results; - args = args.map(function (arg) { - return arg.valtype; - }); - this.funcs.push({ - args: args, - result: result - }); - } else { - if (!(0, _nodes.isNumberLiteral)(funcimport.signature)) { - throw new Error('isNumberLiteral(funcimport.signature)' + " error: " + (undefined || "unknown")); - } - - var typeId = funcimport.signature.value; - - if (!this.hasType(typeId)) { - throw new Error('this.hasType(typeId)' + " error: " + (undefined || "unknown")); - } - - var signature = this.getType(typeId); - this.funcs.push({ - args: signature.params.map(function (arg) { - return arg.valtype; - }), - result: signature.results - }); - } - - if (typeof funcimport.id !== "undefined") { - // imports are first, we can assume their index in the array - this.funcsOffsetByIdentifier[funcimport.id.value] = this.funcs.length - 1; - } - } - }, { - key: "hasFunction", - value: function hasFunction(index) { - return typeof this.getFunction(index) !== "undefined"; - } - }, { - key: "getFunction", - value: function getFunction(index) { - if (typeof index !== "number") { - throw new Error("getFunction only supported for number index"); - } - - return this.funcs[index]; - } - }, { - key: "getFunctionOffsetByIdentifier", - value: function getFunctionOffsetByIdentifier(name) { - if (!(typeof name === "string")) { - throw new Error('typeof name === "string"' + " error: " + (undefined || "unknown")); - } - - return this.funcsOffsetByIdentifier[name]; - } - /** - * Labels - */ - - }, { - key: "addLabel", - value: function addLabel(result) { - this.labels.unshift(result); - } - }, { - key: "hasLabel", - value: function hasLabel(index) { - return this.labels.length > index && index >= 0; - } - }, { - key: "getLabel", - value: function getLabel(index) { - return this.labels[index]; - } - }, { - key: "popLabel", - value: function popLabel() { - this.labels.shift(); - } - /** - * Locals - */ - - }, { - key: "hasLocal", - value: function hasLocal(index) { - return typeof this.getLocal(index) !== "undefined"; - } - }, { - key: "getLocal", - value: function getLocal(index) { - return this.locals[index]; - } - }, { - key: "addLocal", - value: function addLocal(type) { - this.locals.push(type); - } - /** - * Types - */ - - }, { - key: "addType", - value: function addType(type) { - if (!(type.functype.type === "Signature")) { - throw new Error('type.functype.type === "Signature"' + " error: " + (undefined || "unknown")); - } - - this.types.push(type.functype); - } - }, { - key: "hasType", - value: function hasType(index) { - return this.types[index] !== undefined; - } - }, { - key: "getType", - value: function getType(index) { - return this.types[index]; - } - /** - * Globals - */ - - }, { - key: "hasGlobal", - value: function hasGlobal(index) { - return this.globals.length > index && index >= 0; - } - }, { - key: "getGlobal", - value: function getGlobal(index) { - return this.globals[index].type; - } - }, { - key: "getGlobalOffsetByIdentifier", - value: function getGlobalOffsetByIdentifier(name) { - if (!(typeof name === "string")) { - throw new Error('typeof name === "string"' + " error: " + (undefined || "unknown")); - } - - // $FlowIgnore - return this.globalsOffsetByIdentifier[name]; - } - }, { - key: "defineGlobal", - value: function defineGlobal(global) { - var type = global.globalType.valtype; - var mutability = global.globalType.mutability; - this.globals.push({ - type: type, - mutability: mutability - }); - - if (typeof global.name !== "undefined") { - // $FlowIgnore - this.globalsOffsetByIdentifier[global.name.value] = this.globals.length - 1; - } - } - }, { - key: "importGlobal", - value: function importGlobal(type, mutability) { - this.globals.push({ - type: type, - mutability: mutability - }); - } - }, { - key: "isMutableGlobal", - value: function isMutableGlobal(index) { - return this.globals[index].mutability === "var"; - } - }, { - key: "isImmutableGlobal", - value: function isImmutableGlobal(index) { - return this.globals[index].mutability === "const"; - } - /** - * Memories - */ - - }, { - key: "hasMemory", - value: function hasMemory(index) { - return this.mems.length > index && index >= 0; - } - }, { - key: "addMemory", - value: function addMemory(min, max) { - this.mems.push({ - min: min, - max: max - }); - } - }, { - key: "getMemory", - value: function getMemory(index) { - return this.mems[index]; - } - }]); - - return ModuleContext; -}(); - -exports.ModuleContext = ModuleContext;
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/transform/denormalize-type-references/index.js b/node_modules/@webassemblyjs/ast/lib/transform/denormalize-type-references/index.js deleted file mode 100644 index 3258f84d..00000000 --- a/node_modules/@webassemblyjs/ast/lib/transform/denormalize-type-references/index.js +++ /dev/null @@ -1,83 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.transform = transform; - -var t = require("../../index"); // func and call_indirect instructions can either define a signature inline, or -// reference a signature, e.g. -// -// ;; inline signature -// (func (result i64) -// (i64.const 2) -// ) -// ;; signature reference -// (type (func (result i64))) -// (func (type 0) -// (i64.const 2)) -// ) -// -// this AST transform denormalises the type references, making all signatures within the module -// inline. - - -function transform(ast) { - var typeInstructions = []; - t.traverse(ast, { - TypeInstruction: function TypeInstruction(_ref) { - var node = _ref.node; - typeInstructions.push(node); - } - }); - - if (!typeInstructions.length) { - return; - } - - function denormalizeSignature(signature) { - // signature referenced by identifier - if (signature.type === "Identifier") { - var identifier = signature; - var typeInstruction = typeInstructions.find(function (t) { - return t.id.type === identifier.type && t.id.value === identifier.value; - }); - - if (!typeInstruction) { - throw new Error("A type instruction reference was not found ".concat(JSON.stringify(signature))); - } - - return typeInstruction.functype; - } // signature referenced by index - - - if (signature.type === "NumberLiteral") { - var signatureRef = signature; - var _typeInstruction = typeInstructions[signatureRef.value]; - return _typeInstruction.functype; - } - - return signature; - } - - t.traverse(ast, { - Func: function (_Func) { - function Func(_x) { - return _Func.apply(this, arguments); - } - - Func.toString = function () { - return _Func.toString(); - }; - - return Func; - }(function (_ref2) { - var node = _ref2.node; - node.signature = denormalizeSignature(node.signature); - }), - CallIndirectInstruction: function CallIndirectInstruction(_ref3) { - var node = _ref3.node; - node.signature = denormalizeSignature(node.signature); - } - }); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/transform/wast-identifier-to-index/index.js b/node_modules/@webassemblyjs/ast/lib/transform/wast-identifier-to-index/index.js deleted file mode 100644 index 8ab591bd..00000000 --- a/node_modules/@webassemblyjs/ast/lib/transform/wast-identifier-to-index/index.js +++ /dev/null @@ -1,238 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.transform = transform; - -var _index = require("../../index"); - -var _astModuleToModuleContext = require("../ast-module-to-module-context"); - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -// FIXME(sven): do the same with all block instructions, must be more generic here -function newUnexpectedFunction(i) { - return new Error("unknown function at offset: " + i); -} - -function transform(ast) { - var module = null; - (0, _index.traverse)(ast, { - Module: function (_Module) { - function Module(_x) { - return _Module.apply(this, arguments); - } - - Module.toString = function () { - return _Module.toString(); - }; - - return Module; - }(function (path) { - module = path.node; - }) - }); - - if (module == null) { - throw new Error("Module not foudn in program"); - } - - var moduleContext = (0, _astModuleToModuleContext.moduleContextFromModuleAST)(module); // Transform the actual instruction in function bodies - - (0, _index.traverse)(ast, { - Func: function (_Func) { - function Func(_x2) { - return _Func.apply(this, arguments); - } - - Func.toString = function () { - return _Func.toString(); - }; - - return Func; - }(function (path) { - transformFuncPath(path, moduleContext); - }), - Start: function (_Start) { - function Start(_x3) { - return _Start.apply(this, arguments); - } - - Start.toString = function () { - return _Start.toString(); - }; - - return Start; - }(function (path) { - var index = path.node.index; - - if ((0, _index.isIdentifier)(index) === true) { - var offsetInModule = moduleContext.getFunctionOffsetByIdentifier(index.value); - - if (typeof offsetInModule === "undefined") { - throw newUnexpectedFunction(index.value); - } // Replace the index Identifier - // $FlowIgnore: reference? - - - path.node.index = (0, _index.numberLiteralFromRaw)(offsetInModule); - } - }) - }); -} - -function transformFuncPath(funcPath, moduleContext) { - var funcNode = funcPath.node; - var signature = funcNode.signature; - - if (signature.type !== "Signature") { - throw new Error("Function signatures must be denormalised before execution"); - } - - var params = signature.params; // Add func locals in the context - - params.forEach(function (p) { - return moduleContext.addLocal(p.valtype); - }); - (0, _index.traverse)(funcNode, { - Instr: function (_Instr) { - function Instr(_x4) { - return _Instr.apply(this, arguments); - } - - Instr.toString = function () { - return _Instr.toString(); - }; - - return Instr; - }(function (instrPath) { - var instrNode = instrPath.node; - /** - * Local access - */ - - if (instrNode.id === "get_local" || instrNode.id === "set_local" || instrNode.id === "tee_local") { - var _instrNode$args = _slicedToArray(instrNode.args, 1), - firstArg = _instrNode$args[0]; - - if (firstArg.type === "Identifier") { - var offsetInParams = params.findIndex(function (_ref) { - var id = _ref.id; - return id === firstArg.value; - }); - - if (offsetInParams === -1) { - throw new Error("".concat(firstArg.value, " not found in ").concat(instrNode.id, ": not declared in func params")); - } // Replace the Identifer node by our new NumberLiteral node - - - instrNode.args[0] = (0, _index.numberLiteralFromRaw)(offsetInParams); - } - } - /** - * Global access - */ - - - if (instrNode.id === "get_global" || instrNode.id === "set_global") { - var _instrNode$args2 = _slicedToArray(instrNode.args, 1), - _firstArg = _instrNode$args2[0]; - - if ((0, _index.isIdentifier)(_firstArg) === true) { - var globalOffset = moduleContext.getGlobalOffsetByIdentifier( // $FlowIgnore: reference? - _firstArg.value); - - if (typeof globalOffset === "undefined") { - // $FlowIgnore: reference? - throw new Error("global ".concat(_firstArg.value, " not found in module")); - } // Replace the Identifer node by our new NumberLiteral node - - - instrNode.args[0] = (0, _index.numberLiteralFromRaw)(globalOffset); - } - } - /** - * Labels lookup - */ - - - if (instrNode.id === "br") { - var _instrNode$args3 = _slicedToArray(instrNode.args, 1), - _firstArg2 = _instrNode$args3[0]; - - if ((0, _index.isIdentifier)(_firstArg2) === true) { - // if the labels is not found it is going to be replaced with -1 - // which is invalid. - var relativeBlockCount = -1; // $FlowIgnore: reference? - - instrPath.findParent(function (_ref2) { - var node = _ref2.node; - - if ((0, _index.isBlock)(node)) { - relativeBlockCount++; // $FlowIgnore: reference? - - var name = node.label || node.name; - - if (_typeof(name) === "object") { - // $FlowIgnore: isIdentifier ensures that - if (name.value === _firstArg2.value) { - // Found it - return false; - } - } - } - - if ((0, _index.isFunc)(node)) { - return false; - } - }); // Replace the Identifer node by our new NumberLiteral node - - instrNode.args[0] = (0, _index.numberLiteralFromRaw)(relativeBlockCount); - } - } - }), - - /** - * Func lookup - */ - CallInstruction: function (_CallInstruction) { - function CallInstruction(_x5) { - return _CallInstruction.apply(this, arguments); - } - - CallInstruction.toString = function () { - return _CallInstruction.toString(); - }; - - return CallInstruction; - }(function (_ref3) { - var node = _ref3.node; - var index = node.index; - - if ((0, _index.isIdentifier)(index) === true) { - var offsetInModule = moduleContext.getFunctionOffsetByIdentifier(index.value); - - if (typeof offsetInModule === "undefined") { - throw newUnexpectedFunction(index.value); - } // Replace the index Identifier - // $FlowIgnore: reference? - - - node.index = (0, _index.numberLiteralFromRaw)(offsetInModule); - } - }) - }); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/traverse.js b/node_modules/@webassemblyjs/ast/lib/traverse.js deleted file mode 100644 index 86803cec..00000000 --- a/node_modules/@webassemblyjs/ast/lib/traverse.js +++ /dev/null @@ -1,105 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.traverse = traverse; - -var _nodePath = require("./node-path"); - -var _nodes = require("./nodes"); - -// recursively walks the AST starting at the given node. The callback is invoked for -// and object that has a 'type' property. -function walk(context, callback) { - var stop = false; - - function innerWalk(context, callback) { - if (stop) { - return; - } - - var node = context.node; - - if (node === undefined) { - console.warn("traversing with an empty context"); - return; - } - - if (node._deleted === true) { - return; - } - - var path = (0, _nodePath.createPath)(context); - callback(node.type, path); - - if (path.shouldStop) { - stop = true; - return; - } - - Object.keys(node).forEach(function (prop) { - var value = node[prop]; - - if (value === null || value === undefined) { - return; - } - - var valueAsArray = Array.isArray(value) ? value : [value]; - valueAsArray.forEach(function (childNode) { - if (typeof childNode.type === "string") { - var childContext = { - node: childNode, - parentKey: prop, - parentPath: path, - shouldStop: false, - inList: Array.isArray(value) - }; - innerWalk(childContext, callback); - } - }); - }); - } - - innerWalk(context, callback); -} - -var noop = function noop() {}; - -function traverse(node, visitors) { - var before = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : noop; - var after = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop; - Object.keys(visitors).forEach(function (visitor) { - if (!_nodes.nodeAndUnionTypes.includes(visitor)) { - throw new Error("Unexpected visitor ".concat(visitor)); - } - }); - var context = { - node: node, - inList: false, - shouldStop: false, - parentPath: null, - parentKey: null - }; - walk(context, function (type, path) { - if (typeof visitors[type] === "function") { - before(type, path); - visitors[type](path); - after(type, path); - } - - var unionTypes = _nodes.unionTypesMap[type]; - - if (!unionTypes) { - throw new Error("Unexpected node type ".concat(type)); - } - - unionTypes.forEach(function (unionType) { - if (typeof visitors[unionType] === "function") { - before(unionType, path); - visitors[unionType](path); - after(unionType, path); - } - }); - }); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/types/basic.js b/node_modules/@webassemblyjs/ast/lib/types/basic.js deleted file mode 100644 index 9a390c31..00000000 --- a/node_modules/@webassemblyjs/ast/lib/types/basic.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/types/nodes.js b/node_modules/@webassemblyjs/ast/lib/types/nodes.js deleted file mode 100644 index 9a390c31..00000000 --- a/node_modules/@webassemblyjs/ast/lib/types/nodes.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/types/traverse.js b/node_modules/@webassemblyjs/ast/lib/types/traverse.js deleted file mode 100644 index 9a390c31..00000000 --- a/node_modules/@webassemblyjs/ast/lib/types/traverse.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/lib/utils.js b/node_modules/@webassemblyjs/ast/lib/utils.js deleted file mode 100644 index 87de15ed..00000000 --- a/node_modules/@webassemblyjs/ast/lib/utils.js +++ /dev/null @@ -1,315 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.isAnonymous = isAnonymous; -exports.getSectionMetadata = getSectionMetadata; -exports.getSectionMetadatas = getSectionMetadatas; -exports.sortSectionMetadata = sortSectionMetadata; -exports.orderedInsertNode = orderedInsertNode; -exports.assertHasLoc = assertHasLoc; -exports.getEndOfSection = getEndOfSection; -exports.shiftLoc = shiftLoc; -exports.shiftSection = shiftSection; -exports.signatureForOpcode = signatureForOpcode; -exports.getUniqueNameGenerator = getUniqueNameGenerator; -exports.getStartByteOffset = getStartByteOffset; -exports.getEndByteOffset = getEndByteOffset; -exports.getFunctionBeginingByteOffset = getFunctionBeginingByteOffset; -exports.getEndBlockByteOffset = getEndBlockByteOffset; -exports.getStartBlockByteOffset = getStartBlockByteOffset; - -var _signatures = require("./signatures"); - -var _traverse = require("./traverse"); - -var _helperWasmBytecode = _interopRequireWildcard(require("@webassemblyjs/helper-wasm-bytecode")); - -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } - -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function isAnonymous(ident) { - return ident.raw === ""; -} - -function getSectionMetadata(ast, name) { - var section; - (0, _traverse.traverse)(ast, { - SectionMetadata: function (_SectionMetadata) { - function SectionMetadata(_x) { - return _SectionMetadata.apply(this, arguments); - } - - SectionMetadata.toString = function () { - return _SectionMetadata.toString(); - }; - - return SectionMetadata; - }(function (_ref) { - var node = _ref.node; - - if (node.section === name) { - section = node; - } - }) - }); - return section; -} - -function getSectionMetadatas(ast, name) { - var sections = []; - (0, _traverse.traverse)(ast, { - SectionMetadata: function (_SectionMetadata2) { - function SectionMetadata(_x2) { - return _SectionMetadata2.apply(this, arguments); - } - - SectionMetadata.toString = function () { - return _SectionMetadata2.toString(); - }; - - return SectionMetadata; - }(function (_ref2) { - var node = _ref2.node; - - if (node.section === name) { - sections.push(node); - } - }) - }); - return sections; -} - -function sortSectionMetadata(m) { - if (m.metadata == null) { - console.warn("sortSectionMetadata: no metadata to sort"); - return; - } // $FlowIgnore - - - m.metadata.sections.sort(function (a, b) { - var aId = _helperWasmBytecode["default"].sections[a.section]; - var bId = _helperWasmBytecode["default"].sections[b.section]; - - if (typeof aId !== "number" || typeof bId !== "number") { - throw new Error("Section id not found"); - } - - return aId - bId; - }); -} - -function orderedInsertNode(m, n) { - assertHasLoc(n); - var didInsert = false; - - if (n.type === "ModuleExport") { - m.fields.push(n); - return; - } - - m.fields = m.fields.reduce(function (acc, field) { - var fieldEndCol = Infinity; - - if (field.loc != null) { - // $FlowIgnore - fieldEndCol = field.loc.end.column; - } // $FlowIgnore: assertHasLoc ensures that - - - if (didInsert === false && n.loc.start.column < fieldEndCol) { - didInsert = true; - acc.push(n); - } - - acc.push(field); - return acc; - }, []); // Handles empty modules or n is the last element - - if (didInsert === false) { - m.fields.push(n); - } -} - -function assertHasLoc(n) { - if (n.loc == null || n.loc.start == null || n.loc.end == null) { - throw new Error("Internal failure: node (".concat(JSON.stringify(n.type), ") has no location information")); - } -} - -function getEndOfSection(s) { - assertHasLoc(s.size); - return s.startOffset + s.size.value + (s.size.loc.end.column - s.size.loc.start.column); -} - -function shiftLoc(node, delta) { - // $FlowIgnore - node.loc.start.column += delta; // $FlowIgnore - - node.loc.end.column += delta; -} - -function shiftSection(ast, node, delta) { - if (node.type !== "SectionMetadata") { - throw new Error("Can not shift node " + JSON.stringify(node.type)); - } - - node.startOffset += delta; - - if (_typeof(node.size.loc) === "object") { - shiftLoc(node.size, delta); - } // Custom sections doesn't have vectorOfSize - - - if (_typeof(node.vectorOfSize) === "object" && _typeof(node.vectorOfSize.loc) === "object") { - shiftLoc(node.vectorOfSize, delta); - } - - var sectionName = node.section; // shift node locations within that section - - (0, _traverse.traverse)(ast, { - Node: function Node(_ref3) { - var node = _ref3.node; - var section = (0, _helperWasmBytecode.getSectionForNode)(node); - - if (section === sectionName && _typeof(node.loc) === "object") { - shiftLoc(node, delta); - } - } - }); -} - -function signatureForOpcode(object, name) { - var opcodeName = name; - - if (object !== undefined && object !== "") { - opcodeName = object + "." + name; - } - - var sign = _signatures.signatures[opcodeName]; - - if (sign == undefined) { - // TODO: Uncomment this when br_table and others has been done - //throw new Error("Invalid opcode: "+opcodeName); - return [object, object]; - } - - return sign[0]; -} - -function getUniqueNameGenerator() { - var inc = {}; - return function () { - var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "temp"; - - if (!(prefix in inc)) { - inc[prefix] = 0; - } else { - inc[prefix] = inc[prefix] + 1; - } - - return prefix + "_" + inc[prefix]; - }; -} - -function getStartByteOffset(n) { - // $FlowIgnore - if (typeof n.loc === "undefined" || typeof n.loc.start === "undefined") { - throw new Error( // $FlowIgnore - "Can not get byte offset without loc informations, node: " + String(n.id)); - } - - return n.loc.start.column; -} - -function getEndByteOffset(n) { - // $FlowIgnore - if (typeof n.loc === "undefined" || typeof n.loc.end === "undefined") { - throw new Error("Can not get byte offset without loc informations, node: " + n.type); - } - - return n.loc.end.column; -} - -function getFunctionBeginingByteOffset(n) { - if (!(n.body.length > 0)) { - throw new Error('n.body.length > 0' + " error: " + (undefined || "unknown")); - } - - var _n$body = _slicedToArray(n.body, 1), - firstInstruction = _n$body[0]; - - return getStartByteOffset(firstInstruction); -} - -function getEndBlockByteOffset(n) { - // $FlowIgnore - if (!(n.instr.length > 0 || n.body.length > 0)) { - throw new Error('n.instr.length > 0 || n.body.length > 0' + " error: " + (undefined || "unknown")); - } - - var lastInstruction; - - if (n.instr) { - // $FlowIgnore - lastInstruction = n.instr[n.instr.length - 1]; - } - - if (n.body) { - // $FlowIgnore - lastInstruction = n.body[n.body.length - 1]; - } - - if (!(_typeof(lastInstruction) === "object")) { - throw new Error('typeof lastInstruction === "object"' + " error: " + (undefined || "unknown")); - } - - // $FlowIgnore - return getStartByteOffset(lastInstruction); -} - -function getStartBlockByteOffset(n) { - // $FlowIgnore - if (!(n.instr.length > 0 || n.body.length > 0)) { - throw new Error('n.instr.length > 0 || n.body.length > 0' + " error: " + (undefined || "unknown")); - } - - var fistInstruction; - - if (n.instr) { - // $FlowIgnore - var _n$instr = _slicedToArray(n.instr, 1); - - fistInstruction = _n$instr[0]; - } - - if (n.body) { - // $FlowIgnore - var _n$body2 = _slicedToArray(n.body, 1); - - fistInstruction = _n$body2[0]; - } - - if (!(_typeof(fistInstruction) === "object")) { - throw new Error('typeof fistInstruction === "object"' + " error: " + (undefined || "unknown")); - } - - // $FlowIgnore - return getStartByteOffset(fistInstruction); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ast/package.json b/node_modules/@webassemblyjs/ast/package.json deleted file mode 100644 index 326e7502..00000000 --- a/node_modules/@webassemblyjs/ast/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "@webassemblyjs/ast", - "version": "1.11.6", - "description": "AST utils for webassemblyjs", - "keywords": [ - "webassembly", - "javascript", - "ast" - ], - "main": "lib/index.js", - "module": "esm/index.js", - "author": "Sven Sauleau", - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - }, - "devDependencies": { - "@webassemblyjs/helper-test-framework": "1.11.6", - "array.prototype.flatmap": "^1.2.1", - "dump-exports": "^0.1.0", - "mamacro": "^0.0.7" - } -} diff --git a/node_modules/@webassemblyjs/ast/scripts/generateNodeUtils.js b/node_modules/@webassemblyjs/ast/scripts/generateNodeUtils.js deleted file mode 100644 index 88bff018..00000000 --- a/node_modules/@webassemblyjs/ast/scripts/generateNodeUtils.js +++ /dev/null @@ -1,219 +0,0 @@ -const definitions = require("../src/definitions"); -const flatMap = require("array.prototype.flatmap"); -const { - typeSignature, - iterateProps, - mapProps, - filterProps, - unique, -} = require("./util"); - -const stdout = process.stdout; - -const jsTypes = ["string", "number", "boolean"]; - -const quote = (value) => `"${value}"`; - -function params(fields) { - const optionalDefault = (field) => - field.default ? ` = ${field.default}` : ""; - return mapProps(fields) - .map((field) => `${typeSignature(field)}${optionalDefault(field)}`) - .join(","); -} - -function assertParamType({ assertNodeType, array, name, type }) { - if (array) { - // TODO - assert contents of array? - return `assert(typeof ${name} === "object" && typeof ${name}.length !== "undefined")\n`; - } else { - if (jsTypes.includes(type)) { - return `assert( - typeof ${name} === "${type}", - "Argument ${name} must be of type ${type}, given: " + typeof ${name} - )`; - } - - if (assertNodeType === true) { - return `assert( - ${name}.type === "${type}", - "Argument ${name} must be of type ${type}, given: " + ${name}.type - )`; - } - - return ""; - } -} - -function assertParam(meta) { - const paramAssertion = assertParamType(meta); - - if (paramAssertion === "") { - return ""; - } - - if (meta.maybe || meta.optional) { - return ` - if (${meta.name} !== null && ${meta.name} !== undefined) { - ${paramAssertion}; - } - `; - } else { - return paramAssertion; - } -} - -function assertParams(fields) { - return mapProps(fields).map(assertParam).join("\n"); -} - -function buildObject(typeDef) { - const optionalField = (meta) => { - if (meta.array) { - // omit optional array properties if the constructor function was supplied - // with an empty array - return ` - if (typeof ${meta.name} !== "undefined" && ${meta.name}.length > 0) { - node.${meta.name} = ${meta.name}; - } - `; - } else if (meta.type === "Object") { - // omit optional object properties if they have no keys - return ` - if (typeof ${meta.name} !== "undefined" && Object.keys(${meta.name}).length !== 0) { - node.${meta.name} = ${meta.name}; - } - `; - } else if (meta.type === "boolean") { - // omit optional boolean properties if they are not true - return ` - if (${meta.name} === true) { - node.${meta.name} = true; - } - `; - } else { - return ` - if (typeof ${meta.name} !== "undefined") { - node.${meta.name} = ${meta.name}; - } - `; - } - }; - - const fields = mapProps(typeDef.fields) - .filter((f) => !f.optional && !f.constant) - .map((f) => f.name); - - const constants = mapProps(typeDef.fields) - .filter((f) => f.constant) - .map((f) => `${f.name}: "${f.value}"`); - - return ` - const node: ${typeDef.flowTypeName || typeDef.name} = { - type: "${typeDef.name}", - ${constants.concat(fields).join(",")} - } - - ${mapProps(typeDef.fields) - .filter((f) => f.optional) - .map(optionalField) - .join("")} - `; -} - -function lowerCamelCase(name) { - return name.substring(0, 1).toLowerCase() + name.substring(1); -} - -function generate() { - stdout.write(` - // @flow - - // THIS FILE IS AUTOGENERATED - // see scripts/generateNodeUtils.js - - import { assert } from "mamacro"; - - function isTypeOf(t: string) { - return (n: Node) => n.type === t; - } - - function assertTypeOf(t: string) { - return (n: Node) => assert(n.type === t); - } - `); - - // Node builders - iterateProps(definitions, (typeDefinition) => { - stdout.write(` - export function ${lowerCamelCase(typeDefinition.name)} ( - ${params(filterProps(typeDefinition.fields, (f) => !f.constant))} - ): ${typeDefinition.name} { - - ${assertParams(filterProps(typeDefinition.fields, (f) => !f.constant))} - ${buildObject(typeDefinition)} - - return node; - } - `); - }); - - // Node testers - iterateProps(definitions, (typeDefinition) => { - stdout.write(` - export const is${typeDefinition.name}: ((n: Node) => boolean) = - isTypeOf("${typeDefinition.name}"); - `); - }); - - // Node union type testers - const unionTypes = unique( - flatMap( - mapProps(definitions).filter((d) => d.unionType), - (d) => d.unionType - ) - ); - unionTypes.forEach((unionType) => { - stdout.write( - ` - export const is${unionType} = (node: Node): boolean => ` + - mapProps(definitions) - .filter((d) => d.unionType && d.unionType.includes(unionType)) - .map((d) => `is${d.name}(node) `) - .join("||") + - ";\n\n" - ); - }); - - // Node assertion - iterateProps(definitions, (typeDefinition) => { - stdout.write(` - export const assert${typeDefinition.name}: ((n: Node) => void) = - assertTypeOf("${typeDefinition.name}"); - `); - }); - - // a map from node type to its set of union types - stdout.write( - ` - export const unionTypesMap = {` + - mapProps(definitions) - .filter((d) => d.unionType) - .map((t) => `"${t.name}": [${t.unionType.map(quote).join(",")}]\n`) + - `}; - ` - ); - - // an array of all node and union types - stdout.write( - ` - export const nodeAndUnionTypes = [` + - mapProps(definitions) - .map((t) => `"${t.name}"`) - .concat(unionTypes.map(quote)) - .join(",") + - `];` - ); -} - -generate(); diff --git a/node_modules/@webassemblyjs/ast/scripts/generateTypeDefinitions.js b/node_modules/@webassemblyjs/ast/scripts/generateTypeDefinitions.js deleted file mode 100644 index 3f6a9d16..00000000 --- a/node_modules/@webassemblyjs/ast/scripts/generateTypeDefinitions.js +++ /dev/null @@ -1,48 +0,0 @@ -const definitions = require("../src/definitions"); -const flatMap = require("array.prototype.flatmap"); -const { typeSignature, mapProps, iterateProps, unique } = require("./util"); - -const stdout = process.stdout; - -function params(fields) { - return mapProps(fields).map(typeSignature).join(","); -} - -function generate() { - stdout.write(` - // @flow - /* eslint no-unused-vars: off */ - - // THIS FILE IS AUTOGENERATED - // see scripts/generateTypeDefinitions.js - `); - - // generate union types - const unionTypes = unique( - flatMap( - mapProps(definitions).filter((d) => d.unionType), - (d) => d.unionType - ) - ); - unionTypes.forEach((unionType) => { - stdout.write( - `type ${unionType} = ` + - mapProps(definitions) - .filter((d) => d.unionType && d.unionType.includes(unionType)) - .map((d) => d.name) - .join("|") + - ";\n\n" - ); - }); - - // generate the type definitions - iterateProps(definitions, (typeDef) => { - stdout.write(`type ${typeDef.name} = { - ...BaseNode, - type: "${typeDef.name}", - ${params(typeDef.fields)} - };\n\n`); - }); -} - -generate(); diff --git a/node_modules/@webassemblyjs/ast/scripts/util.js b/node_modules/@webassemblyjs/ast/scripts/util.js deleted file mode 100644 index 75815355..00000000 --- a/node_modules/@webassemblyjs/ast/scripts/util.js +++ /dev/null @@ -1,38 +0,0 @@ -function iterateProps(obj, iterator) { - Object.keys(obj).forEach((key) => iterator({ ...obj[key], name: key })); -} - -function mapProps(obj) { - return Object.keys(obj).map((key) => ({ ...obj[key], name: key })); -} - -function filterProps(obj, filter) { - const ret = {}; - Object.keys(obj).forEach((key) => { - if (filter(obj[key])) { - ret[key] = obj[key]; - } - }); - return ret; -} - -function typeSignature(meta) { - const type = meta.array ? `Array<${meta.type}>` : meta.type; - if (meta.optional) { - return `${meta.name}?: ${type}`; - } else if (meta.maybe) { - return `${meta.name}: ?${type}`; - } else { - return `${meta.name}: ${type}`; - } -} - -const unique = (items) => Array.from(new Set(items)); - -module.exports = { - iterateProps, - mapProps, - filterProps, - typeSignature, - unique, -}; diff --git a/node_modules/@webassemblyjs/floating-point-hex-parser/LICENSE b/node_modules/@webassemblyjs/floating-point-hex-parser/LICENSE deleted file mode 100644 index d5471f86..00000000 --- a/node_modules/@webassemblyjs/floating-point-hex-parser/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License
-
-Copyright (c) 2017 Mauro Bringolf
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/floating-point-hex-parser/README.md b/node_modules/@webassemblyjs/floating-point-hex-parser/README.md deleted file mode 100644 index 648e09bc..00000000 --- a/node_modules/@webassemblyjs/floating-point-hex-parser/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# Parser function for floating point hexadecimals - -[]() -[]() -[]() - -> A JavaScript function to parse floating point hexadecimals as defined by the [WebAssembly specification](https://webassembly.github.io/spec/core/text/values.html#text-hexfloat). - -## Usage - -```javascript -import parseHexFloat from '@webassemblyjs/floating-point-hex-parser' - -parseHexFloat('0x1p-1') // 0.5 -parseHexFloat('0x1.921fb54442d18p+2') // 6.283185307179586 -``` - -## Tests - -This module is tested in two ways. The first one is through a small set of test cases that can be found in [test/regular.test.js](https://github.com/maurobringolf/@webassemblyjs/floating-point-hex-parser/blob/master/test/regular.test.js). The second one is non-deterministic (sometimes called *fuzzing*): - -1. Generate a random IEEE754 double precision value `x`. -1. Compute its representation `y` in floating point hexadecimal format using the C standard library function `printf` since C supports this format. -1. Give both values to JS testcase and see if `parseHexFloat(y) === x`. - -By default one `npm test` run tests 100 random samples. If you want to do more, you can set the environment variable `FUZZ_AMOUNT` to whatever number of runs you'd like. Because it uses one child process for each sample, it is really slow though. For more details about the randomized tests see [the source](https://github.com/maurobringolf/@webassemblyjs/floating-point-hex-parser/tree/master/test/fuzzing). - -## Links - -* [maurobringolf.ch/2017/12/hexadecimal-floating-point-notation/](https://maurobringolf.ch/2017/12/hexadecimal-floating-point-notation/) - -* [github.com/xtuc/js-webassembly-interpreter/issues/32](https://github.com/xtuc/js-webassembly-interpreter/issues/32) - -* [github.com/WebAssembly/design/issues/292](https://github.com/WebAssembly/design/issues/292) diff --git a/node_modules/@webassemblyjs/floating-point-hex-parser/lib/index.js b/node_modules/@webassemblyjs/floating-point-hex-parser/lib/index.js deleted file mode 100644 index 96b3bd14..00000000 --- a/node_modules/@webassemblyjs/floating-point-hex-parser/lib/index.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = parse; - -function parse(input) { - input = input.toUpperCase(); - var splitIndex = input.indexOf("P"); - var mantissa, exponent; - - if (splitIndex !== -1) { - mantissa = input.substring(0, splitIndex); - exponent = parseInt(input.substring(splitIndex + 1)); - } else { - mantissa = input; - exponent = 0; - } - - var dotIndex = mantissa.indexOf("."); - - if (dotIndex !== -1) { - var integerPart = parseInt(mantissa.substring(0, dotIndex), 16); - var sign = Math.sign(integerPart); - integerPart = sign * integerPart; - var fractionLength = mantissa.length - dotIndex - 1; - var fractionalPart = parseInt(mantissa.substring(dotIndex + 1), 16); - var fraction = fractionLength > 0 ? fractionalPart / Math.pow(16, fractionLength) : 0; - - if (sign === 0) { - if (fraction === 0) { - mantissa = sign; - } else { - if (Object.is(sign, -0)) { - mantissa = -fraction; - } else { - mantissa = fraction; - } - } - } else { - mantissa = sign * (integerPart + fraction); - } - } else { - mantissa = parseInt(mantissa, 16); - } - - return mantissa * (splitIndex !== -1 ? Math.pow(2, exponent) : 1); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/floating-point-hex-parser/package.json b/node_modules/@webassemblyjs/floating-point-hex-parser/package.json deleted file mode 100644 index cf50516b..00000000 --- a/node_modules/@webassemblyjs/floating-point-hex-parser/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "@webassemblyjs/floating-point-hex-parser", - "scripts": { - "build-fuzzer": "[ -f ./test/fuzzing/parse.out ] || gcc ./test/fuzzing/parse.c -o ./test/fuzzing/parse.out -lm -Wall" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - }, - "version": "1.11.6", - "description": "A function to parse floating point hexadecimal strings as defined by the WebAssembly specification", - "main": "lib/index.js", - "module": "esm/index.js", - "keywords": [ - "webassembly", - "floating-point" - ], - "author": "Mauro Bringolf", - "license": "MIT" -} diff --git a/node_modules/@webassemblyjs/helper-api-error/lib/index.js b/node_modules/@webassemblyjs/helper-api-error/lib/index.js deleted file mode 100644 index 759482de..00000000 --- a/node_modules/@webassemblyjs/helper-api-error/lib/index.js +++ /dev/null @@ -1,78 +0,0 @@ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.LinkError = exports.CompileError = exports.RuntimeError = void 0; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); } - -function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } - -function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -var RuntimeError = /*#__PURE__*/function (_Error) { - _inherits(RuntimeError, _Error); - - var _super = _createSuper(RuntimeError); - - function RuntimeError() { - _classCallCheck(this, RuntimeError); - - return _super.apply(this, arguments); - } - - return RuntimeError; -}( /*#__PURE__*/_wrapNativeSuper(Error)); - -exports.RuntimeError = RuntimeError; - -var CompileError = /*#__PURE__*/function (_Error2) { - _inherits(CompileError, _Error2); - - var _super2 = _createSuper(CompileError); - - function CompileError() { - _classCallCheck(this, CompileError); - - return _super2.apply(this, arguments); - } - - return CompileError; -}( /*#__PURE__*/_wrapNativeSuper(Error)); - -exports.CompileError = CompileError; - -var LinkError = /*#__PURE__*/function (_Error3) { - _inherits(LinkError, _Error3); - - var _super3 = _createSuper(LinkError); - - function LinkError() { - _classCallCheck(this, LinkError); - - return _super3.apply(this, arguments); - } - - return LinkError; -}( /*#__PURE__*/_wrapNativeSuper(Error)); - -exports.LinkError = LinkError;
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/helper-api-error/package.json b/node_modules/@webassemblyjs/helper-api-error/package.json deleted file mode 100644 index 6631943e..00000000 --- a/node_modules/@webassemblyjs/helper-api-error/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "@webassemblyjs/helper-api-error", - "version": "1.11.6", - "description": "Common API errors", - "main": "lib/index.js", - "module": "esm/index.js", - "author": "Sven Sauleau", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git", - "directory": "packages/helper-api-error" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/node_modules/@webassemblyjs/helper-buffer/lib/compare.js b/node_modules/@webassemblyjs/helper-buffer/lib/compare.js deleted file mode 100644 index b30dc071..00000000 --- a/node_modules/@webassemblyjs/helper-buffer/lib/compare.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.compareArrayBuffers = compareArrayBuffers; - -// this are dev dependencies -var diff = require("jest-diff"); - -var _require = require("jest-diff/build/constants"), - NO_DIFF_MESSAGE = _require.NO_DIFF_MESSAGE; - -var _require2 = require("@webassemblyjs/wasm-parser"), - decode = _require2.decode; - -var oldConsoleLog = console.log; - -function compareArrayBuffers(l, r) { - /** - * Decode left - */ - var bufferL = ""; - - console.log = function () { - for (var _len = arguments.length, texts = new Array(_len), _key = 0; _key < _len; _key++) { - texts[_key] = arguments[_key]; - } - - return bufferL += texts.join("") + "\n"; - }; - - try { - decode(l, { - dump: true - }); - } catch (e) { - console.error(bufferL); - console.error(e); - throw e; - } - /** - * Decode right - */ - - - var bufferR = ""; - - console.log = function () { - for (var _len2 = arguments.length, texts = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - texts[_key2] = arguments[_key2]; - } - - return bufferR += texts.join("") + "\n"; - }; - - try { - decode(r, { - dump: true - }); - } catch (e) { - console.error(bufferR); - console.error(e); - throw e; - } - - console.log = oldConsoleLog; - var out = diff(bufferL, bufferR); - - if (out !== null && out !== NO_DIFF_MESSAGE) { - throw new Error("\n" + out); - } -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/helper-buffer/lib/index.js b/node_modules/@webassemblyjs/helper-buffer/lib/index.js deleted file mode 100644 index 9e3e7b8c..00000000 --- a/node_modules/@webassemblyjs/helper-buffer/lib/index.js +++ /dev/null @@ -1,89 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.overrideBytesInBuffer = overrideBytesInBuffer; -exports.makeBuffer = makeBuffer; -exports.fromHexdump = fromHexdump; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function concatUint8Arrays() { - for (var _len = arguments.length, arrays = new Array(_len), _key = 0; _key < _len; _key++) { - arrays[_key] = arguments[_key]; - } - - var totalLength = arrays.reduce(function (a, b) { - return a + b.length; - }, 0); - var result = new Uint8Array(totalLength); - var offset = 0; - - for (var _i = 0, _arrays = arrays; _i < _arrays.length; _i++) { - var arr = _arrays[_i]; - - if (arr instanceof Uint8Array === false) { - throw new Error("arr must be of type Uint8Array"); - } - - result.set(arr, offset); - offset += arr.length; - } - - return result; -} - -function overrideBytesInBuffer(buffer, startLoc, endLoc, newBytes) { - var beforeBytes = buffer.slice(0, startLoc); - var afterBytes = buffer.slice(endLoc, buffer.length); // replacement is empty, we can omit it - - if (newBytes.length === 0) { - return concatUint8Arrays(beforeBytes, afterBytes); - } - - var replacement = Uint8Array.from(newBytes); - return concatUint8Arrays(beforeBytes, replacement, afterBytes); -} - -function makeBuffer() { - for (var _len2 = arguments.length, splitedBytes = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - splitedBytes[_key2] = arguments[_key2]; - } - - // $FlowIgnore - var bytes = [].concat.apply([], splitedBytes); - return new Uint8Array(bytes).buffer; -} - -function fromHexdump(str) { - var lines = str.split("\n"); // remove any leading left whitespace - - lines = lines.map(function (line) { - return line.trim(); - }); - var bytes = lines.reduce(function (acc, line) { - var cols = line.split(" "); // remove the offset, left column - - cols.shift(); - cols = cols.filter(function (x) { - return x !== ""; - }); - var bytes = cols.map(function (x) { - return parseInt(x, 16); - }); - acc.push.apply(acc, _toConsumableArray(bytes)); - return acc; - }, []); - return Buffer.from(bytes); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/helper-buffer/package.json b/node_modules/@webassemblyjs/helper-buffer/package.json deleted file mode 100644 index f7960505..00000000 --- a/node_modules/@webassemblyjs/helper-buffer/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "@webassemblyjs/helper-buffer", - "version": "1.11.6", - "description": "Buffer manipulation utility", - "main": "lib/index.js", - "module": "esm/index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - }, - "author": "Sven Sauleau", - "license": "MIT", - "devDependencies": { - "@webassemblyjs/wasm-parser": "1.11.6", - "jest-diff": "^24.0.0" - } -} diff --git a/node_modules/@webassemblyjs/helper-numbers/lib/index.js b/node_modules/@webassemblyjs/helper-numbers/lib/index.js deleted file mode 100644 index 76604047..00000000 --- a/node_modules/@webassemblyjs/helper-numbers/lib/index.js +++ /dev/null @@ -1,117 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.parse32F = parse32F; -exports.parse64F = parse64F; -exports.parse32I = parse32I; -exports.parseU32 = parseU32; -exports.parse64I = parse64I; -exports.isInfLiteral = isInfLiteral; -exports.isNanLiteral = isNanLiteral; - -var _long2 = _interopRequireDefault(require("@xtuc/long")); - -var _floatingPointHexParser = _interopRequireDefault(require("@webassemblyjs/floating-point-hex-parser")); - -var _helperApiError = require("@webassemblyjs/helper-api-error"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function parse32F(sourceString) { - if (isHexLiteral(sourceString)) { - return (0, _floatingPointHexParser["default"])(sourceString); - } - - if (isInfLiteral(sourceString)) { - return sourceString[0] === "-" ? -1 : 1; - } - - if (isNanLiteral(sourceString)) { - return (sourceString[0] === "-" ? -1 : 1) * (sourceString.includes(":") ? parseInt(sourceString.substring(sourceString.indexOf(":") + 1), 16) : 0x400000); - } - - return parseFloat(sourceString); -} - -function parse64F(sourceString) { - if (isHexLiteral(sourceString)) { - return (0, _floatingPointHexParser["default"])(sourceString); - } - - if (isInfLiteral(sourceString)) { - return sourceString[0] === "-" ? -1 : 1; - } - - if (isNanLiteral(sourceString)) { - return (sourceString[0] === "-" ? -1 : 1) * (sourceString.includes(":") ? parseInt(sourceString.substring(sourceString.indexOf(":") + 1), 16) : 0x8000000000000); - } - - if (isHexLiteral(sourceString)) { - return (0, _floatingPointHexParser["default"])(sourceString); - } - - return parseFloat(sourceString); -} - -function parse32I(sourceString) { - var value = 0; - - if (isHexLiteral(sourceString)) { - value = ~~parseInt(sourceString, 16); - } else if (isDecimalExponentLiteral(sourceString)) { - throw new Error("This number literal format is yet to be implemented."); - } else { - value = parseInt(sourceString, 10); - } - - return value; -} - -function parseU32(sourceString) { - var value = parse32I(sourceString); - - if (value < 0) { - throw new _helperApiError.CompileError("Illegal value for u32: " + sourceString); - } - - return value; -} - -function parse64I(sourceString) { - // $FlowIgnore - var _long; - - if (isHexLiteral(sourceString)) { - _long = _long2["default"].fromString(sourceString, false, 16); - } else if (isDecimalExponentLiteral(sourceString)) { - throw new Error("This number literal format is yet to be implemented."); - } else { - _long = _long2["default"].fromString(sourceString); - } - - return { - high: _long.high, - low: _long.low - }; -} - -var NAN_WORD = /^\+?-?nan/; -var INF_WORD = /^\+?-?inf/; - -function isInfLiteral(sourceString) { - return INF_WORD.test(sourceString.toLowerCase()); -} - -function isNanLiteral(sourceString) { - return NAN_WORD.test(sourceString.toLowerCase()); -} - -function isDecimalExponentLiteral(sourceString) { - return !isHexLiteral(sourceString) && sourceString.toUpperCase().includes("E"); -} - -function isHexLiteral(sourceString) { - return sourceString.substring(0, 2).toUpperCase() === "0X" || sourceString.substring(0, 3).toUpperCase() === "-0X"; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/helper-numbers/package.json b/node_modules/@webassemblyjs/helper-numbers/package.json deleted file mode 100644 index 1f6e441b..00000000 --- a/node_modules/@webassemblyjs/helper-numbers/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "@webassemblyjs/helper-numbers", - "version": "1.11.6", - "description": "Number parsing utility", - "main": "lib/index.js", - "module": "esm/index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - }, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - }, - "author": "Sven Sauleau", - "license": "MIT" -} diff --git a/node_modules/@webassemblyjs/helper-numbers/src/index.js b/node_modules/@webassemblyjs/helper-numbers/src/index.js deleted file mode 100644 index 773402e4..00000000 --- a/node_modules/@webassemblyjs/helper-numbers/src/index.js +++ /dev/null @@ -1,106 +0,0 @@ -// @flow - -import Long from "@xtuc/long"; -import parseHexFloat from "@webassemblyjs/floating-point-hex-parser"; -import { CompileError } from "@webassemblyjs/helper-api-error"; - -export function parse32F(sourceString: string): number { - if (isHexLiteral(sourceString)) { - return parseHexFloat(sourceString); - } - if (isInfLiteral(sourceString)) { - return sourceString[0] === "-" ? -1 : 1; - } - if (isNanLiteral(sourceString)) { - return ( - (sourceString[0] === "-" ? -1 : 1) * - (sourceString.includes(":") - ? parseInt(sourceString.substring(sourceString.indexOf(":") + 1), 16) - : 0x400000) - ); - } - return parseFloat(sourceString); -} - -export function parse64F(sourceString: string): number { - if (isHexLiteral(sourceString)) { - return parseHexFloat(sourceString); - } - if (isInfLiteral(sourceString)) { - return sourceString[0] === "-" ? -1 : 1; - } - if (isNanLiteral(sourceString)) { - return ( - (sourceString[0] === "-" ? -1 : 1) * - (sourceString.includes(":") - ? parseInt(sourceString.substring(sourceString.indexOf(":") + 1), 16) - : 0x8000000000000) - ); - } - if (isHexLiteral(sourceString)) { - return parseHexFloat(sourceString); - } - return parseFloat(sourceString); -} - -export function parse32I(sourceString: string): number { - let value = 0; - if (isHexLiteral(sourceString)) { - value = ~~parseInt(sourceString, 16); - } else if (isDecimalExponentLiteral(sourceString)) { - throw new Error("This number literal format is yet to be implemented."); - } else { - value = parseInt(sourceString, 10); - } - - return value; -} - -export function parseU32(sourceString: string): number { - const value = parse32I(sourceString); - if (value < 0) { - throw new CompileError("Illegal value for u32: " + sourceString); - } - return value; -} - -export function parse64I(sourceString: string): LongNumber { - // $FlowIgnore - let long: Long; - if (isHexLiteral(sourceString)) { - long = Long.fromString(sourceString, false, 16); - } else if (isDecimalExponentLiteral(sourceString)) { - throw new Error("This number literal format is yet to be implemented."); - } else { - long = Long.fromString(sourceString); - } - - return { - high: long.high, - low: long.low, - }; -} - -const NAN_WORD = /^\+?-?nan/; -const INF_WORD = /^\+?-?inf/; - -export function isInfLiteral(sourceString: string): boolean { - return INF_WORD.test(sourceString.toLowerCase()); -} - -export function isNanLiteral(sourceString: string): boolean { - return NAN_WORD.test(sourceString.toLowerCase()); -} - -function isDecimalExponentLiteral(sourceString: string): boolean { - return ( - !isHexLiteral(sourceString) && sourceString.toUpperCase().includes("E") - ); -} - -function isHexLiteral(sourceString: string): boolean { - return ( - sourceString.substring(0, 2).toUpperCase() === "0X" || - sourceString.substring(0, 3).toUpperCase() === "-0X" - ); -} diff --git a/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js b/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js deleted file mode 100644 index cd647d2d..00000000 --- a/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js +++ /dev/null @@ -1,406 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "getSectionForNode", { - enumerable: true, - get: function get() { - return _section.getSectionForNode; - } -}); -exports["default"] = void 0; - -var _section = require("./section"); - -var illegalop = "illegal"; -var magicModuleHeader = [0x00, 0x61, 0x73, 0x6d]; -var moduleVersion = [0x01, 0x00, 0x00, 0x00]; - -function invertMap(obj) { - var keyModifierFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (k) { - return k; - }; - var result = {}; - var keys = Object.keys(obj); - - for (var i = 0, length = keys.length; i < length; i++) { - result[keyModifierFn(obj[keys[i]])] = keys[i]; - } - - return result; -} - -function createSymbolObject(name -/*: string */ -, object -/*: string */ -) -/*: Symbol*/ -{ - var numberOfArgs - /*: number*/ - = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - return { - name: name, - object: object, - numberOfArgs: numberOfArgs - }; -} - -function createSymbol(name -/*: string */ -) -/*: Symbol*/ -{ - var numberOfArgs - /*: number*/ - = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - return { - name: name, - numberOfArgs: numberOfArgs - }; -} - -var types = { - func: 0x60, - result: 0x40 -}; -var exportTypes = { - 0x00: "Func", - 0x01: "Table", - 0x02: "Memory", - 0x03: "Global" -}; -var exportTypesByName = invertMap(exportTypes); -var valtypes = { - 0x7f: "i32", - 0x7e: "i64", - 0x7d: "f32", - 0x7c: "f64", - 0x7b: "v128" -}; -var valtypesByString = invertMap(valtypes); -var tableTypes = { - 0x70: "anyfunc" -}; -var blockTypes = Object.assign({}, valtypes, { - // https://webassembly.github.io/spec/core/binary/types.html#binary-blocktype - 0x40: null, - // https://webassembly.github.io/spec/core/binary/types.html#binary-valtype - 0x7f: "i32", - 0x7e: "i64", - 0x7d: "f32", - 0x7c: "f64" -}); -var globalTypes = { - 0x00: "const", - 0x01: "var" -}; -var globalTypesByString = invertMap(globalTypes); -var importTypes = { - 0x00: "func", - 0x01: "table", - 0x02: "memory", - 0x03: "global" -}; -var sections = { - custom: 0, - type: 1, - "import": 2, - func: 3, - table: 4, - memory: 5, - global: 6, - "export": 7, - start: 8, - element: 9, - code: 10, - data: 11 -}; -var symbolsByByte = { - 0x00: createSymbol("unreachable"), - 0x01: createSymbol("nop"), - 0x02: createSymbol("block"), - 0x03: createSymbol("loop"), - 0x04: createSymbol("if"), - 0x05: createSymbol("else"), - 0x06: illegalop, - 0x07: illegalop, - 0x08: illegalop, - 0x09: illegalop, - 0x0a: illegalop, - 0x0b: createSymbol("end"), - 0x0c: createSymbol("br", 1), - 0x0d: createSymbol("br_if", 1), - 0x0e: createSymbol("br_table"), - 0x0f: createSymbol("return"), - 0x10: createSymbol("call", 1), - 0x11: createSymbol("call_indirect", 2), - 0x12: illegalop, - 0x13: illegalop, - 0x14: illegalop, - 0x15: illegalop, - 0x16: illegalop, - 0x17: illegalop, - 0x18: illegalop, - 0x19: illegalop, - 0x1a: createSymbol("drop"), - 0x1b: createSymbol("select"), - 0x1c: illegalop, - 0x1d: illegalop, - 0x1e: illegalop, - 0x1f: illegalop, - 0x20: createSymbol("get_local", 1), - 0x21: createSymbol("set_local", 1), - 0x22: createSymbol("tee_local", 1), - 0x23: createSymbol("get_global", 1), - 0x24: createSymbol("set_global", 1), - 0x25: illegalop, - 0x26: illegalop, - 0x27: illegalop, - 0x28: createSymbolObject("load", "u32", 1), - 0x29: createSymbolObject("load", "u64", 1), - 0x2a: createSymbolObject("load", "f32", 1), - 0x2b: createSymbolObject("load", "f64", 1), - 0x2c: createSymbolObject("load8_s", "u32", 1), - 0x2d: createSymbolObject("load8_u", "u32", 1), - 0x2e: createSymbolObject("load16_s", "u32", 1), - 0x2f: createSymbolObject("load16_u", "u32", 1), - 0x30: createSymbolObject("load8_s", "u64", 1), - 0x31: createSymbolObject("load8_u", "u64", 1), - 0x32: createSymbolObject("load16_s", "u64", 1), - 0x33: createSymbolObject("load16_u", "u64", 1), - 0x34: createSymbolObject("load32_s", "u64", 1), - 0x35: createSymbolObject("load32_u", "u64", 1), - 0x36: createSymbolObject("store", "u32", 1), - 0x37: createSymbolObject("store", "u64", 1), - 0x38: createSymbolObject("store", "f32", 1), - 0x39: createSymbolObject("store", "f64", 1), - 0x3a: createSymbolObject("store8", "u32", 1), - 0x3b: createSymbolObject("store16", "u32", 1), - 0x3c: createSymbolObject("store8", "u64", 1), - 0x3d: createSymbolObject("store16", "u64", 1), - 0x3e: createSymbolObject("store32", "u64", 1), - 0x3f: createSymbolObject("current_memory"), - 0x40: createSymbolObject("grow_memory"), - 0x41: createSymbolObject("const", "i32", 1), - 0x42: createSymbolObject("const", "i64", 1), - 0x43: createSymbolObject("const", "f32", 1), - 0x44: createSymbolObject("const", "f64", 1), - 0x45: createSymbolObject("eqz", "i32"), - 0x46: createSymbolObject("eq", "i32"), - 0x47: createSymbolObject("ne", "i32"), - 0x48: createSymbolObject("lt_s", "i32"), - 0x49: createSymbolObject("lt_u", "i32"), - 0x4a: createSymbolObject("gt_s", "i32"), - 0x4b: createSymbolObject("gt_u", "i32"), - 0x4c: createSymbolObject("le_s", "i32"), - 0x4d: createSymbolObject("le_u", "i32"), - 0x4e: createSymbolObject("ge_s", "i32"), - 0x4f: createSymbolObject("ge_u", "i32"), - 0x50: createSymbolObject("eqz", "i64"), - 0x51: createSymbolObject("eq", "i64"), - 0x52: createSymbolObject("ne", "i64"), - 0x53: createSymbolObject("lt_s", "i64"), - 0x54: createSymbolObject("lt_u", "i64"), - 0x55: createSymbolObject("gt_s", "i64"), - 0x56: createSymbolObject("gt_u", "i64"), - 0x57: createSymbolObject("le_s", "i64"), - 0x58: createSymbolObject("le_u", "i64"), - 0x59: createSymbolObject("ge_s", "i64"), - 0x5a: createSymbolObject("ge_u", "i64"), - 0x5b: createSymbolObject("eq", "f32"), - 0x5c: createSymbolObject("ne", "f32"), - 0x5d: createSymbolObject("lt", "f32"), - 0x5e: createSymbolObject("gt", "f32"), - 0x5f: createSymbolObject("le", "f32"), - 0x60: createSymbolObject("ge", "f32"), - 0x61: createSymbolObject("eq", "f64"), - 0x62: createSymbolObject("ne", "f64"), - 0x63: createSymbolObject("lt", "f64"), - 0x64: createSymbolObject("gt", "f64"), - 0x65: createSymbolObject("le", "f64"), - 0x66: createSymbolObject("ge", "f64"), - 0x67: createSymbolObject("clz", "i32"), - 0x68: createSymbolObject("ctz", "i32"), - 0x69: createSymbolObject("popcnt", "i32"), - 0x6a: createSymbolObject("add", "i32"), - 0x6b: createSymbolObject("sub", "i32"), - 0x6c: createSymbolObject("mul", "i32"), - 0x6d: createSymbolObject("div_s", "i32"), - 0x6e: createSymbolObject("div_u", "i32"), - 0x6f: createSymbolObject("rem_s", "i32"), - 0x70: createSymbolObject("rem_u", "i32"), - 0x71: createSymbolObject("and", "i32"), - 0x72: createSymbolObject("or", "i32"), - 0x73: createSymbolObject("xor", "i32"), - 0x74: createSymbolObject("shl", "i32"), - 0x75: createSymbolObject("shr_s", "i32"), - 0x76: createSymbolObject("shr_u", "i32"), - 0x77: createSymbolObject("rotl", "i32"), - 0x78: createSymbolObject("rotr", "i32"), - 0x79: createSymbolObject("clz", "i64"), - 0x7a: createSymbolObject("ctz", "i64"), - 0x7b: createSymbolObject("popcnt", "i64"), - 0x7c: createSymbolObject("add", "i64"), - 0x7d: createSymbolObject("sub", "i64"), - 0x7e: createSymbolObject("mul", "i64"), - 0x7f: createSymbolObject("div_s", "i64"), - 0x80: createSymbolObject("div_u", "i64"), - 0x81: createSymbolObject("rem_s", "i64"), - 0x82: createSymbolObject("rem_u", "i64"), - 0x83: createSymbolObject("and", "i64"), - 0x84: createSymbolObject("or", "i64"), - 0x85: createSymbolObject("xor", "i64"), - 0x86: createSymbolObject("shl", "i64"), - 0x87: createSymbolObject("shr_s", "i64"), - 0x88: createSymbolObject("shr_u", "i64"), - 0x89: createSymbolObject("rotl", "i64"), - 0x8a: createSymbolObject("rotr", "i64"), - 0x8b: createSymbolObject("abs", "f32"), - 0x8c: createSymbolObject("neg", "f32"), - 0x8d: createSymbolObject("ceil", "f32"), - 0x8e: createSymbolObject("floor", "f32"), - 0x8f: createSymbolObject("trunc", "f32"), - 0x90: createSymbolObject("nearest", "f32"), - 0x91: createSymbolObject("sqrt", "f32"), - 0x92: createSymbolObject("add", "f32"), - 0x93: createSymbolObject("sub", "f32"), - 0x94: createSymbolObject("mul", "f32"), - 0x95: createSymbolObject("div", "f32"), - 0x96: createSymbolObject("min", "f32"), - 0x97: createSymbolObject("max", "f32"), - 0x98: createSymbolObject("copysign", "f32"), - 0x99: createSymbolObject("abs", "f64"), - 0x9a: createSymbolObject("neg", "f64"), - 0x9b: createSymbolObject("ceil", "f64"), - 0x9c: createSymbolObject("floor", "f64"), - 0x9d: createSymbolObject("trunc", "f64"), - 0x9e: createSymbolObject("nearest", "f64"), - 0x9f: createSymbolObject("sqrt", "f64"), - 0xa0: createSymbolObject("add", "f64"), - 0xa1: createSymbolObject("sub", "f64"), - 0xa2: createSymbolObject("mul", "f64"), - 0xa3: createSymbolObject("div", "f64"), - 0xa4: createSymbolObject("min", "f64"), - 0xa5: createSymbolObject("max", "f64"), - 0xa6: createSymbolObject("copysign", "f64"), - 0xa7: createSymbolObject("wrap/i64", "i32"), - 0xa8: createSymbolObject("trunc_s/f32", "i32"), - 0xa9: createSymbolObject("trunc_u/f32", "i32"), - 0xaa: createSymbolObject("trunc_s/f64", "i32"), - 0xab: createSymbolObject("trunc_u/f64", "i32"), - 0xac: createSymbolObject("extend_s/i32", "i64"), - 0xad: createSymbolObject("extend_u/i32", "i64"), - 0xae: createSymbolObject("trunc_s/f32", "i64"), - 0xaf: createSymbolObject("trunc_u/f32", "i64"), - 0xb0: createSymbolObject("trunc_s/f64", "i64"), - 0xb1: createSymbolObject("trunc_u/f64", "i64"), - 0xb2: createSymbolObject("convert_s/i32", "f32"), - 0xb3: createSymbolObject("convert_u/i32", "f32"), - 0xb4: createSymbolObject("convert_s/i64", "f32"), - 0xb5: createSymbolObject("convert_u/i64", "f32"), - 0xb6: createSymbolObject("demote/f64", "f32"), - 0xb7: createSymbolObject("convert_s/i32", "f64"), - 0xb8: createSymbolObject("convert_u/i32", "f64"), - 0xb9: createSymbolObject("convert_s/i64", "f64"), - 0xba: createSymbolObject("convert_u/i64", "f64"), - 0xbb: createSymbolObject("promote/f32", "f64"), - 0xbc: createSymbolObject("reinterpret/f32", "i32"), - 0xbd: createSymbolObject("reinterpret/f64", "i64"), - 0xbe: createSymbolObject("reinterpret/i32", "f32"), - 0xbf: createSymbolObject("reinterpret/i64", "f64"), - // Atomic Memory Instructions - 0xfe00: createSymbol("memory.atomic.notify", 1), - 0xfe01: createSymbol("memory.atomic.wait32", 1), - 0xfe02: createSymbol("memory.atomic.wait64", 1), - 0xfe10: createSymbolObject("atomic.load", "i32", 1), - 0xfe11: createSymbolObject("atomic.load", "i64", 1), - 0xfe12: createSymbolObject("atomic.load8_u", "i32", 1), - 0xfe13: createSymbolObject("atomic.load16_u", "i32", 1), - 0xfe14: createSymbolObject("atomic.load8_u", "i64", 1), - 0xfe15: createSymbolObject("atomic.load16_u", "i64", 1), - 0xfe16: createSymbolObject("atomic.load32_u", "i64", 1), - 0xfe17: createSymbolObject("atomic.store", "i32", 1), - 0xfe18: createSymbolObject("atomic.store", "i64", 1), - 0xfe19: createSymbolObject("atomic.store8_u", "i32", 1), - 0xfe1a: createSymbolObject("atomic.store16_u", "i32", 1), - 0xfe1b: createSymbolObject("atomic.store8_u", "i64", 1), - 0xfe1c: createSymbolObject("atomic.store16_u", "i64", 1), - 0xfe1d: createSymbolObject("atomic.store32_u", "i64", 1), - 0xfe1e: createSymbolObject("atomic.rmw.add", "i32", 1), - 0xfe1f: createSymbolObject("atomic.rmw.add", "i64", 1), - 0xfe20: createSymbolObject("atomic.rmw8_u.add_u", "i32", 1), - 0xfe21: createSymbolObject("atomic.rmw16_u.add_u", "i32", 1), - 0xfe22: createSymbolObject("atomic.rmw8_u.add_u", "i64", 1), - 0xfe23: createSymbolObject("atomic.rmw16_u.add_u", "i64", 1), - 0xfe24: createSymbolObject("atomic.rmw32_u.add_u", "i64", 1), - 0xfe25: createSymbolObject("atomic.rmw.sub", "i32", 1), - 0xfe26: createSymbolObject("atomic.rmw.sub", "i64", 1), - 0xfe27: createSymbolObject("atomic.rmw8_u.sub_u", "i32", 1), - 0xfe28: createSymbolObject("atomic.rmw16_u.sub_u", "i32", 1), - 0xfe29: createSymbolObject("atomic.rmw8_u.sub_u", "i64", 1), - 0xfe2a: createSymbolObject("atomic.rmw16_u.sub_u", "i64", 1), - 0xfe2b: createSymbolObject("atomic.rmw32_u.sub_u", "i64", 1), - 0xfe2c: createSymbolObject("atomic.rmw.and", "i32", 1), - 0xfe2d: createSymbolObject("atomic.rmw.and", "i64", 1), - 0xfe2e: createSymbolObject("atomic.rmw8_u.and_u", "i32", 1), - 0xfe2f: createSymbolObject("atomic.rmw16_u.and_u", "i32", 1), - 0xfe30: createSymbolObject("atomic.rmw8_u.and_u", "i64", 1), - 0xfe31: createSymbolObject("atomic.rmw16_u.and_u", "i64", 1), - 0xfe32: createSymbolObject("atomic.rmw32_u.and_u", "i64", 1), - 0xfe33: createSymbolObject("atomic.rmw.or", "i32", 1), - 0xfe34: createSymbolObject("atomic.rmw.or", "i64", 1), - 0xfe35: createSymbolObject("atomic.rmw8_u.or_u", "i32", 1), - 0xfe36: createSymbolObject("atomic.rmw16_u.or_u", "i32", 1), - 0xfe37: createSymbolObject("atomic.rmw8_u.or_u", "i64", 1), - 0xfe38: createSymbolObject("atomic.rmw16_u.or_u", "i64", 1), - 0xfe39: createSymbolObject("atomic.rmw32_u.or_u", "i64", 1), - 0xfe3a: createSymbolObject("atomic.rmw.xor", "i32", 1), - 0xfe3b: createSymbolObject("atomic.rmw.xor", "i64", 1), - 0xfe3c: createSymbolObject("atomic.rmw8_u.xor_u", "i32", 1), - 0xfe3d: createSymbolObject("atomic.rmw16_u.xor_u", "i32", 1), - 0xfe3e: createSymbolObject("atomic.rmw8_u.xor_u", "i64", 1), - 0xfe3f: createSymbolObject("atomic.rmw16_u.xor_u", "i64", 1), - 0xfe40: createSymbolObject("atomic.rmw32_u.xor_u", "i64", 1), - 0xfe41: createSymbolObject("atomic.rmw.xchg", "i32", 1), - 0xfe42: createSymbolObject("atomic.rmw.xchg", "i64", 1), - 0xfe43: createSymbolObject("atomic.rmw8_u.xchg_u", "i32", 1), - 0xfe44: createSymbolObject("atomic.rmw16_u.xchg_u", "i32", 1), - 0xfe45: createSymbolObject("atomic.rmw8_u.xchg_u", "i64", 1), - 0xfe46: createSymbolObject("atomic.rmw16_u.xchg_u", "i64", 1), - 0xfe47: createSymbolObject("atomic.rmw32_u.xchg_u", "i64", 1), - 0xfe48: createSymbolObject("atomic.rmw.cmpxchg", "i32", 1), - 0xfe49: createSymbolObject("atomic.rmw.cmpxchg", "i64", 1), - 0xfe4a: createSymbolObject("atomic.rmw8_u.cmpxchg_u", "i32", 1), - 0xfe4b: createSymbolObject("atomic.rmw16_u.cmpxchg_u", "i32", 1), - 0xfe4c: createSymbolObject("atomic.rmw8_u.cmpxchg_u", "i64", 1), - 0xfe4d: createSymbolObject("atomic.rmw16_u.cmpxchg_u", "i64", 1), - 0xfe4e: createSymbolObject("atomic.rmw32_u.cmpxchg_u", "i64", 1) -}; -var symbolsByName = invertMap(symbolsByByte, function (obj) { - if (typeof obj.object === "string") { - return "".concat(obj.object, ".").concat(obj.name); - } - - return obj.name; -}); -var _default = { - symbolsByByte: symbolsByByte, - sections: sections, - magicModuleHeader: magicModuleHeader, - moduleVersion: moduleVersion, - types: types, - valtypes: valtypes, - exportTypes: exportTypes, - blockTypes: blockTypes, - tableTypes: tableTypes, - globalTypes: globalTypes, - importTypes: importTypes, - valtypesByString: valtypesByString, - globalTypesByString: globalTypesByString, - exportTypesByName: exportTypesByName, - symbolsByName: symbolsByName -}; -exports["default"] = _default;
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js b/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js deleted file mode 100644 index 23f6b2b9..00000000 --- a/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getSectionForNode = getSectionForNode; - -function getSectionForNode(n) { - switch (n.type) { - case "ModuleImport": - return "import"; - - case "CallInstruction": - case "CallIndirectInstruction": - case "Func": - case "Instr": - return "code"; - - case "ModuleExport": - return "export"; - - case "Start": - return "start"; - - case "TypeInstruction": - return "type"; - - case "IndexInFuncSection": - return "func"; - - case "Global": - return "global"; - // No section - - default: - return; - } -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/helper-wasm-bytecode/package.json b/node_modules/@webassemblyjs/helper-wasm-bytecode/package.json deleted file mode 100644 index 658f846e..00000000 --- a/node_modules/@webassemblyjs/helper-wasm-bytecode/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "@webassemblyjs/helper-wasm-bytecode", - "version": "1.11.6", - "description": "WASM's Bytecode constants", - "main": "lib/index.js", - "module": "esm/index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Sven Sauleau", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/node_modules/@webassemblyjs/helper-wasm-section/lib/create.js b/node_modules/@webassemblyjs/helper-wasm-section/lib/create.js deleted file mode 100644 index f2856aef..00000000 --- a/node_modules/@webassemblyjs/helper-wasm-section/lib/create.js +++ /dev/null @@ -1,123 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createEmptySection = createEmptySection; - -var _wasmGen = require("@webassemblyjs/wasm-gen"); - -var _helperBuffer = require("@webassemblyjs/helper-buffer"); - -var _helperWasmBytecode = _interopRequireDefault(require("@webassemblyjs/helper-wasm-bytecode")); - -var t = _interopRequireWildcard(require("@webassemblyjs/ast")); - -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } - -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function findLastSection(ast, forSection) { - var targetSectionId = _helperWasmBytecode["default"].sections[forSection]; // $FlowIgnore: metadata can not be empty - - var moduleSections = ast.body[0].metadata.sections; - var lastSection; - var lastId = 0; - - for (var i = 0, len = moduleSections.length; i < len; i++) { - var section = moduleSections[i]; // Ignore custom section since they can actually occur everywhere - - if (section.section === "custom") { - continue; - } - - var sectionId = _helperWasmBytecode["default"].sections[section.section]; - - if (targetSectionId > lastId && targetSectionId < sectionId) { - return lastSection; - } - - lastId = sectionId; - lastSection = section; - } - - return lastSection; -} - -function createEmptySection(ast, uint8Buffer, section) { - // previous section after which we are going to insert our section - var lastSection = findLastSection(ast, section); - var start, end; - /** - * It's the first section - */ - - if (lastSection == null || lastSection.section === "custom") { - start = 8 - /* wasm header size */ - ; - end = start; - } else { - start = lastSection.startOffset + lastSection.size.value + 1; - end = start; - } // section id - - - start += 1; - var sizeStartLoc = { - line: -1, - column: start - }; - var sizeEndLoc = { - line: -1, - column: start + 1 - }; // 1 byte for the empty vector - - var size = t.withLoc(t.numberLiteralFromRaw(1), sizeEndLoc, sizeStartLoc); - var vectorOfSizeStartLoc = { - line: -1, - column: sizeEndLoc.column - }; - var vectorOfSizeEndLoc = { - line: -1, - column: sizeEndLoc.column + 1 - }; - var vectorOfSize = t.withLoc(t.numberLiteralFromRaw(0), vectorOfSizeEndLoc, vectorOfSizeStartLoc); - var sectionMetadata = t.sectionMetadata(section, start, size, vectorOfSize); - var sectionBytes = (0, _wasmGen.encodeNode)(sectionMetadata); - uint8Buffer = (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, start - 1, end, sectionBytes); // Add section into the AST for later lookups - - if (_typeof(ast.body[0].metadata) === "object") { - // $FlowIgnore: metadata can not be empty - ast.body[0].metadata.sections.push(sectionMetadata); - t.sortSectionMetadata(ast.body[0]); - } - /** - * Update AST - */ - // Once we hit our section every that is after needs to be shifted by the delta - - - var deltaBytes = +sectionBytes.length; - var encounteredSection = false; - t.traverse(ast, { - SectionMetadata: function SectionMetadata(path) { - if (path.node.section === section) { - encounteredSection = true; - return; - } - - if (encounteredSection === true) { - t.shiftSection(ast, path.node, deltaBytes); - } - } - }); - return { - uint8Buffer: uint8Buffer, - sectionMetadata: sectionMetadata - }; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/helper-wasm-section/lib/index.js b/node_modules/@webassemblyjs/helper-wasm-section/lib/index.js deleted file mode 100644 index 3c7963c4..00000000 --- a/node_modules/@webassemblyjs/helper-wasm-section/lib/index.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "resizeSectionByteSize", { - enumerable: true, - get: function get() { - return _resize.resizeSectionByteSize; - } -}); -Object.defineProperty(exports, "resizeSectionVecSize", { - enumerable: true, - get: function get() { - return _resize.resizeSectionVecSize; - } -}); -Object.defineProperty(exports, "createEmptySection", { - enumerable: true, - get: function get() { - return _create.createEmptySection; - } -}); -Object.defineProperty(exports, "removeSections", { - enumerable: true, - get: function get() { - return _remove.removeSections; - } -}); - -var _resize = require("./resize"); - -var _create = require("./create"); - -var _remove = require("./remove");
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/helper-wasm-section/lib/remove.js b/node_modules/@webassemblyjs/helper-wasm-section/lib/remove.js deleted file mode 100644 index 008f5d69..00000000 --- a/node_modules/@webassemblyjs/helper-wasm-section/lib/remove.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.removeSections = removeSections; - -var _ast = require("@webassemblyjs/ast"); - -var _helperBuffer = require("@webassemblyjs/helper-buffer"); - -function removeSections(ast, uint8Buffer, section) { - var sectionMetadatas = (0, _ast.getSectionMetadatas)(ast, section); - - if (sectionMetadatas.length === 0) { - throw new Error("Section metadata not found"); - } - - return sectionMetadatas.reverse().reduce(function (uint8Buffer, sectionMetadata) { - var startsIncludingId = sectionMetadata.startOffset - 1; - var ends = section === "start" ? sectionMetadata.size.loc.end.column + 1 : sectionMetadata.startOffset + sectionMetadata.size.value + 1; - var delta = -(ends - startsIncludingId); - /** - * update AST - */ - // Once we hit our section every that is after needs to be shifted by the delta - - var encounteredSection = false; - (0, _ast.traverse)(ast, { - SectionMetadata: function SectionMetadata(path) { - if (path.node.section === section) { - encounteredSection = true; - return path.remove(); - } - - if (encounteredSection === true) { - (0, _ast.shiftSection)(ast, path.node, delta); - } - } - }); // replacement is nothing - - var replacement = []; - return (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, startsIncludingId, ends, replacement); - }, uint8Buffer); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/helper-wasm-section/lib/resize.js b/node_modules/@webassemblyjs/helper-wasm-section/lib/resize.js deleted file mode 100644 index 524cacb9..00000000 --- a/node_modules/@webassemblyjs/helper-wasm-section/lib/resize.js +++ /dev/null @@ -1,90 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.resizeSectionByteSize = resizeSectionByteSize; -exports.resizeSectionVecSize = resizeSectionVecSize; - -var _wasmGen = require("@webassemblyjs/wasm-gen"); - -var _ast = require("@webassemblyjs/ast"); - -var _helperBuffer = require("@webassemblyjs/helper-buffer"); - -function resizeSectionByteSize(ast, uint8Buffer, section, deltaBytes) { - var sectionMetadata = (0, _ast.getSectionMetadata)(ast, section); - - if (typeof sectionMetadata === "undefined") { - throw new Error("Section metadata not found"); - } - - if (typeof sectionMetadata.size.loc === "undefined") { - throw new Error("SectionMetadata " + section + " has no loc"); - } // keep old node location to be overriden - - - var start = sectionMetadata.size.loc.start.column; - var end = sectionMetadata.size.loc.end.column; - var newSectionSize = sectionMetadata.size.value + deltaBytes; - var newBytes = (0, _wasmGen.encodeU32)(newSectionSize); - /** - * update AST - */ - - sectionMetadata.size.value = newSectionSize; - var oldu32EncodedLen = end - start; - var newu32EncodedLen = newBytes.length; // the new u32 has a different encoded length - - if (newu32EncodedLen !== oldu32EncodedLen) { - var deltaInSizeEncoding = newu32EncodedLen - oldu32EncodedLen; - sectionMetadata.size.loc.end.column = start + newu32EncodedLen; - deltaBytes += deltaInSizeEncoding; // move the vec size pointer size the section size is now smaller - - sectionMetadata.vectorOfSize.loc.start.column += deltaInSizeEncoding; - sectionMetadata.vectorOfSize.loc.end.column += deltaInSizeEncoding; - } // Once we hit our section every that is after needs to be shifted by the delta - - - var encounteredSection = false; - (0, _ast.traverse)(ast, { - SectionMetadata: function SectionMetadata(path) { - if (path.node.section === section) { - encounteredSection = true; - return; - } - - if (encounteredSection === true) { - (0, _ast.shiftSection)(ast, path.node, deltaBytes); - } - } - }); - return (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, start, end, newBytes); -} - -function resizeSectionVecSize(ast, uint8Buffer, section, deltaElements) { - var sectionMetadata = (0, _ast.getSectionMetadata)(ast, section); - - if (typeof sectionMetadata === "undefined") { - throw new Error("Section metadata not found"); - } - - if (typeof sectionMetadata.vectorOfSize.loc === "undefined") { - throw new Error("SectionMetadata " + section + " has no loc"); - } // Section has no vector - - - if (sectionMetadata.vectorOfSize.value === -1) { - return uint8Buffer; - } // keep old node location to be overriden - - - var start = sectionMetadata.vectorOfSize.loc.start.column; - var end = sectionMetadata.vectorOfSize.loc.end.column; - var newValue = sectionMetadata.vectorOfSize.value + deltaElements; - var newBytes = (0, _wasmGen.encodeU32)(newValue); // Update AST - - sectionMetadata.vectorOfSize.value = newValue; - sectionMetadata.vectorOfSize.loc.end.column = start + newBytes.length; - return (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, start, end, newBytes); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/helper-wasm-section/package.json b/node_modules/@webassemblyjs/helper-wasm-section/package.json deleted file mode 100644 index 3304812e..00000000 --- a/node_modules/@webassemblyjs/helper-wasm-section/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@webassemblyjs/helper-wasm-section", - "version": "1.11.6", - "description": "", - "main": "lib/index.js", - "module": "esm/index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - }, - "author": "Sven Sauleau", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - }, - "devDependencies": { - "@webassemblyjs/wasm-parser": "1.11.6" - } -} diff --git a/node_modules/@webassemblyjs/ieee754/lib/index.js b/node_modules/@webassemblyjs/ieee754/lib/index.js deleted file mode 100644 index 27b9e22a..00000000 --- a/node_modules/@webassemblyjs/ieee754/lib/index.js +++ /dev/null @@ -1,52 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.encodeF32 = encodeF32; -exports.encodeF64 = encodeF64; -exports.decodeF32 = decodeF32; -exports.decodeF64 = decodeF64; -exports.DOUBLE_PRECISION_MANTISSA = exports.SINGLE_PRECISION_MANTISSA = exports.NUMBER_OF_BYTE_F64 = exports.NUMBER_OF_BYTE_F32 = void 0; - -var _ieee = require("@xtuc/ieee754"); - -/** - * According to https://webassembly.github.io/spec/binary/values.html#binary-float - * n = 32/8 - */ -var NUMBER_OF_BYTE_F32 = 4; -/** - * According to https://webassembly.github.io/spec/binary/values.html#binary-float - * n = 64/8 - */ - -exports.NUMBER_OF_BYTE_F32 = NUMBER_OF_BYTE_F32; -var NUMBER_OF_BYTE_F64 = 8; -exports.NUMBER_OF_BYTE_F64 = NUMBER_OF_BYTE_F64; -var SINGLE_PRECISION_MANTISSA = 23; -exports.SINGLE_PRECISION_MANTISSA = SINGLE_PRECISION_MANTISSA; -var DOUBLE_PRECISION_MANTISSA = 52; -exports.DOUBLE_PRECISION_MANTISSA = DOUBLE_PRECISION_MANTISSA; - -function encodeF32(v) { - var buffer = []; - (0, _ieee.write)(buffer, v, 0, true, SINGLE_PRECISION_MANTISSA, NUMBER_OF_BYTE_F32); - return buffer; -} - -function encodeF64(v) { - var buffer = []; - (0, _ieee.write)(buffer, v, 0, true, DOUBLE_PRECISION_MANTISSA, NUMBER_OF_BYTE_F64); - return buffer; -} - -function decodeF32(bytes) { - var buffer = Buffer.from(bytes); - return (0, _ieee.read)(buffer, 0, true, SINGLE_PRECISION_MANTISSA, NUMBER_OF_BYTE_F32); -} - -function decodeF64(bytes) { - var buffer = Buffer.from(bytes); - return (0, _ieee.read)(buffer, 0, true, DOUBLE_PRECISION_MANTISSA, NUMBER_OF_BYTE_F64); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/ieee754/package.json b/node_modules/@webassemblyjs/ieee754/package.json deleted file mode 100644 index b6db03bf..00000000 --- a/node_modules/@webassemblyjs/ieee754/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "@webassemblyjs/ieee754", - "version": "1.11.6", - "description": "IEEE754 decoder and encoder", - "license": "MIT", - "main": "lib/index.js", - "module": "esm/index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git", - "directory": "packages/ieee754" - }, - "publishConfig": { - "access": "public" - }, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } -} diff --git a/node_modules/@webassemblyjs/ieee754/src/index.js b/node_modules/@webassemblyjs/ieee754/src/index.js deleted file mode 100644 index c8540a5a..00000000 --- a/node_modules/@webassemblyjs/ieee754/src/index.js +++ /dev/null @@ -1,47 +0,0 @@ -// @flow - -import { write, read } from "@xtuc/ieee754"; - -/** - * According to https://webassembly.github.io/spec/binary/values.html#binary-float - * n = 32/8 - */ -export const NUMBER_OF_BYTE_F32 = 4; - -/** - * According to https://webassembly.github.io/spec/binary/values.html#binary-float - * n = 64/8 - */ -export const NUMBER_OF_BYTE_F64 = 8; - -export const SINGLE_PRECISION_MANTISSA = 23; - -export const DOUBLE_PRECISION_MANTISSA = 52; - -export function encodeF32(v: number): Array<number> { - const buffer = []; - - write(buffer, v, 0, true, SINGLE_PRECISION_MANTISSA, NUMBER_OF_BYTE_F32); - - return buffer; -} - -export function encodeF64(v: number): Array<number> { - const buffer = []; - - write(buffer, v, 0, true, DOUBLE_PRECISION_MANTISSA, NUMBER_OF_BYTE_F64); - - return buffer; -} - -export function decodeF32(bytes: Array<Byte>): number { - const buffer = Buffer.from(bytes); - - return read(buffer, 0, true, SINGLE_PRECISION_MANTISSA, NUMBER_OF_BYTE_F32); -} - -export function decodeF64(bytes: Array<Byte>): number { - const buffer = Buffer.from(bytes); - - return read(buffer, 0, true, DOUBLE_PRECISION_MANTISSA, NUMBER_OF_BYTE_F64); -} diff --git a/node_modules/@webassemblyjs/leb128/LICENSE.txt b/node_modules/@webassemblyjs/leb128/LICENSE.txt deleted file mode 100644 index 55e332a8..00000000 --- a/node_modules/@webassemblyjs/leb128/LICENSE.txt +++ /dev/null @@ -1,194 +0,0 @@ -Copyright 2012 The Obvious Corporation. -http://obvious.com/ - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - -------------------------------------------------------------------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS diff --git a/node_modules/@webassemblyjs/leb128/lib/bits.js b/node_modules/@webassemblyjs/leb128/lib/bits.js deleted file mode 100644 index 5acf2460..00000000 --- a/node_modules/@webassemblyjs/leb128/lib/bits.js +++ /dev/null @@ -1,156 +0,0 @@ -// Copyright 2012 The Obvious Corporation. - -/* - * bits: Bitwise buffer utilities. The utilities here treat a buffer - * as a little-endian bigint, so the lowest-order bit is bit #0 of - * `buffer[0]`, and the highest-order bit is bit #7 of - * `buffer[buffer.length - 1]`. - */ - -/* - * Modules used - */ -"use strict"; -/* - * Exported bindings - */ - -/** - * Extracts the given number of bits from the buffer at the indicated - * index, returning a simple number as the result. If bits are requested - * that aren't covered by the buffer, the `defaultBit` is used as their - * value. - * - * The `bitLength` must be no more than 32. The `defaultBit` if not - * specified is taken to be `0`. - */ - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.extract = extract; -exports.inject = inject; -exports.getSign = getSign; -exports.highOrder = highOrder; - -function extract(buffer, bitIndex, bitLength, defaultBit) { - if (bitLength < 0 || bitLength > 32) { - throw new Error("Bad value for bitLength."); - } - - if (defaultBit === undefined) { - defaultBit = 0; - } else if (defaultBit !== 0 && defaultBit !== 1) { - throw new Error("Bad value for defaultBit."); - } - - var defaultByte = defaultBit * 0xff; - var result = 0; // All starts are inclusive. The {endByte, endBit} pair is exclusive, but - // if endBit !== 0, then endByte is inclusive. - - var lastBit = bitIndex + bitLength; - var startByte = Math.floor(bitIndex / 8); - var startBit = bitIndex % 8; - var endByte = Math.floor(lastBit / 8); - var endBit = lastBit % 8; - - if (endBit !== 0) { - // `(1 << endBit) - 1` is the mask of all bits up to but not including - // the endBit. - result = get(endByte) & (1 << endBit) - 1; - } - - while (endByte > startByte) { - endByte--; - result = result << 8 | get(endByte); - } - - result >>>= startBit; - return result; - - function get(index) { - var result = buffer[index]; - return result === undefined ? defaultByte : result; - } -} -/** - * Injects the given bits into the given buffer at the given index. Any - * bits in the value beyond the length to set are ignored. - */ - - -function inject(buffer, bitIndex, bitLength, value) { - if (bitLength < 0 || bitLength > 32) { - throw new Error("Bad value for bitLength."); - } - - var lastByte = Math.floor((bitIndex + bitLength - 1) / 8); - - if (bitIndex < 0 || lastByte >= buffer.length) { - throw new Error("Index out of range."); - } // Just keeping it simple, until / unless profiling shows that this - // is a problem. - - - var atByte = Math.floor(bitIndex / 8); - var atBit = bitIndex % 8; - - while (bitLength > 0) { - if (value & 1) { - buffer[atByte] |= 1 << atBit; - } else { - buffer[atByte] &= ~(1 << atBit); - } - - value >>= 1; - bitLength--; - atBit = (atBit + 1) % 8; - - if (atBit === 0) { - atByte++; - } - } -} -/** - * Gets the sign bit of the given buffer. - */ - - -function getSign(buffer) { - return buffer[buffer.length - 1] >>> 7; -} -/** - * Gets the zero-based bit number of the highest-order bit with the - * given value in the given buffer. - * - * If the buffer consists entirely of the other bit value, then this returns - * `-1`. - */ - - -function highOrder(bit, buffer) { - var length = buffer.length; - var fullyWrongByte = (bit ^ 1) * 0xff; // the other-bit extended to a full byte - - while (length > 0 && buffer[length - 1] === fullyWrongByte) { - length--; - } - - if (length === 0) { - // Degenerate case. The buffer consists entirely of ~bit. - return -1; - } - - var byteToCheck = buffer[length - 1]; - var result = length * 8 - 1; - - for (var i = 7; i > 0; i--) { - if ((byteToCheck >> i & 1) === bit) { - break; - } - - result--; - } - - return result; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/leb128/lib/bufs.js b/node_modules/@webassemblyjs/leb128/lib/bufs.js deleted file mode 100644 index f9a176ed..00000000 --- a/node_modules/@webassemblyjs/leb128/lib/bufs.js +++ /dev/null @@ -1,236 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.alloc = alloc; -exports.free = free; -exports.resize = resize; -exports.readInt = readInt; -exports.readUInt = readUInt; -exports.writeInt64 = writeInt64; -exports.writeUInt64 = writeUInt64; -// Copyright 2012 The Obvious Corporation. - -/* - * bufs: Buffer utilities. - */ - -/* - * Module variables - */ - -/** Pool of buffers, where `bufPool[x].length === x`. */ -var bufPool = []; -/** Maximum length of kept temporary buffers. */ - -var TEMP_BUF_MAXIMUM_LENGTH = 20; -/** Minimum exactly-representable 64-bit int. */ - -var MIN_EXACT_INT64 = -0x8000000000000000; -/** Maximum exactly-representable 64-bit int. */ - -var MAX_EXACT_INT64 = 0x7ffffffffffffc00; -/** Maximum exactly-representable 64-bit uint. */ - -var MAX_EXACT_UINT64 = 0xfffffffffffff800; -/** - * The int value consisting just of a 1 in bit #32 (that is, one more - * than the maximum 32-bit unsigned value). - */ - -var BIT_32 = 0x100000000; -/** - * The int value consisting just of a 1 in bit #64 (that is, one more - * than the maximum 64-bit unsigned value). - */ - -var BIT_64 = 0x10000000000000000; -/* - * Helper functions - */ - -/** - * Masks off all but the lowest bit set of the given number. - */ - -function lowestBit(num) { - return num & -num; -} -/** - * Gets whether trying to add the second number to the first is lossy - * (inexact). The first number is meant to be an accumulated result. - */ - - -function isLossyToAdd(accum, num) { - if (num === 0) { - return false; - } - - var lowBit = lowestBit(num); - var added = accum + lowBit; - - if (added === accum) { - return true; - } - - if (added - lowBit !== accum) { - return true; - } - - return false; -} -/* - * Exported functions - */ - -/** - * Allocates a buffer of the given length, which is initialized - * with all zeroes. This returns a buffer from the pool if it is - * available, or a freshly-allocated buffer if not. - */ - - -function alloc(length) { - var result = bufPool[length]; - - if (result) { - bufPool[length] = undefined; - } else { - result = new Buffer(length); - } - - result.fill(0); - return result; -} -/** - * Releases a buffer back to the pool. - */ - - -function free(buffer) { - var length = buffer.length; - - if (length < TEMP_BUF_MAXIMUM_LENGTH) { - bufPool[length] = buffer; - } -} -/** - * Resizes a buffer, returning a new buffer. Returns the argument if - * the length wouldn't actually change. This function is only safe to - * use if the given buffer was allocated within this module (since - * otherwise the buffer might possibly be shared externally). - */ - - -function resize(buffer, length) { - if (length === buffer.length) { - return buffer; - } - - var newBuf = alloc(length); - buffer.copy(newBuf); - free(buffer); - return newBuf; -} -/** - * Reads an arbitrary signed int from a buffer. - */ - - -function readInt(buffer) { - var length = buffer.length; - var positive = buffer[length - 1] < 0x80; - var result = positive ? 0 : -1; - var lossy = false; // Note: We can't use bit manipulation here, since that stops - // working if the result won't fit in a 32-bit int. - - if (length < 7) { - // Common case which can't possibly be lossy (because the result has - // no more than 48 bits, and loss only happens with 54 or more). - for (var i = length - 1; i >= 0; i--) { - result = result * 0x100 + buffer[i]; - } - } else { - for (var _i = length - 1; _i >= 0; _i--) { - var one = buffer[_i]; - result *= 0x100; - - if (isLossyToAdd(result, one)) { - lossy = true; - } - - result += one; - } - } - - return { - value: result, - lossy: lossy - }; -} -/** - * Reads an arbitrary unsigned int from a buffer. - */ - - -function readUInt(buffer) { - var length = buffer.length; - var result = 0; - var lossy = false; // Note: See above in re bit manipulation. - - if (length < 7) { - // Common case which can't possibly be lossy (see above). - for (var i = length - 1; i >= 0; i--) { - result = result * 0x100 + buffer[i]; - } - } else { - for (var _i2 = length - 1; _i2 >= 0; _i2--) { - var one = buffer[_i2]; - result *= 0x100; - - if (isLossyToAdd(result, one)) { - lossy = true; - } - - result += one; - } - } - - return { - value: result, - lossy: lossy - }; -} -/** - * Writes a little-endian 64-bit signed int into a buffer. - */ - - -function writeInt64(value, buffer) { - if (value < MIN_EXACT_INT64 || value > MAX_EXACT_INT64) { - throw new Error("Value out of range."); - } - - if (value < 0) { - value += BIT_64; - } - - writeUInt64(value, buffer); -} -/** - * Writes a little-endian 64-bit unsigned int into a buffer. - */ - - -function writeUInt64(value, buffer) { - if (value < 0 || value > MAX_EXACT_UINT64) { - throw new Error("Value out of range."); - } - - var lowWord = value % BIT_32; - var highWord = Math.floor(value / BIT_32); - buffer.writeUInt32LE(lowWord, 0); - buffer.writeUInt32LE(highWord, 4); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/leb128/lib/index.js b/node_modules/@webassemblyjs/leb128/lib/index.js deleted file mode 100644 index c9c7481c..00000000 --- a/node_modules/@webassemblyjs/leb128/lib/index.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.decodeInt64 = decodeInt64; -exports.decodeUInt64 = decodeUInt64; -exports.decodeInt32 = decodeInt32; -exports.decodeUInt32 = decodeUInt32; -exports.encodeU32 = encodeU32; -exports.encodeI32 = encodeI32; -exports.encodeI64 = encodeI64; -exports.MAX_NUMBER_OF_BYTE_U64 = exports.MAX_NUMBER_OF_BYTE_U32 = void 0; - -var _leb = _interopRequireDefault(require("./leb")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -/** - * According to https://webassembly.github.io/spec/core/binary/values.html#binary-int - * max = ceil(32/7) - */ -var MAX_NUMBER_OF_BYTE_U32 = 5; -/** - * According to https://webassembly.github.io/spec/core/binary/values.html#binary-int - * max = ceil(64/7) - */ - -exports.MAX_NUMBER_OF_BYTE_U32 = MAX_NUMBER_OF_BYTE_U32; -var MAX_NUMBER_OF_BYTE_U64 = 10; -exports.MAX_NUMBER_OF_BYTE_U64 = MAX_NUMBER_OF_BYTE_U64; - -function decodeInt64(encodedBuffer, index) { - return _leb["default"].decodeInt64(encodedBuffer, index); -} - -function decodeUInt64(encodedBuffer, index) { - return _leb["default"].decodeUInt64(encodedBuffer, index); -} - -function decodeInt32(encodedBuffer, index) { - return _leb["default"].decodeInt32(encodedBuffer, index); -} - -function decodeUInt32(encodedBuffer, index) { - return _leb["default"].decodeUInt32(encodedBuffer, index); -} - -function encodeU32(v) { - return _leb["default"].encodeUInt32(v); -} - -function encodeI32(v) { - return _leb["default"].encodeInt32(v); -} - -function encodeI64(v) { - return _leb["default"].encodeInt64(v); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/leb128/lib/leb.js b/node_modules/@webassemblyjs/leb128/lib/leb.js deleted file mode 100644 index 7510778b..00000000 --- a/node_modules/@webassemblyjs/leb128/lib/leb.js +++ /dev/null @@ -1,343 +0,0 @@ -// Copyright 2012 The Obvious Corporation. - -/* - * leb: LEB128 utilities. - */ - -/* - * Modules used - */ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _long = _interopRequireDefault(require("@xtuc/long")); - -var bits = _interopRequireWildcard(require("./bits")); - -var bufs = _interopRequireWildcard(require("./bufs")); - -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } - -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -/* - * Module variables - */ - -/** The minimum possible 32-bit signed int. */ -var MIN_INT32 = -0x80000000; -/** The maximum possible 32-bit signed int. */ - -var MAX_INT32 = 0x7fffffff; -/** The maximum possible 32-bit unsigned int. */ - -var MAX_UINT32 = 0xffffffff; -/** The minimum possible 64-bit signed int. */ -// const MIN_INT64 = -0x8000000000000000; - -/** - * The maximum possible 64-bit signed int that is representable as a - * JavaScript number. - */ -// const MAX_INT64 = 0x7ffffffffffffc00; - -/** - * The maximum possible 64-bit unsigned int that is representable as a - * JavaScript number. - */ -// const MAX_UINT64 = 0xfffffffffffff800; - -/* - * Helper functions - */ - -/** - * Determines the number of bits required to encode the number - * represented in the given buffer as a signed value. The buffer is - * taken to represent a signed number in little-endian form. - * - * The number of bits to encode is the (zero-based) bit number of the - * highest-order non-sign-matching bit, plus two. For example: - * - * 11111011 01110101 - * high low - * - * The sign bit here is 1 (that is, it's a negative number). The highest - * bit number that doesn't match the sign is bit #10 (where the lowest-order - * bit is bit #0). So, we have to encode at least 12 bits total. - * - * As a special degenerate case, the numbers 0 and -1 each require just one bit. - */ - -function signedBitCount(buffer) { - return bits.highOrder(bits.getSign(buffer) ^ 1, buffer) + 2; -} -/** - * Determines the number of bits required to encode the number - * represented in the given buffer as an unsigned value. The buffer is - * taken to represent an unsigned number in little-endian form. - * - * The number of bits to encode is the (zero-based) bit number of the - * highest-order 1 bit, plus one. For example: - * - * 00011000 01010011 - * high low - * - * The highest-order 1 bit here is bit #12 (where the lowest-order bit - * is bit #0). So, we have to encode at least 13 bits total. - * - * As a special degenerate case, the number 0 requires 1 bit. - */ - - -function unsignedBitCount(buffer) { - var result = bits.highOrder(1, buffer) + 1; - return result ? result : 1; -} -/** - * Common encoder for both signed and unsigned ints. This takes a - * bigint-ish buffer, returning an LEB128-encoded buffer. - */ - - -function encodeBufferCommon(buffer, signed) { - var signBit; - var bitCount; - - if (signed) { - signBit = bits.getSign(buffer); - bitCount = signedBitCount(buffer); - } else { - signBit = 0; - bitCount = unsignedBitCount(buffer); - } - - var byteCount = Math.ceil(bitCount / 7); - var result = bufs.alloc(byteCount); - - for (var i = 0; i < byteCount; i++) { - var payload = bits.extract(buffer, i * 7, 7, signBit); - result[i] = payload | 0x80; - } // Mask off the top bit of the last byte, to indicate the end of the - // encoding. - - - result[byteCount - 1] &= 0x7f; - return result; -} -/** - * Gets the byte-length of the value encoded in the given buffer at - * the given index. - */ - - -function encodedLength(encodedBuffer, index) { - var result = 0; - - while (encodedBuffer[index + result] >= 0x80) { - result++; - } - - result++; // to account for the last byte - - if (index + result > encodedBuffer.length) {// FIXME(sven): seems to cause false positives - // throw new Error("integer representation too long"); - } - - return result; -} -/** - * Common decoder for both signed and unsigned ints. This takes an - * LEB128-encoded buffer, returning a bigint-ish buffer. - */ - - -function decodeBufferCommon(encodedBuffer, index, signed) { - index = index === undefined ? 0 : index; - var length = encodedLength(encodedBuffer, index); - var bitLength = length * 7; - var byteLength = Math.ceil(bitLength / 8); - var result = bufs.alloc(byteLength); - var outIndex = 0; - - while (length > 0) { - bits.inject(result, outIndex, 7, encodedBuffer[index]); - outIndex += 7; - index++; - length--; - } - - var signBit; - var signByte; - - if (signed) { - // Sign-extend the last byte. - var lastByte = result[byteLength - 1]; - var endBit = outIndex % 8; - - if (endBit !== 0) { - var shift = 32 - endBit; // 32 because JS bit ops work on 32-bit ints. - - lastByte = result[byteLength - 1] = lastByte << shift >> shift & 0xff; - } - - signBit = lastByte >> 7; - signByte = signBit * 0xff; - } else { - signBit = 0; - signByte = 0; - } // Slice off any superfluous bytes, that is, ones that add no meaningful - // bits (because the value would be the same if they were removed). - - - while (byteLength > 1 && result[byteLength - 1] === signByte && (!signed || result[byteLength - 2] >> 7 === signBit)) { - byteLength--; - } - - result = bufs.resize(result, byteLength); - return { - value: result, - nextIndex: index - }; -} -/* - * Exported bindings - */ - - -function encodeIntBuffer(buffer) { - return encodeBufferCommon(buffer, true); -} - -function decodeIntBuffer(encodedBuffer, index) { - return decodeBufferCommon(encodedBuffer, index, true); -} - -function encodeInt32(num) { - var buf = bufs.alloc(4); - buf.writeInt32LE(num, 0); - var result = encodeIntBuffer(buf); - bufs.free(buf); - return result; -} - -function decodeInt32(encodedBuffer, index) { - var result = decodeIntBuffer(encodedBuffer, index); - var parsed = bufs.readInt(result.value); - var value = parsed.value; - bufs.free(result.value); - - if (value < MIN_INT32 || value > MAX_INT32) { - throw new Error("integer too large"); - } - - return { - value: value, - nextIndex: result.nextIndex - }; -} - -function encodeInt64(num) { - var buf = bufs.alloc(8); - bufs.writeInt64(num, buf); - var result = encodeIntBuffer(buf); - bufs.free(buf); - return result; -} - -function decodeInt64(encodedBuffer, index) { - var result = decodeIntBuffer(encodedBuffer, index); // sign-extend if necessary - - var length = result.value.length; - - if (result.value[length - 1] >> 7) { - result.value = bufs.resize(result.value, 8); - result.value.fill(255, length); - } - - var value = _long["default"].fromBytesLE(result.value, false); - - bufs.free(result.value); - return { - value: value, - nextIndex: result.nextIndex, - lossy: false - }; -} - -function encodeUIntBuffer(buffer) { - return encodeBufferCommon(buffer, false); -} - -function decodeUIntBuffer(encodedBuffer, index) { - return decodeBufferCommon(encodedBuffer, index, false); -} - -function encodeUInt32(num) { - var buf = bufs.alloc(4); - buf.writeUInt32LE(num, 0); - var result = encodeUIntBuffer(buf); - bufs.free(buf); - return result; -} - -function decodeUInt32(encodedBuffer, index) { - var result = decodeUIntBuffer(encodedBuffer, index); - var parsed = bufs.readUInt(result.value); - var value = parsed.value; - bufs.free(result.value); - - if (value > MAX_UINT32) { - throw new Error("integer too large"); - } - - return { - value: value, - nextIndex: result.nextIndex - }; -} - -function encodeUInt64(num) { - var buf = bufs.alloc(8); - bufs.writeUInt64(num, buf); - var result = encodeUIntBuffer(buf); - bufs.free(buf); - return result; -} - -function decodeUInt64(encodedBuffer, index) { - var result = decodeUIntBuffer(encodedBuffer, index); - - var value = _long["default"].fromBytesLE(result.value, true); - - bufs.free(result.value); - return { - value: value, - nextIndex: result.nextIndex, - lossy: false - }; -} - -var _default = { - decodeInt32: decodeInt32, - decodeInt64: decodeInt64, - decodeIntBuffer: decodeIntBuffer, - decodeUInt32: decodeUInt32, - decodeUInt64: decodeUInt64, - decodeUIntBuffer: decodeUIntBuffer, - encodeInt32: encodeInt32, - encodeInt64: encodeInt64, - encodeIntBuffer: encodeIntBuffer, - encodeUInt32: encodeUInt32, - encodeUInt64: encodeUInt64, - encodeUIntBuffer: encodeUIntBuffer -}; -exports["default"] = _default;
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/leb128/package.json b/node_modules/@webassemblyjs/leb128/package.json deleted file mode 100644 index 6aa7e767..00000000 --- a/node_modules/@webassemblyjs/leb128/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "@webassemblyjs/leb128", - "version": "1.11.6", - "description": "LEB128 decoder and encoder", - "license": "Apache-2.0", - "main": "lib/index.js", - "module": "esm/index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git", - "directory": "packages/leb128" - }, - "dependencies": { - "@xtuc/long": "4.2.2" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/node_modules/@webassemblyjs/utf8/lib/decoder.js b/node_modules/@webassemblyjs/utf8/lib/decoder.js deleted file mode 100644 index 305a2b6e..00000000 --- a/node_modules/@webassemblyjs/utf8/lib/decoder.js +++ /dev/null @@ -1,74 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.decode = decode; - -function con(b) { - if ((b & 0xc0) === 0x80) { - return b & 0x3f; - } else { - throw new Error("invalid UTF-8 encoding"); - } -} - -function code(min, n) { - if (n < min || 0xd800 <= n && n < 0xe000 || n >= 0x10000) { - throw new Error("invalid UTF-8 encoding"); - } else { - return n; - } -} - -function decode(bytes) { - return _decode(bytes).map(function (x) { - return String.fromCharCode(x); - }).join(""); -} - -function _decode(bytes) { - var result = []; - - while (bytes.length > 0) { - var b1 = bytes[0]; - - if (b1 < 0x80) { - result.push(code(0x0, b1)); - bytes = bytes.slice(1); - continue; - } - - if (b1 < 0xc0) { - throw new Error("invalid UTF-8 encoding"); - } - - var b2 = bytes[1]; - - if (b1 < 0xe0) { - result.push(code(0x80, ((b1 & 0x1f) << 6) + con(b2))); - bytes = bytes.slice(2); - continue; - } - - var b3 = bytes[2]; - - if (b1 < 0xf0) { - result.push(code(0x800, ((b1 & 0x0f) << 12) + (con(b2) << 6) + con(b3))); - bytes = bytes.slice(3); - continue; - } - - var b4 = bytes[3]; - - if (b1 < 0xf8) { - result.push(code(0x10000, (((b1 & 0x07) << 18) + con(b2) << 12) + (con(b3) << 6) + con(b4))); - bytes = bytes.slice(4); - continue; - } - - throw new Error("invalid UTF-8 encoding"); - } - - return result; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/utf8/lib/encoder.js b/node_modules/@webassemblyjs/utf8/lib/encoder.js deleted file mode 100644 index 5ed0f03d..00000000 --- a/node_modules/@webassemblyjs/utf8/lib/encoder.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.encode = encode; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } - -function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function con(n) { - return 0x80 | n & 0x3f; -} - -function encode(str) { - var arr = str.split("").map(function (x) { - return x.charCodeAt(0); - }); - return _encode(arr); -} - -function _encode(arr) { - if (arr.length === 0) { - return []; - } - - var _arr = _toArray(arr), - n = _arr[0], - ns = _arr.slice(1); - - if (n < 0) { - throw new Error("utf8"); - } - - if (n < 0x80) { - return [n].concat(_toConsumableArray(_encode(ns))); - } - - if (n < 0x800) { - return [0xc0 | n >>> 6, con(n)].concat(_toConsumableArray(_encode(ns))); - } - - if (n < 0x10000) { - return [0xe0 | n >>> 12, con(n >>> 6), con(n)].concat(_toConsumableArray(_encode(ns))); - } - - if (n < 0x110000) { - return [0xf0 | n >>> 18, con(n >>> 12), con(n >>> 6), con(n)].concat(_toConsumableArray(_encode(ns))); - } - - throw new Error("utf8"); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/utf8/lib/index.js b/node_modules/@webassemblyjs/utf8/lib/index.js deleted file mode 100644 index fef94701..00000000 --- a/node_modules/@webassemblyjs/utf8/lib/index.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "decode", { - enumerable: true, - get: function get() { - return _decoder.decode; - } -}); -Object.defineProperty(exports, "encode", { - enumerable: true, - get: function get() { - return _encoder.encode; - } -}); - -var _decoder = require("./decoder"); - -var _encoder = require("./encoder");
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/utf8/package.json b/node_modules/@webassemblyjs/utf8/package.json deleted file mode 100644 index 3da38eb1..00000000 --- a/node_modules/@webassemblyjs/utf8/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "@webassemblyjs/utf8", - "version": "1.11.6", - "description": "UTF8 encoder/decoder for WASM", - "main": "lib/index.js", - "module": "esm/index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - }, - "author": "Sven Sauleau", - "license": "MIT" -} diff --git a/node_modules/@webassemblyjs/utf8/src/decoder.js b/node_modules/@webassemblyjs/utf8/src/decoder.js deleted file mode 100644 index de80d125..00000000 --- a/node_modules/@webassemblyjs/utf8/src/decoder.js +++ /dev/null @@ -1,67 +0,0 @@ -function con(b) { - if ((b & 0xc0) === 0x80) { - return b & 0x3f; - } else { - throw new Error("invalid UTF-8 encoding"); - } -} - -function code(min, n) { - if (n < min || (0xd800 <= n && n < 0xe000) || n >= 0x10000) { - throw new Error("invalid UTF-8 encoding"); - } else { - return n; - } -} - -export function decode(bytes) { - return _decode(bytes) - .map((x) => String.fromCharCode(x)) - .join(""); -} - -function _decode(bytes) { - const result = []; - while (bytes.length > 0) { - const b1 = bytes[0]; - if (b1 < 0x80) { - result.push(code(0x0, b1)); - bytes = bytes.slice(1); - continue; - } - - if (b1 < 0xc0) { - throw new Error("invalid UTF-8 encoding"); - } - - const b2 = bytes[1]; - if (b1 < 0xe0) { - result.push(code(0x80, ((b1 & 0x1f) << 6) + con(b2))); - bytes = bytes.slice(2); - continue; - } - - const b3 = bytes[2]; - if (b1 < 0xf0) { - result.push(code(0x800, ((b1 & 0x0f) << 12) + (con(b2) << 6) + con(b3))); - bytes = bytes.slice(3); - continue; - } - - const b4 = bytes[3]; - if (b1 < 0xf8) { - result.push( - code( - 0x10000, - ((((b1 & 0x07) << 18) + con(b2)) << 12) + (con(b3) << 6) + con(b4) - ) - ); - bytes = bytes.slice(4); - continue; - } - - throw new Error("invalid UTF-8 encoding"); - } - - return result; -} diff --git a/node_modules/@webassemblyjs/utf8/src/encoder.js b/node_modules/@webassemblyjs/utf8/src/encoder.js deleted file mode 100644 index b17951fd..00000000 --- a/node_modules/@webassemblyjs/utf8/src/encoder.js +++ /dev/null @@ -1,44 +0,0 @@ -function con(n) { - return 0x80 | (n & 0x3f); -} - -export function encode(str) { - const arr = str.split("").map((x) => x.charCodeAt(0)); - return _encode(arr); -} - -function _encode(arr) { - if (arr.length === 0) { - return []; - } - - const [n, ...ns] = arr; - - if (n < 0) { - throw new Error("utf8"); - } - - if (n < 0x80) { - return [n, ..._encode(ns)]; - } - - if (n < 0x800) { - return [0xc0 | (n >>> 6), con(n), ..._encode(ns)]; - } - - if (n < 0x10000) { - return [0xe0 | (n >>> 12), con(n >>> 6), con(n), ..._encode(ns)]; - } - - if (n < 0x110000) { - return [ - 0xf0 | (n >>> 18), - con(n >>> 12), - con(n >>> 6), - con(n), - ..._encode(ns), - ]; - } - - throw new Error("utf8"); -} diff --git a/node_modules/@webassemblyjs/utf8/src/index.js b/node_modules/@webassemblyjs/utf8/src/index.js deleted file mode 100644 index 82cf9a70..00000000 --- a/node_modules/@webassemblyjs/utf8/src/index.js +++ /dev/null @@ -1,4 +0,0 @@ -// @flow - -export { decode } from "./decoder"; -export { encode } from "./encoder"; diff --git a/node_modules/@webassemblyjs/utf8/test/index.js b/node_modules/@webassemblyjs/utf8/test/index.js deleted file mode 100644 index dabdc6ca..00000000 --- a/node_modules/@webassemblyjs/utf8/test/index.js +++ /dev/null @@ -1,13 +0,0 @@ -const { assert } = require("chai"); - -const { decode, encode } = require("../lib"); - -describe("UTF8", () => { - it("should f-1(f(x)) = x", () => { - assert.equal(decode(encode("foo")), "foo"); - assert.equal(decode(encode("éé")), "éé"); - - // TODO(sven): utf8 encoder fails here - // assert.equal(decode(encode("🤣见見")), "🤣见見"); - }); -}); diff --git a/node_modules/@webassemblyjs/wasm-edit/README.md b/node_modules/@webassemblyjs/wasm-edit/README.md deleted file mode 100644 index f03462fb..00000000 --- a/node_modules/@webassemblyjs/wasm-edit/README.md +++ /dev/null @@ -1,86 +0,0 @@ -# @webassemblyjs/wasm-edit - -> Rewrite a WASM binary - -Replace in-place an AST node in the binary. - -## Installation - -```sh -yarn add @webassemblyjs/wasm-edit -``` - -## Usage - -Update: - -```js -import { edit } from "@webassemblyjs/wasm-edit"; - -const binary = [/*...*/]; - -const visitors = { - ModuleImport({ node }) { - node.module = "foo"; - node.name = "bar"; - } -}; - -const newBinary = edit(binary, visitors); -``` - -Replace: - -```js -import { edit } from "@webassemblyjs/wasm-edit"; - -const binary = [/*...*/]; - -const visitors = { - Instr(path) { - const newNode = t.callInstruction(t.indexLiteral(0)); - path.replaceWith(newNode); - } -}; - -const newBinary = edit(binary, visitors); -``` - -Remove: - -```js -import { edit } from "@webassemblyjs/wasm-edit"; - -const binary = [/*...*/]; - -const visitors = { - ModuleExport({ node }) { - path.remove() - } -}; - -const newBinary = edit(binary, visitors); -``` - -Insert: - -```js -import { add } from "@webassemblyjs/wasm-edit"; - -const binary = [/*...*/]; - -const newBinary = add(actualBinary, [ - t.moduleImport("env", "mem", t.memory(t.limit(1))) -]); -``` - -## Providing the AST - -Providing an AST allows you to handle the decoding yourself, here is the API: - -```js -addWithAST(Program, ArrayBuffer, Array<Node>): ArrayBuffer; -editWithAST(Program, ArrayBuffer, visitors): ArrayBuffer; -``` - -Note that the AST will be updated in-place. diff --git a/node_modules/@webassemblyjs/wasm-edit/lib/apply.js b/node_modules/@webassemblyjs/wasm-edit/lib/apply.js deleted file mode 100644 index cdb6d1bc..00000000 --- a/node_modules/@webassemblyjs/wasm-edit/lib/apply.js +++ /dev/null @@ -1,318 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.applyOperations = applyOperations; - -var _wasmGen = require("@webassemblyjs/wasm-gen"); - -var _encoder = require("@webassemblyjs/wasm-gen/lib/encoder"); - -var _ast = require("@webassemblyjs/ast"); - -var _helperWasmSection = require("@webassemblyjs/helper-wasm-section"); - -var _helperBuffer = require("@webassemblyjs/helper-buffer"); - -var _helperWasmBytecode = require("@webassemblyjs/helper-wasm-bytecode"); - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function shiftLocNodeByDelta(node, delta) { - (0, _ast.assertHasLoc)(node); // $FlowIgnore: assertHasLoc ensures that - - node.loc.start.column += delta; // $FlowIgnore: assertHasLoc ensures that - - node.loc.end.column += delta; -} - -function applyUpdate(ast, uint8Buffer, _ref) { - var _ref2 = _slicedToArray(_ref, 2), - oldNode = _ref2[0], - newNode = _ref2[1]; - - var deltaElements = 0; - (0, _ast.assertHasLoc)(oldNode); - var sectionName = (0, _helperWasmBytecode.getSectionForNode)(newNode); - var replacementByteArray = (0, _wasmGen.encodeNode)(newNode); - /** - * Replace new node as bytes - */ - - uint8Buffer = (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, // $FlowIgnore: assertHasLoc ensures that - oldNode.loc.start.column, // $FlowIgnore: assertHasLoc ensures that - oldNode.loc.end.column, replacementByteArray); - /** - * Update function body size if needed - */ - - if (sectionName === "code") { - // Find the parent func - (0, _ast.traverse)(ast, { - Func: function Func(_ref3) { - var node = _ref3.node; - var funcHasThisIntr = node.body.find(function (n) { - return n === newNode; - }) !== undefined; // Update func's body size if needed - - if (funcHasThisIntr === true) { - // These are the old functions locations informations - (0, _ast.assertHasLoc)(node); - var oldNodeSize = (0, _wasmGen.encodeNode)(oldNode).length; - var bodySizeDeltaBytes = replacementByteArray.length - oldNodeSize; - - if (bodySizeDeltaBytes !== 0) { - var newValue = node.metadata.bodySize + bodySizeDeltaBytes; - var newByteArray = (0, _encoder.encodeU32)(newValue); // function body size byte - // FIXME(sven): only handles one byte u32 - - var start = node.loc.start.column; - var end = start + 1; - uint8Buffer = (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, start, end, newByteArray); - } - } - } - }); - } - /** - * Update section size - */ - - - var deltaBytes = replacementByteArray.length - (oldNode.loc.end.column - oldNode.loc.start.column); // Init location informations - - newNode.loc = { - start: { - line: -1, - column: -1 - }, - end: { - line: -1, - column: -1 - } - }; // Update new node end position - // $FlowIgnore: assertHasLoc ensures that - - newNode.loc.start.column = oldNode.loc.start.column; // $FlowIgnore: assertHasLoc ensures that - - newNode.loc.end.column = // $FlowIgnore: assertHasLoc ensures that - oldNode.loc.start.column + replacementByteArray.length; - return { - uint8Buffer: uint8Buffer, - deltaBytes: deltaBytes, - deltaElements: deltaElements - }; -} - -function applyDelete(ast, uint8Buffer, node) { - var deltaElements = -1; // since we removed an element - - (0, _ast.assertHasLoc)(node); - var sectionName = (0, _helperWasmBytecode.getSectionForNode)(node); - - if (sectionName === "start") { - var sectionMetadata = (0, _ast.getSectionMetadata)(ast, "start"); - /** - * The start section only contains one element, - * we need to remove the whole section - */ - - uint8Buffer = (0, _helperWasmSection.removeSections)(ast, uint8Buffer, "start"); - - var _deltaBytes = -(sectionMetadata.size.value + 1); - /* section id */ - - - return { - uint8Buffer: uint8Buffer, - deltaBytes: _deltaBytes, - deltaElements: deltaElements - }; - } // replacement is nothing - - - var replacement = []; - uint8Buffer = (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, // $FlowIgnore: assertHasLoc ensures that - node.loc.start.column, // $FlowIgnore: assertHasLoc ensures that - node.loc.end.column, replacement); - /** - * Update section - */ - // $FlowIgnore: assertHasLoc ensures that - - var deltaBytes = -(node.loc.end.column - node.loc.start.column); - return { - uint8Buffer: uint8Buffer, - deltaBytes: deltaBytes, - deltaElements: deltaElements - }; -} - -function applyAdd(ast, uint8Buffer, node) { - var deltaElements = +1; // since we added an element - - var sectionName = (0, _helperWasmBytecode.getSectionForNode)(node); - var sectionMetadata = (0, _ast.getSectionMetadata)(ast, sectionName); // Section doesn't exists, we create an empty one - - if (typeof sectionMetadata === "undefined") { - var res = (0, _helperWasmSection.createEmptySection)(ast, uint8Buffer, sectionName); - uint8Buffer = res.uint8Buffer; - sectionMetadata = res.sectionMetadata; - } - /** - * check that the expressions were ended - */ - - - if ((0, _ast.isFunc)(node)) { - // $FlowIgnore - var body = node.body; - - if (body.length === 0 || body[body.length - 1].id !== "end") { - throw new Error("expressions must be ended"); - } - } - - if ((0, _ast.isGlobal)(node)) { - // $FlowIgnore - var body = node.init; - - if (body.length === 0 || body[body.length - 1].id !== "end") { - throw new Error("expressions must be ended"); - } - } - /** - * Add nodes - */ - - - var newByteArray = (0, _wasmGen.encodeNode)(node); // The size of the section doesn't include the storage of the size itself - // we need to manually add it here - - var start = (0, _ast.getEndOfSection)(sectionMetadata); - var end = start; - /** - * Update section - */ - - var deltaBytes = newByteArray.length; - uint8Buffer = (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, start, end, newByteArray); - node.loc = { - start: { - line: -1, - column: start - }, - end: { - line: -1, - column: start + deltaBytes - } - }; // for func add the additional metadata in the AST - - if (node.type === "Func") { - // the size is the first byte - // FIXME(sven): handle LEB128 correctly here - var bodySize = newByteArray[0]; - node.metadata = { - bodySize: bodySize - }; - } - - if (node.type !== "IndexInFuncSection") { - (0, _ast.orderedInsertNode)(ast.body[0], node); - } - - return { - uint8Buffer: uint8Buffer, - deltaBytes: deltaBytes, - deltaElements: deltaElements - }; -} - -function applyOperations(ast, uint8Buffer, ops) { - ops.forEach(function (op) { - var state; - var sectionName; - - switch (op.kind) { - case "update": - state = applyUpdate(ast, uint8Buffer, [op.oldNode, op.node]); - sectionName = (0, _helperWasmBytecode.getSectionForNode)(op.node); - break; - - case "delete": - state = applyDelete(ast, uint8Buffer, op.node); - sectionName = (0, _helperWasmBytecode.getSectionForNode)(op.node); - break; - - case "add": - state = applyAdd(ast, uint8Buffer, op.node); - sectionName = (0, _helperWasmBytecode.getSectionForNode)(op.node); - break; - - default: - throw new Error("Unknown operation"); - } - /** - * Resize section vec size. - * If the length of the LEB-encoded size changes, this can change - * the byte length of the section and the offset for nodes in the - * section. So we do this first before resizing section byte size - * or shifting following operations' nodes. - */ - - - if (state.deltaElements !== 0 && sectionName !== "start") { - var oldBufferLength = state.uint8Buffer.length; - state.uint8Buffer = (0, _helperWasmSection.resizeSectionVecSize)(ast, state.uint8Buffer, sectionName, state.deltaElements); // Infer bytes added/removed by comparing buffer lengths - - state.deltaBytes += state.uint8Buffer.length - oldBufferLength; - } - /** - * Resize section byte size. - * If the length of the LEB-encoded size changes, this can change - * the offset for nodes in the section. So we do this before - * shifting following operations' nodes. - */ - - - if (state.deltaBytes !== 0 && sectionName !== "start") { - var _oldBufferLength = state.uint8Buffer.length; - state.uint8Buffer = (0, _helperWasmSection.resizeSectionByteSize)(ast, state.uint8Buffer, sectionName, state.deltaBytes); // Infer bytes added/removed by comparing buffer lengths - - state.deltaBytes += state.uint8Buffer.length - _oldBufferLength; - } - /** - * Shift following operation's nodes - */ - - - if (state.deltaBytes !== 0) { - ops.forEach(function (op) { - // We don't need to handle add ops, they are positioning independent - switch (op.kind) { - case "update": - shiftLocNodeByDelta(op.oldNode, state.deltaBytes); - break; - - case "delete": - shiftLocNodeByDelta(op.node, state.deltaBytes); - break; - } - }); - } - - uint8Buffer = state.uint8Buffer; - }); - return uint8Buffer; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/wasm-edit/lib/index.js b/node_modules/@webassemblyjs/wasm-edit/lib/index.js deleted file mode 100644 index 02f6c5e0..00000000 --- a/node_modules/@webassemblyjs/wasm-edit/lib/index.js +++ /dev/null @@ -1,134 +0,0 @@ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.edit = edit; -exports.editWithAST = editWithAST; -exports.add = add; -exports.addWithAST = addWithAST; - -var _wasmParser = require("@webassemblyjs/wasm-parser"); - -var _ast = require("@webassemblyjs/ast"); - -var _clone = require("@webassemblyjs/ast/lib/clone"); - -var _wasmOpt = require("@webassemblyjs/wasm-opt"); - -var _helperWasmBytecode = _interopRequireWildcard(require("@webassemblyjs/helper-wasm-bytecode")); - -var _apply = require("./apply"); - -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } - -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function hashNode(node) { - return JSON.stringify(node); -} - -function preprocess(ab) { - var optBin = (0, _wasmOpt.shrinkPaddedLEB128)(new Uint8Array(ab)); - return optBin.buffer; -} - -function sortBySectionOrder(nodes) { - var originalOrder = new Map(); - - var _iterator = _createForOfIteratorHelper(nodes), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var node = _step.value; - originalOrder.set(node, originalOrder.size); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - nodes.sort(function (a, b) { - var sectionA = (0, _helperWasmBytecode.getSectionForNode)(a); - var sectionB = (0, _helperWasmBytecode.getSectionForNode)(b); - var aId = _helperWasmBytecode["default"].sections[sectionA]; - var bId = _helperWasmBytecode["default"].sections[sectionB]; - - if (typeof aId !== "number" || typeof bId !== "number") { - throw new Error("Section id not found"); - } - - if (aId === bId) { - // $FlowIgnore originalOrder is filled for all nodes - return originalOrder.get(a) - originalOrder.get(b); - } - - return aId - bId; - }); -} - -function edit(ab, visitors) { - ab = preprocess(ab); - var ast = (0, _wasmParser.decode)(ab); - return editWithAST(ast, ab, visitors); -} - -function editWithAST(ast, ab, visitors) { - var operations = []; - var uint8Buffer = new Uint8Array(ab); - var nodeBefore; - - function before(type, path) { - nodeBefore = (0, _clone.cloneNode)(path.node); - } - - function after(type, path) { - if (path.node._deleted === true) { - operations.push({ - kind: "delete", - node: path.node - }); // $FlowIgnore - } else if (hashNode(nodeBefore) !== hashNode(path.node)) { - operations.push({ - kind: "update", - oldNode: nodeBefore, - node: path.node - }); - } - } - - (0, _ast.traverse)(ast, visitors, before, after); - uint8Buffer = (0, _apply.applyOperations)(ast, uint8Buffer, operations); - return uint8Buffer.buffer; -} - -function add(ab, newNodes) { - ab = preprocess(ab); - var ast = (0, _wasmParser.decode)(ab); - return addWithAST(ast, ab, newNodes); -} - -function addWithAST(ast, ab, newNodes) { - // Sort nodes by insertion order - sortBySectionOrder(newNodes); - var uint8Buffer = new Uint8Array(ab); // Map node into operations - - var operations = newNodes.map(function (n) { - return { - kind: "add", - node: n - }; - }); - uint8Buffer = (0, _apply.applyOperations)(ast, uint8Buffer, operations); - return uint8Buffer.buffer; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/wasm-edit/package.json b/node_modules/@webassemblyjs/wasm-edit/package.json deleted file mode 100644 index 18760539..00000000 --- a/node_modules/@webassemblyjs/wasm-edit/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "@webassemblyjs/wasm-edit", - "version": "1.11.6", - "description": "", - "main": "lib/index.js", - "module": "esm/index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - }, - "author": "Sven Sauleau", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - }, - "devDependencies": { - "@webassemblyjs/helper-test-framework": "1.11.6" - } -} diff --git a/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js b/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js deleted file mode 100644 index 94972d19..00000000 --- a/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js +++ /dev/null @@ -1,372 +0,0 @@ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.encodeVersion = encodeVersion; -exports.encodeHeader = encodeHeader; -exports.encodeU32 = encodeU32; -exports.encodeI32 = encodeI32; -exports.encodeI64 = encodeI64; -exports.encodeVec = encodeVec; -exports.encodeValtype = encodeValtype; -exports.encodeMutability = encodeMutability; -exports.encodeUTF8Vec = encodeUTF8Vec; -exports.encodeLimits = encodeLimits; -exports.encodeModuleImport = encodeModuleImport; -exports.encodeSectionMetadata = encodeSectionMetadata; -exports.encodeCallInstruction = encodeCallInstruction; -exports.encodeCallIndirectInstruction = encodeCallIndirectInstruction; -exports.encodeModuleExport = encodeModuleExport; -exports.encodeTypeInstruction = encodeTypeInstruction; -exports.encodeInstr = encodeInstr; -exports.encodeStringLiteral = encodeStringLiteral; -exports.encodeGlobal = encodeGlobal; -exports.encodeFuncBody = encodeFuncBody; -exports.encodeIndexInFuncSection = encodeIndexInFuncSection; -exports.encodeElem = encodeElem; - -var leb = _interopRequireWildcard(require("@webassemblyjs/leb128")); - -var ieee754 = _interopRequireWildcard(require("@webassemblyjs/ieee754")); - -var utf8 = _interopRequireWildcard(require("@webassemblyjs/utf8")); - -var _helperWasmBytecode = _interopRequireDefault(require("@webassemblyjs/helper-wasm-bytecode")); - -var _index = require("../index"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } - -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function assertNotIdentifierNode(n) { - if (n.type === "Identifier") { - throw new Error("Unsupported node Identifier"); - } -} - -function encodeVersion(v) { - var bytes = _helperWasmBytecode["default"].moduleVersion; - bytes[0] = v; - return bytes; -} - -function encodeHeader() { - return _helperWasmBytecode["default"].magicModuleHeader; -} - -function encodeU32(v) { - var uint8view = new Uint8Array(leb.encodeU32(v)); - - var array = _toConsumableArray(uint8view); - - return array; -} - -function encodeI32(v) { - var uint8view = new Uint8Array(leb.encodeI32(v)); - - var array = _toConsumableArray(uint8view); - - return array; -} - -function encodeI64(v) { - var uint8view = new Uint8Array(leb.encodeI64(v)); - - var array = _toConsumableArray(uint8view); - - return array; -} - -function encodeVec(elements) { - var size = encodeU32(elements.length); - return [].concat(_toConsumableArray(size), _toConsumableArray(elements)); -} - -function encodeValtype(v) { - var _byte = _helperWasmBytecode["default"].valtypesByString[v]; - - if (typeof _byte === "undefined") { - throw new Error("Unknown valtype: " + v); - } - - return parseInt(_byte, 10); -} - -function encodeMutability(v) { - var _byte2 = _helperWasmBytecode["default"].globalTypesByString[v]; - - if (typeof _byte2 === "undefined") { - throw new Error("Unknown mutability: " + v); - } - - return parseInt(_byte2, 10); -} - -function encodeUTF8Vec(str) { - return encodeVec(utf8.encode(str)); -} - -function encodeLimits(n) { - var out = []; - - if (typeof n.max === "number") { - out.push(0x01); - out.push.apply(out, _toConsumableArray(encodeU32(n.min))); // $FlowIgnore: ensured by the typeof - - out.push.apply(out, _toConsumableArray(encodeU32(n.max))); - } else { - out.push(0x00); - out.push.apply(out, _toConsumableArray(encodeU32(n.min))); - } - - return out; -} - -function encodeModuleImport(n) { - var out = []; - out.push.apply(out, _toConsumableArray(encodeUTF8Vec(n.module))); - out.push.apply(out, _toConsumableArray(encodeUTF8Vec(n.name))); - - switch (n.descr.type) { - case "GlobalType": - { - out.push(0x03); // $FlowIgnore: GlobalType ensure that these props exists - - out.push(encodeValtype(n.descr.valtype)); // $FlowIgnore: GlobalType ensure that these props exists - - out.push(encodeMutability(n.descr.mutability)); - break; - } - - case "Memory": - { - out.push(0x02); // $FlowIgnore - - out.push.apply(out, _toConsumableArray(encodeLimits(n.descr.limits))); - break; - } - - case "Table": - { - out.push(0x01); - out.push(0x70); // element type - // $FlowIgnore - - out.push.apply(out, _toConsumableArray(encodeLimits(n.descr.limits))); - break; - } - - case "FuncImportDescr": - { - out.push(0x00); // $FlowIgnore - - assertNotIdentifierNode(n.descr.id); // $FlowIgnore - - out.push.apply(out, _toConsumableArray(encodeU32(n.descr.id.value))); - break; - } - - default: - throw new Error("Unsupport operation: encode module import of type: " + n.descr.type); - } - - return out; -} - -function encodeSectionMetadata(n) { - var out = []; - var sectionId = _helperWasmBytecode["default"].sections[n.section]; - - if (typeof sectionId === "undefined") { - throw new Error("Unknown section: " + n.section); - } - - if (n.section === "start") { - /** - * This is not implemented yet because it's a special case which - * doesn't have a vector in its section. - */ - throw new Error("Unsupported section encoding of type start"); - } - - out.push(sectionId); - out.push.apply(out, _toConsumableArray(encodeU32(n.size.value))); - out.push.apply(out, _toConsumableArray(encodeU32(n.vectorOfSize.value))); - return out; -} - -function encodeCallInstruction(n) { - var out = []; - assertNotIdentifierNode(n.index); - out.push(0x10); // $FlowIgnore - - out.push.apply(out, _toConsumableArray(encodeU32(n.index.value))); - return out; -} - -function encodeCallIndirectInstruction(n) { - var out = []; // $FlowIgnore - - assertNotIdentifierNode(n.index); - out.push(0x11); // $FlowIgnore - - out.push.apply(out, _toConsumableArray(encodeU32(n.index.value))); // add a reserved byte - - out.push(0x00); - return out; -} - -function encodeModuleExport(n) { - var out = []; - assertNotIdentifierNode(n.descr.id); - var exportTypeByteString = _helperWasmBytecode["default"].exportTypesByName[n.descr.exportType]; - - if (typeof exportTypeByteString === "undefined") { - throw new Error("Unknown export of type: " + n.descr.exportType); - } - - var exportTypeByte = parseInt(exportTypeByteString, 10); - out.push.apply(out, _toConsumableArray(encodeUTF8Vec(n.name))); - out.push(exportTypeByte); // $FlowIgnore - - out.push.apply(out, _toConsumableArray(encodeU32(n.descr.id.value))); - return out; -} - -function encodeTypeInstruction(n) { - var out = [0x60]; - var params = n.functype.params.map(function (x) { - return x.valtype; - }).map(encodeValtype); - var results = n.functype.results.map(encodeValtype); - out.push.apply(out, _toConsumableArray(encodeVec(params))); - out.push.apply(out, _toConsumableArray(encodeVec(results))); - return out; -} - -function encodeInstr(n) { - var out = []; - var instructionName = n.id; - - if (typeof n.object === "string") { - instructionName = "".concat(n.object, ".").concat(String(n.id)); - } - - var byteString = _helperWasmBytecode["default"].symbolsByName[instructionName]; - - if (typeof byteString === "undefined") { - throw new Error("encodeInstr: unknown instruction " + JSON.stringify(instructionName)); - } - - var _byte3 = parseInt(byteString, 10); - - out.push(_byte3); - - if (n.args) { - n.args.forEach(function (arg) { - var encoder = encodeU32; // find correct encoder - - if (n.object === "i32") { - encoder = encodeI32; - } - - if (n.object === "i64") { - encoder = encodeI64; - } - - if (n.object === "f32") { - encoder = ieee754.encodeF32; - } - - if (n.object === "f64") { - encoder = ieee754.encodeF64; - } - - if (arg.type === "NumberLiteral" || arg.type === "FloatLiteral" || arg.type === "LongNumberLiteral") { - // $FlowIgnore - out.push.apply(out, _toConsumableArray(encoder(arg.value))); - } else { - throw new Error("Unsupported instruction argument encoding " + JSON.stringify(arg.type)); - } - }); - } - - return out; -} - -function encodeExpr(instrs) { - var out = []; - instrs.forEach(function (instr) { - // $FlowIgnore - var n = (0, _index.encodeNode)(instr); - out.push.apply(out, _toConsumableArray(n)); - }); - return out; -} - -function encodeStringLiteral(n) { - return encodeUTF8Vec(n.value); -} - -function encodeGlobal(n) { - var out = []; - var _n$globalType = n.globalType, - valtype = _n$globalType.valtype, - mutability = _n$globalType.mutability; - out.push(encodeValtype(valtype)); - out.push(encodeMutability(mutability)); - out.push.apply(out, _toConsumableArray(encodeExpr(n.init))); - return out; -} - -function encodeFuncBody(n) { - var out = []; - out.push(-1); // temporary function body size - // FIXME(sven): get the func locals? - - var localBytes = encodeVec([]); - out.push.apply(out, _toConsumableArray(localBytes)); - var funcBodyBytes = encodeExpr(n.body); - out[0] = funcBodyBytes.length + localBytes.length; - out.push.apply(out, _toConsumableArray(funcBodyBytes)); - return out; -} - -function encodeIndexInFuncSection(n) { - assertNotIdentifierNode(n.index); // $FlowIgnore - - return encodeU32(n.index.value); -} - -function encodeElem(n) { - var out = []; - assertNotIdentifierNode(n.table); // $FlowIgnore - - out.push.apply(out, _toConsumableArray(encodeU32(n.table.value))); - out.push.apply(out, _toConsumableArray(encodeExpr(n.offset))); // $FlowIgnore - - var funcs = n.funcs.reduce(function (acc, x) { - return [].concat(_toConsumableArray(acc), _toConsumableArray(encodeU32(x.value))); - }, []); - out.push.apply(out, _toConsumableArray(encodeVec(funcs))); - return out; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/wasm-gen/lib/index.js b/node_modules/@webassemblyjs/wasm-gen/lib/index.js deleted file mode 100644 index e3ce78cc..00000000 --- a/node_modules/@webassemblyjs/wasm-gen/lib/index.js +++ /dev/null @@ -1,68 +0,0 @@ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.encodeNode = encodeNode; -exports.encodeU32 = void 0; - -var encoder = _interopRequireWildcard(require("./encoder")); - -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } - -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function encodeNode(n) { - switch (n.type) { - case "ModuleImport": - // $FlowIgnore: ModuleImport ensure that the node is well formated - return encoder.encodeModuleImport(n); - - case "SectionMetadata": - // $FlowIgnore: SectionMetadata ensure that the node is well formated - return encoder.encodeSectionMetadata(n); - - case "CallInstruction": - // $FlowIgnore: SectionMetadata ensure that the node is well formated - return encoder.encodeCallInstruction(n); - - case "CallIndirectInstruction": - // $FlowIgnore: SectionMetadata ensure that the node is well formated - return encoder.encodeCallIndirectInstruction(n); - - case "TypeInstruction": - return encoder.encodeTypeInstruction(n); - - case "Instr": - // $FlowIgnore - return encoder.encodeInstr(n); - - case "ModuleExport": - // $FlowIgnore: SectionMetadata ensure that the node is well formated - return encoder.encodeModuleExport(n); - - case "Global": - // $FlowIgnore - return encoder.encodeGlobal(n); - - case "Func": - return encoder.encodeFuncBody(n); - - case "IndexInFuncSection": - return encoder.encodeIndexInFuncSection(n); - - case "StringLiteral": - return encoder.encodeStringLiteral(n); - - case "Elem": - return encoder.encodeElem(n); - - default: - throw new Error("Unsupported encoding for node of type: " + JSON.stringify(n.type)); - } -} - -var encodeU32 = encoder.encodeU32; -exports.encodeU32 = encodeU32;
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/wasm-gen/package.json b/node_modules/@webassemblyjs/wasm-gen/package.json deleted file mode 100644 index 3eb57662..00000000 --- a/node_modules/@webassemblyjs/wasm-gen/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "@webassemblyjs/wasm-gen", - "version": "1.11.6", - "description": "WebAssembly binary format printer", - "main": "lib/index.js", - "module": "esm/index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - }, - "author": "Sven Sauleau", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } -} diff --git a/node_modules/@webassemblyjs/wasm-opt/lib/index.js b/node_modules/@webassemblyjs/wasm-opt/lib/index.js deleted file mode 100644 index 6409f0c6..00000000 --- a/node_modules/@webassemblyjs/wasm-opt/lib/index.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.shrinkPaddedLEB128 = shrinkPaddedLEB128; - -var _wasmParser = require("@webassemblyjs/wasm-parser"); - -var _leb = require("./leb128.js"); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); } - -function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } - -function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -var OptimizerError = /*#__PURE__*/function (_Error) { - _inherits(OptimizerError, _Error); - - var _super = _createSuper(OptimizerError); - - function OptimizerError(name, initalError) { - var _this; - - _classCallCheck(this, OptimizerError); - - _this = _super.call(this, "Error while optimizing: " + name + ": " + initalError.message); - _this.stack = initalError.stack; - return _this; - } - - return OptimizerError; -}( /*#__PURE__*/_wrapNativeSuper(Error)); - -var decoderOpts = { - ignoreCodeSection: true, - ignoreDataSection: true -}; - -function shrinkPaddedLEB128(uint8Buffer) { - try { - var ast = (0, _wasmParser.decode)(uint8Buffer.buffer, decoderOpts); - return (0, _leb.shrinkPaddedLEB128)(ast, uint8Buffer); - } catch (e) { - throw new OptimizerError("shrinkPaddedLEB128", e); - } -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/wasm-opt/lib/leb128.js b/node_modules/@webassemblyjs/wasm-opt/lib/leb128.js deleted file mode 100644 index e4a0e85d..00000000 --- a/node_modules/@webassemblyjs/wasm-opt/lib/leb128.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.shrinkPaddedLEB128 = shrinkPaddedLEB128; - -var _ast = require("@webassemblyjs/ast"); - -var _encoder = require("@webassemblyjs/wasm-gen/lib/encoder"); - -var _helperBuffer = require("@webassemblyjs/helper-buffer"); - -function shiftFollowingSections(ast, _ref, deltaInSizeEncoding) { - var section = _ref.section; - // Once we hit our section every that is after needs to be shifted by the delta - var encounteredSection = false; - (0, _ast.traverse)(ast, { - SectionMetadata: function SectionMetadata(path) { - if (path.node.section === section) { - encounteredSection = true; - return; - } - - if (encounteredSection === true) { - (0, _ast.shiftSection)(ast, path.node, deltaInSizeEncoding); - } - } - }); -} - -function shrinkPaddedLEB128(ast, uint8Buffer) { - (0, _ast.traverse)(ast, { - SectionMetadata: function SectionMetadata(_ref2) { - var node = _ref2.node; - - /** - * Section size - */ - { - var newu32Encoded = (0, _encoder.encodeU32)(node.size.value); - var newu32EncodedLen = newu32Encoded.length; - var start = node.size.loc.start.column; - var end = node.size.loc.end.column; - var oldu32EncodedLen = end - start; - - if (newu32EncodedLen !== oldu32EncodedLen) { - var deltaInSizeEncoding = oldu32EncodedLen - newu32EncodedLen; - uint8Buffer = (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, start, end, newu32Encoded); - shiftFollowingSections(ast, node, -deltaInSizeEncoding); - } - } - } - }); - return uint8Buffer; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/wasm-opt/package.json b/node_modules/@webassemblyjs/wasm-opt/package.json deleted file mode 100644 index d1f6a398..00000000 --- a/node_modules/@webassemblyjs/wasm-opt/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "@webassemblyjs/wasm-opt", - "version": "1.11.6", - "description": "", - "main": "lib/index.js", - "module": "esm/index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - }, - "author": "Sven Sauleau", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } -} diff --git a/node_modules/@webassemblyjs/wasm-parser/README.md b/node_modules/@webassemblyjs/wasm-parser/README.md deleted file mode 100644 index 98add5fb..00000000 --- a/node_modules/@webassemblyjs/wasm-parser/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# @webassemblyjs/wasm-parser - -> WebAssembly binary format parser - -## Installation - -```sh -yarn add @webassemblyjs/wasm-parser -``` - -## Usage - -```js -import { decode } from "@webassemblyjs/wasm-parser"; -import { readFileSync } from "fs"; - -const binary = readFileSync("/path/to/module.wasm"); - -const decoderOpts = {}; -const ast = decode(binary, decoderOpts); -``` - -### Decoder options - -- `dump`: print dump information while decoding (default `false`) -- `ignoreCodeSection`: ignore the code section (default `false`) -- `ignoreDataSection`: ignore the data section (default `false`) - diff --git a/node_modules/@webassemblyjs/wasm-parser/lib/decoder.js b/node_modules/@webassemblyjs/wasm-parser/lib/decoder.js deleted file mode 100644 index f2770f39..00000000 --- a/node_modules/@webassemblyjs/wasm-parser/lib/decoder.js +++ /dev/null @@ -1,1821 +0,0 @@ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.decode = decode; - -var _helperApiError = require("@webassemblyjs/helper-api-error"); - -var ieee754 = _interopRequireWildcard(require("@webassemblyjs/ieee754")); - -var utf8 = _interopRequireWildcard(require("@webassemblyjs/utf8")); - -var t = _interopRequireWildcard(require("@webassemblyjs/ast")); - -var _leb = require("@webassemblyjs/leb128"); - -var _helperWasmBytecode = _interopRequireDefault(require("@webassemblyjs/helper-wasm-bytecode")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } - -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function toHex(n) { - return "0x" + Number(n).toString(16); -} - -function byteArrayEq(l, r) { - if (l.length !== r.length) { - return false; - } - - for (var i = 0; i < l.length; i++) { - if (l[i] !== r[i]) { - return false; - } - } - - return true; -} - -function decode(ab, opts) { - var buf = new Uint8Array(ab); - var getUniqueName = t.getUniqueNameGenerator(); - var offset = 0; - - function getPosition() { - return { - line: -1, - column: offset - }; - } - - function dump(b, msg) { - if (opts.dump === false) return; - var pad = "\t\t\t\t\t\t\t\t\t\t"; - var str = ""; - - if (b.length < 5) { - str = b.map(toHex).join(" "); - } else { - str = "..."; - } - - console.log(toHex(offset) + ":\t", str, pad, ";", msg); - } - - function dumpSep(msg) { - if (opts.dump === false) return; - console.log(";", msg); - } - /** - * TODO(sven): we can atually use a same structure - * we are adding incrementally new features - */ - - - var state = { - elementsInFuncSection: [], - elementsInExportSection: [], - elementsInCodeSection: [], - - /** - * Decode memory from: - * - Memory section - */ - memoriesInModule: [], - - /** - * Decoded types from: - * - Type section - */ - typesInModule: [], - - /** - * Decoded functions from: - * - Function section - * - Import section - */ - functionsInModule: [], - - /** - * Decoded tables from: - * - Table section - */ - tablesInModule: [], - - /** - * Decoded globals from: - * - Global section - */ - globalsInModule: [] - }; - - function isEOF() { - return offset >= buf.length; - } - - function eatBytes(n) { - offset = offset + n; - } - - function readBytesAtOffset(_offset, numberOfBytes) { - var arr = []; - - for (var i = 0; i < numberOfBytes; i++) { - arr.push(buf[_offset + i]); - } - - return arr; - } - - function readBytes(numberOfBytes) { - return readBytesAtOffset(offset, numberOfBytes); - } - - function readF64() { - var bytes = readBytes(ieee754.NUMBER_OF_BYTE_F64); - var value = ieee754.decodeF64(bytes); - - if (Math.sign(value) * value === Infinity) { - return { - value: Math.sign(value), - inf: true, - nextIndex: ieee754.NUMBER_OF_BYTE_F64 - }; - } - - if (isNaN(value)) { - var sign = bytes[bytes.length - 1] >> 7 ? -1 : 1; - var mantissa = 0; - - for (var i = 0; i < bytes.length - 2; ++i) { - mantissa += bytes[i] * Math.pow(256, i); - } - - mantissa += bytes[bytes.length - 2] % 16 * Math.pow(256, bytes.length - 2); - return { - value: sign * mantissa, - nan: true, - nextIndex: ieee754.NUMBER_OF_BYTE_F64 - }; - } - - return { - value: value, - nextIndex: ieee754.NUMBER_OF_BYTE_F64 - }; - } - - function readF32() { - var bytes = readBytes(ieee754.NUMBER_OF_BYTE_F32); - var value = ieee754.decodeF32(bytes); - - if (Math.sign(value) * value === Infinity) { - return { - value: Math.sign(value), - inf: true, - nextIndex: ieee754.NUMBER_OF_BYTE_F32 - }; - } - - if (isNaN(value)) { - var sign = bytes[bytes.length - 1] >> 7 ? -1 : 1; - var mantissa = 0; - - for (var i = 0; i < bytes.length - 2; ++i) { - mantissa += bytes[i] * Math.pow(256, i); - } - - mantissa += bytes[bytes.length - 2] % 128 * Math.pow(256, bytes.length - 2); - return { - value: sign * mantissa, - nan: true, - nextIndex: ieee754.NUMBER_OF_BYTE_F32 - }; - } - - return { - value: value, - nextIndex: ieee754.NUMBER_OF_BYTE_F32 - }; - } - - function readUTF8String() { - var lenu32 = readU32(); // Don't eat any bytes. Instead, peek ahead of the current offset using - // readBytesAtOffset below. This keeps readUTF8String neutral with respect - // to the current offset, just like the other readX functions. - - var strlen = lenu32.value; - dump([strlen], "string length"); - var bytes = readBytesAtOffset(offset + lenu32.nextIndex, strlen); - var value = utf8.decode(bytes); - return { - value: value, - nextIndex: strlen + lenu32.nextIndex - }; - } - /** - * Decode an unsigned 32bits integer - * - * The length will be handled by the leb librairy, we pass the max number of - * byte. - */ - - - function readU32() { - var bytes = readBytes(_leb.MAX_NUMBER_OF_BYTE_U32); - var buffer = Buffer.from(bytes); - return (0, _leb.decodeUInt32)(buffer); - } - - function readVaruint32() { - // where 32 bits = max 4 bytes - var bytes = readBytes(4); - var buffer = Buffer.from(bytes); - return (0, _leb.decodeUInt32)(buffer); - } - - function readVaruint7() { - // where 7 bits = max 1 bytes - var bytes = readBytes(1); - var buffer = Buffer.from(bytes); - return (0, _leb.decodeUInt32)(buffer); - } - /** - * Decode a signed 32bits interger - */ - - - function read32() { - var bytes = readBytes(_leb.MAX_NUMBER_OF_BYTE_U32); - var buffer = Buffer.from(bytes); - return (0, _leb.decodeInt32)(buffer); - } - /** - * Decode a signed 64bits integer - */ - - - function read64() { - var bytes = readBytes(_leb.MAX_NUMBER_OF_BYTE_U64); - var buffer = Buffer.from(bytes); - return (0, _leb.decodeInt64)(buffer); - } - - function readU64() { - var bytes = readBytes(_leb.MAX_NUMBER_OF_BYTE_U64); - var buffer = Buffer.from(bytes); - return (0, _leb.decodeUInt64)(buffer); - } - - function readByte() { - return readBytes(1)[0]; - } - - function parseModuleHeader() { - if (isEOF() === true || offset + 4 > buf.length) { - throw new Error("unexpected end"); - } - - var header = readBytes(4); - - if (byteArrayEq(_helperWasmBytecode["default"].magicModuleHeader, header) === false) { - throw new _helperApiError.CompileError("magic header not detected"); - } - - dump(header, "wasm magic header"); - eatBytes(4); - } - - function parseVersion() { - if (isEOF() === true || offset + 4 > buf.length) { - throw new Error("unexpected end"); - } - - var version = readBytes(4); - - if (byteArrayEq(_helperWasmBytecode["default"].moduleVersion, version) === false) { - throw new _helperApiError.CompileError("unknown binary version"); - } - - dump(version, "wasm version"); - eatBytes(4); - } - - function parseVec(cast) { - var u32 = readU32(); - var length = u32.value; - eatBytes(u32.nextIndex); - dump([length], "number"); - - if (length === 0) { - return []; - } - - var elements = []; - - for (var i = 0; i < length; i++) { - var _byte = readByte(); - - eatBytes(1); - var value = cast(_byte); - dump([_byte], value); - - if (typeof value === "undefined") { - throw new _helperApiError.CompileError("Internal failure: parseVec could not cast the value"); - } - - elements.push(value); - } - - return elements; - } // Type section - // https://webassembly.github.io/spec/binary/modules.html#binary-typesec - - - function parseTypeSection(numberOfTypes) { - var typeInstructionNodes = []; - dump([numberOfTypes], "num types"); - - for (var i = 0; i < numberOfTypes; i++) { - var _startLoc = getPosition(); - - dumpSep("type " + i); - var type = readByte(); - eatBytes(1); - - if (type == _helperWasmBytecode["default"].types.func) { - dump([type], "func"); - var paramValtypes = parseVec(function (b) { - return _helperWasmBytecode["default"].valtypes[b]; - }); - var params = paramValtypes.map(function (v) { - return t.funcParam( - /*valtype*/ - v); - }); - var result = parseVec(function (b) { - return _helperWasmBytecode["default"].valtypes[b]; - }); - typeInstructionNodes.push(function () { - var endLoc = getPosition(); - return t.withLoc(t.typeInstruction(undefined, t.signature(params, result)), endLoc, _startLoc); - }()); - state.typesInModule.push({ - params: params, - result: result - }); - } else { - throw new Error("Unsupported type: " + toHex(type)); - } - } - - return typeInstructionNodes; - } // Import section - // https://webassembly.github.io/spec/binary/modules.html#binary-importsec - - - function parseImportSection(numberOfImports) { - var imports = []; - - for (var i = 0; i < numberOfImports; i++) { - dumpSep("import header " + i); - - var _startLoc2 = getPosition(); - /** - * Module name - */ - - - var moduleName = readUTF8String(); - eatBytes(moduleName.nextIndex); - dump([], "module name (".concat(moduleName.value, ")")); - /** - * Name - */ - - var name = readUTF8String(); - eatBytes(name.nextIndex); - dump([], "name (".concat(name.value, ")")); - /** - * Import descr - */ - - var descrTypeByte = readByte(); - eatBytes(1); - var descrType = _helperWasmBytecode["default"].importTypes[descrTypeByte]; - dump([descrTypeByte], "import kind"); - - if (typeof descrType === "undefined") { - throw new _helperApiError.CompileError("Unknown import description type: " + toHex(descrTypeByte)); - } - - var importDescr = void 0; - - if (descrType === "func") { - var indexU32 = readU32(); - var typeindex = indexU32.value; - eatBytes(indexU32.nextIndex); - dump([typeindex], "type index"); - var signature = state.typesInModule[typeindex]; - - if (typeof signature === "undefined") { - throw new _helperApiError.CompileError("function signature not found (".concat(typeindex, ")")); - } - - var id = getUniqueName("func"); - importDescr = t.funcImportDescr(id, t.signature(signature.params, signature.result)); - state.functionsInModule.push({ - id: t.identifier(name.value), - signature: signature, - isExternal: true - }); - } else if (descrType === "global") { - importDescr = parseGlobalType(); - var globalNode = t.global(importDescr, []); - state.globalsInModule.push(globalNode); - } else if (descrType === "table") { - importDescr = parseTableType(i); - } else if (descrType === "memory") { - var memoryNode = parseMemoryType(0); - state.memoriesInModule.push(memoryNode); - importDescr = memoryNode; - } else { - throw new _helperApiError.CompileError("Unsupported import of type: " + descrType); - } - - imports.push(function () { - var endLoc = getPosition(); - return t.withLoc(t.moduleImport(moduleName.value, name.value, importDescr), endLoc, _startLoc2); - }()); - } - - return imports; - } // Function section - // https://webassembly.github.io/spec/binary/modules.html#function-section - - - function parseFuncSection(numberOfFunctions) { - dump([numberOfFunctions], "num funcs"); - - for (var i = 0; i < numberOfFunctions; i++) { - var indexU32 = readU32(); - var typeindex = indexU32.value; - eatBytes(indexU32.nextIndex); - dump([typeindex], "type index"); - var signature = state.typesInModule[typeindex]; - - if (typeof signature === "undefined") { - throw new _helperApiError.CompileError("function signature not found (".concat(typeindex, ")")); - } // preserve anonymous, a name might be resolved later - - - var id = t.withRaw(t.identifier(getUniqueName("func")), ""); - state.functionsInModule.push({ - id: id, - signature: signature, - isExternal: false - }); - } - } // Export section - // https://webassembly.github.io/spec/binary/modules.html#export-section - - - function parseExportSection(numberOfExport) { - dump([numberOfExport], "num exports"); // Parse vector of exports - - for (var i = 0; i < numberOfExport; i++) { - var _startLoc3 = getPosition(); - /** - * Name - */ - - - var name = readUTF8String(); - eatBytes(name.nextIndex); - dump([], "export name (".concat(name.value, ")")); - /** - * exportdescr - */ - - var typeIndex = readByte(); - eatBytes(1); - dump([typeIndex], "export kind"); - var indexu32 = readU32(); - var index = indexu32.value; - eatBytes(indexu32.nextIndex); - dump([index], "export index"); - var id = void 0, - signature = void 0; - - if (_helperWasmBytecode["default"].exportTypes[typeIndex] === "Func") { - var func = state.functionsInModule[index]; - - if (typeof func === "undefined") { - throw new _helperApiError.CompileError("unknown function (".concat(index, ")")); - } - - id = t.numberLiteralFromRaw(index, String(index)); - signature = func.signature; - } else if (_helperWasmBytecode["default"].exportTypes[typeIndex] === "Table") { - var table = state.tablesInModule[index]; - - if (typeof table === "undefined") { - throw new _helperApiError.CompileError("unknown table ".concat(index)); - } - - id = t.numberLiteralFromRaw(index, String(index)); - signature = null; - } else if (_helperWasmBytecode["default"].exportTypes[typeIndex] === "Memory") { - var memNode = state.memoriesInModule[index]; - - if (typeof memNode === "undefined") { - throw new _helperApiError.CompileError("unknown memory ".concat(index)); - } - - id = t.numberLiteralFromRaw(index, String(index)); - signature = null; - } else if (_helperWasmBytecode["default"].exportTypes[typeIndex] === "Global") { - var global = state.globalsInModule[index]; - - if (typeof global === "undefined") { - throw new _helperApiError.CompileError("unknown global ".concat(index)); - } - - id = t.numberLiteralFromRaw(index, String(index)); - signature = null; - } else { - console.warn("Unsupported export type: " + toHex(typeIndex)); - return; - } - - var endLoc = getPosition(); - state.elementsInExportSection.push({ - name: name.value, - type: _helperWasmBytecode["default"].exportTypes[typeIndex], - signature: signature, - id: id, - index: index, - endLoc: endLoc, - startLoc: _startLoc3 - }); - } - } // Code section - // https://webassembly.github.io/spec/binary/modules.html#code-section - - - function parseCodeSection(numberOfFuncs) { - dump([numberOfFuncs], "number functions"); // Parse vector of function - - for (var i = 0; i < numberOfFuncs; i++) { - var _startLoc4 = getPosition(); - - dumpSep("function body " + i); // the u32 size of the function code in bytes - // Ignore it for now - - var bodySizeU32 = readU32(); - eatBytes(bodySizeU32.nextIndex); - dump([bodySizeU32.value], "function body size"); - var code = []; - /** - * Parse locals - */ - - var funcLocalNumU32 = readU32(); - var funcLocalNum = funcLocalNumU32.value; - eatBytes(funcLocalNumU32.nextIndex); - dump([funcLocalNum], "num locals"); - var locals = []; - - for (var _i = 0; _i < funcLocalNum; _i++) { - var _startLoc5 = getPosition(); - - var localCountU32 = readU32(); - var localCount = localCountU32.value; - eatBytes(localCountU32.nextIndex); - dump([localCount], "num local"); - var valtypeByte = readByte(); - eatBytes(1); - var type = _helperWasmBytecode["default"].valtypes[valtypeByte]; - var args = []; - - for (var _i2 = 0; _i2 < localCount; _i2++) { - args.push(t.valtypeLiteral(type)); - } - - var localNode = function () { - var endLoc = getPosition(); - return t.withLoc(t.instruction("local", args), endLoc, _startLoc5); - }(); - - locals.push(localNode); - dump([valtypeByte], type); - - if (typeof type === "undefined") { - throw new _helperApiError.CompileError("Unexpected valtype: " + toHex(valtypeByte)); - } - } - - code.push.apply(code, locals); // Decode instructions until the end - - parseInstructionBlock(code); - var endLoc = getPosition(); - state.elementsInCodeSection.push({ - code: code, - locals: locals, - endLoc: endLoc, - startLoc: _startLoc4, - bodySize: bodySizeU32.value - }); - } - } - - function parseInstructionBlock(code) { - while (true) { - var _startLoc6 = getPosition(); - - var instructionAlreadyCreated = false; - var instructionByte = readByte(); - eatBytes(1); - - if (instructionByte === 0xfe) { - instructionByte = 0xfe00 + readByte(); - eatBytes(1); - } - - var instruction = _helperWasmBytecode["default"].symbolsByByte[instructionByte]; - - if (typeof instruction === "undefined") { - throw new _helperApiError.CompileError("Unexpected instruction: " + toHex(instructionByte)); - } - - if (typeof instruction.object === "string") { - dump([instructionByte], "".concat(instruction.object, ".").concat(instruction.name)); - } else { - dump([instructionByte], instruction.name); - } - /** - * End of the function - */ - - - if (instruction.name === "end") { - var node = function () { - var endLoc = getPosition(); - return t.withLoc(t.instruction(instruction.name), endLoc, _startLoc6); - }(); - - code.push(node); - break; - } - - var args = []; - var namedArgs = void 0; - - if (instruction.name === "loop") { - var _startLoc7 = getPosition(); - - var blocktypeByte = readByte(); - eatBytes(1); - var blocktype = _helperWasmBytecode["default"].blockTypes[blocktypeByte]; - dump([blocktypeByte], "blocktype"); - - if (typeof blocktype === "undefined") { - throw new _helperApiError.CompileError("Unexpected blocktype: " + toHex(blocktypeByte)); - } - - var instr = []; - parseInstructionBlock(instr); // preserve anonymous - - var label = t.withRaw(t.identifier(getUniqueName("loop")), ""); - - var loopNode = function () { - var endLoc = getPosition(); - return t.withLoc(t.loopInstruction(label, blocktype, instr), endLoc, _startLoc7); - }(); - - code.push(loopNode); - instructionAlreadyCreated = true; - } else if (instruction.name === "if") { - var _startLoc8 = getPosition(); - - var _blocktypeByte = readByte(); - - eatBytes(1); - var _blocktype = _helperWasmBytecode["default"].blockTypes[_blocktypeByte]; - dump([_blocktypeByte], "blocktype"); - - if (typeof _blocktype === "undefined") { - throw new _helperApiError.CompileError("Unexpected blocktype: " + toHex(_blocktypeByte)); - } - - var testIndex = t.withRaw(t.identifier(getUniqueName("if")), ""); - var ifBody = []; - parseInstructionBlock(ifBody); // Defaults to no alternate - - var elseIndex = 0; - - for (elseIndex = 0; elseIndex < ifBody.length; ++elseIndex) { - var _instr = ifBody[elseIndex]; - - if (_instr.type === "Instr" && _instr.id === "else") { - break; - } - } - - var consequentInstr = ifBody.slice(0, elseIndex); - var alternate = ifBody.slice(elseIndex + 1); // wast sugar - - var testInstrs = []; - - var ifNode = function () { - var endLoc = getPosition(); - return t.withLoc(t.ifInstruction(testIndex, testInstrs, _blocktype, consequentInstr, alternate), endLoc, _startLoc8); - }(); - - code.push(ifNode); - instructionAlreadyCreated = true; - } else if (instruction.name === "block") { - var _startLoc9 = getPosition(); - - var _blocktypeByte2 = readByte(); - - eatBytes(1); - var _blocktype2 = _helperWasmBytecode["default"].blockTypes[_blocktypeByte2]; - dump([_blocktypeByte2], "blocktype"); - - if (typeof _blocktype2 === "undefined") { - throw new _helperApiError.CompileError("Unexpected blocktype: " + toHex(_blocktypeByte2)); - } - - var _instr2 = []; - parseInstructionBlock(_instr2); // preserve anonymous - - var _label = t.withRaw(t.identifier(getUniqueName("block")), ""); - - var blockNode = function () { - var endLoc = getPosition(); - return t.withLoc(t.blockInstruction(_label, _instr2, _blocktype2), endLoc, _startLoc9); - }(); - - code.push(blockNode); - instructionAlreadyCreated = true; - } else if (instruction.name === "call") { - var indexu32 = readU32(); - var index = indexu32.value; - eatBytes(indexu32.nextIndex); - dump([index], "index"); - - var callNode = function () { - var endLoc = getPosition(); - return t.withLoc(t.callInstruction(t.indexLiteral(index)), endLoc, _startLoc6); - }(); - - code.push(callNode); - instructionAlreadyCreated = true; - } else if (instruction.name === "call_indirect") { - var _startLoc10 = getPosition(); - - var indexU32 = readU32(); - var typeindex = indexU32.value; - eatBytes(indexU32.nextIndex); - dump([typeindex], "type index"); - var signature = state.typesInModule[typeindex]; - - if (typeof signature === "undefined") { - throw new _helperApiError.CompileError("call_indirect signature not found (".concat(typeindex, ")")); - } - - var _callNode = t.callIndirectInstruction(t.signature(signature.params, signature.result), []); - - var flagU32 = readU32(); - var flag = flagU32.value; // 0x00 - reserved byte - - eatBytes(flagU32.nextIndex); - - if (flag !== 0) { - throw new _helperApiError.CompileError("zero flag expected"); - } - - code.push(function () { - var endLoc = getPosition(); - return t.withLoc(_callNode, endLoc, _startLoc10); - }()); - instructionAlreadyCreated = true; - } else if (instruction.name === "br_table") { - var indicesu32 = readU32(); - var indices = indicesu32.value; - eatBytes(indicesu32.nextIndex); - dump([indices], "num indices"); - - for (var i = 0; i <= indices; i++) { - var _indexu = readU32(); - - var _index = _indexu.value; - eatBytes(_indexu.nextIndex); - dump([_index], "index"); - args.push(t.numberLiteralFromRaw(_indexu.value.toString(), "u32")); - } - } else if (instructionByte >= 0x28 && instructionByte <= 0x40) { - /** - * Memory instructions - */ - if (instruction.name === "grow_memory" || instruction.name === "current_memory") { - var _indexU = readU32(); - - var _index2 = _indexU.value; - eatBytes(_indexU.nextIndex); - - if (_index2 !== 0) { - throw new Error("zero flag expected"); - } - - dump([_index2], "index"); - } else { - var aligun32 = readU32(); - var align = aligun32.value; - eatBytes(aligun32.nextIndex); - dump([align], "align"); - var offsetu32 = readU32(); - var _offset2 = offsetu32.value; - eatBytes(offsetu32.nextIndex); - dump([_offset2], "offset"); - if (namedArgs === undefined) namedArgs = {}; - namedArgs.offset = t.numberLiteralFromRaw(_offset2); - } - } else if (instructionByte >= 0x41 && instructionByte <= 0x44) { - /** - * Numeric instructions - */ - if (instruction.object === "i32") { - var value32 = read32(); - var value = value32.value; - eatBytes(value32.nextIndex); - dump([value], "i32 value"); - args.push(t.numberLiteralFromRaw(value)); - } - - if (instruction.object === "u32") { - var valueu32 = readU32(); - var _value = valueu32.value; - eatBytes(valueu32.nextIndex); - dump([_value], "u32 value"); - args.push(t.numberLiteralFromRaw(_value)); - } - - if (instruction.object === "i64") { - var value64 = read64(); - var _value2 = value64.value; - eatBytes(value64.nextIndex); - dump([Number(_value2.toString())], "i64 value"); - var high = _value2.high, - low = _value2.low; - var _node = { - type: "LongNumberLiteral", - value: { - high: high, - low: low - } - }; - args.push(_node); - } - - if (instruction.object === "u64") { - var valueu64 = readU64(); - var _value3 = valueu64.value; - eatBytes(valueu64.nextIndex); - dump([Number(_value3.toString())], "u64 value"); - var _high = _value3.high, - _low = _value3.low; - var _node2 = { - type: "LongNumberLiteral", - value: { - high: _high, - low: _low - } - }; - args.push(_node2); - } - - if (instruction.object === "f32") { - var valuef32 = readF32(); - var _value4 = valuef32.value; - eatBytes(valuef32.nextIndex); - dump([_value4], "f32 value"); - args.push( // $FlowIgnore - t.floatLiteral(_value4, valuef32.nan, valuef32.inf, String(_value4))); - } - - if (instruction.object === "f64") { - var valuef64 = readF64(); - var _value5 = valuef64.value; - eatBytes(valuef64.nextIndex); - dump([_value5], "f64 value"); - args.push( // $FlowIgnore - t.floatLiteral(_value5, valuef64.nan, valuef64.inf, String(_value5))); - } - } else if (instructionByte >= 0xfe00 && instructionByte <= 0xfeff) { - /** - * Atomic memory instructions - */ - var align32 = readU32(); - var _align = align32.value; - eatBytes(align32.nextIndex); - dump([_align], "align"); - - var _offsetu = readU32(); - - var _offset3 = _offsetu.value; - eatBytes(_offsetu.nextIndex); - dump([_offset3], "offset"); - } else { - for (var _i3 = 0; _i3 < instruction.numberOfArgs; _i3++) { - var u32 = readU32(); - eatBytes(u32.nextIndex); - dump([u32.value], "argument " + _i3); - args.push(t.numberLiteralFromRaw(u32.value)); - } - } - - if (instructionAlreadyCreated === false) { - if (typeof instruction.object === "string") { - var _node3 = function () { - var endLoc = getPosition(); - return t.withLoc(t.objectInstruction(instruction.name, instruction.object, args, namedArgs), endLoc, _startLoc6); - }(); - - code.push(_node3); - } else { - var _node4 = function () { - var endLoc = getPosition(); - return t.withLoc(t.instruction(instruction.name, args, namedArgs), endLoc, _startLoc6); - }(); - - code.push(_node4); - } - } - } - } // https://webassembly.github.io/spec/core/binary/types.html#limits - - - function parseLimits() { - var limitType = readByte(); - eatBytes(1); - var shared = limitType === 0x03; - dump([limitType], "limit type" + (shared ? " (shared)" : "")); - var min, max; - - if (limitType === 0x01 || limitType === 0x03 // shared limits - ) { - var u32min = readU32(); - min = parseInt(u32min.value); - eatBytes(u32min.nextIndex); - dump([min], "min"); - var u32max = readU32(); - max = parseInt(u32max.value); - eatBytes(u32max.nextIndex); - dump([max], "max"); - } - - if (limitType === 0x00) { - var _u32min = readU32(); - - min = parseInt(_u32min.value); - eatBytes(_u32min.nextIndex); - dump([min], "min"); - } - - return t.limit(min, max, shared); - } // https://webassembly.github.io/spec/core/binary/types.html#binary-tabletype - - - function parseTableType(index) { - var name = t.withRaw(t.identifier(getUniqueName("table")), String(index)); - var elementTypeByte = readByte(); - eatBytes(1); - dump([elementTypeByte], "element type"); - var elementType = _helperWasmBytecode["default"].tableTypes[elementTypeByte]; - - if (typeof elementType === "undefined") { - throw new _helperApiError.CompileError("Unknown element type in table: " + toHex(elementType)); - } - - var limits = parseLimits(); - return t.table(elementType, limits, name); - } // https://webassembly.github.io/spec/binary/types.html#global-types - - - function parseGlobalType() { - var valtypeByte = readByte(); - eatBytes(1); - var type = _helperWasmBytecode["default"].valtypes[valtypeByte]; - dump([valtypeByte], type); - - if (typeof type === "undefined") { - throw new _helperApiError.CompileError("Unknown valtype: " + toHex(valtypeByte)); - } - - var globalTypeByte = readByte(); - eatBytes(1); - var globalType = _helperWasmBytecode["default"].globalTypes[globalTypeByte]; - dump([globalTypeByte], "global type (".concat(globalType, ")")); - - if (typeof globalType === "undefined") { - throw new _helperApiError.CompileError("Invalid mutability: " + toHex(globalTypeByte)); - } - - return t.globalType(type, globalType); - } // function parseNameModule() { - // const lenu32 = readVaruint32(); - // eatBytes(lenu32.nextIndex); - // console.log("len", lenu32); - // const strlen = lenu32.value; - // dump([strlen], "string length"); - // const bytes = readBytes(strlen); - // eatBytes(strlen); - // const value = utf8.decode(bytes); - // return [t.moduleNameMetadata(value)]; - // } - // this section contains an array of function names and indices - - - function parseNameSectionFunctions() { - var functionNames = []; - var numberOfFunctionsu32 = readU32(); - var numbeOfFunctions = numberOfFunctionsu32.value; - eatBytes(numberOfFunctionsu32.nextIndex); - - for (var i = 0; i < numbeOfFunctions; i++) { - var indexu32 = readU32(); - var index = indexu32.value; - eatBytes(indexu32.nextIndex); - var name = readUTF8String(); - eatBytes(name.nextIndex); - functionNames.push(t.functionNameMetadata(name.value, index)); - } - - return functionNames; - } - - function parseNameSectionLocals() { - var localNames = []; - var numbeOfFunctionsu32 = readU32(); - var numbeOfFunctions = numbeOfFunctionsu32.value; - eatBytes(numbeOfFunctionsu32.nextIndex); - - for (var i = 0; i < numbeOfFunctions; i++) { - var functionIndexu32 = readU32(); - var functionIndex = functionIndexu32.value; - eatBytes(functionIndexu32.nextIndex); - var numLocalsu32 = readU32(); - var numLocals = numLocalsu32.value; - eatBytes(numLocalsu32.nextIndex); - - for (var _i4 = 0; _i4 < numLocals; _i4++) { - var localIndexu32 = readU32(); - var localIndex = localIndexu32.value; - eatBytes(localIndexu32.nextIndex); - var name = readUTF8String(); - eatBytes(name.nextIndex); - localNames.push(t.localNameMetadata(name.value, localIndex, functionIndex)); - } - } - - return localNames; - } // this is a custom section used for name resolution - // https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#name-section - - - function parseNameSection(remainingBytes) { - var nameMetadata = []; - var initialOffset = offset; - - while (offset - initialOffset < remainingBytes) { - // name_type - var sectionTypeByte = readVaruint7(); - eatBytes(sectionTypeByte.nextIndex); // name_payload_len - - var subSectionSizeInBytesu32 = readVaruint32(); - eatBytes(subSectionSizeInBytesu32.nextIndex); - - switch (sectionTypeByte.value) { - // case 0: { - // TODO(sven): re-enable that - // Current status: it seems that when we decode the module's name - // no name_payload_len is used. - // - // See https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#name-section - // - // nameMetadata.push(...parseNameModule()); - // break; - // } - case 1: - { - nameMetadata.push.apply(nameMetadata, _toConsumableArray(parseNameSectionFunctions())); - break; - } - - case 2: - { - nameMetadata.push.apply(nameMetadata, _toConsumableArray(parseNameSectionLocals())); - break; - } - - default: - { - // skip unknown subsection - eatBytes(subSectionSizeInBytesu32.value); - } - } - } - - return nameMetadata; - } // this is a custom section used for information about the producers - // https://github.com/WebAssembly/tool-conventions/blob/master/ProducersSection.md - - - function parseProducersSection() { - var metadata = t.producersSectionMetadata([]); // field_count - - var sectionTypeByte = readVaruint32(); - eatBytes(sectionTypeByte.nextIndex); - dump([sectionTypeByte.value], "num of producers"); - var fields = { - language: [], - "processed-by": [], - sdk: [] - }; // fields - - for (var fieldI = 0; fieldI < sectionTypeByte.value; fieldI++) { - // field_name - var fieldName = readUTF8String(); - eatBytes(fieldName.nextIndex); // field_value_count - - var valueCount = readVaruint32(); - eatBytes(valueCount.nextIndex); // field_values - - for (var producerI = 0; producerI < valueCount.value; producerI++) { - var producerName = readUTF8String(); - eatBytes(producerName.nextIndex); - var producerVersion = readUTF8String(); - eatBytes(producerVersion.nextIndex); - fields[fieldName.value].push(t.producerMetadataVersionedName(producerName.value, producerVersion.value)); - } - - metadata.producers.push(fields[fieldName.value]); - } - - return metadata; - } - - function parseGlobalSection(numberOfGlobals) { - var globals = []; - dump([numberOfGlobals], "num globals"); - - for (var i = 0; i < numberOfGlobals; i++) { - var _startLoc11 = getPosition(); - - var globalType = parseGlobalType(); - /** - * Global expressions - */ - - var init = []; - parseInstructionBlock(init); - - var node = function () { - var endLoc = getPosition(); - return t.withLoc(t.global(globalType, init), endLoc, _startLoc11); - }(); - - globals.push(node); - state.globalsInModule.push(node); - } - - return globals; - } - - function parseElemSection(numberOfElements) { - var elems = []; - dump([numberOfElements], "num elements"); - - for (var i = 0; i < numberOfElements; i++) { - var _startLoc12 = getPosition(); - - var tableindexu32 = readU32(); - var tableindex = tableindexu32.value; - eatBytes(tableindexu32.nextIndex); - dump([tableindex], "table index"); - /** - * Parse instructions - */ - - var instr = []; - parseInstructionBlock(instr); - /** - * Parse ( vector function index ) * - */ - - var indicesu32 = readU32(); - var indices = indicesu32.value; - eatBytes(indicesu32.nextIndex); - dump([indices], "num indices"); - var indexValues = []; - - for (var _i5 = 0; _i5 < indices; _i5++) { - var indexu32 = readU32(); - var index = indexu32.value; - eatBytes(indexu32.nextIndex); - dump([index], "index"); - indexValues.push(t.indexLiteral(index)); - } - - var elemNode = function () { - var endLoc = getPosition(); - return t.withLoc(t.elem(t.indexLiteral(tableindex), instr, indexValues), endLoc, _startLoc12); - }(); - - elems.push(elemNode); - } - - return elems; - } // https://webassembly.github.io/spec/core/binary/types.html#memory-types - - - function parseMemoryType(i) { - var limits = parseLimits(); - return t.memory(limits, t.indexLiteral(i)); - } // https://webassembly.github.io/spec/binary/modules.html#table-section - - - function parseTableSection(numberOfElements) { - var tables = []; - dump([numberOfElements], "num elements"); - - for (var i = 0; i < numberOfElements; i++) { - var tablesNode = parseTableType(i); - state.tablesInModule.push(tablesNode); - tables.push(tablesNode); - } - - return tables; - } // https://webassembly.github.io/spec/binary/modules.html#memory-section - - - function parseMemorySection(numberOfElements) { - var memories = []; - dump([numberOfElements], "num elements"); - - for (var i = 0; i < numberOfElements; i++) { - var memoryNode = parseMemoryType(i); - state.memoriesInModule.push(memoryNode); - memories.push(memoryNode); - } - - return memories; - } // https://webassembly.github.io/spec/binary/modules.html#binary-startsec - - - function parseStartSection() { - var startLoc = getPosition(); - var u32 = readU32(); - var startFuncIndex = u32.value; - eatBytes(u32.nextIndex); - dump([startFuncIndex], "index"); - return function () { - var endLoc = getPosition(); - return t.withLoc(t.start(t.indexLiteral(startFuncIndex)), endLoc, startLoc); - }(); - } // https://webassembly.github.io/spec/binary/modules.html#data-section - - - function parseDataSection(numberOfElements) { - var dataEntries = []; - dump([numberOfElements], "num elements"); - - for (var i = 0; i < numberOfElements; i++) { - var memoryIndexu32 = readU32(); - var memoryIndex = memoryIndexu32.value; - eatBytes(memoryIndexu32.nextIndex); - dump([memoryIndex], "memory index"); - var instrs = []; - parseInstructionBlock(instrs); - var hasExtraInstrs = instrs.filter(function (i) { - return i.id !== "end"; - }).length !== 1; - - if (hasExtraInstrs) { - throw new _helperApiError.CompileError("data section offset must be a single instruction"); - } - - var bytes = parseVec(function (b) { - return b; - }); - dump([], "init"); - dataEntries.push(t.data(t.memIndexLiteral(memoryIndex), instrs[0], t.byteArray(bytes))); - } - - return dataEntries; - } // https://webassembly.github.io/spec/binary/modules.html#binary-section - - - function parseSection(sectionIndex) { - var sectionId = readByte(); - eatBytes(1); - - if (sectionId >= sectionIndex || sectionIndex === _helperWasmBytecode["default"].sections.custom) { - sectionIndex = sectionId + 1; - } else { - if (sectionId !== _helperWasmBytecode["default"].sections.custom) throw new _helperApiError.CompileError("Unexpected section: " + toHex(sectionId)); - } - - var nextSectionIndex = sectionIndex; - var startOffset = offset; - var startLoc = getPosition(); - var u32 = readU32(); - var sectionSizeInBytes = u32.value; - eatBytes(u32.nextIndex); - - var sectionSizeInBytesNode = function () { - var endLoc = getPosition(); - return t.withLoc(t.numberLiteralFromRaw(sectionSizeInBytes), endLoc, startLoc); - }(); - - switch (sectionId) { - case _helperWasmBytecode["default"].sections.type: - { - dumpSep("section Type"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - - var _startLoc13 = getPosition(); - - var _u = readU32(); - - var numberOfTypes = _u.value; - eatBytes(_u.nextIndex); - var metadata = t.sectionMetadata("type", startOffset, sectionSizeInBytesNode, function () { - var endLoc = getPosition(); - return t.withLoc(t.numberLiteralFromRaw(numberOfTypes), endLoc, _startLoc13); - }()); - var nodes = parseTypeSection(numberOfTypes); - return { - nodes: nodes, - metadata: metadata, - nextSectionIndex: nextSectionIndex - }; - } - - case _helperWasmBytecode["default"].sections.table: - { - dumpSep("section Table"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - - var _startLoc14 = getPosition(); - - var _u2 = readU32(); - - var numberOfTable = _u2.value; - eatBytes(_u2.nextIndex); - dump([numberOfTable], "num tables"); - - var _metadata = t.sectionMetadata("table", startOffset, sectionSizeInBytesNode, function () { - var endLoc = getPosition(); - return t.withLoc(t.numberLiteralFromRaw(numberOfTable), endLoc, _startLoc14); - }()); - - var _nodes = parseTableSection(numberOfTable); - - return { - nodes: _nodes, - metadata: _metadata, - nextSectionIndex: nextSectionIndex - }; - } - - case _helperWasmBytecode["default"].sections["import"]: - { - dumpSep("section Import"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - - var _startLoc15 = getPosition(); - - var numberOfImportsu32 = readU32(); - var numberOfImports = numberOfImportsu32.value; - eatBytes(numberOfImportsu32.nextIndex); - dump([numberOfImports], "number of imports"); - - var _metadata2 = t.sectionMetadata("import", startOffset, sectionSizeInBytesNode, function () { - var endLoc = getPosition(); - return t.withLoc(t.numberLiteralFromRaw(numberOfImports), endLoc, _startLoc15); - }()); - - var _nodes2 = parseImportSection(numberOfImports); - - return { - nodes: _nodes2, - metadata: _metadata2, - nextSectionIndex: nextSectionIndex - }; - } - - case _helperWasmBytecode["default"].sections.func: - { - dumpSep("section Function"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - - var _startLoc16 = getPosition(); - - var numberOfFunctionsu32 = readU32(); - var numberOfFunctions = numberOfFunctionsu32.value; - eatBytes(numberOfFunctionsu32.nextIndex); - - var _metadata3 = t.sectionMetadata("func", startOffset, sectionSizeInBytesNode, function () { - var endLoc = getPosition(); - return t.withLoc(t.numberLiteralFromRaw(numberOfFunctions), endLoc, _startLoc16); - }()); - - parseFuncSection(numberOfFunctions); - var _nodes3 = []; - return { - nodes: _nodes3, - metadata: _metadata3, - nextSectionIndex: nextSectionIndex - }; - } - - case _helperWasmBytecode["default"].sections["export"]: - { - dumpSep("section Export"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - - var _startLoc17 = getPosition(); - - var _u3 = readU32(); - - var numberOfExport = _u3.value; - eatBytes(_u3.nextIndex); - - var _metadata4 = t.sectionMetadata("export", startOffset, sectionSizeInBytesNode, function () { - var endLoc = getPosition(); - return t.withLoc(t.numberLiteralFromRaw(numberOfExport), endLoc, _startLoc17); - }()); - - parseExportSection(numberOfExport); - var _nodes4 = []; - return { - nodes: _nodes4, - metadata: _metadata4, - nextSectionIndex: nextSectionIndex - }; - } - - case _helperWasmBytecode["default"].sections.code: - { - dumpSep("section Code"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - - var _startLoc18 = getPosition(); - - var _u4 = readU32(); - - var numberOfFuncs = _u4.value; - eatBytes(_u4.nextIndex); - - var _metadata5 = t.sectionMetadata("code", startOffset, sectionSizeInBytesNode, function () { - var endLoc = getPosition(); - return t.withLoc(t.numberLiteralFromRaw(numberOfFuncs), endLoc, _startLoc18); - }()); - - if (opts.ignoreCodeSection === true) { - var remainingBytes = sectionSizeInBytes - _u4.nextIndex; - eatBytes(remainingBytes); // eat the entire section - } else { - parseCodeSection(numberOfFuncs); - } - - var _nodes5 = []; - return { - nodes: _nodes5, - metadata: _metadata5, - nextSectionIndex: nextSectionIndex - }; - } - - case _helperWasmBytecode["default"].sections.start: - { - dumpSep("section Start"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - - var _metadata6 = t.sectionMetadata("start", startOffset, sectionSizeInBytesNode); - - var _nodes6 = [parseStartSection()]; - return { - nodes: _nodes6, - metadata: _metadata6, - nextSectionIndex: nextSectionIndex - }; - } - - case _helperWasmBytecode["default"].sections.element: - { - dumpSep("section Element"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - - var _startLoc19 = getPosition(); - - var numberOfElementsu32 = readU32(); - var numberOfElements = numberOfElementsu32.value; - eatBytes(numberOfElementsu32.nextIndex); - - var _metadata7 = t.sectionMetadata("element", startOffset, sectionSizeInBytesNode, function () { - var endLoc = getPosition(); - return t.withLoc(t.numberLiteralFromRaw(numberOfElements), endLoc, _startLoc19); - }()); - - var _nodes7 = parseElemSection(numberOfElements); - - return { - nodes: _nodes7, - metadata: _metadata7, - nextSectionIndex: nextSectionIndex - }; - } - - case _helperWasmBytecode["default"].sections.global: - { - dumpSep("section Global"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - - var _startLoc20 = getPosition(); - - var numberOfGlobalsu32 = readU32(); - var numberOfGlobals = numberOfGlobalsu32.value; - eatBytes(numberOfGlobalsu32.nextIndex); - - var _metadata8 = t.sectionMetadata("global", startOffset, sectionSizeInBytesNode, function () { - var endLoc = getPosition(); - return t.withLoc(t.numberLiteralFromRaw(numberOfGlobals), endLoc, _startLoc20); - }()); - - var _nodes8 = parseGlobalSection(numberOfGlobals); - - return { - nodes: _nodes8, - metadata: _metadata8, - nextSectionIndex: nextSectionIndex - }; - } - - case _helperWasmBytecode["default"].sections.memory: - { - dumpSep("section Memory"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - - var _startLoc21 = getPosition(); - - var _numberOfElementsu = readU32(); - - var _numberOfElements = _numberOfElementsu.value; - eatBytes(_numberOfElementsu.nextIndex); - - var _metadata9 = t.sectionMetadata("memory", startOffset, sectionSizeInBytesNode, function () { - var endLoc = getPosition(); - return t.withLoc(t.numberLiteralFromRaw(_numberOfElements), endLoc, _startLoc21); - }()); - - var _nodes9 = parseMemorySection(_numberOfElements); - - return { - nodes: _nodes9, - metadata: _metadata9, - nextSectionIndex: nextSectionIndex - }; - } - - case _helperWasmBytecode["default"].sections.data: - { - dumpSep("section Data"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - - var _metadata10 = t.sectionMetadata("data", startOffset, sectionSizeInBytesNode); - - var _startLoc22 = getPosition(); - - var _numberOfElementsu2 = readU32(); - - var _numberOfElements2 = _numberOfElementsu2.value; - eatBytes(_numberOfElementsu2.nextIndex); - - _metadata10.vectorOfSize = function () { - var endLoc = getPosition(); - return t.withLoc(t.numberLiteralFromRaw(_numberOfElements2), endLoc, _startLoc22); - }(); - - if (opts.ignoreDataSection === true) { - var _remainingBytes = sectionSizeInBytes - _numberOfElementsu2.nextIndex; - - eatBytes(_remainingBytes); // eat the entire section - - dumpSep("ignore data (" + sectionSizeInBytes + " bytes)"); - return { - nodes: [], - metadata: _metadata10, - nextSectionIndex: nextSectionIndex - }; - } else { - var _nodes10 = parseDataSection(_numberOfElements2); - - return { - nodes: _nodes10, - metadata: _metadata10, - nextSectionIndex: nextSectionIndex - }; - } - } - - case _helperWasmBytecode["default"].sections.custom: - { - dumpSep("section Custom"); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - var _metadata11 = [t.sectionMetadata("custom", startOffset, sectionSizeInBytesNode)]; - var sectionName = readUTF8String(); - eatBytes(sectionName.nextIndex); - dump([], "section name (".concat(sectionName.value, ")")); - - var _remainingBytes2 = sectionSizeInBytes - sectionName.nextIndex; - - if (sectionName.value === "name") { - var initialOffset = offset; - - try { - _metadata11.push.apply(_metadata11, _toConsumableArray(parseNameSection(_remainingBytes2))); - } catch (e) { - console.warn("Failed to decode custom \"name\" section @".concat(offset, "; ignoring (").concat(e.message, ").")); - eatBytes(offset - (initialOffset + _remainingBytes2)); - } - } else if (sectionName.value === "producers") { - var _initialOffset = offset; - - try { - _metadata11.push(parseProducersSection()); - } catch (e) { - console.warn("Failed to decode custom \"producers\" section @".concat(offset, "; ignoring (").concat(e.message, ").")); - eatBytes(offset - (_initialOffset + _remainingBytes2)); - } - } else { - // We don't parse the custom section - eatBytes(_remainingBytes2); - dumpSep("ignore custom " + JSON.stringify(sectionName.value) + " section (" + _remainingBytes2 + " bytes)"); - } - - return { - nodes: [], - metadata: _metadata11, - nextSectionIndex: nextSectionIndex - }; - } - } - - if (opts.errorOnUnknownSection) { - throw new _helperApiError.CompileError("Unexpected section: " + toHex(sectionId)); - } else { - dumpSep("section " + toHex(sectionId)); - dump([sectionId], "section code"); - dump([sectionSizeInBytes], "section size"); - eatBytes(sectionSizeInBytes); - dumpSep("ignoring (" + sectionSizeInBytes + " bytes)"); - return { - nodes: [], - metadata: [], - nextSectionIndex: 0 - }; - } - } - - parseModuleHeader(); - parseVersion(); - var moduleFields = []; - var sectionIndex = 0; - var moduleMetadata = { - sections: [], - functionNames: [], - localNames: [], - producers: [] - }; - /** - * All the generate declaration are going to be stored in our state - */ - - while (offset < buf.length) { - var _parseSection = parseSection(sectionIndex), - nodes = _parseSection.nodes, - metadata = _parseSection.metadata, - nextSectionIndex = _parseSection.nextSectionIndex; - - moduleFields.push.apply(moduleFields, _toConsumableArray(nodes)); - var metadataArray = Array.isArray(metadata) ? metadata : [metadata]; - metadataArray.forEach(function (metadataItem) { - // $FlowIgnore - if (metadataItem.type === "FunctionNameMetadata") { - moduleMetadata.functionNames.push(metadataItem); // $FlowIgnore - } else if (metadataItem.type === "LocalNameMetadata") { - moduleMetadata.localNames.push(metadataItem); // $FlowIgnore - } else if (metadataItem.type === "ProducersSectionMetadata") { - moduleMetadata.producers.push(metadataItem); - } else { - moduleMetadata.sections.push(metadataItem); - } - }); // Ignore custom section - - if (nextSectionIndex) { - sectionIndex = nextSectionIndex; - } - } - /** - * Transform the state into AST nodes - */ - - - var funcIndex = 0; - state.functionsInModule.forEach(function (func) { - var params = func.signature.params; - var result = func.signature.result; - var body = []; // External functions doesn't provide any code, can skip it here - - if (func.isExternal === true) { - return; - } - - var decodedElementInCodeSection = state.elementsInCodeSection[funcIndex]; - - if (opts.ignoreCodeSection === false) { - if (typeof decodedElementInCodeSection === "undefined") { - throw new _helperApiError.CompileError("func " + toHex(funcIndex) + " code not found"); - } - - body = decodedElementInCodeSection.code; - } - - funcIndex++; - var funcNode = t.func(func.id, t.signature(params, result), body); - - if (func.isExternal === true) { - funcNode.isExternal = func.isExternal; - } // Add function position in the binary if possible - - - if (opts.ignoreCodeSection === false) { - var _startLoc23 = decodedElementInCodeSection.startLoc, - endLoc = decodedElementInCodeSection.endLoc, - bodySize = decodedElementInCodeSection.bodySize; - funcNode = t.withLoc(funcNode, endLoc, _startLoc23); - funcNode.metadata = { - bodySize: bodySize - }; - } - - moduleFields.push(funcNode); - }); - state.elementsInExportSection.forEach(function (moduleExport) { - /** - * If the export has no id, we won't be able to call it from the outside - * so we can omit it - */ - if (moduleExport.id != null) { - moduleFields.push(t.withLoc(t.moduleExport(moduleExport.name, t.moduleExportDescr(moduleExport.type, moduleExport.id)), moduleExport.endLoc, moduleExport.startLoc)); - } - }); - dumpSep("end of program"); - var module = t.module(null, moduleFields, t.moduleMetadata(moduleMetadata.sections, moduleMetadata.functionNames, moduleMetadata.localNames, moduleMetadata.producers)); - return t.program([module]); -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/wasm-parser/lib/index.js b/node_modules/@webassemblyjs/wasm-parser/lib/index.js deleted file mode 100644 index fc9cbcb0..00000000 --- a/node_modules/@webassemblyjs/wasm-parser/lib/index.js +++ /dev/null @@ -1,262 +0,0 @@ -"use strict"; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.decode = decode; - -var decoder = _interopRequireWildcard(require("./decoder")); - -var t = _interopRequireWildcard(require("@webassemblyjs/ast")); - -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } - -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -/** - * TODO(sven): I added initial props, but we should rather fix - * https://github.com/xtuc/webassemblyjs/issues/405 - */ -var defaultDecoderOpts = { - dump: false, - ignoreCodeSection: false, - ignoreDataSection: false, - ignoreCustomNameSection: false -}; // traverses the AST, locating function name metadata, which is then -// used to update index-based identifiers with function names - -function restoreFunctionNames(ast) { - var functionNames = []; - t.traverse(ast, { - FunctionNameMetadata: function FunctionNameMetadata(_ref) { - var node = _ref.node; - functionNames.push({ - name: node.value, - index: node.index - }); - } - }); - - if (functionNames.length === 0) { - return; - } - - t.traverse(ast, { - Func: function (_Func) { - function Func(_x) { - return _Func.apply(this, arguments); - } - - Func.toString = function () { - return _Func.toString(); - }; - - return Func; - }(function (_ref2) { - var node = _ref2.node; - // $FlowIgnore - var nodeName = node.name; - var indexBasedFunctionName = nodeName.value; - var index = Number(indexBasedFunctionName.replace("func_", "")); - var functionName = functionNames.find(function (f) { - return f.index === index; - }); - - if (functionName) { - var oldValue = nodeName.value; - nodeName.value = functionName.name; // $FlowIgnore - - nodeName.numeric = oldValue; // $FlowIgnore - - delete nodeName.raw; - } - }), - // Also update the reference in the export - ModuleExport: function (_ModuleExport) { - function ModuleExport(_x2) { - return _ModuleExport.apply(this, arguments); - } - - ModuleExport.toString = function () { - return _ModuleExport.toString(); - }; - - return ModuleExport; - }(function (_ref3) { - var node = _ref3.node; - - if (node.descr.exportType === "Func") { - // $FlowIgnore - var nodeName = node.descr.id; - var index = nodeName.value; - var functionName = functionNames.find(function (f) { - return f.index === index; - }); - - if (functionName) { - node.descr.id = t.identifier(functionName.name); - } - } - }), - ModuleImport: function (_ModuleImport) { - function ModuleImport(_x3) { - return _ModuleImport.apply(this, arguments); - } - - ModuleImport.toString = function () { - return _ModuleImport.toString(); - }; - - return ModuleImport; - }(function (_ref4) { - var node = _ref4.node; - - if (node.descr.type === "FuncImportDescr") { - // $FlowIgnore - var indexBasedFunctionName = node.descr.id; - var index = Number(indexBasedFunctionName.replace("func_", "")); - var functionName = functionNames.find(function (f) { - return f.index === index; - }); - - if (functionName) { - // $FlowIgnore - node.descr.id = t.identifier(functionName.name); - } - } - }), - CallInstruction: function (_CallInstruction) { - function CallInstruction(_x4) { - return _CallInstruction.apply(this, arguments); - } - - CallInstruction.toString = function () { - return _CallInstruction.toString(); - }; - - return CallInstruction; - }(function (nodePath) { - var node = nodePath.node; - var index = node.index.value; - var functionName = functionNames.find(function (f) { - return f.index === index; - }); - - if (functionName) { - var oldValue = node.index; - node.index = t.identifier(functionName.name); - node.numeric = oldValue; // $FlowIgnore - - delete node.raw; - } - }) - }); -} - -function restoreLocalNames(ast) { - var localNames = []; - t.traverse(ast, { - LocalNameMetadata: function LocalNameMetadata(_ref5) { - var node = _ref5.node; - localNames.push({ - name: node.value, - localIndex: node.localIndex, - functionIndex: node.functionIndex - }); - } - }); - - if (localNames.length === 0) { - return; - } - - t.traverse(ast, { - Func: function (_Func2) { - function Func(_x5) { - return _Func2.apply(this, arguments); - } - - Func.toString = function () { - return _Func2.toString(); - }; - - return Func; - }(function (_ref6) { - var node = _ref6.node; - var signature = node.signature; - - if (signature.type !== "Signature") { - return; - } // $FlowIgnore - - - var nodeName = node.name; - var indexBasedFunctionName = nodeName.value; - var functionIndex = Number(indexBasedFunctionName.replace("func_", "")); - signature.params.forEach(function (param, paramIndex) { - var paramName = localNames.find(function (f) { - return f.localIndex === paramIndex && f.functionIndex === functionIndex; - }); - - if (paramName && paramName.name !== "") { - param.id = paramName.name; - } - }); - }) - }); -} - -function restoreModuleName(ast) { - t.traverse(ast, { - ModuleNameMetadata: function (_ModuleNameMetadata) { - function ModuleNameMetadata(_x6) { - return _ModuleNameMetadata.apply(this, arguments); - } - - ModuleNameMetadata.toString = function () { - return _ModuleNameMetadata.toString(); - }; - - return ModuleNameMetadata; - }(function (moduleNameMetadataPath) { - // update module - t.traverse(ast, { - Module: function (_Module) { - function Module(_x7) { - return _Module.apply(this, arguments); - } - - Module.toString = function () { - return _Module.toString(); - }; - - return Module; - }(function (_ref7) { - var node = _ref7.node; - var name = moduleNameMetadataPath.node.value; // compatiblity with wast-parser - - if (name === "") { - name = null; - } - - node.id = name; - }) - }); - }) - }); -} - -function decode(buf, customOpts) { - var opts = Object.assign({}, defaultDecoderOpts, customOpts); - var ast = decoder.decode(buf, opts); - - if (opts.ignoreCustomNameSection === false) { - restoreFunctionNames(ast); - restoreLocalNames(ast); - restoreModuleName(ast); - } - - return ast; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/wasm-parser/lib/types/decoder.js b/node_modules/@webassemblyjs/wasm-parser/lib/types/decoder.js deleted file mode 100644 index 9a390c31..00000000 --- a/node_modules/@webassemblyjs/wasm-parser/lib/types/decoder.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/wasm-parser/package.json b/node_modules/@webassemblyjs/wasm-parser/package.json deleted file mode 100644 index a5969381..00000000 --- a/node_modules/@webassemblyjs/wasm-parser/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "@webassemblyjs/wasm-parser", - "version": "1.11.6", - "keywords": [ - "webassembly", - "javascript", - "ast", - "parser", - "wasm" - ], - "description": "WebAssembly binary format parser", - "main": "lib/index.js", - "module": "esm/index.js", - "scripts": { - "test": "mocha" - }, - "author": "Sven Sauleau", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - }, - "devDependencies": { - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-test-framework": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.7.7", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wast-parser": "1.11.6", - "mamacro": "^0.0.7", - "wabt": "1.0.12" - } -} diff --git a/node_modules/@webassemblyjs/wast-printer/README.md b/node_modules/@webassemblyjs/wast-printer/README.md deleted file mode 100644 index ed4cd4e4..00000000 --- a/node_modules/@webassemblyjs/wast-printer/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# @webassemblyjs/wast-parser - -> WebAssembly text format printer - -## Installation - -```sh -yarn add @webassemblyjs/wast-printer -``` - -## Usage - -```js -import { print } from "@webassemblyjs/wast-printer" - -console.log(print(ast)); -``` diff --git a/node_modules/@webassemblyjs/wast-printer/lib/index.js b/node_modules/@webassemblyjs/wast-printer/lib/index.js deleted file mode 100644 index 2e4dfaf9..00000000 --- a/node_modules/@webassemblyjs/wast-printer/lib/index.js +++ /dev/null @@ -1,931 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.print = print; - -var _ast = require("@webassemblyjs/ast"); - -var _long = _interopRequireDefault(require("@xtuc/long")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -var compact = false; -var space = " "; - -var quote = function quote(str) { - return "\"".concat(str, "\""); -}; - -function indent(nb) { - return Array(nb).fill(space + space).join(""); -} // TODO(sven): allow arbitrary ast nodes - - -function print(n) { - if (n.type === "Program") { - return printProgram(n, 0); - } else { - throw new Error("Unsupported node in print of type: " + String(n.type)); - } -} - -function printProgram(n, depth) { - return n.body.reduce(function (acc, child) { - if (child.type === "Module") { - acc += printModule(child, depth + 1); - } - - if (child.type === "Func") { - acc += printFunc(child, depth + 1); - } - - if (child.type === "BlockComment") { - acc += printBlockComment(child); - } - - if (child.type === "LeadingComment") { - acc += printLeadingComment(child); - } - - if (compact === false) { - acc += "\n"; - } - - return acc; - }, ""); -} - -function printTypeInstruction(n) { - var out = ""; - out += "("; - out += "type"; - out += space; - - if (n.id != null) { - out += printIndex(n.id); - out += space; - } - - out += "("; - out += "func"; - n.functype.params.forEach(function (param) { - out += space; - out += "("; - out += "param"; - out += space; - out += printFuncParam(param); - out += ")"; - }); - n.functype.results.forEach(function (result) { - out += space; - out += "("; - out += "result"; - out += space; - out += result; - out += ")"; - }); - out += ")"; // func - - out += ")"; - return out; -} - -function printModule(n, depth) { - var out = "("; - out += "module"; - - if (typeof n.id === "string") { - out += space; - out += n.id; - } - - if (compact === false) { - out += "\n"; - } else { - out += space; - } - - n.fields.forEach(function (field) { - if (compact === false) { - out += indent(depth); - } - - switch (field.type) { - case "Func": - { - out += printFunc(field, depth + 1); - break; - } - - case "TypeInstruction": - { - out += printTypeInstruction(field); - break; - } - - case "Table": - { - out += printTable(field); - break; - } - - case "Global": - { - out += printGlobal(field, depth + 1); - break; - } - - case "ModuleExport": - { - out += printModuleExport(field); - break; - } - - case "ModuleImport": - { - out += printModuleImport(field); - break; - } - - case "Memory": - { - out += printMemory(field); - break; - } - - case "BlockComment": - { - out += printBlockComment(field); - break; - } - - case "LeadingComment": - { - out += printLeadingComment(field); - break; - } - - case "Start": - { - out += printStart(field); - break; - } - - case "Elem": - { - out += printElem(field, depth); - break; - } - - case "Data": - { - out += printData(field, depth); - break; - } - - default: - throw new Error("Unsupported node in printModule: " + String(field.type)); - } - - if (compact === false) { - out += "\n"; - } - }); - out += ")"; - return out; -} - -function printData(n, depth) { - var out = ""; - out += "("; - out += "data"; - out += space; - out += printIndex(n.memoryIndex); - out += space; - out += printInstruction(n.offset, depth); - out += space; - out += '"'; - n.init.values.forEach(function (_byte) { - // Avoid non-displayable characters - if (_byte <= 31 || _byte == 34 || _byte == 92 || _byte >= 127) { - out += "\\"; - out += ("00" + _byte.toString(16)).substr(-2); - } else if (_byte > 255) { - throw new Error("Unsupported byte in data segment: " + _byte); - } else { - out += String.fromCharCode(_byte); - } - }); - out += '"'; - out += ")"; - return out; -} - -function printElem(n, depth) { - var out = ""; - out += "("; - out += "elem"; - out += space; - out += printIndex(n.table); - - var _n$offset = _slicedToArray(n.offset, 1), - firstOffset = _n$offset[0]; - - out += space; - out += "("; - out += "offset"; - out += space; - out += printInstruction(firstOffset, depth); - out += ")"; - n.funcs.forEach(function (func) { - out += space; - out += printIndex(func); - }); - out += ")"; - return out; -} - -function printStart(n) { - var out = ""; - out += "("; - out += "start"; - out += space; - out += printIndex(n.index); - out += ")"; - return out; -} - -function printLeadingComment(n) { - // Don't print leading comments in compact mode - if (compact === true) { - return ""; - } - - var out = ""; - out += ";;"; - out += n.value; - out += "\n"; - return out; -} - -function printBlockComment(n) { - // Don't print block comments in compact mode - if (compact === true) { - return ""; - } - - var out = ""; - out += "(;"; - out += n.value; - out += ";)"; - out += "\n"; - return out; -} - -function printSignature(n) { - var out = ""; - n.params.forEach(function (param) { - out += space; - out += "("; - out += "param"; - out += space; - out += printFuncParam(param); - out += ")"; - }); - n.results.forEach(function (result) { - out += space; - out += "("; - out += "result"; - out += space; - out += result; - out += ")"; - }); - return out; -} - -function printModuleImportDescr(n) { - var out = ""; - - if (n.type === "FuncImportDescr") { - out += "("; - out += "func"; - - if ((0, _ast.isAnonymous)(n.id) === false) { - out += space; - out += printIdentifier(n.id); - } - - out += printSignature(n.signature); - out += ")"; - } - - if (n.type === "GlobalType") { - out += "("; - out += "global"; - out += space; - out += printGlobalType(n); - out += ")"; - } - - if (n.type === "Table") { - out += printTable(n); - } - - return out; -} - -function printModuleImport(n) { - var out = ""; - out += "("; - out += "import"; - out += space; - out += quote(n.module); - out += space; - out += quote(n.name); - out += space; - out += printModuleImportDescr(n.descr); - out += ")"; - return out; -} - -function printGlobalType(n) { - var out = ""; - - if (n.mutability === "var") { - out += "("; - out += "mut"; - out += space; - out += n.valtype; - out += ")"; - } else { - out += n.valtype; - } - - return out; -} - -function printGlobal(n, depth) { - var out = ""; - out += "("; - out += "global"; - out += space; - - if (n.name != null && (0, _ast.isAnonymous)(n.name) === false) { - out += printIdentifier(n.name); - out += space; - } - - out += printGlobalType(n.globalType); - out += space; - n.init.forEach(function (i) { - out += printInstruction(i, depth + 1); - }); - out += ")"; - return out; -} - -function printTable(n) { - var out = ""; - out += "("; - out += "table"; - out += space; - - if (n.name != null && (0, _ast.isAnonymous)(n.name) === false) { - out += printIdentifier(n.name); - out += space; - } - - out += printLimit(n.limits); - out += space; - out += n.elementType; - out += ")"; - return out; -} - -function printFuncParam(n) { - var out = ""; - - if (typeof n.id === "string") { - out += "$" + n.id; - out += space; - } - - out += n.valtype; - return out; -} - -function printFunc(n, depth) { - var out = ""; - out += "("; - out += "func"; - - if (n.name != null) { - if (n.name.type === "Identifier" && (0, _ast.isAnonymous)(n.name) === false) { - out += space; - out += printIdentifier(n.name); - } - } - - if (n.signature.type === "Signature") { - out += printSignature(n.signature); - } else { - var index = n.signature; - out += space; - out += "("; - out += "type"; - out += space; - out += printIndex(index); - out += ")"; - } - - if (n.body.length > 0) { - // func is empty since we ignore the default end instruction - if (n.body.length === 1 && n.body[0].id === "end") { - out += ")"; - return out; - } - - if (compact === false) { - out += "\n"; - } - - n.body.forEach(function (i) { - if (i.id !== "end") { - out += indent(depth); - out += printInstruction(i, depth); - - if (compact === false) { - out += "\n"; - } - } - }); - out += indent(depth - 1) + ")"; - } else { - out += ")"; - } - - return out; -} - -function printInstruction(n, depth) { - switch (n.type) { - case "Instr": - // $FlowIgnore - return printGenericInstruction(n, depth + 1); - - case "BlockInstruction": - // $FlowIgnore - return printBlockInstruction(n, depth + 1); - - case "IfInstruction": - // $FlowIgnore - return printIfInstruction(n, depth + 1); - - case "CallInstruction": - // $FlowIgnore - return printCallInstruction(n, depth + 1); - - case "CallIndirectInstruction": - // $FlowIgnore - return printCallIndirectIntruction(n, depth + 1); - - case "LoopInstruction": - // $FlowIgnore - return printLoopInstruction(n, depth + 1); - - default: - throw new Error("Unsupported instruction: " + JSON.stringify(n.type)); - } -} - -function printCallIndirectIntruction(n, depth) { - var out = ""; - out += "("; - out += "call_indirect"; - - if (n.signature.type === "Signature") { - out += printSignature(n.signature); - } else if (n.signature.type === "Identifier") { - out += space; - out += "("; - out += "type"; - out += space; - out += printIdentifier(n.signature); - out += ")"; - } else { - throw new Error("CallIndirectInstruction: unsupported signature " + JSON.stringify(n.signature.type)); - } - - out += space; - - if (n.intrs != null) { - // $FlowIgnore - n.intrs.forEach(function (i, index) { - // $FlowIgnore - out += printInstruction(i, depth + 1); // $FlowIgnore - - if (index !== n.intrs.length - 1) { - out += space; - } - }); - } - - out += ")"; - return out; -} - -function printLoopInstruction(n, depth) { - var out = ""; - out += "("; - out += "loop"; - - if (n.label != null && (0, _ast.isAnonymous)(n.label) === false) { - out += space; - out += printIdentifier(n.label); - } - - if (typeof n.resulttype === "string") { - out += space; - out += "("; - out += "result"; - out += space; - out += n.resulttype; - out += ")"; - } - - if (n.instr.length > 0) { - n.instr.forEach(function (e) { - if (compact === false) { - out += "\n"; - } - - out += indent(depth); - out += printInstruction(e, depth + 1); - }); - - if (compact === false) { - out += "\n"; - out += indent(depth - 1); - } - } - - out += ")"; - return out; -} - -function printCallInstruction(n, depth) { - var out = ""; - out += "("; - out += "call"; - out += space; - out += printIndex(n.index); - - if (_typeof(n.instrArgs) === "object") { - // $FlowIgnore - n.instrArgs.forEach(function (arg) { - out += space; - out += printFuncInstructionArg(arg, depth + 1); - }); - } - - out += ")"; - return out; -} - -function printIfInstruction(n, depth) { - var out = ""; - out += "("; - out += "if"; - - if (n.testLabel != null && (0, _ast.isAnonymous)(n.testLabel) === false) { - out += space; - out += printIdentifier(n.testLabel); - } - - if (typeof n.result === "string") { - out += space; - out += "("; - out += "result"; - out += space; - out += n.result; - out += ")"; - } - - if (n.test.length > 0) { - out += space; - n.test.forEach(function (i) { - out += printInstruction(i, depth + 1); - }); - } - - if (n.consequent.length > 0) { - if (compact === false) { - out += "\n"; - } - - out += indent(depth); - out += "("; - out += "then"; - depth++; - n.consequent.forEach(function (i) { - if (compact === false) { - out += "\n"; - } - - out += indent(depth); - out += printInstruction(i, depth + 1); - }); - depth--; - - if (compact === false) { - out += "\n"; - out += indent(depth); - } - - out += ")"; - } else { - if (compact === false) { - out += "\n"; - out += indent(depth); - } - - out += "("; - out += "then"; - out += ")"; - } - - if (n.alternate.length > 0) { - if (compact === false) { - out += "\n"; - } - - out += indent(depth); - out += "("; - out += "else"; - depth++; - n.alternate.forEach(function (i) { - if (compact === false) { - out += "\n"; - } - - out += indent(depth); - out += printInstruction(i, depth + 1); - }); - depth--; - - if (compact === false) { - out += "\n"; - out += indent(depth); - } - - out += ")"; - } else { - if (compact === false) { - out += "\n"; - out += indent(depth); - } - - out += "("; - out += "else"; - out += ")"; - } - - if (compact === false) { - out += "\n"; - out += indent(depth - 1); - } - - out += ")"; - return out; -} - -function printBlockInstruction(n, depth) { - var out = ""; - out += "("; - out += "block"; - - if (n.label != null && (0, _ast.isAnonymous)(n.label) === false) { - out += space; - out += printIdentifier(n.label); - } - - if (typeof n.result === "string") { - out += space; - out += "("; - out += "result"; - out += space; - out += n.result; - out += ")"; - } - - if (n.instr.length > 0) { - n.instr.forEach(function (i) { - if (compact === false) { - out += "\n"; - } - - out += indent(depth); - out += printInstruction(i, depth + 1); - }); - - if (compact === false) { - out += "\n"; - } - - out += indent(depth - 1); - out += ")"; - } else { - out += ")"; - } - - return out; -} - -function printGenericInstruction(n, depth) { - var out = ""; - out += "("; - - if (typeof n.object === "string") { - out += n.object; - out += "."; - } - - out += n.id; - n.args.forEach(function (arg) { - out += space; - out += printFuncInstructionArg(arg, depth + 1); - }); - - if (n.namedArgs !== undefined) { - for (var key in n.namedArgs) { - out += space + key + "="; - out += printFuncInstructionArg(n.namedArgs[key], depth + 1); - } - } - - out += ")"; - return out; -} - -function printLongNumberLiteral(n) { - if (typeof n.raw === "string") { - return n.raw; - } - - var _n$value = n.value, - low = _n$value.low, - high = _n$value.high; - var v = new _long["default"](low, high); - return v.toString(); -} - -function printFloatLiteral(n) { - if (typeof n.raw === "string") { - return n.raw; - } - - return String(n.value); -} - -function printFuncInstructionArg(n, depth) { - var out = ""; - - if (n.type === "NumberLiteral") { - out += printNumberLiteral(n); - } - - if (n.type === "LongNumberLiteral") { - out += printLongNumberLiteral(n); - } - - if (n.type === "Identifier" && (0, _ast.isAnonymous)(n) === false) { - out += printIdentifier(n); - } - - if (n.type === "ValtypeLiteral") { - out += n.name; - } - - if (n.type === "FloatLiteral") { - out += printFloatLiteral(n); - } - - if ((0, _ast.isInstruction)(n)) { - out += printInstruction(n, depth + 1); - } - - return out; -} - -function printNumberLiteral(n) { - if (typeof n.raw === "string") { - return n.raw; - } - - return String(n.value); -} - -function printModuleExport(n) { - var out = ""; - out += "("; - out += "export"; - out += space; - out += quote(n.name); - - if (n.descr.exportType === "Func") { - out += space; - out += "("; - out += "func"; - out += space; - out += printIndex(n.descr.id); - out += ")"; - } else if (n.descr.exportType === "Global") { - out += space; - out += "("; - out += "global"; - out += space; - out += printIndex(n.descr.id); - out += ")"; - } else if (n.descr.exportType === "Memory") { - out += space; - out += "("; - out += "memory"; - out += space; - out += printIndex(n.descr.id); - out += ")"; - } else if (n.descr.exportType === "Table") { - out += space; - out += "("; - out += "table"; - out += space; - out += printIndex(n.descr.id); - out += ")"; - } else { - throw new Error("printModuleExport: unknown type: " + n.descr.exportType); - } - - out += ")"; - return out; -} - -function printIdentifier(n) { - return "$" + n.value; -} - -function printIndex(n) { - if (n.type === "Identifier") { - return printIdentifier(n); - } else if (n.type === "NumberLiteral") { - return printNumberLiteral(n); - } else { - throw new Error("Unsupported index: " + n.type); - } -} - -function printMemory(n) { - var out = ""; - out += "("; - out += "memory"; - - if (n.id != null) { - out += space; - out += printIndex(n.id); - out += space; - } - - out += printLimit(n.limits); - out += ")"; - return out; -} - -function printLimit(n) { - var out = ""; - out += n.min + ""; - - if (n.max != null) { - out += space; - out += String(n.max); - - if (n.shared === true) { - out += " shared"; - } - } - - return out; -}
\ No newline at end of file diff --git a/node_modules/@webassemblyjs/wast-printer/package.json b/node_modules/@webassemblyjs/wast-printer/package.json deleted file mode 100644 index 4dda2349..00000000 --- a/node_modules/@webassemblyjs/wast-printer/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "@webassemblyjs/wast-printer", - "version": "1.11.6", - "description": "WebAssembly text format printer", - "main": "lib/index.js", - "module": "esm/index.js", - "keywords": [ - "webassembly", - "javascript", - "ast", - "compiler", - "printer", - "wast" - ], - "scripts": { - "test": "mocha" - }, - "author": "Sven Sauleau", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - }, - "devDependencies": { - "@webassemblyjs/helper-test-framework": "1.11.6", - "@webassemblyjs/wast-parser": "1.11.6" - }, - "repository": { - "type": "git", - "url": "https://github.com/xtuc/webassemblyjs.git" - }, - "publishConfig": { - "access": "public" - } -} |
