UNPKG

next

Version:

The React Framework

1,197 lines • 69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; /* eslint-disable */ var Module = function() { return function(Module1) { Module1 = Module1 || {}; var Module1 = typeof Module1 !== 'undefined' ? Module1 : {}; var readyPromiseResolve, readyPromiseReject; Module1['ready'] = new Promise(function(resolve, reject) { readyPromiseResolve = resolve; readyPromiseReject = reject; }); var moduleOverrides = {}; var key; for(key in Module1){ if (Module1.hasOwnProperty(key)) { moduleOverrides[key] = Module1[key]; } } var arguments_ = []; var thisProgram = './this.program'; var quit_ = function(status, toThrow) { throw toThrow; }; var ENVIRONMENT_IS_WEB = false; var ENVIRONMENT_IS_WORKER = false; var ENVIRONMENT_IS_NODE = true; var scriptDirectory = ''; function locateFile(path) { if (Module1['locateFile']) { return Module1['locateFile'](path, scriptDirectory); } return scriptDirectory + path; } var read_, readBinary; var nodeFS; var nodePath; if (ENVIRONMENT_IS_NODE) { if (ENVIRONMENT_IS_WORKER) { scriptDirectory = require('path').dirname(scriptDirectory) + '/'; } else { scriptDirectory = __dirname + '/'; } read_ = function shell_read(filename, binary) { if (!nodeFS) nodeFS = require('fs'); if (!nodePath) nodePath = require('path'); filename = nodePath['normalize'](filename); return nodeFS['readFileSync'](filename, binary ? null : 'utf8'); }; readBinary = function readBinary(filename) { var ret = read_(filename, true); if (!ret.buffer) { ret = new Uint8Array(ret); } assert(ret.buffer); return ret; }; if (process['argv'].length > 1) { thisProgram = process['argv'][1].replace(/\\/g, '/'); } arguments_ = process['argv'].slice(2); quit_ = function(status) { process['exit'](status); }; Module1['inspect'] = function() { return '[Emscripten Module object]'; }; } else {} var out = Module1['print'] || console.log.bind(console); var err1 = Module1['printErr'] || console.warn.bind(console); for(key in moduleOverrides){ if (moduleOverrides.hasOwnProperty(key)) { Module1[key] = moduleOverrides[key]; } } moduleOverrides = null; if (Module1['arguments']) arguments_ = Module1['arguments']; if (Module1['thisProgram']) thisProgram = Module1['thisProgram']; if (Module1['quit']) quit_ = Module1['quit']; var tempRet0 = 0; var setTempRet0 = function(value) { tempRet0 = value; }; var wasmBinary; if (Module1['wasmBinary']) wasmBinary = Module1['wasmBinary']; var noExitRuntime = Module1['noExitRuntime'] || true; if (typeof WebAssembly !== 'object') { abort('no native wasm support detected'); } var wasmMemory; var ABORT = false; var EXITSTATUS; function assert(condition, text) { if (!condition) { abort('Assertion failed: ' + text); } } var UTF8Decoder = new TextDecoder('utf8'); function UTF8ArrayToString(heap, idx, maxBytesToRead) { var endIdx = idx + maxBytesToRead; var endPtr = idx; while(heap[endPtr] && !(endPtr >= endIdx))++endPtr; return UTF8Decoder.decode(heap.subarray ? heap.subarray(idx, endPtr) : new Uint8Array(heap.slice(idx, endPtr))); } function UTF8ToString(ptr, maxBytesToRead) { if (!ptr) return ''; var maxPtr = ptr + maxBytesToRead; for(var end = ptr; !(end >= maxPtr) && HEAPU8[end];)++end; return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); } function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { if (!(maxBytesToWrite > 0)) return 0; var startIdx = outIdx; var endIdx = outIdx + maxBytesToWrite - 1; for(var i = 0; i < str.length; ++i){ var u = str.charCodeAt(i); if (u >= 55296 && u <= 57343) { var u1 = str.charCodeAt(++i); u = 65536 + ((u & 1023) << 10) | u1 & 1023; } if (u <= 127) { if (outIdx >= endIdx) break; heap[outIdx++] = u; } else if (u <= 2047) { if (outIdx + 1 >= endIdx) break; heap[outIdx++] = 192 | u >> 6; heap[outIdx++] = 128 | u & 63; } else if (u <= 65535) { if (outIdx + 2 >= endIdx) break; heap[outIdx++] = 224 | u >> 12; heap[outIdx++] = 128 | u >> 6 & 63; heap[outIdx++] = 128 | u & 63; } else { if (outIdx + 3 >= endIdx) break; heap[outIdx++] = 240 | u >> 18; heap[outIdx++] = 128 | u >> 12 & 63; heap[outIdx++] = 128 | u >> 6 & 63; heap[outIdx++] = 128 | u & 63; } } heap[outIdx] = 0; return outIdx - startIdx; } function stringToUTF8(str, outPtr, maxBytesToWrite) { return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); } function lengthBytesUTF8(str) { var len = 0; for(var i = 0; i < str.length; ++i){ var u = str.charCodeAt(i); if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; if (u <= 127) ++len; else if (u <= 2047) len += 2; else if (u <= 65535) len += 3; else len += 4; } return len; } var UTF16Decoder = new TextDecoder('utf-16le'); function UTF16ToString(ptr, maxBytesToRead) { var endPtr = ptr; var idx = endPtr >> 1; var maxIdx = idx + maxBytesToRead / 2; while(!(idx >= maxIdx) && HEAPU16[idx])++idx; endPtr = idx << 1; return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); var str = ''; for(var i = 0; !(i >= maxBytesToRead / 2); ++i){ var codeUnit = HEAP16[ptr + i * 2 >> 1]; if (codeUnit == 0) break; str += String.fromCharCode(codeUnit); } return str; } function stringToUTF16(str, outPtr, maxBytesToWrite) { if (maxBytesToWrite === undefined) { maxBytesToWrite = 2147483647; } if (maxBytesToWrite < 2) return 0; maxBytesToWrite -= 2; var startPtr = outPtr; var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length; for(var i = 0; i < numCharsToWrite; ++i){ var codeUnit = str.charCodeAt(i); HEAP16[outPtr >> 1] = codeUnit; outPtr += 2; } HEAP16[outPtr >> 1] = 0; return outPtr - startPtr; } function lengthBytesUTF16(str) { return str.length * 2; } function UTF32ToString(ptr, maxBytesToRead) { var i = 0; var str = ''; while(!(i >= maxBytesToRead / 4)){ var utf32 = HEAP32[ptr + i * 4 >> 2]; if (utf32 == 0) break; ++i; if (utf32 >= 65536) { var ch = utf32 - 65536; str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); } else { str += String.fromCharCode(utf32); } } return str; } function stringToUTF32(str, outPtr, maxBytesToWrite) { if (maxBytesToWrite === undefined) { maxBytesToWrite = 2147483647; } if (maxBytesToWrite < 4) return 0; var startPtr = outPtr; var endPtr = startPtr + maxBytesToWrite - 4; for(var i = 0; i < str.length; ++i){ var codeUnit = str.charCodeAt(i); if (codeUnit >= 55296 && codeUnit <= 57343) { var trailSurrogate = str.charCodeAt(++i); codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023; } HEAP32[outPtr >> 2] = codeUnit; outPtr += 4; if (outPtr + 4 > endPtr) break; } HEAP32[outPtr >> 2] = 0; return outPtr - startPtr; } function lengthBytesUTF32(str) { var len = 0; for(var i = 0; i < str.length; ++i){ var codeUnit = str.charCodeAt(i); if (codeUnit >= 55296 && codeUnit <= 57343) ++i; len += 4; } return len; } function writeAsciiToMemory(str, buffer, dontAddNull) { for(var i = 0; i < str.length; ++i){ HEAP8[(buffer++) >> 0] = str.charCodeAt(i); } if (!dontAddNull) HEAP8[buffer >> 0] = 0; } function alignUp(x, multiple) { if (x % multiple > 0) { x += multiple - x % multiple; } return x; } var buffer1, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; function updateGlobalBufferAndViews(buf) { buffer1 = buf; Module1['HEAP8'] = HEAP8 = new Int8Array(buf); Module1['HEAP16'] = HEAP16 = new Int16Array(buf); Module1['HEAP32'] = HEAP32 = new Int32Array(buf); Module1['HEAPU8'] = HEAPU8 = new Uint8Array(buf); Module1['HEAPU16'] = HEAPU16 = new Uint16Array(buf); Module1['HEAPU32'] = HEAPU32 = new Uint32Array(buf); Module1['HEAPF32'] = HEAPF32 = new Float32Array(buf); Module1['HEAPF64'] = HEAPF64 = new Float64Array(buf); } var INITIAL_MEMORY = Module1['INITIAL_MEMORY'] || 16777216; var wasmTable; var __ATPRERUN__ = []; var __ATINIT__ = []; var __ATPOSTRUN__ = []; var runtimeInitialized = false; var runtimeExited = false; function preRun() { if (Module1['preRun']) { if (typeof Module1['preRun'] == 'function') Module1['preRun'] = [ Module1['preRun'] ]; while(Module1['preRun'].length){ addOnPreRun(Module1['preRun'].shift()); } } callRuntimeCallbacks(__ATPRERUN__); } function initRuntime() { runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); } function exitRuntime() { runtimeExited = true; } function postRun() { if (Module1['postRun']) { if (typeof Module1['postRun'] == 'function') Module1['postRun'] = [ Module1['postRun'] ]; while(Module1['postRun'].length){ addOnPostRun(Module1['postRun'].shift()); } } callRuntimeCallbacks(__ATPOSTRUN__); } function addOnPreRun(cb) { __ATPRERUN__.unshift(cb); } function addOnInit(cb) { __ATINIT__.unshift(cb); } function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); } var runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; function addRunDependency(id) { runDependencies++; if (Module1['monitorRunDependencies']) { Module1['monitorRunDependencies'](runDependencies); } } function removeRunDependency(id) { runDependencies--; if (Module1['monitorRunDependencies']) { Module1['monitorRunDependencies'](runDependencies); } if (runDependencies == 0) { if (runDependencyWatcher !== null) { clearInterval(runDependencyWatcher); runDependencyWatcher = null; } if (dependenciesFulfilled) { var callback = dependenciesFulfilled; dependenciesFulfilled = null; callback(); } } } Module1['preloadedImages'] = {}; Module1['preloadedAudios'] = {}; function abort(what) { if (Module1['onAbort']) { Module1['onAbort'](what); } what += ''; err1(what); ABORT = true; EXITSTATUS = 1; what = 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.'; var e = new WebAssembly.RuntimeError(what); readyPromiseReject(e); throw e; } var dataURIPrefix = 'data:application/octet-stream;base64,'; function isDataURI(filename) { return filename.startsWith(dataURIPrefix); } if (Module1['locateFile']) { var wasmBinaryFile = 'mozjpeg_node_enc.wasm'; if (!isDataURI(wasmBinaryFile)) { wasmBinaryFile = locateFile(wasmBinaryFile); } } else { throw new Error('invariant'); } function getBinary(file) { try { if (file == wasmBinaryFile && wasmBinary) { return new Uint8Array(wasmBinary); } if (readBinary) { return readBinary(file); } else { throw 'both async and sync fetching of the wasm failed'; } } catch (err) { abort(err); } } function getBinaryPromise() { if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { if (typeof fetch === 'function') { return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { if (!response['ok']) { throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; } return response['arrayBuffer'](); }).catch(function() { return getBinary(wasmBinaryFile); }); } } return Promise.resolve().then(function() { return getBinary(wasmBinaryFile); }); } function createWasm() { var info = { a: asmLibraryArg }; function receiveInstance(instance, module) { var exports = instance.exports; Module1['asm'] = exports; wasmMemory = Module1['asm']['C']; updateGlobalBufferAndViews(wasmMemory.buffer); wasmTable = Module1['asm']['I']; addOnInit(Module1['asm']['D']); removeRunDependency('wasm-instantiate'); } addRunDependency('wasm-instantiate'); function receiveInstantiationResult(result) { receiveInstance(result['instance']); } function instantiateArrayBuffer(receiver) { return getBinaryPromise().then(function(binary) { var result = WebAssembly.instantiate(binary, info); return result; }).then(receiver, function(reason) { err1('failed to asynchronously prepare wasm: ' + reason); abort(reason); }); } function instantiateAsync() { if (!wasmBinary && typeof WebAssembly.instantiateStreaming === 'function' && !isDataURI(wasmBinaryFile) && typeof fetch === 'function') { return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { var result = WebAssembly.instantiateStreaming(response, info); return result.then(receiveInstantiationResult, function(reason) { err1('wasm streaming compile failed: ' + reason); err1('falling back to ArrayBuffer instantiation'); return instantiateArrayBuffer(receiveInstantiationResult); }); }); } else { return instantiateArrayBuffer(receiveInstantiationResult); } } if (Module1['instantiateWasm']) { try { var exports1 = Module1['instantiateWasm'](info, receiveInstance); return exports1; } catch (e) { err1('Module.instantiateWasm callback failed with error: ' + e); return false; } } instantiateAsync().catch(readyPromiseReject); return {}; } function callRuntimeCallbacks(callbacks) { while(callbacks.length > 0){ var callback = callbacks.shift(); if (typeof callback == 'function') { callback(Module1); continue; } var func = callback.func; if (typeof func === 'number') { if (callback.arg === undefined) { wasmTable.get(func)(); } else { wasmTable.get(func)(callback.arg); } } else { func(callback.arg === undefined ? null : callback.arg); } } } var runtimeKeepaliveCounter = 0; function keepRuntimeAlive() { return noExitRuntime || runtimeKeepaliveCounter > 0; } function _atexit(func, arg) {} function ___cxa_thread_atexit(a0, a1) { return _atexit(a0, a1); } var structRegistrations = {}; function runDestructors(destructors) { while(destructors.length){ var ptr = destructors.pop(); var del = destructors.pop(); del(ptr); } } function simpleReadValueFromPointer(pointer) { return this['fromWireType'](HEAPU32[pointer >> 2]); } var awaitingDependencies = {}; var registeredTypes = {}; var typeDependencies = {}; var char_0 = 48; var char_9 = 57; function makeLegalFunctionName(name) { if (undefined === name) { return '_unknown'; } name = name.replace(/[^a-zA-Z0-9_]/g, '$'); var f = name.charCodeAt(0); if (f >= char_0 && f <= char_9) { return '_' + name; } else { return name; } } function createNamedFunction(name, body) { name = makeLegalFunctionName(name); return new Function('body', 'return function ' + name + '() {\n' + ' "use strict";' + ' return body.apply(this, arguments);\n' + '};\n')(body); } function extendError(baseErrorType, errorName) { var errorClass = createNamedFunction(errorName, function(message) { this.name = errorName; this.message = message; var stack = new Error(message).stack; if (stack !== undefined) { this.stack = this.toString() + '\n' + stack.replace(/^Error(:[^\n]*)?\n/, ''); } }); errorClass.prototype = Object.create(baseErrorType.prototype); errorClass.prototype.constructor = errorClass; errorClass.prototype.toString = function() { if (this.message === undefined) { return this.name; } else { return this.name + ': ' + this.message; } }; return errorClass; } var InternalError = undefined; function throwInternalError(message) { throw new InternalError(message); } function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { myTypes.forEach(function(type) { typeDependencies[type] = dependentTypes; }); function onComplete(typeConverters) { var myTypeConverters = getTypeConverters(typeConverters); if (myTypeConverters.length !== myTypes.length) { throwInternalError('Mismatched type converter count'); } for(var i = 0; i < myTypes.length; ++i){ registerType(myTypes[i], myTypeConverters[i]); } } var typeConverters1 = new Array(dependentTypes.length); var unregisteredTypes = []; var registered = 0; dependentTypes.forEach(function(dt, i) { if (registeredTypes.hasOwnProperty(dt)) { typeConverters1[i] = registeredTypes[dt]; } else { unregisteredTypes.push(dt); if (!awaitingDependencies.hasOwnProperty(dt)) { awaitingDependencies[dt] = []; } awaitingDependencies[dt].push(function() { typeConverters1[i] = registeredTypes[dt]; ++registered; if (registered === unregisteredTypes.length) { onComplete(typeConverters1); } }); } }); if (0 === unregisteredTypes.length) { onComplete(typeConverters1); } } function __embind_finalize_value_object(structType) { var reg = structRegistrations[structType]; delete structRegistrations[structType]; var rawConstructor = reg.rawConstructor; var rawDestructor = reg.rawDestructor; var fieldRecords = reg.fields; var fieldTypes1 = fieldRecords.map(function(field) { return field.getterReturnType; }).concat(fieldRecords.map(function(field) { return field.setterArgumentType; })); whenDependentTypesAreResolved([ structType ], fieldTypes1, function(fieldTypes) { var fields = {}; fieldRecords.forEach(function(field, i) { var fieldName = field.fieldName; var getterReturnType = fieldTypes[i]; var getter = field.getter; var getterContext = field.getterContext; var setterArgumentType = fieldTypes[i + fieldRecords.length]; var setter = field.setter; var setterContext = field.setterContext; fields[fieldName] = { read: function(ptr) { return getterReturnType['fromWireType'](getter(getterContext, ptr)); }, write: function(ptr, o) { var destructors = []; setter(setterContext, ptr, setterArgumentType['toWireType'](destructors, o)); runDestructors(destructors); } }; }); return [ { name: reg.name, fromWireType: function(ptr) { var rv = {}; for(var i in fields){ rv[i] = fields[i].read(ptr); } rawDestructor(ptr); return rv; }, toWireType: function(destructors, o) { for(var fieldName in fields){ if (!(fieldName in o)) { throw new TypeError('Missing field: "' + fieldName + '"'); } } var ptr = rawConstructor(); for(fieldName in fields){ fields[fieldName].write(ptr, o[fieldName]); } if (destructors !== null) { destructors.push(rawDestructor, ptr); } return ptr; }, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: rawDestructor }, ]; }); } function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) {} function getShiftFromSize(size) { switch(size){ case 1: return 0; case 2: return 1; case 4: return 2; case 8: return 3; default: throw new TypeError('Unknown type size: ' + size); } } function embind_init_charCodes() { var codes = new Array(256); for(var i = 0; i < 256; ++i){ codes[i] = String.fromCharCode(i); } embind_charCodes = codes; } var embind_charCodes = undefined; function readLatin1String(ptr) { var ret = ''; var c = ptr; while(HEAPU8[c]){ ret += embind_charCodes[HEAPU8[c++]]; } return ret; } var BindingError = undefined; function throwBindingError(message) { throw new BindingError(message); } function registerType(rawType, registeredInstance, options) { options = options || {}; if (!('argPackAdvance' in registeredInstance)) { throw new TypeError('registerType registeredInstance requires argPackAdvance'); } var name = registeredInstance.name; if (!rawType) { throwBindingError('type "' + name + '" must have a positive integer typeid pointer'); } if (registeredTypes.hasOwnProperty(rawType)) { if (options.ignoreDuplicateRegistrations) { return; } else { throwBindingError("Cannot register type '" + name + "' twice"); } } registeredTypes[rawType] = registeredInstance; delete typeDependencies[rawType]; if (awaitingDependencies.hasOwnProperty(rawType)) { var callbacks = awaitingDependencies[rawType]; delete awaitingDependencies[rawType]; callbacks.forEach(function(cb) { cb(); }); } } function __embind_register_bool(rawType, name, size, trueValue, falseValue) { var shift = getShiftFromSize(size); name = readLatin1String(name); registerType(rawType, { name: name, fromWireType: function(wt) { return !!wt; }, toWireType: function(destructors, o) { return o ? trueValue : falseValue; }, argPackAdvance: 8, readValueFromPointer: function(pointer) { var heap; if (size === 1) { heap = HEAP8; } else if (size === 2) { heap = HEAP16; } else if (size === 4) { heap = HEAP32; } else { throw new TypeError('Unknown boolean type size: ' + name); } return this['fromWireType'](heap[pointer >> shift]); }, destructorFunction: null }); } var emval_free_list = []; var emval_handle_array = [ {}, { value: undefined }, { value: null }, { value: true }, { value: false }, ]; function __emval_decref(handle) { if (handle > 4 && 0 === --emval_handle_array[handle].refcount) { emval_handle_array[handle] = undefined; emval_free_list.push(handle); } } function count_emval_handles() { var count = 0; for(var i = 5; i < emval_handle_array.length; ++i){ if (emval_handle_array[i] !== undefined) { ++count; } } return count; } function get_first_emval() { for(var i = 5; i < emval_handle_array.length; ++i){ if (emval_handle_array[i] !== undefined) { return emval_handle_array[i]; } } return null; } function init_emval() { Module1['count_emval_handles'] = count_emval_handles; Module1['get_first_emval'] = get_first_emval; } function __emval_register(value) { switch(value){ case undefined: { return 1; } case null: { return 2; } case true: { return 3; } case false: { return 4; } default: { var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length; emval_handle_array[handle] = { refcount: 1, value: value }; return handle; } } } function __embind_register_emval(rawType, name) { name = readLatin1String(name); registerType(rawType, { name: name, fromWireType: function(handle) { var rv = emval_handle_array[handle].value; __emval_decref(handle); return rv; }, toWireType: function(destructors, value) { return __emval_register(value); }, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: null }); } function _embind_repr(v) { if (v === null) { return 'null'; } var t = typeof v; if (t === 'object' || t === 'array' || t === 'function') { return v.toString(); } else { return '' + v; } } function floatReadValueFromPointer(name, shift) { switch(shift){ case 2: return function(pointer) { return this['fromWireType'](HEAPF32[pointer >> 2]); }; case 3: return function(pointer) { return this['fromWireType'](HEAPF64[pointer >> 3]); }; default: throw new TypeError('Unknown float type: ' + name); } } function __embind_register_float(rawType, name, size) { var shift = getShiftFromSize(size); name = readLatin1String(name); registerType(rawType, { name: name, fromWireType: function(value) { return value; }, toWireType: function(destructors, value) { if (typeof value !== 'number' && typeof value !== 'boolean') { throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name); } return value; }, argPackAdvance: 8, readValueFromPointer: floatReadValueFromPointer(name, shift), destructorFunction: null }); } function new_(constructor, argumentList) { if (!(constructor instanceof Function)) { throw new TypeError('new_ called with constructor type ' + typeof constructor + ' which is not a function'); } var dummy = createNamedFunction(constructor.name || 'unknownFunctionName', function() {}); dummy.prototype = constructor.prototype; var obj = new dummy(); var r = constructor.apply(obj, argumentList); return r instanceof Object ? r : obj; } function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) { var argCount = argTypes.length; if (argCount < 2) { throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); } var isClassMethodFunc = argTypes[1] !== null && classType !== null; var needsDestructorStack = false; for(var i = 1; i < argTypes.length; ++i){ if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { needsDestructorStack = true; break; } } var returns = argTypes[0].name !== 'void'; var argsList = ''; var argsListWired = ''; for(var i = 0; i < argCount - 2; ++i){ argsList += (i !== 0 ? ', ' : '') + 'arg' + i; argsListWired += (i !== 0 ? ', ' : '') + 'arg' + i + 'Wired'; } var invokerFnBody = 'return function ' + makeLegalFunctionName(humanName) + '(' + argsList + ') {\n' + 'if (arguments.length !== ' + (argCount - 2) + ') {\n' + "throwBindingError('function " + humanName + " called with ' + arguments.length + ' arguments, expected " + (argCount - 2) + " args!');\n" + '}\n'; if (needsDestructorStack) { invokerFnBody += 'var destructors = [];\n'; } var dtorStack = needsDestructorStack ? 'destructors' : 'null'; var args1 = [ 'throwBindingError', 'invoker', 'fn', 'runDestructors', 'retType', 'classParam', ]; var args2 = [ throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1], ]; if (isClassMethodFunc) { invokerFnBody += 'var thisWired = classParam.toWireType(' + dtorStack + ', this);\n'; } for(var i = 0; i < argCount - 2; ++i){ invokerFnBody += 'var arg' + i + 'Wired = argType' + i + '.toWireType(' + dtorStack + ', arg' + i + '); // ' + argTypes[i + 2].name + '\n'; args1.push('argType' + i); args2.push(argTypes[i + 2]); } if (isClassMethodFunc) { argsListWired = 'thisWired' + (argsListWired.length > 0 ? ', ' : '') + argsListWired; } invokerFnBody += (returns ? 'var rv = ' : '') + 'invoker(fn' + (argsListWired.length > 0 ? ', ' : '') + argsListWired + ');\n'; if (needsDestructorStack) { invokerFnBody += 'runDestructors(destructors);\n'; } else { for(var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i){ var paramName = i === 1 ? 'thisWired' : 'arg' + (i - 2) + 'Wired'; if (argTypes[i].destructorFunction !== null) { invokerFnBody += paramName + '_dtor(' + paramName + '); // ' + argTypes[i].name + '\n'; args1.push(paramName + '_dtor'); args2.push(argTypes[i].destructorFunction); } } } if (returns) { invokerFnBody += 'var ret = retType.fromWireType(rv);\n' + 'return ret;\n'; } else {} invokerFnBody += '}\n'; args1.push(invokerFnBody); var invokerFunction = new_(Function, args1).apply(null, args2); return invokerFunction; } function ensureOverloadTable(proto, methodName, humanName) { if (undefined === proto[methodName].overloadTable) { var prevFunc = proto[methodName]; proto[methodName] = function() { if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { throwBindingError("Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ') - expects one of (' + proto[methodName].overloadTable + ')!'); } return proto[methodName].overloadTable[arguments.length].apply(this, arguments); }; proto[methodName].overloadTable = []; proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; } } function exposePublicSymbol(name, value, numArguments) { if (Module1.hasOwnProperty(name)) { if (undefined === numArguments || undefined !== Module1[name].overloadTable && undefined !== Module1[name].overloadTable[numArguments]) { throwBindingError("Cannot register public name '" + name + "' twice"); } ensureOverloadTable(Module1, name, name); if (Module1.hasOwnProperty(numArguments)) { throwBindingError('Cannot register multiple overloads of a function with the same number of arguments (' + numArguments + ')!'); } Module1[name].overloadTable[numArguments] = value; } else { Module1[name] = value; if (undefined !== numArguments) { Module1[name].numArguments = numArguments; } } } function heap32VectorToArray(count, firstElement) { var array = []; for(var i = 0; i < count; i++){ array.push(HEAP32[(firstElement >> 2) + i]); } return array; } function replacePublicSymbol(name, value, numArguments) { if (!Module1.hasOwnProperty(name)) { throwInternalError('Replacing nonexistent public symbol'); } if (undefined !== Module1[name].overloadTable && undefined !== numArguments) { Module1[name].overloadTable[numArguments] = value; } else { Module1[name] = value; Module1[name].argCount = numArguments; } } function dynCallLegacy(sig, ptr, args) { var f = Module1['dynCall_' + sig]; return args && args.length ? f.apply(null, [ ptr ].concat(args)) : f.call(null, ptr); } function dynCall(sig, ptr, args) { if (sig.includes('j')) { return dynCallLegacy(sig, ptr, args); } return wasmTable.get(ptr).apply(null, args); } function getDynCaller(sig, ptr) { var argCache = []; return function() { argCache.length = arguments.length; for(var i = 0; i < arguments.length; i++){ argCache[i] = arguments[i]; } return dynCall(sig, ptr, argCache); }; } function embind__requireFunction(signature, rawFunction) { signature = readLatin1String(signature); function makeDynCaller() { if (signature.includes('j')) { return getDynCaller(signature, rawFunction); } return wasmTable.get(rawFunction); } var fp = makeDynCaller(); if (typeof fp !== 'function') { throwBindingError('unknown function pointer with signature ' + signature + ': ' + rawFunction); } return fp; } var UnboundTypeError = undefined; function getTypeName(type) { var ptr = ___getTypeName(type); var rv = readLatin1String(ptr); _free(ptr); return rv; } function throwUnboundTypeError(message, types) { var unboundTypes = []; var seen = {}; function visit(type) { if (seen[type]) { return; } if (registeredTypes[type]) { return; } if (typeDependencies[type]) { typeDependencies[type].forEach(visit); return; } unboundTypes.push(type); seen[type] = true; } types.forEach(visit); throw new UnboundTypeError(message + ': ' + unboundTypes.map(getTypeName).join([ ', ' ])); } function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn) { var argTypes1 = heap32VectorToArray(argCount, rawArgTypesAddr); name = readLatin1String(name); rawInvoker = embind__requireFunction(signature, rawInvoker); exposePublicSymbol(name, function() { throwUnboundTypeError('Cannot call ' + name + ' due to unbound types', argTypes1); }, argCount - 1); whenDependentTypesAreResolved([], argTypes1, function(argTypes) { var invokerArgsArray = [ argTypes[0], null ].concat(argTypes.slice(1)); replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn), argCount - 1); return []; }); } function integerReadValueFromPointer(name, shift, signed) { switch(shift){ case 0: return signed ? function readS8FromPointer(pointer) { return HEAP8[pointer]; } : function readU8FromPointer(pointer) { return HEAPU8[pointer]; }; case 1: return signed ? function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; }; case 2: return signed ? function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; }; default: throw new TypeError('Unknown integer type: ' + name); } } function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { name = readLatin1String(name); if (maxRange === -1) { maxRange = 4294967295; } var shift = getShiftFromSize(size); var fromWireType = function(value) { return value; }; if (minRange === 0) { var bitshift = 32 - 8 * size; fromWireType = function(value) { return value << bitshift >>> bitshift; }; } var isUnsignedType = name.includes('unsigned'); registerType(primitiveType, { name: name, fromWireType: fromWireType, toWireType: function(destructors, value) { if (typeof value !== 'number' && typeof value !== 'boolean') { throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name); } if (value < minRange || value > maxRange) { throw new TypeError('Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name + '", which is outside the valid range [' + minRange + ', ' + maxRange + ']!'); } return isUnsignedType ? value >>> 0 : value | 0; }, argPackAdvance: 8, readValueFromPointer: integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null }); } function __embind_register_memory_view(rawType, dataTypeIndex, name) { var typeMapping = [ Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, ]; var TA = typeMapping[dataTypeIndex]; function decodeMemoryView(handle) { handle = handle >> 2; var heap = HEAPU32; var size = heap[handle]; var data = heap[handle + 1]; return new TA(buffer1, data, size); } name = readLatin1String(name); registerType(rawType, { name: name, fromWireType: decodeMemoryView, argPackAdvance: 8, readValueFromPointer: decodeMemoryView }, { ignoreDuplicateRegistrations: true }); } function __embind_register_std_string(rawType, name) { name = readLatin1String(name); var stdStringIsUTF8 = name === 'std::string'; registerType(rawType, { name: name, fromWireType: function(value) { var length = HEAPU32[value >> 2]; var str; if (stdStringIsUTF8) { var decodeStartPtr = value + 4; for(var i = 0; i <= length; ++i){ var currentBytePtr = value + 4 + i; if (i == length || HEAPU8[currentBytePtr] == 0) { var maxRead = currentBytePtr - decodeStartPtr; var stringSegment = UTF8ToString(decodeStartPtr, maxRead); if (str === undefined) { str = stringSegment; } else { str += String.fromCharCode(0); str += stringSegment; } decodeStartPtr = currentBytePtr + 1; } } } else { var a = new Array(length); for(var i = 0; i < length; ++i){ a[i] = String.fromCharCode(HEAPU8[value + 4 + i]); } str = a.join(''); } _free(value); return str; }, toWireType: function(destructors, value) { if (value instanceof ArrayBuffer) { value = new Uint8Array(value); } var getLength; var valueIsOfTypeString = typeof value === 'string'; if (!(valueIsOfTypeString || value instanceof Uint8Array || value