@bytecodealliance/jco 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/LICENSE +220 -0
  2. package/README.md +38 -14
  3. package/lib/console.js +7 -0
  4. package/obj/imports/environment.d.ts +3 -0
  5. package/obj/imports/exit.d.ts +4 -0
  6. package/obj/imports/filesystem.d.ts +152 -0
  7. package/obj/imports/preopens.d.ts +5 -0
  8. package/obj/imports/random.d.ts +3 -0
  9. package/obj/imports/stderr.d.ts +5 -0
  10. package/obj/imports/stdin.d.ts +5 -0
  11. package/obj/imports/stdout.d.ts +5 -0
  12. package/obj/imports/streams.d.ts +12 -0
  13. package/obj/imports/wall-clock.d.ts +6 -0
  14. package/{js-component-bindgen-component.core.wasm → obj/js-component-bindgen-component.core.wasm} +0 -0
  15. package/obj/js-component-bindgen-component.d.ts +60 -0
  16. package/obj/js-component-bindgen-component.js +2036 -0
  17. package/obj/wasm-tools.d.ts +53 -0
  18. package/obj/wasm-tools.js +2236 -0
  19. package/package.json +36 -6
  20. package/src/api.js +68 -0
  21. package/src/cmd/componentize.js +21 -0
  22. package/src/cmd/opt.js +151 -0
  23. package/src/cmd/transpile.js +366 -0
  24. package/src/cmd/wasm-tools.js +114 -0
  25. package/src/common.js +104 -0
  26. package/src/jco.js +129 -0
  27. package/api.d.ts +0 -109
  28. package/api.mjs +0 -46035
  29. package/cli.mjs +0 -49700
  30. package/wasm-opt +0 -2
  31. package/wasm2js +0 -2
  32. /package/{wasi_snapshot_preview1.command.wasm → lib/wasi_snapshot_preview1.command.wasm} +0 -0
  33. /package/{wasi_snapshot_preview1.reactor.wasm → lib/wasi_snapshot_preview1.reactor.wasm} +0 -0
  34. /package/{js-component-bindgen-component.core2.wasm → obj/js-component-bindgen-component.core2.wasm} +0 -0
  35. /package/{wasm-tools.core.wasm → obj/wasm-tools.core.wasm} +0 -0
  36. /package/{wasm-tools.core2.wasm → obj/wasm-tools.core2.wasm} +0 -0
@@ -0,0 +1,2236 @@
1
+ import { environment, exit as exit$1, preopens, stderr, stdin, stdout } from '@bytecodealliance/preview2-shim/cli-base';
2
+ import { filesystem } from '@bytecodealliance/preview2-shim/filesystem';
3
+ import { streams } from '@bytecodealliance/preview2-shim/io';
4
+ import { random } from '@bytecodealliance/preview2-shim/random';
5
+ const { getEnvironment } = environment;
6
+ const { exit } = exit$1;
7
+ const { getDirectories } = preopens;
8
+ const { getStderr } = stderr;
9
+ const { getStdin } = stdin;
10
+ const { getStdout } = stdout;
11
+ const { appendViaStream,
12
+ dropDescriptor,
13
+ dropDirectoryEntryStream,
14
+ getType,
15
+ openAt,
16
+ readViaStream,
17
+ stat,
18
+ writeViaStream } = filesystem;
19
+ const { blockingRead,
20
+ blockingWrite,
21
+ dropInputStream,
22
+ dropOutputStream,
23
+ read,
24
+ write } = streams;
25
+ const { getRandomBytes } = random;
26
+
27
+ const base64Compile = str => WebAssembly.compile(typeof Buffer !== 'undefined' ? Buffer.from(str, 'base64') : Uint8Array.from(atob(str), b => b.charCodeAt(0)));
28
+
29
+ class ComponentError extends Error {
30
+ constructor (value) {
31
+ const enumerable = typeof value !== 'string';
32
+ super(enumerable ? `${String(value)} (see error.payload)` : value);
33
+ Object.defineProperty(this, 'payload', { value, enumerable });
34
+ }
35
+ }
36
+
37
+ let dv = new DataView(new ArrayBuffer());
38
+ const dataView = mem => dv.buffer === mem.buffer ? dv : dv = new DataView(mem.buffer);
39
+
40
+ const isNode = typeof process !== 'undefined' && process.versions && process.versions.node;
41
+ let _fs;
42
+ async function fetchCompile (url) {
43
+ if (isNode) {
44
+ _fs = _fs || await import('fs/promises');
45
+ return WebAssembly.compile(await _fs.readFile(url));
46
+ }
47
+ return fetch(url).then(WebAssembly.compileStreaming);
48
+ }
49
+
50
+ function getErrorPayload(e) {
51
+ if (e && hasOwnProperty.call(e, 'payload')) return e.payload;
52
+ return e;
53
+ }
54
+
55
+ const hasOwnProperty = Object.prototype.hasOwnProperty;
56
+
57
+ const instantiateCore = WebAssembly.instantiate;
58
+
59
+ function throwUninitialized() {
60
+ throw new TypeError('Wasm uninitialized use `await $init` first');
61
+ }
62
+
63
+ const toUint64 = val => BigInt.asUintN(64, val);
64
+
65
+ function toUint32(val) {
66
+ return val >>> 0;
67
+ }
68
+
69
+ const utf8Decoder = new TextDecoder();
70
+
71
+ const utf8Encoder = new TextEncoder();
72
+
73
+ let utf8EncodedLen = 0;
74
+ function utf8Encode(s, realloc, memory) {
75
+ if (typeof s !== 'string') throw new TypeError('expected a string');
76
+ if (s.length === 0) {
77
+ utf8EncodedLen = 0;
78
+ return 1;
79
+ }
80
+ let allocLen = 0;
81
+ let ptr = 0;
82
+ let writtenTotal = 0;
83
+ while (s.length > 0) {
84
+ ptr = realloc(ptr, allocLen, 1, allocLen + s.length);
85
+ allocLen += s.length;
86
+ const { read, written } = utf8Encoder.encodeInto(
87
+ s,
88
+ new Uint8Array(memory.buffer, ptr + writtenTotal, allocLen - writtenTotal),
89
+ );
90
+ writtenTotal += written;
91
+ s = s.slice(read);
92
+ }
93
+ if (allocLen > writtenTotal)
94
+ ptr = realloc(ptr, allocLen, 1, writtenTotal);
95
+ utf8EncodedLen = writtenTotal;
96
+ return ptr;
97
+ }
98
+
99
+ let exports0;
100
+ let exports1;
101
+
102
+ function lowering0(arg0) {
103
+ dropDirectoryEntryStream(arg0 >>> 0);
104
+ }
105
+
106
+ function lowering1(arg0) {
107
+ dropDescriptor(arg0 >>> 0);
108
+ }
109
+
110
+ function lowering2(arg0) {
111
+ let variant0;
112
+ switch (arg0) {
113
+ case 0: {
114
+ variant0= {
115
+ tag: 'ok',
116
+ val: undefined
117
+ };
118
+ break;
119
+ }
120
+ case 1: {
121
+ variant0= {
122
+ tag: 'err',
123
+ val: undefined
124
+ };
125
+ break;
126
+ }
127
+ default: {
128
+ throw new TypeError('invalid variant discriminant for expected');
129
+ }
130
+ }
131
+ exit(variant0);
132
+ }
133
+
134
+ function lowering3() {
135
+ const ret = getStderr();
136
+ return toUint32(ret);
137
+ }
138
+
139
+ function lowering4() {
140
+ const ret = getStdin();
141
+ return toUint32(ret);
142
+ }
143
+
144
+ function lowering5() {
145
+ const ret = getStdout();
146
+ return toUint32(ret);
147
+ }
148
+
149
+ function lowering6(arg0) {
150
+ dropInputStream(arg0 >>> 0);
151
+ }
152
+
153
+ function lowering7(arg0) {
154
+ dropOutputStream(arg0 >>> 0);
155
+ }
156
+ let exports2;
157
+ let memory0;
158
+ let realloc0;
159
+
160
+ function lowering8(arg0) {
161
+ const ret = getDirectories();
162
+ const vec2 = ret;
163
+ const len2 = vec2.length;
164
+ const result2 = realloc0(0, 0, 4, len2 * 12);
165
+ for (let i = 0; i < vec2.length; i++) {
166
+ const e = vec2[i];
167
+ const base = result2 + i * 12;const [tuple0_0, tuple0_1] = e;
168
+ dataView(memory0).setInt32(base + 0, toUint32(tuple0_0), true);
169
+ const ptr1 = utf8Encode(tuple0_1, realloc0, memory0);
170
+ const len1 = utf8EncodedLen;
171
+ dataView(memory0).setInt32(base + 8, len1, true);
172
+ dataView(memory0).setInt32(base + 4, ptr1, true);
173
+ }
174
+ dataView(memory0).setInt32(arg0 + 4, len2, true);
175
+ dataView(memory0).setInt32(arg0 + 0, result2, true);
176
+ }
177
+
178
+ function lowering9(arg0, arg1, arg2) {
179
+ let ret;
180
+ try {
181
+ ret = { tag: 'ok', val: readViaStream(arg0 >>> 0, BigInt.asUintN(64, arg1)) };
182
+ } catch (e) {
183
+ ret = { tag: 'err', val: getErrorPayload(e) };
184
+ }
185
+ const variant1 = ret;
186
+ switch (variant1.tag) {
187
+ case 'ok': {
188
+ const e = variant1.val;
189
+ dataView(memory0).setInt8(arg2 + 0, 0, true);
190
+ dataView(memory0).setInt32(arg2 + 4, toUint32(e), true);
191
+ break;
192
+ }
193
+ case 'err': {
194
+ const e = variant1.val;
195
+ dataView(memory0).setInt8(arg2 + 0, 1, true);
196
+ const val0 = e;
197
+ let enum0;
198
+ switch (val0) {
199
+ case 'access': {
200
+ enum0 = 0;
201
+ break;
202
+ }
203
+ case 'would-block': {
204
+ enum0 = 1;
205
+ break;
206
+ }
207
+ case 'already': {
208
+ enum0 = 2;
209
+ break;
210
+ }
211
+ case 'bad-descriptor': {
212
+ enum0 = 3;
213
+ break;
214
+ }
215
+ case 'busy': {
216
+ enum0 = 4;
217
+ break;
218
+ }
219
+ case 'deadlock': {
220
+ enum0 = 5;
221
+ break;
222
+ }
223
+ case 'quota': {
224
+ enum0 = 6;
225
+ break;
226
+ }
227
+ case 'exist': {
228
+ enum0 = 7;
229
+ break;
230
+ }
231
+ case 'file-too-large': {
232
+ enum0 = 8;
233
+ break;
234
+ }
235
+ case 'illegal-byte-sequence': {
236
+ enum0 = 9;
237
+ break;
238
+ }
239
+ case 'in-progress': {
240
+ enum0 = 10;
241
+ break;
242
+ }
243
+ case 'interrupted': {
244
+ enum0 = 11;
245
+ break;
246
+ }
247
+ case 'invalid': {
248
+ enum0 = 12;
249
+ break;
250
+ }
251
+ case 'io': {
252
+ enum0 = 13;
253
+ break;
254
+ }
255
+ case 'is-directory': {
256
+ enum0 = 14;
257
+ break;
258
+ }
259
+ case 'loop': {
260
+ enum0 = 15;
261
+ break;
262
+ }
263
+ case 'too-many-links': {
264
+ enum0 = 16;
265
+ break;
266
+ }
267
+ case 'message-size': {
268
+ enum0 = 17;
269
+ break;
270
+ }
271
+ case 'name-too-long': {
272
+ enum0 = 18;
273
+ break;
274
+ }
275
+ case 'no-device': {
276
+ enum0 = 19;
277
+ break;
278
+ }
279
+ case 'no-entry': {
280
+ enum0 = 20;
281
+ break;
282
+ }
283
+ case 'no-lock': {
284
+ enum0 = 21;
285
+ break;
286
+ }
287
+ case 'insufficient-memory': {
288
+ enum0 = 22;
289
+ break;
290
+ }
291
+ case 'insufficient-space': {
292
+ enum0 = 23;
293
+ break;
294
+ }
295
+ case 'not-directory': {
296
+ enum0 = 24;
297
+ break;
298
+ }
299
+ case 'not-empty': {
300
+ enum0 = 25;
301
+ break;
302
+ }
303
+ case 'not-recoverable': {
304
+ enum0 = 26;
305
+ break;
306
+ }
307
+ case 'unsupported': {
308
+ enum0 = 27;
309
+ break;
310
+ }
311
+ case 'no-tty': {
312
+ enum0 = 28;
313
+ break;
314
+ }
315
+ case 'no-such-device': {
316
+ enum0 = 29;
317
+ break;
318
+ }
319
+ case 'overflow': {
320
+ enum0 = 30;
321
+ break;
322
+ }
323
+ case 'not-permitted': {
324
+ enum0 = 31;
325
+ break;
326
+ }
327
+ case 'pipe': {
328
+ enum0 = 32;
329
+ break;
330
+ }
331
+ case 'read-only': {
332
+ enum0 = 33;
333
+ break;
334
+ }
335
+ case 'invalid-seek': {
336
+ enum0 = 34;
337
+ break;
338
+ }
339
+ case 'text-file-busy': {
340
+ enum0 = 35;
341
+ break;
342
+ }
343
+ case 'cross-device': {
344
+ enum0 = 36;
345
+ break;
346
+ }
347
+ default: {
348
+ if ((e) instanceof Error) {
349
+ console.error(e);
350
+ }
351
+
352
+ throw new TypeError(`"${val0}" is not one of the cases of error-code`);
353
+ }
354
+ }
355
+ dataView(memory0).setInt8(arg2 + 4, enum0, true);
356
+ break;
357
+ }
358
+ default: {
359
+ throw new TypeError('invalid variant specified for result');
360
+ }
361
+ }
362
+ }
363
+
364
+ function lowering10(arg0, arg1, arg2) {
365
+ let ret;
366
+ try {
367
+ ret = { tag: 'ok', val: writeViaStream(arg0 >>> 0, BigInt.asUintN(64, arg1)) };
368
+ } catch (e) {
369
+ ret = { tag: 'err', val: getErrorPayload(e) };
370
+ }
371
+ const variant1 = ret;
372
+ switch (variant1.tag) {
373
+ case 'ok': {
374
+ const e = variant1.val;
375
+ dataView(memory0).setInt8(arg2 + 0, 0, true);
376
+ dataView(memory0).setInt32(arg2 + 4, toUint32(e), true);
377
+ break;
378
+ }
379
+ case 'err': {
380
+ const e = variant1.val;
381
+ dataView(memory0).setInt8(arg2 + 0, 1, true);
382
+ const val0 = e;
383
+ let enum0;
384
+ switch (val0) {
385
+ case 'access': {
386
+ enum0 = 0;
387
+ break;
388
+ }
389
+ case 'would-block': {
390
+ enum0 = 1;
391
+ break;
392
+ }
393
+ case 'already': {
394
+ enum0 = 2;
395
+ break;
396
+ }
397
+ case 'bad-descriptor': {
398
+ enum0 = 3;
399
+ break;
400
+ }
401
+ case 'busy': {
402
+ enum0 = 4;
403
+ break;
404
+ }
405
+ case 'deadlock': {
406
+ enum0 = 5;
407
+ break;
408
+ }
409
+ case 'quota': {
410
+ enum0 = 6;
411
+ break;
412
+ }
413
+ case 'exist': {
414
+ enum0 = 7;
415
+ break;
416
+ }
417
+ case 'file-too-large': {
418
+ enum0 = 8;
419
+ break;
420
+ }
421
+ case 'illegal-byte-sequence': {
422
+ enum0 = 9;
423
+ break;
424
+ }
425
+ case 'in-progress': {
426
+ enum0 = 10;
427
+ break;
428
+ }
429
+ case 'interrupted': {
430
+ enum0 = 11;
431
+ break;
432
+ }
433
+ case 'invalid': {
434
+ enum0 = 12;
435
+ break;
436
+ }
437
+ case 'io': {
438
+ enum0 = 13;
439
+ break;
440
+ }
441
+ case 'is-directory': {
442
+ enum0 = 14;
443
+ break;
444
+ }
445
+ case 'loop': {
446
+ enum0 = 15;
447
+ break;
448
+ }
449
+ case 'too-many-links': {
450
+ enum0 = 16;
451
+ break;
452
+ }
453
+ case 'message-size': {
454
+ enum0 = 17;
455
+ break;
456
+ }
457
+ case 'name-too-long': {
458
+ enum0 = 18;
459
+ break;
460
+ }
461
+ case 'no-device': {
462
+ enum0 = 19;
463
+ break;
464
+ }
465
+ case 'no-entry': {
466
+ enum0 = 20;
467
+ break;
468
+ }
469
+ case 'no-lock': {
470
+ enum0 = 21;
471
+ break;
472
+ }
473
+ case 'insufficient-memory': {
474
+ enum0 = 22;
475
+ break;
476
+ }
477
+ case 'insufficient-space': {
478
+ enum0 = 23;
479
+ break;
480
+ }
481
+ case 'not-directory': {
482
+ enum0 = 24;
483
+ break;
484
+ }
485
+ case 'not-empty': {
486
+ enum0 = 25;
487
+ break;
488
+ }
489
+ case 'not-recoverable': {
490
+ enum0 = 26;
491
+ break;
492
+ }
493
+ case 'unsupported': {
494
+ enum0 = 27;
495
+ break;
496
+ }
497
+ case 'no-tty': {
498
+ enum0 = 28;
499
+ break;
500
+ }
501
+ case 'no-such-device': {
502
+ enum0 = 29;
503
+ break;
504
+ }
505
+ case 'overflow': {
506
+ enum0 = 30;
507
+ break;
508
+ }
509
+ case 'not-permitted': {
510
+ enum0 = 31;
511
+ break;
512
+ }
513
+ case 'pipe': {
514
+ enum0 = 32;
515
+ break;
516
+ }
517
+ case 'read-only': {
518
+ enum0 = 33;
519
+ break;
520
+ }
521
+ case 'invalid-seek': {
522
+ enum0 = 34;
523
+ break;
524
+ }
525
+ case 'text-file-busy': {
526
+ enum0 = 35;
527
+ break;
528
+ }
529
+ case 'cross-device': {
530
+ enum0 = 36;
531
+ break;
532
+ }
533
+ default: {
534
+ if ((e) instanceof Error) {
535
+ console.error(e);
536
+ }
537
+
538
+ throw new TypeError(`"${val0}" is not one of the cases of error-code`);
539
+ }
540
+ }
541
+ dataView(memory0).setInt8(arg2 + 4, enum0, true);
542
+ break;
543
+ }
544
+ default: {
545
+ throw new TypeError('invalid variant specified for result');
546
+ }
547
+ }
548
+ }
549
+
550
+ function lowering11(arg0, arg1) {
551
+ let ret;
552
+ try {
553
+ ret = { tag: 'ok', val: appendViaStream(arg0 >>> 0) };
554
+ } catch (e) {
555
+ ret = { tag: 'err', val: getErrorPayload(e) };
556
+ }
557
+ const variant1 = ret;
558
+ switch (variant1.tag) {
559
+ case 'ok': {
560
+ const e = variant1.val;
561
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
562
+ dataView(memory0).setInt32(arg1 + 4, toUint32(e), true);
563
+ break;
564
+ }
565
+ case 'err': {
566
+ const e = variant1.val;
567
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
568
+ const val0 = e;
569
+ let enum0;
570
+ switch (val0) {
571
+ case 'access': {
572
+ enum0 = 0;
573
+ break;
574
+ }
575
+ case 'would-block': {
576
+ enum0 = 1;
577
+ break;
578
+ }
579
+ case 'already': {
580
+ enum0 = 2;
581
+ break;
582
+ }
583
+ case 'bad-descriptor': {
584
+ enum0 = 3;
585
+ break;
586
+ }
587
+ case 'busy': {
588
+ enum0 = 4;
589
+ break;
590
+ }
591
+ case 'deadlock': {
592
+ enum0 = 5;
593
+ break;
594
+ }
595
+ case 'quota': {
596
+ enum0 = 6;
597
+ break;
598
+ }
599
+ case 'exist': {
600
+ enum0 = 7;
601
+ break;
602
+ }
603
+ case 'file-too-large': {
604
+ enum0 = 8;
605
+ break;
606
+ }
607
+ case 'illegal-byte-sequence': {
608
+ enum0 = 9;
609
+ break;
610
+ }
611
+ case 'in-progress': {
612
+ enum0 = 10;
613
+ break;
614
+ }
615
+ case 'interrupted': {
616
+ enum0 = 11;
617
+ break;
618
+ }
619
+ case 'invalid': {
620
+ enum0 = 12;
621
+ break;
622
+ }
623
+ case 'io': {
624
+ enum0 = 13;
625
+ break;
626
+ }
627
+ case 'is-directory': {
628
+ enum0 = 14;
629
+ break;
630
+ }
631
+ case 'loop': {
632
+ enum0 = 15;
633
+ break;
634
+ }
635
+ case 'too-many-links': {
636
+ enum0 = 16;
637
+ break;
638
+ }
639
+ case 'message-size': {
640
+ enum0 = 17;
641
+ break;
642
+ }
643
+ case 'name-too-long': {
644
+ enum0 = 18;
645
+ break;
646
+ }
647
+ case 'no-device': {
648
+ enum0 = 19;
649
+ break;
650
+ }
651
+ case 'no-entry': {
652
+ enum0 = 20;
653
+ break;
654
+ }
655
+ case 'no-lock': {
656
+ enum0 = 21;
657
+ break;
658
+ }
659
+ case 'insufficient-memory': {
660
+ enum0 = 22;
661
+ break;
662
+ }
663
+ case 'insufficient-space': {
664
+ enum0 = 23;
665
+ break;
666
+ }
667
+ case 'not-directory': {
668
+ enum0 = 24;
669
+ break;
670
+ }
671
+ case 'not-empty': {
672
+ enum0 = 25;
673
+ break;
674
+ }
675
+ case 'not-recoverable': {
676
+ enum0 = 26;
677
+ break;
678
+ }
679
+ case 'unsupported': {
680
+ enum0 = 27;
681
+ break;
682
+ }
683
+ case 'no-tty': {
684
+ enum0 = 28;
685
+ break;
686
+ }
687
+ case 'no-such-device': {
688
+ enum0 = 29;
689
+ break;
690
+ }
691
+ case 'overflow': {
692
+ enum0 = 30;
693
+ break;
694
+ }
695
+ case 'not-permitted': {
696
+ enum0 = 31;
697
+ break;
698
+ }
699
+ case 'pipe': {
700
+ enum0 = 32;
701
+ break;
702
+ }
703
+ case 'read-only': {
704
+ enum0 = 33;
705
+ break;
706
+ }
707
+ case 'invalid-seek': {
708
+ enum0 = 34;
709
+ break;
710
+ }
711
+ case 'text-file-busy': {
712
+ enum0 = 35;
713
+ break;
714
+ }
715
+ case 'cross-device': {
716
+ enum0 = 36;
717
+ break;
718
+ }
719
+ default: {
720
+ if ((e) instanceof Error) {
721
+ console.error(e);
722
+ }
723
+
724
+ throw new TypeError(`"${val0}" is not one of the cases of error-code`);
725
+ }
726
+ }
727
+ dataView(memory0).setInt8(arg1 + 4, enum0, true);
728
+ break;
729
+ }
730
+ default: {
731
+ throw new TypeError('invalid variant specified for result');
732
+ }
733
+ }
734
+ }
735
+
736
+ function lowering12(arg0, arg1) {
737
+ let ret;
738
+ try {
739
+ ret = { tag: 'ok', val: getType(arg0 >>> 0) };
740
+ } catch (e) {
741
+ ret = { tag: 'err', val: getErrorPayload(e) };
742
+ }
743
+ const variant2 = ret;
744
+ switch (variant2.tag) {
745
+ case 'ok': {
746
+ const e = variant2.val;
747
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
748
+ const val0 = e;
749
+ let enum0;
750
+ switch (val0) {
751
+ case 'unknown': {
752
+ enum0 = 0;
753
+ break;
754
+ }
755
+ case 'block-device': {
756
+ enum0 = 1;
757
+ break;
758
+ }
759
+ case 'character-device': {
760
+ enum0 = 2;
761
+ break;
762
+ }
763
+ case 'directory': {
764
+ enum0 = 3;
765
+ break;
766
+ }
767
+ case 'fifo': {
768
+ enum0 = 4;
769
+ break;
770
+ }
771
+ case 'symbolic-link': {
772
+ enum0 = 5;
773
+ break;
774
+ }
775
+ case 'regular-file': {
776
+ enum0 = 6;
777
+ break;
778
+ }
779
+ case 'socket': {
780
+ enum0 = 7;
781
+ break;
782
+ }
783
+ default: {
784
+ if ((e) instanceof Error) {
785
+ console.error(e);
786
+ }
787
+
788
+ throw new TypeError(`"${val0}" is not one of the cases of descriptor-type`);
789
+ }
790
+ }
791
+ dataView(memory0).setInt8(arg1 + 1, enum0, true);
792
+ break;
793
+ }
794
+ case 'err': {
795
+ const e = variant2.val;
796
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
797
+ const val1 = e;
798
+ let enum1;
799
+ switch (val1) {
800
+ case 'access': {
801
+ enum1 = 0;
802
+ break;
803
+ }
804
+ case 'would-block': {
805
+ enum1 = 1;
806
+ break;
807
+ }
808
+ case 'already': {
809
+ enum1 = 2;
810
+ break;
811
+ }
812
+ case 'bad-descriptor': {
813
+ enum1 = 3;
814
+ break;
815
+ }
816
+ case 'busy': {
817
+ enum1 = 4;
818
+ break;
819
+ }
820
+ case 'deadlock': {
821
+ enum1 = 5;
822
+ break;
823
+ }
824
+ case 'quota': {
825
+ enum1 = 6;
826
+ break;
827
+ }
828
+ case 'exist': {
829
+ enum1 = 7;
830
+ break;
831
+ }
832
+ case 'file-too-large': {
833
+ enum1 = 8;
834
+ break;
835
+ }
836
+ case 'illegal-byte-sequence': {
837
+ enum1 = 9;
838
+ break;
839
+ }
840
+ case 'in-progress': {
841
+ enum1 = 10;
842
+ break;
843
+ }
844
+ case 'interrupted': {
845
+ enum1 = 11;
846
+ break;
847
+ }
848
+ case 'invalid': {
849
+ enum1 = 12;
850
+ break;
851
+ }
852
+ case 'io': {
853
+ enum1 = 13;
854
+ break;
855
+ }
856
+ case 'is-directory': {
857
+ enum1 = 14;
858
+ break;
859
+ }
860
+ case 'loop': {
861
+ enum1 = 15;
862
+ break;
863
+ }
864
+ case 'too-many-links': {
865
+ enum1 = 16;
866
+ break;
867
+ }
868
+ case 'message-size': {
869
+ enum1 = 17;
870
+ break;
871
+ }
872
+ case 'name-too-long': {
873
+ enum1 = 18;
874
+ break;
875
+ }
876
+ case 'no-device': {
877
+ enum1 = 19;
878
+ break;
879
+ }
880
+ case 'no-entry': {
881
+ enum1 = 20;
882
+ break;
883
+ }
884
+ case 'no-lock': {
885
+ enum1 = 21;
886
+ break;
887
+ }
888
+ case 'insufficient-memory': {
889
+ enum1 = 22;
890
+ break;
891
+ }
892
+ case 'insufficient-space': {
893
+ enum1 = 23;
894
+ break;
895
+ }
896
+ case 'not-directory': {
897
+ enum1 = 24;
898
+ break;
899
+ }
900
+ case 'not-empty': {
901
+ enum1 = 25;
902
+ break;
903
+ }
904
+ case 'not-recoverable': {
905
+ enum1 = 26;
906
+ break;
907
+ }
908
+ case 'unsupported': {
909
+ enum1 = 27;
910
+ break;
911
+ }
912
+ case 'no-tty': {
913
+ enum1 = 28;
914
+ break;
915
+ }
916
+ case 'no-such-device': {
917
+ enum1 = 29;
918
+ break;
919
+ }
920
+ case 'overflow': {
921
+ enum1 = 30;
922
+ break;
923
+ }
924
+ case 'not-permitted': {
925
+ enum1 = 31;
926
+ break;
927
+ }
928
+ case 'pipe': {
929
+ enum1 = 32;
930
+ break;
931
+ }
932
+ case 'read-only': {
933
+ enum1 = 33;
934
+ break;
935
+ }
936
+ case 'invalid-seek': {
937
+ enum1 = 34;
938
+ break;
939
+ }
940
+ case 'text-file-busy': {
941
+ enum1 = 35;
942
+ break;
943
+ }
944
+ case 'cross-device': {
945
+ enum1 = 36;
946
+ break;
947
+ }
948
+ default: {
949
+ if ((e) instanceof Error) {
950
+ console.error(e);
951
+ }
952
+
953
+ throw new TypeError(`"${val1}" is not one of the cases of error-code`);
954
+ }
955
+ }
956
+ dataView(memory0).setInt8(arg1 + 1, enum1, true);
957
+ break;
958
+ }
959
+ default: {
960
+ throw new TypeError('invalid variant specified for result');
961
+ }
962
+ }
963
+ }
964
+
965
+ function lowering13(arg0, arg1) {
966
+ let ret;
967
+ try {
968
+ ret = { tag: 'ok', val: stat(arg0 >>> 0) };
969
+ } catch (e) {
970
+ ret = { tag: 'err', val: getErrorPayload(e) };
971
+ }
972
+ const variant6 = ret;
973
+ switch (variant6.tag) {
974
+ case 'ok': {
975
+ const e = variant6.val;
976
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
977
+ const {device: v0_0, inode: v0_1, type: v0_2, linkCount: v0_3, size: v0_4, dataAccessTimestamp: v0_5, dataModificationTimestamp: v0_6, statusChangeTimestamp: v0_7 } = e;
978
+ dataView(memory0).setBigInt64(arg1 + 8, toUint64(v0_0), true);
979
+ dataView(memory0).setBigInt64(arg1 + 16, toUint64(v0_1), true);
980
+ const val1 = v0_2;
981
+ let enum1;
982
+ switch (val1) {
983
+ case 'unknown': {
984
+ enum1 = 0;
985
+ break;
986
+ }
987
+ case 'block-device': {
988
+ enum1 = 1;
989
+ break;
990
+ }
991
+ case 'character-device': {
992
+ enum1 = 2;
993
+ break;
994
+ }
995
+ case 'directory': {
996
+ enum1 = 3;
997
+ break;
998
+ }
999
+ case 'fifo': {
1000
+ enum1 = 4;
1001
+ break;
1002
+ }
1003
+ case 'symbolic-link': {
1004
+ enum1 = 5;
1005
+ break;
1006
+ }
1007
+ case 'regular-file': {
1008
+ enum1 = 6;
1009
+ break;
1010
+ }
1011
+ case 'socket': {
1012
+ enum1 = 7;
1013
+ break;
1014
+ }
1015
+ default: {
1016
+ if ((v0_2) instanceof Error) {
1017
+ console.error(v0_2);
1018
+ }
1019
+
1020
+ throw new TypeError(`"${val1}" is not one of the cases of descriptor-type`);
1021
+ }
1022
+ }
1023
+ dataView(memory0).setInt8(arg1 + 24, enum1, true);
1024
+ dataView(memory0).setBigInt64(arg1 + 32, toUint64(v0_3), true);
1025
+ dataView(memory0).setBigInt64(arg1 + 40, toUint64(v0_4), true);
1026
+ const {seconds: v2_0, nanoseconds: v2_1 } = v0_5;
1027
+ dataView(memory0).setBigInt64(arg1 + 48, toUint64(v2_0), true);
1028
+ dataView(memory0).setInt32(arg1 + 56, toUint32(v2_1), true);
1029
+ const {seconds: v3_0, nanoseconds: v3_1 } = v0_6;
1030
+ dataView(memory0).setBigInt64(arg1 + 64, toUint64(v3_0), true);
1031
+ dataView(memory0).setInt32(arg1 + 72, toUint32(v3_1), true);
1032
+ const {seconds: v4_0, nanoseconds: v4_1 } = v0_7;
1033
+ dataView(memory0).setBigInt64(arg1 + 80, toUint64(v4_0), true);
1034
+ dataView(memory0).setInt32(arg1 + 88, toUint32(v4_1), true);
1035
+ break;
1036
+ }
1037
+ case 'err': {
1038
+ const e = variant6.val;
1039
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
1040
+ const val5 = e;
1041
+ let enum5;
1042
+ switch (val5) {
1043
+ case 'access': {
1044
+ enum5 = 0;
1045
+ break;
1046
+ }
1047
+ case 'would-block': {
1048
+ enum5 = 1;
1049
+ break;
1050
+ }
1051
+ case 'already': {
1052
+ enum5 = 2;
1053
+ break;
1054
+ }
1055
+ case 'bad-descriptor': {
1056
+ enum5 = 3;
1057
+ break;
1058
+ }
1059
+ case 'busy': {
1060
+ enum5 = 4;
1061
+ break;
1062
+ }
1063
+ case 'deadlock': {
1064
+ enum5 = 5;
1065
+ break;
1066
+ }
1067
+ case 'quota': {
1068
+ enum5 = 6;
1069
+ break;
1070
+ }
1071
+ case 'exist': {
1072
+ enum5 = 7;
1073
+ break;
1074
+ }
1075
+ case 'file-too-large': {
1076
+ enum5 = 8;
1077
+ break;
1078
+ }
1079
+ case 'illegal-byte-sequence': {
1080
+ enum5 = 9;
1081
+ break;
1082
+ }
1083
+ case 'in-progress': {
1084
+ enum5 = 10;
1085
+ break;
1086
+ }
1087
+ case 'interrupted': {
1088
+ enum5 = 11;
1089
+ break;
1090
+ }
1091
+ case 'invalid': {
1092
+ enum5 = 12;
1093
+ break;
1094
+ }
1095
+ case 'io': {
1096
+ enum5 = 13;
1097
+ break;
1098
+ }
1099
+ case 'is-directory': {
1100
+ enum5 = 14;
1101
+ break;
1102
+ }
1103
+ case 'loop': {
1104
+ enum5 = 15;
1105
+ break;
1106
+ }
1107
+ case 'too-many-links': {
1108
+ enum5 = 16;
1109
+ break;
1110
+ }
1111
+ case 'message-size': {
1112
+ enum5 = 17;
1113
+ break;
1114
+ }
1115
+ case 'name-too-long': {
1116
+ enum5 = 18;
1117
+ break;
1118
+ }
1119
+ case 'no-device': {
1120
+ enum5 = 19;
1121
+ break;
1122
+ }
1123
+ case 'no-entry': {
1124
+ enum5 = 20;
1125
+ break;
1126
+ }
1127
+ case 'no-lock': {
1128
+ enum5 = 21;
1129
+ break;
1130
+ }
1131
+ case 'insufficient-memory': {
1132
+ enum5 = 22;
1133
+ break;
1134
+ }
1135
+ case 'insufficient-space': {
1136
+ enum5 = 23;
1137
+ break;
1138
+ }
1139
+ case 'not-directory': {
1140
+ enum5 = 24;
1141
+ break;
1142
+ }
1143
+ case 'not-empty': {
1144
+ enum5 = 25;
1145
+ break;
1146
+ }
1147
+ case 'not-recoverable': {
1148
+ enum5 = 26;
1149
+ break;
1150
+ }
1151
+ case 'unsupported': {
1152
+ enum5 = 27;
1153
+ break;
1154
+ }
1155
+ case 'no-tty': {
1156
+ enum5 = 28;
1157
+ break;
1158
+ }
1159
+ case 'no-such-device': {
1160
+ enum5 = 29;
1161
+ break;
1162
+ }
1163
+ case 'overflow': {
1164
+ enum5 = 30;
1165
+ break;
1166
+ }
1167
+ case 'not-permitted': {
1168
+ enum5 = 31;
1169
+ break;
1170
+ }
1171
+ case 'pipe': {
1172
+ enum5 = 32;
1173
+ break;
1174
+ }
1175
+ case 'read-only': {
1176
+ enum5 = 33;
1177
+ break;
1178
+ }
1179
+ case 'invalid-seek': {
1180
+ enum5 = 34;
1181
+ break;
1182
+ }
1183
+ case 'text-file-busy': {
1184
+ enum5 = 35;
1185
+ break;
1186
+ }
1187
+ case 'cross-device': {
1188
+ enum5 = 36;
1189
+ break;
1190
+ }
1191
+ default: {
1192
+ if ((e) instanceof Error) {
1193
+ console.error(e);
1194
+ }
1195
+
1196
+ throw new TypeError(`"${val5}" is not one of the cases of error-code`);
1197
+ }
1198
+ }
1199
+ dataView(memory0).setInt8(arg1 + 8, enum5, true);
1200
+ break;
1201
+ }
1202
+ default: {
1203
+ throw new TypeError('invalid variant specified for result');
1204
+ }
1205
+ }
1206
+ }
1207
+
1208
+ function lowering14(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {
1209
+ if ((arg1 & 4294967294) !== 0) {
1210
+ throw new TypeError('flags have extraneous bits set');
1211
+ }
1212
+ const flags0 = {
1213
+ symlinkFollow: Boolean(arg1 & 1),
1214
+ };
1215
+ const ptr1 = arg2;
1216
+ const len1 = arg3;
1217
+ const result1 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr1, len1));
1218
+ if ((arg4 & 4294967280) !== 0) {
1219
+ throw new TypeError('flags have extraneous bits set');
1220
+ }
1221
+ const flags2 = {
1222
+ create: Boolean(arg4 & 1),
1223
+ directory: Boolean(arg4 & 2),
1224
+ exclusive: Boolean(arg4 & 4),
1225
+ truncate: Boolean(arg4 & 8),
1226
+ };
1227
+ if ((arg5 & 4294967232) !== 0) {
1228
+ throw new TypeError('flags have extraneous bits set');
1229
+ }
1230
+ const flags3 = {
1231
+ read: Boolean(arg5 & 1),
1232
+ write: Boolean(arg5 & 2),
1233
+ fileIntegritySync: Boolean(arg5 & 4),
1234
+ dataIntegritySync: Boolean(arg5 & 8),
1235
+ requestedWriteSync: Boolean(arg5 & 16),
1236
+ mutateDirectory: Boolean(arg5 & 32),
1237
+ };
1238
+ if ((arg6 & 4294967288) !== 0) {
1239
+ throw new TypeError('flags have extraneous bits set');
1240
+ }
1241
+ const flags4 = {
1242
+ readable: Boolean(arg6 & 1),
1243
+ writable: Boolean(arg6 & 2),
1244
+ executable: Boolean(arg6 & 4),
1245
+ };
1246
+ let ret;
1247
+ try {
1248
+ ret = { tag: 'ok', val: openAt(arg0 >>> 0, flags0, result1, flags2, flags3, flags4) };
1249
+ } catch (e) {
1250
+ ret = { tag: 'err', val: getErrorPayload(e) };
1251
+ }
1252
+ const variant6 = ret;
1253
+ switch (variant6.tag) {
1254
+ case 'ok': {
1255
+ const e = variant6.val;
1256
+ dataView(memory0).setInt8(arg7 + 0, 0, true);
1257
+ dataView(memory0).setInt32(arg7 + 4, toUint32(e), true);
1258
+ break;
1259
+ }
1260
+ case 'err': {
1261
+ const e = variant6.val;
1262
+ dataView(memory0).setInt8(arg7 + 0, 1, true);
1263
+ const val5 = e;
1264
+ let enum5;
1265
+ switch (val5) {
1266
+ case 'access': {
1267
+ enum5 = 0;
1268
+ break;
1269
+ }
1270
+ case 'would-block': {
1271
+ enum5 = 1;
1272
+ break;
1273
+ }
1274
+ case 'already': {
1275
+ enum5 = 2;
1276
+ break;
1277
+ }
1278
+ case 'bad-descriptor': {
1279
+ enum5 = 3;
1280
+ break;
1281
+ }
1282
+ case 'busy': {
1283
+ enum5 = 4;
1284
+ break;
1285
+ }
1286
+ case 'deadlock': {
1287
+ enum5 = 5;
1288
+ break;
1289
+ }
1290
+ case 'quota': {
1291
+ enum5 = 6;
1292
+ break;
1293
+ }
1294
+ case 'exist': {
1295
+ enum5 = 7;
1296
+ break;
1297
+ }
1298
+ case 'file-too-large': {
1299
+ enum5 = 8;
1300
+ break;
1301
+ }
1302
+ case 'illegal-byte-sequence': {
1303
+ enum5 = 9;
1304
+ break;
1305
+ }
1306
+ case 'in-progress': {
1307
+ enum5 = 10;
1308
+ break;
1309
+ }
1310
+ case 'interrupted': {
1311
+ enum5 = 11;
1312
+ break;
1313
+ }
1314
+ case 'invalid': {
1315
+ enum5 = 12;
1316
+ break;
1317
+ }
1318
+ case 'io': {
1319
+ enum5 = 13;
1320
+ break;
1321
+ }
1322
+ case 'is-directory': {
1323
+ enum5 = 14;
1324
+ break;
1325
+ }
1326
+ case 'loop': {
1327
+ enum5 = 15;
1328
+ break;
1329
+ }
1330
+ case 'too-many-links': {
1331
+ enum5 = 16;
1332
+ break;
1333
+ }
1334
+ case 'message-size': {
1335
+ enum5 = 17;
1336
+ break;
1337
+ }
1338
+ case 'name-too-long': {
1339
+ enum5 = 18;
1340
+ break;
1341
+ }
1342
+ case 'no-device': {
1343
+ enum5 = 19;
1344
+ break;
1345
+ }
1346
+ case 'no-entry': {
1347
+ enum5 = 20;
1348
+ break;
1349
+ }
1350
+ case 'no-lock': {
1351
+ enum5 = 21;
1352
+ break;
1353
+ }
1354
+ case 'insufficient-memory': {
1355
+ enum5 = 22;
1356
+ break;
1357
+ }
1358
+ case 'insufficient-space': {
1359
+ enum5 = 23;
1360
+ break;
1361
+ }
1362
+ case 'not-directory': {
1363
+ enum5 = 24;
1364
+ break;
1365
+ }
1366
+ case 'not-empty': {
1367
+ enum5 = 25;
1368
+ break;
1369
+ }
1370
+ case 'not-recoverable': {
1371
+ enum5 = 26;
1372
+ break;
1373
+ }
1374
+ case 'unsupported': {
1375
+ enum5 = 27;
1376
+ break;
1377
+ }
1378
+ case 'no-tty': {
1379
+ enum5 = 28;
1380
+ break;
1381
+ }
1382
+ case 'no-such-device': {
1383
+ enum5 = 29;
1384
+ break;
1385
+ }
1386
+ case 'overflow': {
1387
+ enum5 = 30;
1388
+ break;
1389
+ }
1390
+ case 'not-permitted': {
1391
+ enum5 = 31;
1392
+ break;
1393
+ }
1394
+ case 'pipe': {
1395
+ enum5 = 32;
1396
+ break;
1397
+ }
1398
+ case 'read-only': {
1399
+ enum5 = 33;
1400
+ break;
1401
+ }
1402
+ case 'invalid-seek': {
1403
+ enum5 = 34;
1404
+ break;
1405
+ }
1406
+ case 'text-file-busy': {
1407
+ enum5 = 35;
1408
+ break;
1409
+ }
1410
+ case 'cross-device': {
1411
+ enum5 = 36;
1412
+ break;
1413
+ }
1414
+ default: {
1415
+ if ((e) instanceof Error) {
1416
+ console.error(e);
1417
+ }
1418
+
1419
+ throw new TypeError(`"${val5}" is not one of the cases of error-code`);
1420
+ }
1421
+ }
1422
+ dataView(memory0).setInt8(arg7 + 4, enum5, true);
1423
+ break;
1424
+ }
1425
+ default: {
1426
+ throw new TypeError('invalid variant specified for result');
1427
+ }
1428
+ }
1429
+ }
1430
+
1431
+ function lowering15(arg0, arg1) {
1432
+ const ret = getRandomBytes(BigInt.asUintN(64, arg0));
1433
+ const val0 = ret;
1434
+ const len0 = val0.byteLength;
1435
+ const ptr0 = realloc0(0, 0, 1, len0 * 1);
1436
+ const src0 = new Uint8Array(val0.buffer || val0, val0.byteOffset, len0 * 1);
1437
+ (new Uint8Array(memory0.buffer, ptr0, len0 * 1)).set(src0);
1438
+ dataView(memory0).setInt32(arg1 + 4, len0, true);
1439
+ dataView(memory0).setInt32(arg1 + 0, ptr0, true);
1440
+ }
1441
+
1442
+ function lowering16(arg0) {
1443
+ const ret = getEnvironment();
1444
+ const vec3 = ret;
1445
+ const len3 = vec3.length;
1446
+ const result3 = realloc0(0, 0, 4, len3 * 16);
1447
+ for (let i = 0; i < vec3.length; i++) {
1448
+ const e = vec3[i];
1449
+ const base = result3 + i * 16;const [tuple0_0, tuple0_1] = e;
1450
+ const ptr1 = utf8Encode(tuple0_0, realloc0, memory0);
1451
+ const len1 = utf8EncodedLen;
1452
+ dataView(memory0).setInt32(base + 4, len1, true);
1453
+ dataView(memory0).setInt32(base + 0, ptr1, true);
1454
+ const ptr2 = utf8Encode(tuple0_1, realloc0, memory0);
1455
+ const len2 = utf8EncodedLen;
1456
+ dataView(memory0).setInt32(base + 12, len2, true);
1457
+ dataView(memory0).setInt32(base + 8, ptr2, true);
1458
+ }
1459
+ dataView(memory0).setInt32(arg0 + 4, len3, true);
1460
+ dataView(memory0).setInt32(arg0 + 0, result3, true);
1461
+ }
1462
+
1463
+ function lowering17(arg0, arg1, arg2) {
1464
+ let ret;
1465
+ try {
1466
+ ret = { tag: 'ok', val: read(arg0 >>> 0, BigInt.asUintN(64, arg1)) };
1467
+ } catch (e) {
1468
+ ret = { tag: 'err', val: getErrorPayload(e) };
1469
+ }
1470
+ const variant3 = ret;
1471
+ switch (variant3.tag) {
1472
+ case 'ok': {
1473
+ const e = variant3.val;
1474
+ dataView(memory0).setInt8(arg2 + 0, 0, true);
1475
+ const [tuple0_0, tuple0_1] = e;
1476
+ const val1 = tuple0_0;
1477
+ const len1 = val1.byteLength;
1478
+ const ptr1 = realloc0(0, 0, 1, len1 * 1);
1479
+ const src1 = new Uint8Array(val1.buffer || val1, val1.byteOffset, len1 * 1);
1480
+ (new Uint8Array(memory0.buffer, ptr1, len1 * 1)).set(src1);
1481
+ dataView(memory0).setInt32(arg2 + 8, len1, true);
1482
+ dataView(memory0).setInt32(arg2 + 4, ptr1, true);
1483
+ dataView(memory0).setInt8(arg2 + 12, tuple0_1 ? 1 : 0, true);
1484
+ break;
1485
+ }
1486
+ case 'err': {
1487
+ const e = variant3.val;
1488
+ dataView(memory0).setInt8(arg2 + 0, 1, true);
1489
+ const { } = e;
1490
+ break;
1491
+ }
1492
+ default: {
1493
+ throw new TypeError('invalid variant specified for result');
1494
+ }
1495
+ }
1496
+ }
1497
+
1498
+ function lowering18(arg0, arg1, arg2) {
1499
+ let ret;
1500
+ try {
1501
+ ret = { tag: 'ok', val: blockingRead(arg0 >>> 0, BigInt.asUintN(64, arg1)) };
1502
+ } catch (e) {
1503
+ ret = { tag: 'err', val: getErrorPayload(e) };
1504
+ }
1505
+ const variant3 = ret;
1506
+ switch (variant3.tag) {
1507
+ case 'ok': {
1508
+ const e = variant3.val;
1509
+ dataView(memory0).setInt8(arg2 + 0, 0, true);
1510
+ const [tuple0_0, tuple0_1] = e;
1511
+ const val1 = tuple0_0;
1512
+ const len1 = val1.byteLength;
1513
+ const ptr1 = realloc0(0, 0, 1, len1 * 1);
1514
+ const src1 = new Uint8Array(val1.buffer || val1, val1.byteOffset, len1 * 1);
1515
+ (new Uint8Array(memory0.buffer, ptr1, len1 * 1)).set(src1);
1516
+ dataView(memory0).setInt32(arg2 + 8, len1, true);
1517
+ dataView(memory0).setInt32(arg2 + 4, ptr1, true);
1518
+ dataView(memory0).setInt8(arg2 + 12, tuple0_1 ? 1 : 0, true);
1519
+ break;
1520
+ }
1521
+ case 'err': {
1522
+ const e = variant3.val;
1523
+ dataView(memory0).setInt8(arg2 + 0, 1, true);
1524
+ const { } = e;
1525
+ break;
1526
+ }
1527
+ default: {
1528
+ throw new TypeError('invalid variant specified for result');
1529
+ }
1530
+ }
1531
+ }
1532
+
1533
+ function lowering19(arg0, arg1, arg2, arg3) {
1534
+ const ptr0 = arg1;
1535
+ const len0 = arg2;
1536
+ const result0 = new Uint8Array(memory0.buffer.slice(ptr0, ptr0 + len0 * 1));
1537
+ let ret;
1538
+ try {
1539
+ ret = { tag: 'ok', val: write(arg0 >>> 0, result0) };
1540
+ } catch (e) {
1541
+ ret = { tag: 'err', val: getErrorPayload(e) };
1542
+ }
1543
+ const variant2 = ret;
1544
+ switch (variant2.tag) {
1545
+ case 'ok': {
1546
+ const e = variant2.val;
1547
+ dataView(memory0).setInt8(arg3 + 0, 0, true);
1548
+ dataView(memory0).setBigInt64(arg3 + 8, toUint64(e), true);
1549
+ break;
1550
+ }
1551
+ case 'err': {
1552
+ const e = variant2.val;
1553
+ dataView(memory0).setInt8(arg3 + 0, 1, true);
1554
+ const { } = e;
1555
+ break;
1556
+ }
1557
+ default: {
1558
+ throw new TypeError('invalid variant specified for result');
1559
+ }
1560
+ }
1561
+ }
1562
+
1563
+ function lowering20(arg0, arg1, arg2, arg3) {
1564
+ const ptr0 = arg1;
1565
+ const len0 = arg2;
1566
+ const result0 = new Uint8Array(memory0.buffer.slice(ptr0, ptr0 + len0 * 1));
1567
+ let ret;
1568
+ try {
1569
+ ret = { tag: 'ok', val: blockingWrite(arg0 >>> 0, result0) };
1570
+ } catch (e) {
1571
+ ret = { tag: 'err', val: getErrorPayload(e) };
1572
+ }
1573
+ const variant2 = ret;
1574
+ switch (variant2.tag) {
1575
+ case 'ok': {
1576
+ const e = variant2.val;
1577
+ dataView(memory0).setInt8(arg3 + 0, 0, true);
1578
+ dataView(memory0).setBigInt64(arg3 + 8, toUint64(e), true);
1579
+ break;
1580
+ }
1581
+ case 'err': {
1582
+ const e = variant2.val;
1583
+ dataView(memory0).setInt8(arg3 + 0, 1, true);
1584
+ const { } = e;
1585
+ break;
1586
+ }
1587
+ default: {
1588
+ throw new TypeError('invalid variant specified for result');
1589
+ }
1590
+ }
1591
+ }
1592
+ let exports3;
1593
+ let realloc1;
1594
+ let postReturn0;
1595
+ let postReturn1;
1596
+
1597
+ function parse(arg0) {
1598
+ if (!_initialized) throwUninitialized();
1599
+ const ptr0 = utf8Encode(arg0, realloc1, memory0);
1600
+ const len0 = utf8EncodedLen;
1601
+ const ret = exports1.parse(ptr0, len0);
1602
+ let variant3;
1603
+ switch (dataView(memory0).getUint8(ret + 0, true)) {
1604
+ case 0: {
1605
+ const ptr1 = dataView(memory0).getInt32(ret + 4, true);
1606
+ const len1 = dataView(memory0).getInt32(ret + 8, true);
1607
+ const result1 = new Uint8Array(memory0.buffer.slice(ptr1, ptr1 + len1 * 1));
1608
+ variant3= {
1609
+ tag: 'ok',
1610
+ val: result1
1611
+ };
1612
+ break;
1613
+ }
1614
+ case 1: {
1615
+ const ptr2 = dataView(memory0).getInt32(ret + 4, true);
1616
+ const len2 = dataView(memory0).getInt32(ret + 8, true);
1617
+ const result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
1618
+ variant3= {
1619
+ tag: 'err',
1620
+ val: result2
1621
+ };
1622
+ break;
1623
+ }
1624
+ default: {
1625
+ throw new TypeError('invalid variant discriminant for expected');
1626
+ }
1627
+ }
1628
+ postReturn0(ret);
1629
+ if (variant3.tag === 'err') {
1630
+ throw new ComponentError(variant3.val);
1631
+ }
1632
+ return variant3.val;
1633
+ }
1634
+
1635
+ function print(arg0) {
1636
+ if (!_initialized) throwUninitialized();
1637
+ const val0 = arg0;
1638
+ const len0 = val0.byteLength;
1639
+ const ptr0 = realloc1(0, 0, 1, len0 * 1);
1640
+ const src0 = new Uint8Array(val0.buffer || val0, val0.byteOffset, len0 * 1);
1641
+ (new Uint8Array(memory0.buffer, ptr0, len0 * 1)).set(src0);
1642
+ const ret = exports1.print(ptr0, len0);
1643
+ let variant3;
1644
+ switch (dataView(memory0).getUint8(ret + 0, true)) {
1645
+ case 0: {
1646
+ const ptr1 = dataView(memory0).getInt32(ret + 4, true);
1647
+ const len1 = dataView(memory0).getInt32(ret + 8, true);
1648
+ const result1 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr1, len1));
1649
+ variant3= {
1650
+ tag: 'ok',
1651
+ val: result1
1652
+ };
1653
+ break;
1654
+ }
1655
+ case 1: {
1656
+ const ptr2 = dataView(memory0).getInt32(ret + 4, true);
1657
+ const len2 = dataView(memory0).getInt32(ret + 8, true);
1658
+ const result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
1659
+ variant3= {
1660
+ tag: 'err',
1661
+ val: result2
1662
+ };
1663
+ break;
1664
+ }
1665
+ default: {
1666
+ throw new TypeError('invalid variant discriminant for expected');
1667
+ }
1668
+ }
1669
+ postReturn0(ret);
1670
+ if (variant3.tag === 'err') {
1671
+ throw new ComponentError(variant3.val);
1672
+ }
1673
+ return variant3.val;
1674
+ }
1675
+
1676
+ function componentNew(arg0, arg1) {
1677
+ if (!_initialized) throwUninitialized();
1678
+ const val0 = arg0;
1679
+ const len0 = val0.byteLength;
1680
+ const ptr0 = realloc1(0, 0, 1, len0 * 1);
1681
+ const src0 = new Uint8Array(val0.buffer || val0, val0.byteOffset, len0 * 1);
1682
+ (new Uint8Array(memory0.buffer, ptr0, len0 * 1)).set(src0);
1683
+ const variant5 = arg1;
1684
+ let variant5_0;
1685
+ let variant5_1;
1686
+ let variant5_2;
1687
+ if (variant5 === null || variant5=== undefined) {
1688
+ variant5_0 = 0;
1689
+ variant5_1 = 0;
1690
+ variant5_2 = 0;
1691
+ } else {
1692
+ const e = variant5;
1693
+ const vec4 = e;
1694
+ const len4 = vec4.length;
1695
+ const result4 = realloc1(0, 0, 4, len4 * 16);
1696
+ for (let i = 0; i < vec4.length; i++) {
1697
+ const e = vec4[i];
1698
+ const base = result4 + i * 16;const [tuple1_0, tuple1_1] = e;
1699
+ const ptr2 = utf8Encode(tuple1_0, realloc1, memory0);
1700
+ const len2 = utf8EncodedLen;
1701
+ dataView(memory0).setInt32(base + 4, len2, true);
1702
+ dataView(memory0).setInt32(base + 0, ptr2, true);
1703
+ const val3 = tuple1_1;
1704
+ const len3 = val3.byteLength;
1705
+ const ptr3 = realloc1(0, 0, 1, len3 * 1);
1706
+ const src3 = new Uint8Array(val3.buffer || val3, val3.byteOffset, len3 * 1);
1707
+ (new Uint8Array(memory0.buffer, ptr3, len3 * 1)).set(src3);
1708
+ dataView(memory0).setInt32(base + 12, len3, true);
1709
+ dataView(memory0).setInt32(base + 8, ptr3, true);
1710
+ }
1711
+ variant5_0 = 1;
1712
+ variant5_1 = result4;
1713
+ variant5_2 = len4;
1714
+ }
1715
+ const ret = exports1['component-new'](ptr0, len0, variant5_0, variant5_1, variant5_2);
1716
+ let variant8;
1717
+ switch (dataView(memory0).getUint8(ret + 0, true)) {
1718
+ case 0: {
1719
+ const ptr6 = dataView(memory0).getInt32(ret + 4, true);
1720
+ const len6 = dataView(memory0).getInt32(ret + 8, true);
1721
+ const result6 = new Uint8Array(memory0.buffer.slice(ptr6, ptr6 + len6 * 1));
1722
+ variant8= {
1723
+ tag: 'ok',
1724
+ val: result6
1725
+ };
1726
+ break;
1727
+ }
1728
+ case 1: {
1729
+ const ptr7 = dataView(memory0).getInt32(ret + 4, true);
1730
+ const len7 = dataView(memory0).getInt32(ret + 8, true);
1731
+ const result7 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr7, len7));
1732
+ variant8= {
1733
+ tag: 'err',
1734
+ val: result7
1735
+ };
1736
+ break;
1737
+ }
1738
+ default: {
1739
+ throw new TypeError('invalid variant discriminant for expected');
1740
+ }
1741
+ }
1742
+ postReturn0(ret);
1743
+ if (variant8.tag === 'err') {
1744
+ throw new ComponentError(variant8.val);
1745
+ }
1746
+ return variant8.val;
1747
+ }
1748
+
1749
+ function componentWit(arg0) {
1750
+ if (!_initialized) throwUninitialized();
1751
+ const val0 = arg0;
1752
+ const len0 = val0.byteLength;
1753
+ const ptr0 = realloc1(0, 0, 1, len0 * 1);
1754
+ const src0 = new Uint8Array(val0.buffer || val0, val0.byteOffset, len0 * 1);
1755
+ (new Uint8Array(memory0.buffer, ptr0, len0 * 1)).set(src0);
1756
+ const ret = exports1['component-wit'](ptr0, len0);
1757
+ let variant3;
1758
+ switch (dataView(memory0).getUint8(ret + 0, true)) {
1759
+ case 0: {
1760
+ const ptr1 = dataView(memory0).getInt32(ret + 4, true);
1761
+ const len1 = dataView(memory0).getInt32(ret + 8, true);
1762
+ const result1 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr1, len1));
1763
+ variant3= {
1764
+ tag: 'ok',
1765
+ val: result1
1766
+ };
1767
+ break;
1768
+ }
1769
+ case 1: {
1770
+ const ptr2 = dataView(memory0).getInt32(ret + 4, true);
1771
+ const len2 = dataView(memory0).getInt32(ret + 8, true);
1772
+ const result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
1773
+ variant3= {
1774
+ tag: 'err',
1775
+ val: result2
1776
+ };
1777
+ break;
1778
+ }
1779
+ default: {
1780
+ throw new TypeError('invalid variant discriminant for expected');
1781
+ }
1782
+ }
1783
+ postReturn0(ret);
1784
+ if (variant3.tag === 'err') {
1785
+ throw new ComponentError(variant3.val);
1786
+ }
1787
+ return variant3.val;
1788
+ }
1789
+
1790
+ function componentEmbed(arg0) {
1791
+ if (!_initialized) throwUninitialized();
1792
+ const ptr0 = realloc1(0, 0, 4, 64);
1793
+ const {binary: v1_0, witSource: v1_1, witPath: v1_2, stringEncoding: v1_3, dummy: v1_4, world: v1_5, metadata: v1_6 } = arg0;
1794
+ const variant3 = v1_0;
1795
+ if (variant3 === null || variant3=== undefined) {
1796
+ dataView(memory0).setInt8(ptr0 + 0, 0, true);
1797
+ } else {
1798
+ const e = variant3;
1799
+ dataView(memory0).setInt8(ptr0 + 0, 1, true);
1800
+ const val2 = e;
1801
+ const len2 = val2.byteLength;
1802
+ const ptr2 = realloc1(0, 0, 1, len2 * 1);
1803
+ const src2 = new Uint8Array(val2.buffer || val2, val2.byteOffset, len2 * 1);
1804
+ (new Uint8Array(memory0.buffer, ptr2, len2 * 1)).set(src2);
1805
+ dataView(memory0).setInt32(ptr0 + 8, len2, true);
1806
+ dataView(memory0).setInt32(ptr0 + 4, ptr2, true);
1807
+ }
1808
+ const variant5 = v1_1;
1809
+ if (variant5 === null || variant5=== undefined) {
1810
+ dataView(memory0).setInt8(ptr0 + 12, 0, true);
1811
+ } else {
1812
+ const e = variant5;
1813
+ dataView(memory0).setInt8(ptr0 + 12, 1, true);
1814
+ const ptr4 = utf8Encode(e, realloc1, memory0);
1815
+ const len4 = utf8EncodedLen;
1816
+ dataView(memory0).setInt32(ptr0 + 20, len4, true);
1817
+ dataView(memory0).setInt32(ptr0 + 16, ptr4, true);
1818
+ }
1819
+ const variant7 = v1_2;
1820
+ if (variant7 === null || variant7=== undefined) {
1821
+ dataView(memory0).setInt8(ptr0 + 24, 0, true);
1822
+ } else {
1823
+ const e = variant7;
1824
+ dataView(memory0).setInt8(ptr0 + 24, 1, true);
1825
+ const ptr6 = utf8Encode(e, realloc1, memory0);
1826
+ const len6 = utf8EncodedLen;
1827
+ dataView(memory0).setInt32(ptr0 + 32, len6, true);
1828
+ dataView(memory0).setInt32(ptr0 + 28, ptr6, true);
1829
+ }
1830
+ const variant9 = v1_3;
1831
+ if (variant9 === null || variant9=== undefined) {
1832
+ dataView(memory0).setInt8(ptr0 + 36, 0, true);
1833
+ } else {
1834
+ const e = variant9;
1835
+ dataView(memory0).setInt8(ptr0 + 36, 1, true);
1836
+ const val8 = e;
1837
+ let enum8;
1838
+ switch (val8) {
1839
+ case 'utf8': {
1840
+ enum8 = 0;
1841
+ break;
1842
+ }
1843
+ case 'utf16': {
1844
+ enum8 = 1;
1845
+ break;
1846
+ }
1847
+ case 'compact-utf16': {
1848
+ enum8 = 2;
1849
+ break;
1850
+ }
1851
+ default: {
1852
+ if ((e) instanceof Error) {
1853
+ console.error(e);
1854
+ }
1855
+
1856
+ throw new TypeError(`"${val8}" is not one of the cases of string-encoding`);
1857
+ }
1858
+ }
1859
+ dataView(memory0).setInt8(ptr0 + 37, enum8, true);
1860
+ }
1861
+ const variant10 = v1_4;
1862
+ if (variant10 === null || variant10=== undefined) {
1863
+ dataView(memory0).setInt8(ptr0 + 38, 0, true);
1864
+ } else {
1865
+ const e = variant10;
1866
+ dataView(memory0).setInt8(ptr0 + 38, 1, true);
1867
+ dataView(memory0).setInt8(ptr0 + 39, e ? 1 : 0, true);
1868
+ }
1869
+ const variant12 = v1_5;
1870
+ if (variant12 === null || variant12=== undefined) {
1871
+ dataView(memory0).setInt8(ptr0 + 40, 0, true);
1872
+ } else {
1873
+ const e = variant12;
1874
+ dataView(memory0).setInt8(ptr0 + 40, 1, true);
1875
+ const ptr11 = utf8Encode(e, realloc1, memory0);
1876
+ const len11 = utf8EncodedLen;
1877
+ dataView(memory0).setInt32(ptr0 + 48, len11, true);
1878
+ dataView(memory0).setInt32(ptr0 + 44, ptr11, true);
1879
+ }
1880
+ const variant20 = v1_6;
1881
+ if (variant20 === null || variant20=== undefined) {
1882
+ dataView(memory0).setInt8(ptr0 + 52, 0, true);
1883
+ } else {
1884
+ const e = variant20;
1885
+ dataView(memory0).setInt8(ptr0 + 52, 1, true);
1886
+ const vec19 = e;
1887
+ const len19 = vec19.length;
1888
+ const result19 = realloc1(0, 0, 4, len19 * 16);
1889
+ for (let i = 0; i < vec19.length; i++) {
1890
+ const e = vec19[i];
1891
+ const base = result19 + i * 16;const [tuple13_0, tuple13_1] = e;
1892
+ const ptr14 = utf8Encode(tuple13_0, realloc1, memory0);
1893
+ const len14 = utf8EncodedLen;
1894
+ dataView(memory0).setInt32(base + 4, len14, true);
1895
+ dataView(memory0).setInt32(base + 0, ptr14, true);
1896
+ const vec18 = tuple13_1;
1897
+ const len18 = vec18.length;
1898
+ const result18 = realloc1(0, 0, 4, len18 * 16);
1899
+ for (let i = 0; i < vec18.length; i++) {
1900
+ const e = vec18[i];
1901
+ const base = result18 + i * 16;const [tuple15_0, tuple15_1] = e;
1902
+ const ptr16 = utf8Encode(tuple15_0, realloc1, memory0);
1903
+ const len16 = utf8EncodedLen;
1904
+ dataView(memory0).setInt32(base + 4, len16, true);
1905
+ dataView(memory0).setInt32(base + 0, ptr16, true);
1906
+ const ptr17 = utf8Encode(tuple15_1, realloc1, memory0);
1907
+ const len17 = utf8EncodedLen;
1908
+ dataView(memory0).setInt32(base + 12, len17, true);
1909
+ dataView(memory0).setInt32(base + 8, ptr17, true);
1910
+ }
1911
+ dataView(memory0).setInt32(base + 12, len18, true);
1912
+ dataView(memory0).setInt32(base + 8, result18, true);
1913
+ }
1914
+ dataView(memory0).setInt32(ptr0 + 60, len19, true);
1915
+ dataView(memory0).setInt32(ptr0 + 56, result19, true);
1916
+ }
1917
+ const ret = exports1['component-embed'](ptr0);
1918
+ let variant23;
1919
+ switch (dataView(memory0).getUint8(ret + 0, true)) {
1920
+ case 0: {
1921
+ const ptr21 = dataView(memory0).getInt32(ret + 4, true);
1922
+ const len21 = dataView(memory0).getInt32(ret + 8, true);
1923
+ const result21 = new Uint8Array(memory0.buffer.slice(ptr21, ptr21 + len21 * 1));
1924
+ variant23= {
1925
+ tag: 'ok',
1926
+ val: result21
1927
+ };
1928
+ break;
1929
+ }
1930
+ case 1: {
1931
+ const ptr22 = dataView(memory0).getInt32(ret + 4, true);
1932
+ const len22 = dataView(memory0).getInt32(ret + 8, true);
1933
+ const result22 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr22, len22));
1934
+ variant23= {
1935
+ tag: 'err',
1936
+ val: result22
1937
+ };
1938
+ break;
1939
+ }
1940
+ default: {
1941
+ throw new TypeError('invalid variant discriminant for expected');
1942
+ }
1943
+ }
1944
+ postReturn0(ret);
1945
+ if (variant23.tag === 'err') {
1946
+ throw new ComponentError(variant23.val);
1947
+ }
1948
+ return variant23.val;
1949
+ }
1950
+
1951
+ function metadataShow(arg0) {
1952
+ if (!_initialized) throwUninitialized();
1953
+ const val0 = arg0;
1954
+ const len0 = val0.byteLength;
1955
+ const ptr0 = realloc1(0, 0, 1, len0 * 1);
1956
+ const src0 = new Uint8Array(val0.buffer || val0, val0.byteOffset, len0 * 1);
1957
+ (new Uint8Array(memory0.buffer, ptr0, len0 * 1)).set(src0);
1958
+ const ret = exports1['metadata-show'](ptr0, len0);
1959
+ let variant11;
1960
+ switch (dataView(memory0).getUint8(ret + 0, true)) {
1961
+ case 0: {
1962
+ const len9 = dataView(memory0).getInt32(ret + 8, true);
1963
+ const base9 = dataView(memory0).getInt32(ret + 4, true);
1964
+ const result9 = [];
1965
+ for (let i = 0; i < len9; i++) {
1966
+ const base = base9 + i * 36;
1967
+ let variant2;
1968
+ switch (dataView(memory0).getUint8(base + 0, true)) {
1969
+ case 0: {
1970
+ variant2 = null;
1971
+ break;
1972
+ }
1973
+ case 1: {
1974
+ const ptr1 = dataView(memory0).getInt32(base + 4, true);
1975
+ const len1 = dataView(memory0).getInt32(base + 8, true);
1976
+ const result1 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr1, len1));
1977
+ variant2 = result1;
1978
+ break;
1979
+ }
1980
+ default: {
1981
+ throw new TypeError('invalid variant discriminant for option');
1982
+ }
1983
+ }
1984
+ let variant3;
1985
+ switch (dataView(memory0).getUint8(base + 12, true)) {
1986
+ case 0: {
1987
+ variant3= {
1988
+ tag: 'module',
1989
+ };
1990
+ break;
1991
+ }
1992
+ case 1: {
1993
+ variant3= {
1994
+ tag: 'component',
1995
+ val: dataView(memory0).getInt32(base + 16, true) >>> 0
1996
+ };
1997
+ break;
1998
+ }
1999
+ default: {
2000
+ throw new TypeError('invalid variant discriminant for ModuleMetaType');
2001
+ }
2002
+ }
2003
+ const len8 = dataView(memory0).getInt32(base + 32, true);
2004
+ const base8 = dataView(memory0).getInt32(base + 28, true);
2005
+ const result8 = [];
2006
+ for (let i = 0; i < len8; i++) {
2007
+ const base = base8 + i * 16;
2008
+ const ptr4 = dataView(memory0).getInt32(base + 0, true);
2009
+ const len4 = dataView(memory0).getInt32(base + 4, true);
2010
+ const result4 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr4, len4));
2011
+ const len7 = dataView(memory0).getInt32(base + 12, true);
2012
+ const base7 = dataView(memory0).getInt32(base + 8, true);
2013
+ const result7 = [];
2014
+ for (let i = 0; i < len7; i++) {
2015
+ const base = base7 + i * 16;
2016
+ const ptr5 = dataView(memory0).getInt32(base + 0, true);
2017
+ const len5 = dataView(memory0).getInt32(base + 4, true);
2018
+ const result5 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr5, len5));
2019
+ const ptr6 = dataView(memory0).getInt32(base + 8, true);
2020
+ const len6 = dataView(memory0).getInt32(base + 12, true);
2021
+ const result6 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr6, len6));
2022
+ result7.push([result5, result6]);
2023
+ }
2024
+ result8.push([result4, result7]);
2025
+ }
2026
+ result9.push({
2027
+ name: variant2,
2028
+ metaType: variant3,
2029
+ range: [dataView(memory0).getInt32(base + 20, true) >>> 0, dataView(memory0).getInt32(base + 24, true) >>> 0],
2030
+ producers: result8,
2031
+ });
2032
+ }
2033
+ variant11= {
2034
+ tag: 'ok',
2035
+ val: result9
2036
+ };
2037
+ break;
2038
+ }
2039
+ case 1: {
2040
+ const ptr10 = dataView(memory0).getInt32(ret + 4, true);
2041
+ const len10 = dataView(memory0).getInt32(ret + 8, true);
2042
+ const result10 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr10, len10));
2043
+ variant11= {
2044
+ tag: 'err',
2045
+ val: result10
2046
+ };
2047
+ break;
2048
+ }
2049
+ default: {
2050
+ throw new TypeError('invalid variant discriminant for expected');
2051
+ }
2052
+ }
2053
+ postReturn1(ret);
2054
+ if (variant11.tag === 'err') {
2055
+ throw new ComponentError(variant11.val);
2056
+ }
2057
+ return variant11.val;
2058
+ }
2059
+
2060
+ function metadataAdd(arg0, arg1) {
2061
+ if (!_initialized) throwUninitialized();
2062
+ const val0 = arg0;
2063
+ const len0 = val0.byteLength;
2064
+ const ptr0 = realloc1(0, 0, 1, len0 * 1);
2065
+ const src0 = new Uint8Array(val0.buffer || val0, val0.byteOffset, len0 * 1);
2066
+ (new Uint8Array(memory0.buffer, ptr0, len0 * 1)).set(src0);
2067
+ const vec7 = arg1;
2068
+ const len7 = vec7.length;
2069
+ const result7 = realloc1(0, 0, 4, len7 * 16);
2070
+ for (let i = 0; i < vec7.length; i++) {
2071
+ const e = vec7[i];
2072
+ const base = result7 + i * 16;const [tuple1_0, tuple1_1] = e;
2073
+ const ptr2 = utf8Encode(tuple1_0, realloc1, memory0);
2074
+ const len2 = utf8EncodedLen;
2075
+ dataView(memory0).setInt32(base + 4, len2, true);
2076
+ dataView(memory0).setInt32(base + 0, ptr2, true);
2077
+ const vec6 = tuple1_1;
2078
+ const len6 = vec6.length;
2079
+ const result6 = realloc1(0, 0, 4, len6 * 16);
2080
+ for (let i = 0; i < vec6.length; i++) {
2081
+ const e = vec6[i];
2082
+ const base = result6 + i * 16;const [tuple3_0, tuple3_1] = e;
2083
+ const ptr4 = utf8Encode(tuple3_0, realloc1, memory0);
2084
+ const len4 = utf8EncodedLen;
2085
+ dataView(memory0).setInt32(base + 4, len4, true);
2086
+ dataView(memory0).setInt32(base + 0, ptr4, true);
2087
+ const ptr5 = utf8Encode(tuple3_1, realloc1, memory0);
2088
+ const len5 = utf8EncodedLen;
2089
+ dataView(memory0).setInt32(base + 12, len5, true);
2090
+ dataView(memory0).setInt32(base + 8, ptr5, true);
2091
+ }
2092
+ dataView(memory0).setInt32(base + 12, len6, true);
2093
+ dataView(memory0).setInt32(base + 8, result6, true);
2094
+ }
2095
+ const ret = exports1['metadata-add'](ptr0, len0, result7, len7);
2096
+ let variant10;
2097
+ switch (dataView(memory0).getUint8(ret + 0, true)) {
2098
+ case 0: {
2099
+ const ptr8 = dataView(memory0).getInt32(ret + 4, true);
2100
+ const len8 = dataView(memory0).getInt32(ret + 8, true);
2101
+ const result8 = new Uint8Array(memory0.buffer.slice(ptr8, ptr8 + len8 * 1));
2102
+ variant10= {
2103
+ tag: 'ok',
2104
+ val: result8
2105
+ };
2106
+ break;
2107
+ }
2108
+ case 1: {
2109
+ const ptr9 = dataView(memory0).getInt32(ret + 4, true);
2110
+ const len9 = dataView(memory0).getInt32(ret + 8, true);
2111
+ const result9 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr9, len9));
2112
+ variant10= {
2113
+ tag: 'err',
2114
+ val: result9
2115
+ };
2116
+ break;
2117
+ }
2118
+ default: {
2119
+ throw new TypeError('invalid variant discriminant for expected');
2120
+ }
2121
+ }
2122
+ postReturn0(ret);
2123
+ if (variant10.tag === 'err') {
2124
+ throw new ComponentError(variant10.val);
2125
+ }
2126
+ return variant10.val;
2127
+ }
2128
+
2129
+ let _initialized = false;
2130
+ export const $init = (async() => {
2131
+ const module0 = fetchCompile(new URL('./wasm-tools.core.wasm', import.meta.url));
2132
+ const module1 = fetchCompile(new URL('./wasm-tools.core2.wasm', import.meta.url));
2133
+ const module2 = base64Compile('AGFzbQEAAAABUgxgAX8AYAN/fn8AYAJ/fwBgCH9/f39/f39/AGACfn8AYAR/f39/AGACf38Bf2AEf39/fwF/YAl/f39/f35+f38Bf2ABfwF/YAN/f38Bf2ABfwADGRgAAQECAgIDBAABAQUFBgcHCAYGBgkGCgsEBQFwARgYB3oZATAAAAExAAEBMgACATMAAwE0AAQBNQAFATYABgE3AAcBOAAIATkACQIxMAAKAjExAAsCMTIADAIxMwANAjE0AA4CMTUADwIxNgAQAjE3ABECMTgAEgIxOQATAjIwABQCMjEAFQIyMgAWAjIzABcIJGltcG9ydHMBAArNAhgJACAAQQARAAALDQAgACABIAJBAREBAAsNACAAIAEgAkECEQEACwsAIAAgAUEDEQIACwsAIAAgAUEEEQIACwsAIAAgAUEFEQIACxcAIAAgASACIAMgBCAFIAYgB0EGEQMACwsAIAAgAUEHEQQACwkAIABBCBEAAAsNACAAIAEgAkEJEQEACw0AIAAgASACQQoRAQALDwAgACABIAIgA0ELEQUACw8AIAAgASACIANBDBEFAAsLACAAIAFBDREGAAsPACAAIAEgAiADQQ4RBwALDwAgACABIAIgA0EPEQcACxkAIAAgASACIAMgBCAFIAYgByAIQRARCAALCwAgACABQRERBgALCwAgACABQRIRBgALCwAgACABQRMRBgALCQAgAEEUEQkACwsAIAAgAUEVEQYACw0AIAAgASACQRYRCgALCQAgAEEXEQsACwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMTEuMAC8CARuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltAZ8IGAAvaW5kaXJlY3Qtd2FzaTpjbGktYmFzZS9wcmVvcGVucy1nZXQtZGlyZWN0b3JpZXMBM2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9maWxlc3lzdGVtLXJlYWQtdmlhLXN0cmVhbQI0aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0td3JpdGUtdmlhLXN0cmVhbQM1aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0tYXBwZW5kLXZpYS1zdHJlYW0ELGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9maWxlc3lzdGVtLWdldC10eXBlBShpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vZmlsZXN5c3RlbS1zdGF0BitpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vZmlsZXN5c3RlbS1vcGVuLWF0ByxpbmRpcmVjdC13YXNpOnJhbmRvbS9yYW5kb20tZ2V0LXJhbmRvbS1ieXRlcwgyaW5kaXJlY3Qtd2FzaTpjbGktYmFzZS9lbnZpcm9ubWVudC1nZXQtZW52aXJvbm1lbnQJHWluZGlyZWN0LXdhc2k6aW8vc3RyZWFtcy1yZWFkCiZpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXMtYmxvY2tpbmctcmVhZAseaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zLXdyaXRlDCdpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXMtYmxvY2tpbmctd3JpdGUNLGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfZmlsZXN0YXRfZ2V0DiRhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3JlYWQPJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfd3JpdGUQJmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcGF0aF9vcGVuESdhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXJhbmRvbV9nZXQSKGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9nZXQTLmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9zaXplc19nZXQUJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfY2xvc2UVK2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9nZXQWMGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9kaXJfbmFtZRcmYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1wcm9jX2V4aXQ');
2134
+ const module3 = base64Compile('AGFzbQEAAAABUgxgAX8AYAN/fn8AYAJ/fwBgCH9/f39/f39/AGACfn8AYAR/f39/AGACf38Bf2AEf39/fwF/YAl/f39/f35+f38Bf2ABfwF/YAN/f38Bf2ABfwAClgEZAAEwAAAAATEAAQABMgABAAEzAAIAATQAAgABNQACAAE2AAMAATcABAABOAAAAAE5AAEAAjEwAAEAAjExAAUAAjEyAAUAAjEzAAYAAjE0AAcAAjE1AAcAAjE2AAgAAjE3AAYAAjE4AAYAAjE5AAYAAjIwAAkAAjIxAAYAAjIyAAoAAjIzAAsACCRpbXBvcnRzAXABGBgJHgEAQQALGAABAgMEBQYHCAkKCwwNDg8QERITFBUWFwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMTEuMAAcBG5hbWUAFRR3aXQtY29tcG9uZW50OmZpeHVwcw');
2135
+ Promise.all([module0, module1, module2, module3]).catch(() => {});
2136
+ ({ exports: exports0 } = await instantiateCore(await module2));
2137
+ ({ exports: exports1 } = await instantiateCore(await module0, {
2138
+ wasi_snapshot_preview1: {
2139
+ environ_get: exports0['18'],
2140
+ environ_sizes_get: exports0['19'],
2141
+ fd_close: exports0['20'],
2142
+ fd_filestat_get: exports0['13'],
2143
+ fd_prestat_dir_name: exports0['22'],
2144
+ fd_prestat_get: exports0['21'],
2145
+ fd_read: exports0['14'],
2146
+ fd_write: exports0['15'],
2147
+ path_open: exports0['16'],
2148
+ proc_exit: exports0['23'],
2149
+ random_get: exports0['17'],
2150
+ },
2151
+ }));
2152
+ ({ exports: exports2 } = await instantiateCore(await module1, {
2153
+ __main_module__: {
2154
+ cabi_realloc: exports1.cabi_realloc,
2155
+ },
2156
+ env: {
2157
+ memory: exports1.memory,
2158
+ },
2159
+ 'wasi:cli-base/environment': {
2160
+ 'get-environment': exports0['8'],
2161
+ },
2162
+ 'wasi:cli-base/exit': {
2163
+ exit: lowering2,
2164
+ },
2165
+ 'wasi:cli-base/preopens': {
2166
+ 'get-directories': exports0['0'],
2167
+ },
2168
+ 'wasi:cli-base/stderr': {
2169
+ 'get-stderr': lowering3,
2170
+ },
2171
+ 'wasi:cli-base/stdin': {
2172
+ 'get-stdin': lowering4,
2173
+ },
2174
+ 'wasi:cli-base/stdout': {
2175
+ 'get-stdout': lowering5,
2176
+ },
2177
+ 'wasi:filesystem/filesystem': {
2178
+ 'append-via-stream': exports0['3'],
2179
+ 'drop-descriptor': lowering1,
2180
+ 'drop-directory-entry-stream': lowering0,
2181
+ 'get-type': exports0['4'],
2182
+ 'open-at': exports0['6'],
2183
+ 'read-via-stream': exports0['1'],
2184
+ stat: exports0['5'],
2185
+ 'write-via-stream': exports0['2'],
2186
+ },
2187
+ 'wasi:io/streams': {
2188
+ 'blocking-read': exports0['10'],
2189
+ 'blocking-write': exports0['12'],
2190
+ 'drop-input-stream': lowering6,
2191
+ 'drop-output-stream': lowering7,
2192
+ read: exports0['9'],
2193
+ write: exports0['11'],
2194
+ },
2195
+ 'wasi:random/random': {
2196
+ 'get-random-bytes': exports0['7'],
2197
+ },
2198
+ }));
2199
+ memory0 = exports1.memory;
2200
+ realloc0 = exports2.cabi_import_realloc;
2201
+ ({ exports: exports3 } = await instantiateCore(await module3, {
2202
+ '': {
2203
+ $imports: exports0.$imports,
2204
+ '0': lowering8,
2205
+ '1': lowering9,
2206
+ '10': lowering18,
2207
+ '11': lowering19,
2208
+ '12': lowering20,
2209
+ '13': exports2.fd_filestat_get,
2210
+ '14': exports2.fd_read,
2211
+ '15': exports2.fd_write,
2212
+ '16': exports2.path_open,
2213
+ '17': exports2.random_get,
2214
+ '18': exports2.environ_get,
2215
+ '19': exports2.environ_sizes_get,
2216
+ '2': lowering10,
2217
+ '20': exports2.fd_close,
2218
+ '21': exports2.fd_prestat_get,
2219
+ '22': exports2.fd_prestat_dir_name,
2220
+ '23': exports2.proc_exit,
2221
+ '3': lowering11,
2222
+ '4': lowering12,
2223
+ '5': lowering13,
2224
+ '6': lowering14,
2225
+ '7': lowering15,
2226
+ '8': lowering16,
2227
+ '9': lowering17,
2228
+ },
2229
+ }));
2230
+ realloc1 = exports1.cabi_realloc;
2231
+ postReturn0 = exports1['cabi_post_component-embed'];
2232
+ postReturn1 = exports1['cabi_post_metadata-show'];
2233
+ _initialized = true;
2234
+ })();
2235
+
2236
+ export { componentEmbed, componentNew, componentWit, metadataAdd, metadataShow, parse, print }