@@ -1,11 +1,10 @@
1 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2 1 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var initPikchrModule = (() => {
3 2 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;
4 3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
5 4 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return (
6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function(moduleArg = {}) {
5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function(moduleArg = {}) {
7 6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var moduleRtn;
8 7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
9 8 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// include: shell.js
10 9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// The Module object: Our interface to the outside world. We import
11 10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// and export values on it. There are various ways Module can be used:
@@ -89,25 +88,25 @@
89 88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// If scriptDirectory contains a query (starting with ?) or a fragment (starting with #),
90 89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// they are removed because they could contain a slash.
91 90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (scriptDirectory.startsWith("blob:")) {
92 91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
scriptDirectory = "";
93 92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
} else {
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
95 94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
96 95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{
97 96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// include: web_or_worker_shell_read.js
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readAsync = url => fetch(url, {
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- credentials: "same-origin"
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }).then(response => {
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readAsync = async url => {
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var response = await fetch(url, {
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ credentials: "same-origin"
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
101 101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (response.ok) {
102 102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return response.arrayBuffer();
103 103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return Promise.reject(new Error(response.status + " : " + response.url));
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ throw new Error(response.status + " : " + response.url);
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
106 106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else // end include: web_or_worker_shell_read.js
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {}
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {}
109 108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
110 109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var out = Module["print"] || console.log.bind(console);
111 110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
112 111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var err = Module["printErr"] || console.error.bind(console);
113 112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -153,13 +152,25 @@
153 152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// NOTE: This is also used as the process return code code in shell environments
154 153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// but only when noExitRuntime is false.
155 154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var EXITSTATUS;
156 155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
157 156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Memory management
158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var /** @type {!Int8Array} */ HEAP8, /** @type {!Uint8Array} */ HEAPU8, /** @type {!Int16Array} */ HEAP16, /** @type {!Uint16Array} */ HEAPU16, /** @type {!Int32Array} */ HEAP32, /** @type {!Uint32Array} */ HEAPU32, /** @type {!Float32Array} */ HEAPF32, /** @type {!Float64Array} */ HEAPF64;
157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var /** @type {!Int8Array} */ HEAP8, /** @type {!Uint8Array} */ HEAPU8, /** @type {!Int16Array} */ HEAP16, /** @type {!Uint16Array} */ HEAPU16, /** @type {!Int32Array} */ HEAP32, /** @type {!Uint32Array} */ HEAPU32, /** @type {!Float32Array} */ HEAPF32, /* BigInt64Array type is not correctly defined in closure
158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** not-@type {!BigInt64Array} */ HEAP64, /* BigUint64Array type is not correctly defined in closure
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** not-t@type {!BigUint64Array} */ HEAPU64, /** @type {!Float64Array} */ HEAPF64;
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var runtimeInitialized = false;
159 162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
160 163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// include: runtime_shared.js
164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: runtime_stack_check.js
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: runtime_stack_check.js
166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: runtime_exceptions.js
167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: runtime_exceptions.js
168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: runtime_debug.js
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: runtime_debug.js
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: memoryprofiler.js
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: memoryprofiler.js
161 172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function updateMemoryViews() {
162 173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var b = wasmMemory.buffer;
163 174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["HEAP8"] = HEAP8 = new Int8Array(b);
164 175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["HEAP16"] = HEAP16 = new Int16Array(b);
165 176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
@@ -166,78 +177,49 @@
166 177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["HEAPU16"] = HEAPU16 = new Uint16Array(b);
167 178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["HEAP32"] = HEAP32 = new Int32Array(b);
168 179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["HEAPU32"] = HEAPU32 = new Uint32Array(b);
169 180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["HEAPF32"] = HEAPF32 = new Float32Array(b);
170 181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["HEAPF64"] = HEAPF64 = new Float64Array(b);
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAP64"] = HEAP64 = new BigInt64Array(b);
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAPU64"] = HEAPU64 = new BigUint64Array(b);
171 184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
172 185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
173 186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// end include: runtime_shared.js
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: runtime_stack_check.js
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: runtime_stack_check.js
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __ATPRERUN__ = [];
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // functions called before the runtime is initialized
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __ATINIT__ = [];
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // functions called during shutdown
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __ATPOSTRUN__ = [];
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // functions called after the main() is called
185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var runtimeInitialized = false;
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
187 187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function preRun() {
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var preRuns = Module["preRun"];
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (preRuns) {
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof preRuns == "function") preRuns = [ preRuns ];
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- preRuns.forEach(addOnPreRun);
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["preRun"]) {
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (Module["preRun"].length) {
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ addOnPreRun(Module["preRun"].shift());
192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
192 193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callRuntimeCallbacks(__ATPRERUN__);
194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callRuntimeCallbacks(onPreRuns);
194 195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
195 196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
196 197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function initRuntime() {
197 198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
runtimeInitialized = true;
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callRuntimeCallbacks(__ATINIT__);
199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wasmExports["e"]();
199 200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
200 201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
201 202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function postRun() {
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var postRuns = Module["postRun"];
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (postRuns) {
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof postRuns == "function") postRuns = [ postRuns ];
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- postRuns.forEach(addOnPostRun);
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callRuntimeCallbacks(__ATPOSTRUN__);
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function addOnPreRun(cb) {
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- __ATPRERUN__.unshift(cb);
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function addOnInit(cb) {
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- __ATINIT__.unshift(cb);
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function addOnPostRun(cb) {
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- __ATPOSTRUN__.unshift(cb);
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: runtime_math.js
223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul
224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: runtime_math.js
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["postRun"]) {
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (Module["postRun"].length) {
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ addOnPostRun(Module["postRun"].shift());
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callRuntimeCallbacks(onPostRuns);
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
228 212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// A counter of dependencies for calling run(). If we need to
229 213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// do asynchronous work before running, increment this and
230 214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// decrement it. Incrementing must happen in a place like
231 215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Module.preRun (used by emcc to add file preloading).
232 216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Note that you can add dependencies in preRun, even though
233 217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// it happens right before run - run will be postponed until
234 218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// the dependencies are met.
235 219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var runDependencies = 0;
236 220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var runDependencyWatcher = null;
238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
239 221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var dependenciesFulfilled = null;
240 222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
241 223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function addRunDependency(id) {
242 224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
runDependencies++;
243 225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["monitorRunDependencies"]?.(runDependencies);
@@ -245,14 +227,10 @@
245 227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
246 228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function removeRunDependency(id) {
247 229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
runDependencies--;
248 230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["monitorRunDependencies"]?.(runDependencies);
249 231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (runDependencies == 0) {
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (runDependencyWatcher !== null) {
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- clearInterval(runDependencyWatcher);
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- runDependencyWatcher = null;
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
254 232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (dependenciesFulfilled) {
255 233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var callback = dependenciesFulfilled;
256 234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
dependenciesFulfilled = null;
257 235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
callback();
258 236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -285,33 +263,15 @@
285 263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// in code paths apart from instantiation where an exception is expected
286 264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// to be thrown when abort is called.
287 265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
throw e;
288 266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
289 267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: memoryprofiler.js
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: memoryprofiler.js
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: URIUtils.js
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Prefix of data URIs emitted by SINGLE_FILE and related options.
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var dataURIPrefix = "data:application/octet-stream;base64,";
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * Indicates whether filename is a base64 data URI.
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @noinline
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */ var isDataURI = filename => filename.startsWith(dataURIPrefix);
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: URIUtils.js
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: runtime_exceptions.js
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: runtime_exceptions.js
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var wasmBinaryFile;
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
304 270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function findWasmBinary() {
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var f = "pikchr.wasm";
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!isDataURI(f)) {
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return locateFile(f);
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return f;
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var wasmBinaryFile;
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return locateFile("pikchr.wasm");
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
313 273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
314 274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function getBinarySync(file) {
315 275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (file == wasmBinaryFile && wasmBinary) {
316 276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return new Uint8Array(wasmBinary);
317 277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -319,48 +279,50 @@
319 279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return readBinary(file);
320 280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
321 281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
throw "both async and sync fetching of the wasm failed";
322 282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
323 283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function getBinaryPromise(binaryFile) {
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function getWasmBinary(binaryFile) {
325 285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// If we don't have the binary yet, load it asynchronously using readAsync.
326 286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (!wasmBinary) {
327 287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Fetch the binary using readAsync
328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return readAsync(binaryFile).then(response => new Uint8Array(/** @type{!ArrayBuffer} */ (response)), // Fall back to getBinarySync if readAsync fails
329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- () => getBinarySync(binaryFile));
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var response = await readAsync(binaryFile);
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return new Uint8Array(response);
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch {}
330 292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
331 293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Otherwise, getBinarySync should be able to get it synchronously
332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return Promise.resolve().then(() => getBinarySync(binaryFile));
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return getBinarySync(binaryFile);
333 295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
334 296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function instantiateArrayBuffer(binaryFile, imports, receiver) {
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return getBinaryPromise(binaryFile).then(binary => WebAssembly.instantiate(binary, imports)).then(receiver, reason => {
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function instantiateArrayBuffer(binaryFile, imports) {
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var binary = await getWasmBinary(binaryFile);
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var instance = await WebAssembly.instantiate(binary, imports);
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return instance;
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch (reason) {
337 303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
err(`failed to asynchronously prepare wasm: ${reason}`);
338 304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
abort(reason);
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function instantiateAsync(binary, binaryFile, imports, callback) {
343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") {
344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return fetch(binaryFile, {
345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- credentials: "same-origin"
346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }).then(response => {
347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Suppress closure warning here since the upstream definition for
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // instantiateStreaming only allows Promise<Repsponse> rather than
349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // an actual Response.
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed.
351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /** @suppress {checkTypes} */ var result = WebAssembly.instantiateStreaming(response, imports);
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return result.then(callback, function(reason) {
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // We expect the most common failure cause to be a bad MIME type for the binary,
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // in which case falling back to ArrayBuffer instantiation should work.
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- err(`wasm streaming compile failed: ${reason}`);
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- err("falling back to ArrayBuffer instantiation");
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return instantiateArrayBuffer(binaryFile, imports, callback);
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return instantiateArrayBuffer(binaryFile, imports, callback);
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function instantiateAsync(binary, binaryFile, imports) {
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (!binary && typeof WebAssembly.instantiateStreaming == "function") {
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var response = fetch(binaryFile, {
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ credentials: "same-origin"
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var instantiationResult = await WebAssembly.instantiateStreaming(response, imports);
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return instantiationResult;
316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch (reason) {
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // We expect the most common failure cause to be a bad MIME type for the binary,
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // in which case falling back to ArrayBuffer instantiation should work.
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ err(`wasm streaming compile failed: ${reason}`);
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ err("falling back to ArrayBuffer instantiation");
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return instantiateArrayBuffer(binaryFile, imports);
362 324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
363 325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
364 326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function getWasmImports() {
365 327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// prepare imports
366 328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return {
@@ -368,20 +330,18 @@
368 330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
369 331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
370 332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
371 333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Create the wasm instance.
372 334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Receives the wasm imports, returns the exports.
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function createWasm() {
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var info = getWasmImports();
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function createWasm() {
375 336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Load the wasm module and create an instance of using native support in the JS engine.
376 337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// handle a generated wasm instance, receiving its exports and
377 338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// performing other necessary setup
378 339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/** @param {WebAssembly.Module=} module*/ function receiveInstance(instance, module) {
379 340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wasmExports = instance.exports;
380 341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wasmMemory = wasmExports["d"];
381 342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
updateMemoryViews();
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- addOnInit(wasmExports["e"]);
383 343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
removeRunDependency("wasm-instantiate");
384 344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return wasmExports;
385 345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
386 346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// wait for the pthread pool (if any)
387 347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
addRunDependency("wasm-instantiate");
@@ -389,48 +349,64 @@
389 349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function receiveInstantiationResult(result) {
390 350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// 'result' is a ResultObject object which has both the module and instance.
391 351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// receiveInstance() will swap in the exports (to Module.asm) so they can be called
392 352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line.
393 353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// When the regression is fixed, can restore the above PTHREADS-enabled path.
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- receiveInstance(result["instance"]);
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return receiveInstance(result["instance"]);
395 355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var info = getWasmImports();
396 357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
397 358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// to manually instantiate the Wasm module themselves. This allows pages to
398 359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// run the instantiation parallel to any other async startup actions they are
399 360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// performing.
400 361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Also pthreads and wasm workers initialize the wasm instance through this
401 362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// path.
402 363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (Module["instantiateWasm"]) {
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return Module["instantiateWasm"](info, receiveInstance);
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } catch (e) {
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- err(`Module.instantiateWasm callback failed with error: ${e}`);
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // If instantiation fails, reject the module ready promise.
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readyPromiseReject(e);
409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return new Promise((resolve, reject) => {
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["instantiateWasm"](info, (mod, inst) => {
366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ receiveInstance(mod, inst);
367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ resolve(mod.exports);
368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
410 370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
411 371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wasmBinaryFile ??= findWasmBinary();
412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // If instantiation fails, reject the module ready promise.
413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);
414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return {};
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var exports = receiveInstantiationResult(result);
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return exports;
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch (e) {
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // If instantiation fails, reject the module ready promise.
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readyPromiseReject(e);
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return Promise.reject(e);
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
415 381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
416 382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: runtime_debug.js
418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: runtime_debug.js
419 383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// === Body ===
420 384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// end include: preamble.js
421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /** @constructor */ function ExitStatus(status) {
422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.name = "ExitStatus";
423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.message = `Program terminated with exit(${status})`;
424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.status = status;
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ class ExitStatus {
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ name="ExitStatus";
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ constructor(status) {
388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ this.message = `Program terminated with exit(${status})`;
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ this.status = status;
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
425 391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
426 392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
427 393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var callRuntimeCallbacks = callbacks => {
428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Pass the module as the first argument.
429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callbacks.forEach(f => f(Module));
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (callbacks.length > 0) {
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Pass the module as the first argument.
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callbacks.shift()(Module);
397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
430 398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
431 399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var onPostRuns = [];
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var addOnPostRun = cb => onPostRuns.unshift(cb);
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var onPreRuns = [];
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var addOnPreRun = cb => onPreRuns.unshift(cb);
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
432 408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/**
433 409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
* @param {number} ptr
434 410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
* @param {string} type
435 411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/ function getValue(ptr, type = "i8") {
436 412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (type.endsWith("*")) type = "*";
@@ -446,11 +422,11 @@
446 422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
447 423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "i32":
448 424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return HEAP32[((ptr) >> 2)];
449 425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
450 426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "i64":
451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort("to do getValue(i64) use WASM_BIGINT");
427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return HEAP64[((ptr) >> 3)];
452 428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
453 429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "float":
454 430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return HEAPF32[((ptr) >> 2)];
455 431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
456 432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "double":
@@ -488,11 +464,12 @@
488 464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "i32":
489 465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
HEAP32[((ptr) >> 2)] = value;
490 466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
491 467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
492 468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "i64":
493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort("to do setValue(i64) use WASM_BIGINT");
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP64[((ptr) >> 3)] = BigInt(value);
470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
494 471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
495 472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "float":
496 473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
HEAPF32[((ptr) >> 2)] = value;
497 474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
498 475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -583,13 +560,11 @@
583 560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
* frequent uses of UTF8ToString() with and without maxBytesToRead may throw
584 561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
* JS JIT optimizations off, so it is worth to consider consistently using one
585 562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
* @return {string}
586 563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/ var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
587 564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ___assert_fail = (condition, filename, line, func) => {
589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ___assert_fail = (condition, filename, line, func) => abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
591 566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
592 567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var abortOnCannotGrowMemory = requestedSize => {
593 568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
abort("OOM");
594 569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
595 570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -781,21 +756,21 @@
781 756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/** @export */ a: ___assert_fail,
782 757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/** @export */ b: _emscripten_resize_heap,
783 758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/** @export */ c: _exit
784 759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
785 760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
786 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var wasmExports = createWasm();
787 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
788 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["e"])();
789 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
790 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var _pikchr = Module["_pikchr"] = (a0, a1, a2, a3, a4) => (_pikchr = Module["_pikchr"] = wasmExports["g"])(a0, a1, a2, a3, a4);
791 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __emscripten_stack_restore = a0 => (__emscripten_stack_restore = wasmExports["h"])(a0);
793 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __emscripten_stack_alloc = a0 => (__emscripten_stack_alloc = wasmExports["i"])(a0);
795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports["j"])();
761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var wasmExports = await createWasm();
762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ___wasm_call_ctors = wasmExports["e"];
764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var _pikchr = Module["_pikchr"] = wasmExports["g"];
766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var __emscripten_stack_restore = wasmExports["h"];
768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var __emscripten_stack_alloc = wasmExports["i"];
770 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var _emscripten_stack_get_current = wasmExports["j"];
797 772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
798 773 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// include: postamble.js
799 774 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// === Auto-generated postamble setup entry stuff ===
800 775 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["stackSave"] = stackSave;
801 776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -807,39 +782,25 @@
807 782 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
808 783 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["setValue"] = setValue;
809 784 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
810 785 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["getValue"] = getValue;
811 786 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
812 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var calledRun;
813 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
814 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var calledPrerun;
815 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
816 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dependenciesFulfilled = function runCaller() {
817 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
818 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!calledRun) run();
819 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!calledRun) dependenciesFulfilled = runCaller;
820 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
821 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
822 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // try this again later, after new deps are fulfilled
823 787 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function run() {
824 788 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (runDependencies > 0) {
789 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dependenciesFulfilled = run;
825 790 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
826 791 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!calledPrerun) {
828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- calledPrerun = 1;
829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- preRun();
830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // a preRun added a dependency, run will be called later
831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (runDependencies > 0) {
832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ preRun();
793 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // a preRun added a dependency, run will be called later
794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (runDependencies > 0) {
795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dependenciesFulfilled = run;
796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return;
834 797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
835 798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function doRun() {
836 799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// run may have just been called through dependencies being fulfilled just in this very frame,
837 800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// or while the async setStatus time below was happening
838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (calledRun) return;
839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- calledRun = 1;
840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["calledRun"] = 1;
801 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["calledRun"] = true;
841 802 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (ABORT) return;
842 803 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
initRuntime();
843 804 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
readyPromiseResolve(Module);
844 805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["onRuntimeInitialized"]?.();
845 806 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
postRun();
@@ -875,9 +836,12 @@
875 836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
876 837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return moduleRtn;
877 838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
878 839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
879 840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
})();
880 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof exports === 'object' && typeof module === 'object')
841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (typeof exports === 'object' && typeof module === 'object') {
881 842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
module.exports = initPikchrModule;
882 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (typeof define === 'function' && define['amd'])
843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // This default export looks redundant, but it allows TS to import this
844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // commonjs style module.
845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ module.exports.default = initPikchrModule;
846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else if (typeof define === 'function' && define['amd'])
883 847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
define([], () => initPikchrModule);
884 848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!