terminus-cloud-settings-sync
Version:
Cloud Services sync the Tabby config and connections across platform devices.
2 lines • 19.4 MB
JavaScript
/*! For license information please see index.js.LICENSE.txt */
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@angular/core"),require("terminus-settings"),require("terminus-core"),require("ngx-toastr"),require("fs"),require("@angular/common"),require("@angular/forms"),require("@ng-bootstrap/ng-bootstrap"));else if("function"==typeof define&&define.amd)define(["@angular/core","terminus-settings","terminus-core","ngx-toastr","fs","@angular/common","@angular/forms","@ng-bootstrap/ng-bootstrap"],t);else{var n="object"==typeof exports?t(require("@angular/core"),require("terminus-settings"),require("terminus-core"),require("ngx-toastr"),require("fs"),require("@angular/common"),require("@angular/forms"),require("@ng-bootstrap/ng-bootstrap")):t(e["@angular/core"],e["terminus-settings"],e["terminus-core"],e["ngx-toastr"],e.fs,e["@angular/common"],e["@angular/forms"],e["@ng-bootstrap/ng-bootstrap"]);for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(global,(function(__WEBPACK_EXTERNAL_MODULE__46662__,__WEBPACK_EXTERNAL_MODULE__77671__,__WEBPACK_EXTERNAL_MODULE__62274__,__WEBPACK_EXTERNAL_MODULE__28428__,__WEBPACK_EXTERNAL_MODULE__35747__,__WEBPACK_EXTERNAL_MODULE__61900__,__WEBPACK_EXTERNAL_MODULE__59366__,__WEBPACK_EXTERNAL_MODULE__55870__){return(()=>{var __webpack_modules__={4099:module=>{eval("/**\n * Contains all configured adapters for the given environment.\n *\n * @type {Array}\n * @public\n */\nvar adapters = [];\n\n/**\n * Contains all modifier functions.\n *\n * @typs {Array}\n * @public\n */\nvar modifiers = [];\n\n/**\n * Our default logger.\n *\n * @public\n */\nvar logger = function devnull() {};\n\n/**\n * Register a new adapter that will used to find environments.\n *\n * @param {Function} adapter A function that will return the possible env.\n * @returns {Boolean} Indication of a successful add.\n * @public\n */\nfunction use(adapter) {\n if (~adapters.indexOf(adapter)) return false;\n\n adapters.push(adapter);\n return true;\n}\n\n/**\n * Assign a new log method.\n *\n * @param {Function} custom The log method.\n * @public\n */\nfunction set(custom) {\n logger = custom;\n}\n\n/**\n * Check if the namespace is allowed by any of our adapters.\n *\n * @param {String} namespace The namespace that needs to be enabled\n * @returns {Boolean|Promise} Indication if the namespace is enabled by our adapters.\n * @public\n */\nfunction enabled(namespace) {\n var async = [];\n\n for (var i = 0; i < adapters.length; i++) {\n if (adapters[i].async) {\n async.push(adapters[i]);\n continue;\n }\n\n if (adapters[i](namespace)) return true;\n }\n\n if (!async.length) return false;\n\n //\n // Now that we know that we Async functions, we know we run in an ES6\n // environment and can use all the API's that they offer, in this case\n // we want to return a Promise so that we can `await` in React-Native\n // for an async adapter.\n //\n return new Promise(function pinky(resolve) {\n Promise.all(\n async.map(function prebind(fn) {\n return fn(namespace);\n })\n ).then(function resolved(values) {\n resolve(values.some(Boolean));\n });\n });\n}\n\n/**\n * Add a new message modifier to the debugger.\n *\n * @param {Function} fn Modification function.\n * @returns {Boolean} Indication of a successful add.\n * @public\n */\nfunction modify(fn) {\n if (~modifiers.indexOf(fn)) return false;\n\n modifiers.push(fn);\n return true;\n}\n\n/**\n * Write data to the supplied logger.\n *\n * @param {Object} meta Meta information about the log.\n * @param {Array} args Arguments for console.log.\n * @public\n */\nfunction write() {\n logger.apply(logger, arguments);\n}\n\n/**\n * Process the message with the modifiers.\n *\n * @param {Mixed} message The message to be transformed by modifers.\n * @returns {String} Transformed message.\n * @public\n */\nfunction process(message) {\n for (var i = 0; i < modifiers.length; i++) {\n message = modifiers[i].apply(modifiers[i], arguments);\n }\n\n return message;\n}\n\n/**\n * Introduce options to the logger function.\n *\n * @param {Function} fn Calback function.\n * @param {Object} options Properties to introduce on fn.\n * @returns {Function} The passed function\n * @public\n */\nfunction introduce(fn, options) {\n var has = Object.prototype.hasOwnProperty;\n\n for (var key in options) {\n if (has.call(options, key)) {\n fn[key] = options[key];\n }\n }\n\n return fn;\n}\n\n/**\n * Nope, we're not allowed to write messages.\n *\n * @returns {Boolean} false\n * @public\n */\nfunction nope(options) {\n options.enabled = false;\n options.modify = modify;\n options.set = set;\n options.use = use;\n\n return introduce(function diagnopes() {\n return false;\n }, options);\n}\n\n/**\n * Yep, we're allowed to write debug messages.\n *\n * @param {Object} options The options for the process.\n * @returns {Function} The function that does the logging.\n * @public\n */\nfunction yep(options) {\n /**\n * The function that receives the actual debug information.\n *\n * @returns {Boolean} indication that we're logging.\n * @public\n */\n function diagnostics() {\n var args = Array.prototype.slice.call(arguments, 0);\n\n write.call(write, options, process(args, options));\n return true;\n }\n\n options.enabled = true;\n options.modify = modify;\n options.set = set;\n options.use = use;\n\n return introduce(diagnostics, options);\n}\n\n/**\n * Simple helper function to introduce various of helper methods to our given\n * diagnostics function.\n *\n * @param {Function} diagnostics The diagnostics function.\n * @returns {Function} diagnostics\n * @public\n */\nmodule.exports = function create(diagnostics) {\n diagnostics.introduce = introduce;\n diagnostics.enabled = enabled;\n diagnostics.process = process;\n diagnostics.modify = modify;\n diagnostics.write = write;\n diagnostics.nope = nope;\n diagnostics.yep = yep;\n diagnostics.set = set;\n diagnostics.use = use;\n\n return diagnostics;\n}\n\n\n//# sourceURL=webpack-terminus-cloud-sync-settings:///./node_modules/@dabh/diagnostics/diagnostics.js")},93420:(module,__unused_webpack_exports,__webpack_require__)=>{eval("//\n// Select the correct build version depending on the environment.\n//\nif (true) {\n module.exports = __webpack_require__(/*! ./production.js */ 13601);\n} else {}\n\n\n//# sourceURL=webpack-terminus-cloud-sync-settings:///./node_modules/@dabh/diagnostics/node/index.js")},13601:(module,__unused_webpack_exports,__webpack_require__)=>{eval("var create = __webpack_require__(/*! ../diagnostics */ 4099);\n\n/**\n * Create a new diagnostics logger.\n *\n * @param {String} namespace The namespace it should enable.\n * @param {Object} options Additional options.\n * @returns {Function} The logger.\n * @public\n */\nvar diagnostics = create(function prod(namespace, options) {\n options = options || {};\n options.namespace = namespace;\n options.prod = true;\n options.dev = false;\n\n if (!(options.force || prod.force)) return prod.nope(options);\n return prod.yep(options);\n});\n\n//\n// Expose the diagnostics logger.\n//\nmodule.exports = diagnostics;\n\n\n//# sourceURL=webpack-terminus-cloud-sync-settings:///./node_modules/@dabh/diagnostics/node/production.js")},22031:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n "assertBinaryModule": () => (/* reexport */ assertBinaryModule),\n "assertBlockComment": () => (/* reexport */ assertBlockComment),\n "assertBlockInstruction": () => (/* reexport */ assertBlockInstruction),\n "assertByteArray": () => (/* reexport */ assertByteArray),\n "assertCallIndirectInstruction": () => (/* reexport */ assertCallIndirectInstruction),\n "assertCallInstruction": () => (/* reexport */ assertCallInstruction),\n "assertData": () => (/* reexport */ assertData),\n "assertElem": () => (/* reexport */ assertElem),\n "assertFloatLiteral": () => (/* reexport */ assertFloatLiteral),\n "assertFunc": () => (/* reexport */ assertFunc),\n "assertFuncImportDescr": () => (/* reexport */ assertFuncImportDescr),\n "assertFunctionNameMetadata": () => (/* reexport */ assertFunctionNameMetadata),\n "assertGlobal": () => (/* reexport */ assertGlobal),\n "assertGlobalType": () => (/* reexport */ assertGlobalType),\n "assertHasLoc": () => (/* reexport */ assertHasLoc),\n "assertIdentifier": () => (/* reexport */ assertIdentifier),\n "assertIfInstruction": () => (/* reexport */ assertIfInstruction),\n "assertIndexInFuncSection": () => (/* reexport */ assertIndexInFuncSection),\n "assertInstr": () => (/* reexport */ assertInstr),\n "assertInternalBrUnless": () => (/* reexport */ assertInternalBrUnless),\n "assertInternalCallExtern": () => (/* reexport */ assertInternalCallExtern),\n "assertInternalEndAndReturn": () => (/* reexport */ assertInternalEndAndReturn),\n "assertInternalGoto": () => (/* reexport */ assertInternalGoto),\n "assertLeadingComment": () => (/* reexport */ assertLeadingComment),\n "assertLimit": () => (/* reexport */ assertLimit),\n "assertLocalNameMetadata": () => (/* reexport */ assertLocalNameMetadata),\n "assertLongNumberLiteral": () => (/* reexport */ assertLongNumberLiteral),\n "assertLoopInstruction": () => (/* reexport */ assertLoopInstruction),\n "assertMemory": () => (/* reexport */ assertMemory),\n "assertModule": () => (/* reexport */ assertModule),\n "assertModuleExport": () => (/* reexport */ assertModuleExport),\n "assertModuleExportDescr": () => (/* reexport */ assertModuleExportDescr),\n "assertModuleImport": () => (/* reexport */ assertModuleImport),\n "assertModuleMetadata": () => (/* reexport */ assertModuleMetadata),\n "assertModuleNameMetadata": () => (/* reexport */ assertModuleNameMetadata),\n "assertNumberLiteral": () => (/* reexport */ assertNumberLiteral),\n "assertProducerMetadata": () => (/* reexport */ assertProducerMetadata),\n "assertProducerMetadataVersionedName": () => (/* reexport */ assertProducerMetadataVersionedName),\n "assertProducersSectionMetadata": () => (/* reexport */ assertProducersSectionMetadata),\n "assertProgram": () => (/* reexport */ assertProgram),\n "assertQuoteModule": () => (/* reexport */ assertQuoteModule),\n "assertSectionMetadata": () => (/* reexport */ assertSectionMetadata),\n "assertSignature": () => (/* reexport */ assertSignature),\n "assertStart": () => (/* reexport */ assertStart),\n "assertStringLiteral": () => (/* reexport */ assertStringLiteral),\n "assertTable": () => (/* reexport */ assertTable),\n "assertTypeInstruction": () => (/* reexport */ assertTypeInstruction),\n "assertValtypeLiteral": () => (/* reexport */ assertValtypeLiteral),\n "binaryModule": () => (/* reexport */ binaryModule),\n "blockComment": () => (/* reexport */ blockComment),\n "blockInstruction": () => (/* reexport */ blockInstruction),\n "byteArray": () => (/* reexport */ byteArray),\n "callIndirectInstruction": () => (/* reexport */ callIndirectInstruction),\n "callInstruction": () => (/* reexport */ callInstruction),\n "cloneNode": () => (/* reexport */ cloneNode),\n "data": () => (/* reexport */ data),\n "elem": () => (/* reexport */ elem),\n "floatLiteral": () => (/* reexport */ floatLiteral),\n "func": () => (/* reexport */ func),\n "funcImportDescr": () => (/* reexport */ funcImportDescr),\n "funcParam": () => (/* reexport */ funcParam),\n "functionNameMetadata": () => (/* reexport */ functionNameMetadata),\n "getEndBlockByteOffset": () => (/* reexport */ getEndBlockByteOffset),\n "getEndByteOffset": () => (/* reexport */ getEndByteOffset),\n "getEndOfSection": () => (/* reexport */ getEndOfSection),\n "getFunctionBeginingByteOffset": () => (/* reexport */ getFunctionBeginingByteOffset),\n "getSectionMetadata": () => (/* reexport */ getSectionMetadata),\n "getSectionMetadatas": () => (/* reexport */ getSectionMetadatas),\n "getStartBlockByteOffset": () => (/* reexport */ getStartBlockByteOffset),\n "getStartByteOffset": () => (/* reexport */ getStartByteOffset),\n "getUniqueNameGenerator": () => (/* reexport */ getUniqueNameGenerator),\n "global": () => (/* reexport */ global),\n "globalType": () => (/* reexport */ globalType),\n "identifier": () => (/* reexport */ identifier),\n "ifInstruction": () => (/* reexport */ ifInstruction),\n "indexInFuncSection": () => (/* reexport */ indexInFuncSection),\n "indexLiteral": () => (/* reexport */ indexLiteral),\n "instr": () => (/* reexport */ instr),\n "instruction": () => (/* reexport */ instruction),\n "internalBrUnless": () => (/* reexport */ internalBrUnless),\n "internalCallExtern": () => (/* reexport */ internalCallExtern),\n "internalEndAndReturn": () => (/* reexport */ internalEndAndReturn),\n "internalGoto": () => (/* reexport */ internalGoto),\n "isAnonymous": () => (/* reexport */ isAnonymous),\n "isBinaryModule": () => (/* reexport */ isBinaryModule),\n "isBlock": () => (/* reexport */ isBlock),\n "isBlockComment": () => (/* reexport */ isBlockComment),\n "isBlockInstruction": () => (/* reexport */ isBlockInstruction),\n "isByteArray": () => (/* reexport */ isByteArray),\n "isCallIndirectInstruction": () => (/* reexport */ isCallIndirectInstruction),\n "isCallInstruction": () => (/* reexport */ isCallInstruction),\n "isData": () => (/* reexport */ isData),\n "isElem": () => (/* reexport */ isElem),\n "isExpression": () => (/* reexport */ isExpression),\n "isFloatLiteral": () => (/* reexport */ isFloatLiteral),\n "isFunc": () => (/* reexport */ isFunc),\n "isFuncImportDescr": () => (/* reexport */ isFuncImportDescr),\n "isFunctionNameMetadata": () => (/* reexport */ isFunctionNameMetadata),\n "isGlobal": () => (/* reexport */ isGlobal),\n "isGlobalType": () => (/* reexport */ isGlobalType),\n "isIdentifier": () => (/* reexport */ isIdentifier),\n "isIfInstruction": () => (/* reexport */ isIfInstruction),\n "isImportDescr": () => (/* reexport */ isImportDescr),\n "isIndexInFuncSection": () => (/* reexport */ isIndexInFuncSection),\n "isInstr": () => (/* reexport */ isInstr),\n "isInstruction": () => (/* reexport */ isInstruction),\n "isInternalBrUnless": () => (/* reexport */ isInternalBrUnless),\n "isInternalCallExtern": () => (/* reexport */ isInternalCallExtern),\n "isInternalEndAndReturn": () => (/* reexport */ isInternalEndAndReturn),\n "isInternalGoto": () => (/* reexport */ isInternalGoto),\n "isIntrinsic": () => (/* reexport */ isIntrinsic),\n "isLeadingComment": () => (/* reexport */ isLeadingComment),\n "isLimit": () => (/* reexport */ isLimit),\n "isLocalNameMetadata": () => (/* reexport */ isLocalNameMetadata),\n "isLongNumberLiteral": () => (/* reexport */ isLongNumberLiteral),\n "isLoopInstruction": () => (/* reexport */ isLoopInstruction),\n "isMemory": () => (/* reexport */ isMemory),\n "isModule": () => (/* reexport */ isModule),\n "isModuleExport": () => (/* reexport */ isModuleExport),\n "isModuleExportDescr": () => (/* reexport */ isModuleExportDescr),\n "isModuleImport": () => (/* reexport */ isModuleImport),\n "isModuleMetadata": () => (/* reexport */ isModuleMetadata),\n "isModuleNameMetadata": () => (/* reexport */ isModuleNameMetadata),\n "isNode": () => (/* reexport */ isNode),\n "isNumberLiteral": () => (/* reexport */ isNumberLiteral),\n "isNumericLiteral": () => (/* reexport */ isNumericLiteral),\n "isProducerMetadata": () => (/* reexport */ isProducerMetadata),\n "isProducerMetadataVersionedName": () => (/* reexport */ isProducerMetadataVersionedName),\n "isProducersSectionMetadata": () => (/* reexport */ isProducersSectionMetadata),\n "isProgram": () => (/* reexport */ isProgram),\n "isQuoteModule": () => (/* reexport */ isQuoteModule),\n "isSectionMetadata": () => (/* reexport */ isSectionMetadata),\n "isSignature": () => (/* reexport */ isSignature),\n "isStart": () => (/* reexport */ isStart),\n "isStringLiteral": () => (/* reexport */ isStringLiteral),\n "isTable": () => (/* reexport */ isTable),\n "isTypeInstruction": () => (/* reexport */ isTypeInstruction),\n "isValtypeLiteral": () => (/* reexport */ isValtypeLiteral),\n "leadingComment": () => (/* reexport */ leadingComment),\n "limit": () => (/* reexport */ limit),\n "localNameMetadata": () => (/* reexport */ localNameMetadata),\n "longNumberLiteral": () => (/* reexport */ longNumberLiteral),\n "loopInstruction": () => (/* reexport */ loopInstruction),\n "memIndexLiteral": () => (/* reexport */ memIndexLiteral),\n "memory": () => (/* reexport */ memory),\n "module": () => (/* reexport */ nodes_module),\n "moduleContextFromModuleAST": () => (/* reexport */ moduleContextFromModuleAST),\n "moduleExport": () => (/* reexport */ moduleExport),\n "moduleExportDescr": () => (/* reexport */ moduleExportDescr),\n "moduleImport": () => (/* reexport */ moduleImport),\n "moduleMetadata": () => (/* reexport */ moduleMetadata),\n "moduleNameMetadata": () => (/* reexport */ moduleNameMetadata),\n "nodeAndUnionTypes": () => (/* reexport */ nodeAndUnionTypes),\n "numberLiteral": () => (/* reexport */ numberLiteral),\n "numberLiteralFromRaw": () => (/* reexport */ numberLiteralFromRaw),\n "objectInstruction": () => (/* reexport */ objectInstruction),\n "orderedInsertNode": () => (/* reexport */ orderedInsertNode),\n "producerMetadata": () => (/* reexport */ producerMetadata),\n "producerMetadataVersionedName": () => (/* reexport */ producerMetadataVersionedName),\n "producersSectionMetadata": () => (/* reexport */ producersSectionMetadata),\n "program": () => (/* reexport */ program),\n "quoteModule": () => (/* reexport */ quoteModule),\n "sectionMetadata": () => (/* reexport */ sectionMetadata),\n "shiftLoc": () => (/* reexport */ shiftLoc),\n "shiftSection": () => (/* reexport */ shiftSection),\n "signature": () => (/* reexport */ signature),\n "signatureForOpcode": () => (/* reexport */ signatureForOpcode),\n "signatures": () => (/* reexport */ signatures),\n "sortSectionMetadata": () => (/* reexport */ sortSectionMetadata),\n "start": () => (/* reexport */ start),\n "stringLiteral": () => (/* reexport */ stringLiteral),\n "table": () => (/* reexport */ table),\n "traverse": () => (/* reexport */ traverse),\n "typeInstruction": () => (/* reexport */ typeInstruction),\n "unionTypesMap": () => (/* reexport */ unionTypesMap),\n "valtypeLiteral": () => (/* reexport */ valtypeLiteral),\n "withLoc": () => (/* reexport */ withLoc),\n "withRaw": () => (/* reexport */ withRaw)\n});\n\n;// CONCATENATED MODULE: ./node_modules/@webassemblyjs/ast/esm/nodes.js\nfunction _typeof(obj) { 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); }\n\n// THIS FILE IS AUTOGENERATED\n// see scripts/generateNodeUtils.js\nfunction isTypeOf(t) {\n return function (n) {\n return n.type === t;\n };\n}\n\nfunction assertTypeOf(t) {\n return function (n) {\n return function () {\n if (!(n.type === t)) {\n throw new Error(\'n.type === t\' + " error: " + (undefined || "unknown"));\n }\n }();\n };\n}\n\nfunction nodes_module(id, fields, metadata) {\n if (id !== null && id !== undefined) {\n if (!(typeof id === "string")) {\n throw new Error(\'typeof id === "string"\' + " error: " + ("Argument id must be of type string, given: " + _typeof(id) || 0));\n }\n }\n\n if (!(_typeof(fields) === "object" && typeof fields.length !== "undefined")) {\n throw new Error(\'typeof fields === "object" && typeof fields.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "Module",\n id: id,\n fields: fields\n };\n\n if (typeof metadata !== "undefined") {\n node.metadata = metadata;\n }\n\n return node;\n}\nfunction moduleMetadata(sections, functionNames, localNames, producers) {\n if (!(_typeof(sections) === "object" && typeof sections.length !== "undefined")) {\n throw new Error(\'typeof sections === "object" && typeof sections.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n if (functionNames !== null && functionNames !== undefined) {\n if (!(_typeof(functionNames) === "object" && typeof functionNames.length !== "undefined")) {\n throw new Error(\'typeof functionNames === "object" && typeof functionNames.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n }\n\n if (localNames !== null && localNames !== undefined) {\n if (!(_typeof(localNames) === "object" && typeof localNames.length !== "undefined")) {\n throw new Error(\'typeof localNames === "object" && typeof localNames.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n }\n\n if (producers !== null && producers !== undefined) {\n if (!(_typeof(producers) === "object" && typeof producers.length !== "undefined")) {\n throw new Error(\'typeof producers === "object" && typeof producers.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n }\n\n var node = {\n type: "ModuleMetadata",\n sections: sections\n };\n\n if (typeof functionNames !== "undefined" && functionNames.length > 0) {\n node.functionNames = functionNames;\n }\n\n if (typeof localNames !== "undefined" && localNames.length > 0) {\n node.localNames = localNames;\n }\n\n if (typeof producers !== "undefined" && producers.length > 0) {\n node.producers = producers;\n }\n\n return node;\n}\nfunction moduleNameMetadata(value) {\n if (!(typeof value === "string")) {\n throw new Error(\'typeof value === "string"\' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || 0));\n }\n\n var node = {\n type: "ModuleNameMetadata",\n value: value\n };\n return node;\n}\nfunction functionNameMetadata(value, index) {\n if (!(typeof value === "string")) {\n throw new Error(\'typeof value === "string"\' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || 0));\n }\n\n if (!(typeof index === "number")) {\n throw new Error(\'typeof index === "number"\' + " error: " + ("Argument index must be of type number, given: " + _typeof(index) || 0));\n }\n\n var node = {\n type: "FunctionNameMetadata",\n value: value,\n index: index\n };\n return node;\n}\nfunction localNameMetadata(value, localIndex, functionIndex) {\n if (!(typeof value === "string")) {\n throw new Error(\'typeof value === "string"\' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || 0));\n }\n\n if (!(typeof localIndex === "number")) {\n throw new Error(\'typeof localIndex === "number"\' + " error: " + ("Argument localIndex must be of type number, given: " + _typeof(localIndex) || 0));\n }\n\n if (!(typeof functionIndex === "number")) {\n throw new Error(\'typeof functionIndex === "number"\' + " error: " + ("Argument functionIndex must be of type number, given: " + _typeof(functionIndex) || 0));\n }\n\n var node = {\n type: "LocalNameMetadata",\n value: value,\n localIndex: localIndex,\n functionIndex: functionIndex\n };\n return node;\n}\nfunction binaryModule(id, blob) {\n if (id !== null && id !== undefined) {\n if (!(typeof id === "string")) {\n throw new Error(\'typeof id === "string"\' + " error: " + ("Argument id must be of type string, given: " + _typeof(id) || 0));\n }\n }\n\n if (!(_typeof(blob) === "object" && typeof blob.length !== "undefined")) {\n throw new Error(\'typeof blob === "object" && typeof blob.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "BinaryModule",\n id: id,\n blob: blob\n };\n return node;\n}\nfunction quoteModule(id, string) {\n if (id !== null && id !== undefined) {\n if (!(typeof id === "string")) {\n throw new Error(\'typeof id === "string"\' + " error: " + ("Argument id must be of type string, given: " + _typeof(id) || 0));\n }\n }\n\n if (!(_typeof(string) === "object" && typeof string.length !== "undefined")) {\n throw new Error(\'typeof string === "object" && typeof string.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "QuoteModule",\n id: id,\n string: string\n };\n return node;\n}\nfunction sectionMetadata(section, startOffset, size, vectorOfSize) {\n if (!(typeof startOffset === "number")) {\n throw new Error(\'typeof startOffset === "number"\' + " error: " + ("Argument startOffset must be of type number, given: " + _typeof(startOffset) || 0));\n }\n\n var node = {\n type: "SectionMetadata",\n section: section,\n startOffset: startOffset,\n size: size,\n vectorOfSize: vectorOfSize\n };\n return node;\n}\nfunction producersSectionMetadata(producers) {\n if (!(_typeof(producers) === "object" && typeof producers.length !== "undefined")) {\n throw new Error(\'typeof producers === "object" && typeof producers.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "ProducersSectionMetadata",\n producers: producers\n };\n return node;\n}\nfunction producerMetadata(language, processedBy, sdk) {\n if (!(_typeof(language) === "object" && typeof language.length !== "undefined")) {\n throw new Error(\'typeof language === "object" && typeof language.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n if (!(_typeof(processedBy) === "object" && typeof processedBy.length !== "undefined")) {\n throw new Error(\'typeof processedBy === "object" && typeof processedBy.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n if (!(_typeof(sdk) === "object" && typeof sdk.length !== "undefined")) {\n throw new Error(\'typeof sdk === "object" && typeof sdk.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "ProducerMetadata",\n language: language,\n processedBy: processedBy,\n sdk: sdk\n };\n return node;\n}\nfunction producerMetadataVersionedName(name, version) {\n if (!(typeof name === "string")) {\n throw new Error(\'typeof name === "string"\' + " error: " + ("Argument name must be of type string, given: " + _typeof(name) || 0));\n }\n\n if (!(typeof version === "string")) {\n throw new Error(\'typeof version === "string"\' + " error: " + ("Argument version must be of type string, given: " + _typeof(version) || 0));\n }\n\n var node = {\n type: "ProducerMetadataVersionedName",\n name: name,\n version: version\n };\n return node;\n}\nfunction loopInstruction(label, resulttype, instr) {\n if (!(_typeof(instr) === "object" && typeof instr.length !== "undefined")) {\n throw new Error(\'typeof instr === "object" && typeof instr.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "LoopInstruction",\n id: "loop",\n label: label,\n resulttype: resulttype,\n instr: instr\n };\n return node;\n}\nfunction instr(id, object, args, namedArgs) {\n if (!(typeof id === "string")) {\n throw new Error(\'typeof id === "string"\' + " error: " + ("Argument id must be of type string, given: " + _typeof(id) || 0));\n }\n\n if (!(_typeof(args) === "object" && typeof args.length !== "undefined")) {\n throw new Error(\'typeof args === "object" && typeof args.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "Instr",\n id: id,\n args: args\n };\n\n if (typeof object !== "undefined") {\n node.object = object;\n }\n\n if (typeof namedArgs !== "undefined" && Object.keys(namedArgs).length !== 0) {\n node.namedArgs = namedArgs;\n }\n\n return node;\n}\nfunction ifInstruction(testLabel, test, result, consequent, alternate) {\n if (!(_typeof(test) === "object" && typeof test.length !== "undefined")) {\n throw new Error(\'typeof test === "object" && typeof test.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n if (!(_typeof(consequent) === "object" && typeof consequent.length !== "undefined")) {\n throw new Error(\'typeof consequent === "object" && typeof consequent.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n if (!(_typeof(alternate) === "object" && typeof alternate.length !== "undefined")) {\n throw new Error(\'typeof alternate === "object" && typeof alternate.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "IfInstruction",\n id: "if",\n testLabel: testLabel,\n test: test,\n result: result,\n consequent: consequent,\n alternate: alternate\n };\n return node;\n}\nfunction stringLiteral(value) {\n if (!(typeof value === "string")) {\n throw new Error(\'typeof value === "string"\' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || 0));\n }\n\n var node = {\n type: "StringLiteral",\n value: value\n };\n return node;\n}\nfunction numberLiteral(value, raw) {\n if (!(typeof value === "number")) {\n throw new Error(\'typeof value === "number"\' + " error: " + ("Argument value must be of type number, given: " + _typeof(value) || 0));\n }\n\n if (!(typeof raw === "string")) {\n throw new Error(\'typeof raw === "string"\' + " error: " + ("Argument raw must be of type string, given: " + _typeof(raw) || 0));\n }\n\n var node = {\n type: "NumberLiteral",\n value: value,\n raw: raw\n };\n return node;\n}\nfunction longNumberLiteral(value, raw) {\n if (!(typeof raw === "string")) {\n throw new Error(\'typeof raw === "string"\' + " error: " + ("Argument raw must be of type string, given: " + _typeof(raw) || 0));\n }\n\n var node = {\n type: "LongNumberLiteral",\n value: value,\n raw: raw\n };\n return node;\n}\nfunction floatLiteral(value, nan, inf, raw) {\n if (!(typeof value === "number")) {\n throw new Error(\'typeof value === "number"\' + " error: " + ("Argument value must be of type number, given: " + _typeof(value) || 0));\n }\n\n if (nan !== null && nan !== undefined) {\n if (!(typeof nan === "boolean")) {\n throw new Error(\'typeof nan === "boolean"\' + " error: " + ("Argument nan must be of type boolean, given: " + _typeof(nan) || 0));\n }\n }\n\n if (inf !== null && inf !== undefined) {\n if (!(typeof inf === "boolean")) {\n throw new Error(\'typeof inf === "boolean"\' + " error: " + ("Argument inf must be of type boolean, given: " + _typeof(inf) || 0));\n }\n }\n\n if (!(typeof raw === "string")) {\n throw new Error(\'typeof raw === "string"\' + " error: " + ("Argument raw must be of type string, given: " + _typeof(raw) || 0));\n }\n\n var node = {\n type: "FloatLiteral",\n value: value,\n raw: raw\n };\n\n if (nan === true) {\n node.nan = true;\n }\n\n if (inf === true) {\n node.inf = true;\n }\n\n return node;\n}\nfunction elem(table, offset, funcs) {\n if (!(_typeof(offset) === "object" && typeof offset.length !== "undefined")) {\n throw new Error(\'typeof offset === "object" && typeof offset.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n if (!(_typeof(funcs) === "object" && typeof funcs.length !== "undefined")) {\n throw new Error(\'typeof funcs === "object" && typeof funcs.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "Elem",\n table: table,\n offset: offset,\n funcs: funcs\n };\n return node;\n}\nfunction indexInFuncSection(index) {\n var node = {\n type: "IndexInFuncSection",\n index: index\n };\n return node;\n}\nfunction valtypeLiteral(name) {\n var node = {\n type: "ValtypeLiteral",\n name: name\n };\n return node;\n}\nfunction typeInstruction(id, functype) {\n var node = {\n type: "TypeInstruction",\n id: id,\n functype: functype\n };\n return node;\n}\nfunction start(index) {\n var node = {\n type: "Start",\n index: index\n };\n return node;\n}\nfunction globalType(valtype, mutability) {\n var node = {\n type: "GlobalType",\n valtype: valtype,\n mutability: mutability\n };\n return node;\n}\nfunction leadingComment(value) {\n if (!(typeof value === "string")) {\n throw new Error(\'typeof value === "string"\' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || 0));\n }\n\n var node = {\n type: "LeadingComment",\n value: value\n };\n return node;\n}\nfunction blockComment(value) {\n if (!(typeof value === "string")) {\n throw new Error(\'typeof value === "string"\' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || 0));\n }\n\n var node = {\n type: "BlockComment",\n value: value\n };\n return node;\n}\nfunction data(memoryIndex, offset, init) {\n var node = {\n type: "Data",\n memoryIndex: memoryIndex,\n offset: offset,\n init: init\n };\n return node;\n}\nfunction global(globalType, init, name) {\n if (!(_typeof(init) === "object" && typeof init.length !== "undefined")) {\n throw new Error(\'typeof init === "object" && typeof init.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "Global",\n globalType: globalType,\n init: init,\n name: name\n };\n return node;\n}\nfunction table(elementType, limits, name, elements) {\n if (!(limits.type === "Limit")) {\n throw new Error(\'limits.type === "Limit"\' + " error: " + ("Argument limits must be of type Limit, given: " + limits.type || 0));\n }\n\n if (elements !== null && elements !== undefined) {\n if (!(_typeof(elements) === "object" && typeof elements.length !== "undefined")) {\n throw new Error(\'typeof elements === "object" && typeof elements.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n }\n\n var node = {\n type: "Table",\n elementType: elementType,\n limits: limits,\n name: name\n };\n\n if (typeof elements !== "undefined" && elements.length > 0) {\n node.elements = elements;\n }\n\n return node;\n}\nfunction memory(limits, id) {\n var node = {\n type: "Memory",\n limits: limits,\n id: id\n };\n return node;\n}\nfunction funcImportDescr(id, signature) {\n var node = {\n type: "FuncImportDescr",\n id: id,\n signature: signature\n };\n return node;\n}\nfunction moduleImport(module, name, descr) {\n if (!(typeof module === "string")) {\n throw new Error(\'typeof module === "string"\' + " error: " + ("Argument module must be of type string, given: " + _typeof(module) || 0));\n }\n\n if (!(typeof name === "string")) {\n throw new Error(\'typeof name === "string"\' + " error: " + ("Argument name must be of type string, given: " + _typeof(name) || 0));\n }\n\n var node = {\n type: "ModuleImport",\n module: module,\n name: name,\n descr: descr\n };\n return node;\n}\nfunction moduleExportDescr(exportType, id) {\n var node = {\n type: "ModuleExportDescr",\n exportType: exportType,\n id: id\n };\n return node;\n}\nfunction moduleExport(name, descr) {\n if (!(typeof name === "string")) {\n throw new Error(\'typeof name === "string"\' + " error: " + ("Argument name must be of type string, given: " + _typeof(name) || 0));\n }\n\n var node = {\n type: "ModuleExport",\n name: name,\n descr: descr\n };\n return node;\n}\nfunction limit(min, max, shared) {\n if (!(typeof min === "number")) {\n throw new Error(\'typeof min === "number"\' + " error: " + ("Argument min must be of type number, given: " + _typeof(min) || 0));\n }\n\n if (max !== null && max !== undefined) {\n if (!(typeof max === "number")) {\n throw new Error(\'typeof max === "number"\' + " error: " + ("Argument max must be of type number, given: " + _typeof(max) || 0));\n }\n }\n\n if (shared !== null && shared !== undefined) {\n if (!(typeof shared === "boolean")) {\n throw new Error(\'typeof shared === "boolean"\' + " error: " + ("Argument shared must be of type boolean, given: " + _typeof(shared) || 0));\n }\n }\n\n var node = {\n type: "Limit",\n min: min\n };\n\n if (typeof max !== "undefined") {\n node.max = max;\n }\n\n if (shared === true) {\n node.shared = true;\n }\n\n return node;\n}\nfunction signature(params, results) {\n if (!(_typeof(params) === "object" && typeof params.length !== "undefined")) {\n throw new Error(\'typeof params === "object" && typeof params.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n if (!(_typeof(results) === "object" && typeof results.length !== "undefined")) {\n throw new Error(\'typeof results === "object" && typeof results.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "Signature",\n params: params,\n results: results\n };\n return node;\n}\nfunction program(body) {\n if (!(_typeof(body) === "object" && typeof body.length !== "undefined")) {\n throw new Error(\'typeof body === "object" && typeof body.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "Program",\n body: body\n };\n return node;\n}\nfunction identifier(value, raw) {\n if (!(typeof value === "string")) {\n throw new Error(\'typeof value === "string"\' + " error: " + ("Argument value must be of type string, given: " + _typeof(value) || 0));\n }\n\n if (raw !== null && raw !== undefined) {\n if (!(typeof raw === "string")) {\n throw new Error(\'typeof raw === "string"\' + " error: " + ("Argument raw must be of type string, given: " + _typeof(raw) || 0));\n }\n }\n\n var node = {\n type: "Identifier",\n value: value\n };\n\n if (typeof raw !== "undefined") {\n node.raw = raw;\n }\n\n return node;\n}\nfunction blockInstruction(label, instr, result) {\n if (!(_typeof(instr) === "object" && typeof instr.length !== "undefined")) {\n throw new Error(\'typeof instr === "object" && typeof instr.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "BlockInstruction",\n id: "block",\n label: label,\n instr: instr,\n result: result\n };\n return node;\n}\nfunction callInstruction(index, instrArgs, numeric) {\n if (instrArgs !== null && instrArgs !== undefined) {\n if (!(_typeof(instrArgs) === "object" && typeof instrArgs.length !== "undefined")) {\n throw new Error(\'typeof instrArgs === "object" && typeof instrArgs.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n }\n\n var node = {\n type: "CallInstruction",\n id: "call",\n index: index\n };\n\n if (typeof instrArgs !== "undefined" && instrArgs.length > 0) {\n node.instrArgs = instrArgs;\n }\n\n if (typeof numeric !== "undefined") {\n node.numeric = numeric;\n }\n\n return node;\n}\nfunction callIndirectInstruction(signature, intrs) {\n if (intrs !== null && intrs !== undefined) {\n if (!(_typeof(intrs) === "object" && typeof intrs.length !== "undefined")) {\n throw new Error(\'typeof intrs === "object" && typeof intrs.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n }\n\n var node = {\n type: "CallIndirectInstruction",\n id: "call_indirect",\n signature: signature\n };\n\n if (typeof intrs !== "undefined" && intrs.length > 0) {\n node.intrs = intrs;\n }\n\n return node;\n}\nfunction byteArray(values) {\n if (!(_typeof(values) === "object" && typeof values.length !== "undefined")) {\n throw new Error(\'typeof values === "object" && typeof values.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n var node = {\n type: "ByteArray",\n values: values\n };\n return node;\n}\nfunction func(name, signature, body, isExternal, metadata) {\n if (!(_typeof(body) === "object" && typeof body.length !== "undefined")) {\n throw new Error(\'typeof body === "object" && typeof body.length !== "undefined"\' + " error: " + (undefined || "unknown"));\n }\n\n if (isExternal !== null && isExternal !== undefined) {\n if (!(typeof isExternal === "boolean")) {\n throw new Error(\'typeof isExternal === "boolean"\' + " error: " + ("Argument isExternal must be of type boolean, given: " + _typeof(isExternal) || 0));\n }\n }\n\n var node = {\n type: "Func",\n name: name,\n signature: signature,\n body: body\n };\n\n if (isExternal === true) {\n node.isExternal = true;\n }\n\n if (typeof metadata !== "undefined") {\n node.metadata = metadata;\n }\n\n return node;\n}\nfunction internalBrUnless(target) {\n if (!(typeof target === "number")) {\n throw new Error(\'typeof target === "number"\' + " error: " + ("Argument target must be of type number, given: " + _typeof(target) || 0));\n }\n\n var node = {\n type: "InternalBrUnless",\n target: target\n };\n return node;\n}\nfunction internalGoto(target) {\n if (!(typeof target === "number")) {\n throw new Error(\'typeof target === "number"\' + " error: " + ("Argument target must be of type number, given: " + _typeof(target) || 0));\n }\n\n var node = {\n type: "InternalGoto",\n target: target\n };\n return node;\n}\nfunction internalCallExtern(target) {\n if (!(typeof target === "number")) {\n throw new Error(\'typeof target === "number"\' + " error: " + ("Argument target must be of type number, given: " + _typeof(target) || 0));\n }\n\n var node = {\n type: "InternalCallExtern",\n target: target\n };\n return node;\n}\nfunction internalEndAndReturn() {\n var node = {\n type: "InternalEndAndReturn"\n };\n return node;\n}\nvar isModule = isTypeOf("Module");\nvar isModuleMetadata = isTypeOf("ModuleMetadata");\nvar isModuleNameMetadata = isTypeOf("ModuleNameMetadata");\nvar isFunctionNameMetadata = isTypeOf("FunctionNameMetadata");\nvar isLocalNameMetadata = isTypeOf("LocalNameMetadata");\nvar isBinaryModule = isTypeOf("BinaryModule");\nvar isQuoteModule = isTypeOf("QuoteModule");\nvar isSectionMetadata = isTypeOf("SectionMetadata");\nvar isProducersSectionMetadata = isTypeOf("ProducersSectionMetadata");\nvar isProducerMetadata = isTypeOf("ProducerMetadata");\nvar isProducerMetadataVersionedName = isTypeOf("ProducerMetadataVersionedName");\nvar isLoopInstruction = isTypeOf("LoopInstruction");\nvar isInstr = isTypeOf("Instr");\nvar isIfInstruction = isTypeOf("IfInstruction");\nvar isStringLiteral = isTypeOf("StringLiteral");\nvar isNumberLiteral = isTypeOf("NumberLiteral");\nvar isLongNumberLiteral = isTypeOf("LongNumberLiteral");\nvar isFloatLiteral = isTypeOf("FloatLiteral");\nvar isElem = isTypeOf("Elem");\nvar isIndexInFuncSection = isTypeOf("IndexInFuncSection");\nvar isValtypeLiteral = isTypeOf("ValtypeLiteral");\nvar isTypeInstruction = isTypeOf("TypeInstruction");\nvar isStart = isTypeOf("Start");\nvar isGlobalType = isTypeOf("GlobalType");\nvar isLeadingComment = isTypeOf("LeadingComment");\nvar isBlockComment = isTypeOf("BlockComment");\nvar isData = isTypeOf("Data");\nvar isGlobal = isTypeOf("Global");\nvar isTable = isTypeOf("Table");\nvar isMemory = isTypeOf("Memory");\nvar isFuncImportDescr = isTypeOf("FuncImportDescr");\nvar isModuleImport = isTypeOf("ModuleImport");\nvar isModuleExportDescr = isTypeOf("ModuleExportDescr");\nvar isModuleExport = isTypeOf("ModuleExport");\nvar isLimit = isTypeOf("Limit");\nvar isSignature = isTypeOf("Signature");\nvar isProgram = isTypeOf("Program");\nvar isIdentifier = isTypeOf("Identifier");\nvar isBlockInstruction = isTypeOf("BlockInstruction");\nvar isCallInstruction = isTypeOf("CallInstruction");\nvar isCallIndirectInstruction = isTypeOf("CallIndirectInstruction");\nvar isByteArray = isTypeOf("ByteArray");\nvar isFunc = isTypeOf("Func");\nvar isInternalBrUnless = isTypeOf("InternalBrUnless");\nvar isInternalGoto = isTypeOf("InternalGoto");\nvar isInternalCallExtern = isTypeOf("InternalCallExtern");\nvar isInternalEndAndReturn = isTypeOf("InternalEndAndReturn");\nvar isNode = function isNode(node) {\n 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);\n};\nvar isBlock = function isBlock(node) {\n return isLoopInstruction(node) || isBlockInstruction(node) || isFunc(node);\n};\nvar isInstruction = function isInstruction(node) {\n return isLoopInstruction(node) || isInstr(node) || isIfInstruction(node) || isTypeInstruction(node) || isBlockInstruction(node) || isCallInstruction(node) || isCallIndirectInstruction(node);\n};\nvar isExpression = function isExpression(node) {\n return isInstr(node) || isStringLiteral(node) || isNumberLiteral(node) || isLongNumberLiteral(node) || isFloatLiteral(node) || isValtypeLiteral(node) || isIdentifier(node);\n};\nvar isNumericLiteral = function isNumericLiteral(node) {\n return isNumberLiteral(node) || isLongNumberLiteral(node) || isFloatLiteral(node);\n};\nvar isImportDescr = function isImportDescr(node) {\n return isGlobalType(node) || isTable(node) || isMemory(node) || isFuncImportDescr(node);\n};\nvar isIntrinsic = function isIntrinsic(node) {\n return isInternalBrUnless(node) || isInternalGoto(node) || isInternalCallExtern(node) || isInternalEndAndReturn(node);\n};\nvar assertModule = assertTypeOf("Module");\nvar assertModuleMetadata = assertTypeOf("ModuleMetadata");\nvar assertModuleNameMetadata = assertTypeOf("ModuleNameMetadata");\nvar assertFunctionNameMetadata = assertTypeOf("FunctionNameMetadata");\nvar assertLocalNameMetadata = assertTypeOf("LocalNameMetadata");\nvar assertBinaryModule = assertTypeOf("BinaryModule");\nvar assertQuoteModule = assertTypeOf("QuoteModule");\nvar assertSectionMetadata = assertTypeOf("SectionMetadata");\nvar assertProducersSectionMetadata = assertTypeOf("ProducersSectionMetadata");\nvar assertProducerMetadata = assertTypeOf("ProducerMetadata");\nvar assertProducerMetadataVersionedName = assertTypeOf("ProducerMetadataVersionedName");\nvar assertLoopInstruction = assertTypeOf("LoopInstruction");\nvar assertInstr = assertTypeOf("Instr");\nvar assertIfInstruction = assertTypeOf("IfInstruction");\nvar assertStringLiteral = assertTypeOf("StringLiteral");\nvar assertNumberLiteral = assertTypeOf("NumberLiteral");\nvar assertLongNumberLiteral = assertTypeOf("LongNumberLiteral");\nvar assertFloatLiteral = assertTypeOf("FloatLiteral");\nvar assertElem = assertTypeOf("Elem");\nvar assertIndexInFuncSection = assertTypeOf("IndexInFuncSection");\nvar assertValtypeLiteral = assertTypeOf("ValtypeLiteral");\nvar assertTypeInstruction = assertTypeOf("TypeInstruction");\nvar assertStart = assertTypeOf("Start");\nvar assertGlobalType = assertTypeOf("GlobalType");\nvar assertLeadingComment = assertTypeOf("LeadingComment");\nvar assertBlockComment = assertTypeOf("BlockComment");\nvar assertData = assertTypeOf("Data");\nvar assertGlobal = assertTypeOf("Global");\nvar assertTable = assertTypeOf("Table");\nvar assertMemory = assertTypeOf("Memory");\nvar assertFuncImportDescr = assertTypeOf("FuncImportDescr");\nvar assertModuleImport = assertTypeOf("ModuleImport");\nvar assertModuleExportDescr = assertTypeOf("ModuleExportDescr");\nvar assertModuleExport = assertTypeOf("ModuleExport");\nvar assertLimit = assertTypeOf("Limit");\nvar assertSignature = assertTypeOf("Signature");\nvar assertProgram = assertTypeOf("Program");\nvar assertIdentifier = assertTypeOf("Identifier");\nvar assertBlockInstruction = assertTypeOf("BlockInstruction");\nvar assertCallInstruction = assertTypeOf("CallInstruction");\nvar assertCallIndirectInstruction = assertTypeOf("CallIndirectInstruction");\nvar assertByteArray = assertTypeOf("ByteArray");\nvar assertFunc = assertTypeOf("Func");\nvar assertInternalBrUnless = assertTypeOf("InternalBrUnless");\nvar assertInternalGoto = assertTypeOf("InternalGoto");\nvar assertInternalCallExtern = assertTypeOf("InternalCallExtern");\nvar assertInternalEndAndReturn = assertTypeOf("InternalEndAndReturn");\nvar unionTypesMap = {\n Module: ["Node"],\n ModuleMetadata: ["Node"],\n ModuleNameMetadata: ["Node"],\n FunctionNameMetadata: ["Node"],\n LocalNameMetadata: ["Node"],\n BinaryModule: ["Node"],\n QuoteModule: ["Node"],\n SectionMetadata: ["Node"],\n ProducersSectionMetadata: ["Node"],\n ProducerMetadata: ["Node"],\n ProducerMetadataVersionedName: ["Node"],\n LoopInstruction: ["Node", "Block", "Instruction"],\n Instr: ["Node", "Expression", "Instruction"],\n IfInstruction: ["Node", "Instruction"]