@spade-lang/spade 0.9.0-dev.899bf3-1ce864
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.
- package/README.md +48 -0
- package/gen/bundle.js +3209 -0
- package/gen/resources-spade.js +7 -0
- package/gen/spade.core.wasm +0 -0
- package/gen/spade.core2.wasm +0 -0
- package/gen/spade.core3.wasm +0 -0
- package/gen/spade.core4.wasm +0 -0
- package/lib/api.d.ts +30 -0
- package/package.json +39 -0
package/gen/bundle.js
ADDED
|
@@ -0,0 +1,3209 @@
|
|
|
1
|
+
// node_modules/@yowasp/runtime/lib/fetch.js
|
|
2
|
+
var fetch;
|
|
3
|
+
if (typeof process === "object" && process.release?.name === "node") {
|
|
4
|
+
fetch = async function(url, options) {
|
|
5
|
+
if (url.protocol === "file:") {
|
|
6
|
+
const { readFile } = await import("fs/promises");
|
|
7
|
+
let contentType = "application/octet-stream";
|
|
8
|
+
if (url.pathname.endsWith(".wasm"))
|
|
9
|
+
contentType = "application/wasm";
|
|
10
|
+
return new Response(await readFile(url), { headers: { "Content-Type": contentType } });
|
|
11
|
+
} else {
|
|
12
|
+
return globalThis.fetch(url, options);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
} else {
|
|
16
|
+
fetch = globalThis.fetch;
|
|
17
|
+
}
|
|
18
|
+
var fetch_default = fetch;
|
|
19
|
+
|
|
20
|
+
// node_modules/@yowasp/runtime/lib/wasi-virt.js
|
|
21
|
+
var Exit = class extends Error {
|
|
22
|
+
constructor(code = 0) {
|
|
23
|
+
super(`Exited with status ${code}`);
|
|
24
|
+
this.code = code;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
function monotonicNow() {
|
|
28
|
+
return BigInt(Math.floor(performance.now() * 1e6));
|
|
29
|
+
}
|
|
30
|
+
function wallClockNow() {
|
|
31
|
+
let now = Date.now();
|
|
32
|
+
const seconds = BigInt(Math.floor(now / 1e3));
|
|
33
|
+
const nanoseconds = now % 1e3 * 1e6;
|
|
34
|
+
return { seconds, nanoseconds };
|
|
35
|
+
}
|
|
36
|
+
var Xoroshiro128StarStar = class {
|
|
37
|
+
constructor(seed) {
|
|
38
|
+
if (BigInt(seed) === 0n) {
|
|
39
|
+
throw new Error("xoroshiro128** must be seeded with a non-zero state");
|
|
40
|
+
}
|
|
41
|
+
this.s = [BigInt(seed) & 0xffffffffffffffffn, BigInt(seed) >> 64n & 0xffffffffffffffffn];
|
|
42
|
+
}
|
|
43
|
+
next() {
|
|
44
|
+
function trunc64(x) {
|
|
45
|
+
return x & 0xffffffffffffffffn;
|
|
46
|
+
}
|
|
47
|
+
function rotl(x, k) {
|
|
48
|
+
return x << k | x >> 64n - k;
|
|
49
|
+
}
|
|
50
|
+
let [s0, s1] = this.s;
|
|
51
|
+
const r = trunc64(rotl(s0 * 5n, 7n) * 9n);
|
|
52
|
+
s1 ^= s0;
|
|
53
|
+
s0 = trunc64(rotl(s0, 24n) ^ s1 ^ s1 << 16n);
|
|
54
|
+
s1 = trunc64(rotl(s1, 37n));
|
|
55
|
+
this.s = [s0, s1];
|
|
56
|
+
return r;
|
|
57
|
+
}
|
|
58
|
+
getBytes(length) {
|
|
59
|
+
return Uint8Array.from({ length }, () => Number(BigInt.asUintN(8, this.next() >> 32n)));
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
var IoError = class extends Error {
|
|
63
|
+
};
|
|
64
|
+
var InputStream = class {
|
|
65
|
+
read(_len) {
|
|
66
|
+
throw { tag: "closed" };
|
|
67
|
+
}
|
|
68
|
+
blockingRead(len) {
|
|
69
|
+
return this.read(len);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var OutputStream = class {
|
|
73
|
+
checkWrite() {
|
|
74
|
+
throw { tag: "closed" };
|
|
75
|
+
}
|
|
76
|
+
write(_contents) {
|
|
77
|
+
this.checkWrite();
|
|
78
|
+
}
|
|
79
|
+
flush() {
|
|
80
|
+
}
|
|
81
|
+
blockingFlush() {
|
|
82
|
+
this.flush();
|
|
83
|
+
}
|
|
84
|
+
blockingWriteAndFlush(contents) {
|
|
85
|
+
this.write(contents);
|
|
86
|
+
this.blockingFlush();
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
var CallbackInputStream = class extends InputStream {
|
|
90
|
+
constructor(callback = null) {
|
|
91
|
+
super();
|
|
92
|
+
this.callback = callback;
|
|
93
|
+
}
|
|
94
|
+
read(len) {
|
|
95
|
+
if (this.callback === null)
|
|
96
|
+
throw { tag: "closed" };
|
|
97
|
+
let contents = this.callback(Number(len));
|
|
98
|
+
if (contents === null)
|
|
99
|
+
throw { tag: "closed" };
|
|
100
|
+
return contents;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
var CallbackOutputStream = class extends OutputStream {
|
|
104
|
+
constructor(callback = null) {
|
|
105
|
+
super();
|
|
106
|
+
this.callback = callback;
|
|
107
|
+
}
|
|
108
|
+
checkWrite() {
|
|
109
|
+
return 4096;
|
|
110
|
+
}
|
|
111
|
+
write(contents) {
|
|
112
|
+
if (this.callback !== null)
|
|
113
|
+
this.callback(contents);
|
|
114
|
+
}
|
|
115
|
+
flush() {
|
|
116
|
+
if (this.callback !== null)
|
|
117
|
+
this.callback(null);
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
var TerminalInput = class {
|
|
121
|
+
};
|
|
122
|
+
var TerminalOutput = class {
|
|
123
|
+
};
|
|
124
|
+
var File = class {
|
|
125
|
+
constructor(data = "") {
|
|
126
|
+
if (data instanceof Uint8Array) {
|
|
127
|
+
this.data = data;
|
|
128
|
+
} else if (typeof data === "string") {
|
|
129
|
+
this.data = new TextEncoder().encode(data);
|
|
130
|
+
} else {
|
|
131
|
+
throw new Error(`Cannot construct a file from ${typeof data}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
get size() {
|
|
135
|
+
return this.data.length;
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
var ReadStream = class extends InputStream {
|
|
139
|
+
constructor(file, offset) {
|
|
140
|
+
super();
|
|
141
|
+
this.file = file;
|
|
142
|
+
this.offset = offset;
|
|
143
|
+
}
|
|
144
|
+
read(len) {
|
|
145
|
+
const data = this.file.data.subarray(Number(this.offset), Number(this.offset + len));
|
|
146
|
+
this.offset += len;
|
|
147
|
+
return data;
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
var WriteStream = class extends OutputStream {
|
|
151
|
+
constructor(file, offset) {
|
|
152
|
+
super();
|
|
153
|
+
this.file = file;
|
|
154
|
+
this.offset = offset;
|
|
155
|
+
}
|
|
156
|
+
write(contents) {
|
|
157
|
+
const newData = new Uint8Array(this.file.data.length + contents.length);
|
|
158
|
+
newData.set(this.file.data);
|
|
159
|
+
newData.subarray(Number(this.offset)).set(contents);
|
|
160
|
+
this.file.data = newData;
|
|
161
|
+
this.offset += BigInt(contents.length);
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
var Directory = class _Directory {
|
|
165
|
+
constructor(files = {}) {
|
|
166
|
+
this.files = files;
|
|
167
|
+
}
|
|
168
|
+
get size() {
|
|
169
|
+
return Object.keys(this.files).length;
|
|
170
|
+
}
|
|
171
|
+
traverse(path, flags = { create: false, remove: false }) {
|
|
172
|
+
let entry = this;
|
|
173
|
+
let separatorAt = -1;
|
|
174
|
+
do {
|
|
175
|
+
if (entry instanceof File)
|
|
176
|
+
throw "not-directory";
|
|
177
|
+
const files = entry.files;
|
|
178
|
+
separatorAt = path.indexOf("/");
|
|
179
|
+
const segment = separatorAt === -1 ? path : path.substring(0, separatorAt);
|
|
180
|
+
if (separatorAt === -1 && flags.remove)
|
|
181
|
+
delete files[segment];
|
|
182
|
+
else if (segment === "" || segment === ".")
|
|
183
|
+
;
|
|
184
|
+
else if (segment === "..")
|
|
185
|
+
;
|
|
186
|
+
else if (Object.hasOwn(files, segment))
|
|
187
|
+
entry = files[segment];
|
|
188
|
+
else if (flags.create === "directory" || flags.create === "file" && separatorAt !== -1)
|
|
189
|
+
entry = files[segment] = new _Directory({});
|
|
190
|
+
else if (flags.create === "file")
|
|
191
|
+
entry = files[segment] = new File(new Uint8Array());
|
|
192
|
+
else
|
|
193
|
+
throw "no-entry";
|
|
194
|
+
path = path.substring(separatorAt + 1);
|
|
195
|
+
} while (separatorAt !== -1);
|
|
196
|
+
return entry;
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
var Descriptor = class _Descriptor {
|
|
200
|
+
constructor(entry) {
|
|
201
|
+
this.entry = entry;
|
|
202
|
+
}
|
|
203
|
+
getType() {
|
|
204
|
+
if (this.entry instanceof Directory)
|
|
205
|
+
return "directory";
|
|
206
|
+
if (this.entry instanceof File)
|
|
207
|
+
return "regular-file";
|
|
208
|
+
}
|
|
209
|
+
getFlags() {
|
|
210
|
+
return {};
|
|
211
|
+
}
|
|
212
|
+
metadataHash() {
|
|
213
|
+
return { upper: 0, lower: 0 };
|
|
214
|
+
}
|
|
215
|
+
metadataHashAt(_pathFlags, path) {
|
|
216
|
+
if (!(this.entry instanceof Directory))
|
|
217
|
+
throw "invalid";
|
|
218
|
+
const pathEntry = this.entry.traverse(path);
|
|
219
|
+
return new _Descriptor(pathEntry).metadataHash();
|
|
220
|
+
}
|
|
221
|
+
stat() {
|
|
222
|
+
let type;
|
|
223
|
+
if (this.entry instanceof Directory)
|
|
224
|
+
type = "directory";
|
|
225
|
+
if (this.entry instanceof File)
|
|
226
|
+
type = "regular-file";
|
|
227
|
+
return {
|
|
228
|
+
type,
|
|
229
|
+
linkCount: 1,
|
|
230
|
+
size: this.entry.size,
|
|
231
|
+
dataAccessTimestamp: null,
|
|
232
|
+
dataModificationTimestamp: null,
|
|
233
|
+
statusChangeTimestamp: null
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
statAt(_pathFlags, path) {
|
|
237
|
+
if (!(this.entry instanceof Directory))
|
|
238
|
+
throw "invalid";
|
|
239
|
+
const pathEntry = this.entry.traverse(path);
|
|
240
|
+
return new _Descriptor(pathEntry).stat();
|
|
241
|
+
}
|
|
242
|
+
openAt(_pathFlags, path, openFlags, _descriptorFlags) {
|
|
243
|
+
if (!(this.entry instanceof Directory))
|
|
244
|
+
throw "invalid";
|
|
245
|
+
const openEntry = this.entry.traverse(path, { create: openFlags.create ? "file" : false });
|
|
246
|
+
if (openFlags.directory) {
|
|
247
|
+
if (!(openEntry instanceof Directory))
|
|
248
|
+
throw "not-directory";
|
|
249
|
+
} else {
|
|
250
|
+
if (openEntry instanceof Directory)
|
|
251
|
+
throw "is-directory";
|
|
252
|
+
if (openFlags.truncate)
|
|
253
|
+
openEntry.data = new Uint8Array();
|
|
254
|
+
}
|
|
255
|
+
return new _Descriptor(openEntry);
|
|
256
|
+
}
|
|
257
|
+
read(length, offset) {
|
|
258
|
+
if (this.entry instanceof Directory)
|
|
259
|
+
throw "is-directory";
|
|
260
|
+
[length, offset] = [Number(length), Number(offset)];
|
|
261
|
+
return [this.entry.data.subarray(offset, offset + length), offset + length >= this.entry.data.byteLength];
|
|
262
|
+
}
|
|
263
|
+
readViaStream(offset) {
|
|
264
|
+
return new ReadStream(this.entry, offset);
|
|
265
|
+
}
|
|
266
|
+
write(_buffer, _offset) {
|
|
267
|
+
if (this.entry instanceof Directory)
|
|
268
|
+
throw "is-directory";
|
|
269
|
+
console.error("Descriptor.write not implemented");
|
|
270
|
+
throw "unsupported";
|
|
271
|
+
}
|
|
272
|
+
writeViaStream(offset) {
|
|
273
|
+
return new WriteStream(this.entry, offset);
|
|
274
|
+
}
|
|
275
|
+
readDirectory() {
|
|
276
|
+
return new DirectoryEntryStream(this.entry);
|
|
277
|
+
}
|
|
278
|
+
createDirectoryAt(path) {
|
|
279
|
+
this.entry.traverse(path, { create: "directory" });
|
|
280
|
+
}
|
|
281
|
+
unlinkFileAt(path) {
|
|
282
|
+
const pathEntry = this.entry.traverse(path);
|
|
283
|
+
if (pathEntry instanceof Directory)
|
|
284
|
+
return "is-directory";
|
|
285
|
+
this.entry.traverse(path, { remove: true });
|
|
286
|
+
}
|
|
287
|
+
removeDirectoryAt(path) {
|
|
288
|
+
const pathEntry = this.entry.traverse(path);
|
|
289
|
+
if (!(pathEntry instanceof Directory))
|
|
290
|
+
return "not-directory";
|
|
291
|
+
this.entry.traverse(path, { remove: true });
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
var DirectoryEntryStream = class {
|
|
295
|
+
constructor(directory) {
|
|
296
|
+
this.entries = Object.entries(directory.files);
|
|
297
|
+
this.index = 0;
|
|
298
|
+
}
|
|
299
|
+
readDirectoryEntry() {
|
|
300
|
+
if (this.index === this.entries.length)
|
|
301
|
+
return null;
|
|
302
|
+
const [name, entry] = this.entries[this.index++];
|
|
303
|
+
let type;
|
|
304
|
+
if (entry instanceof Directory)
|
|
305
|
+
type = "directory";
|
|
306
|
+
if (entry instanceof File)
|
|
307
|
+
type = "regular-file";
|
|
308
|
+
return { name, type };
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
function directoryFromTree(tree) {
|
|
312
|
+
const files = {};
|
|
313
|
+
for (const [filename, data] of Object.entries(tree)) {
|
|
314
|
+
if (typeof data === "string" || data instanceof Uint8Array)
|
|
315
|
+
files[filename] = new File(tree[filename]);
|
|
316
|
+
else
|
|
317
|
+
files[filename] = directoryFromTree(tree[filename]);
|
|
318
|
+
}
|
|
319
|
+
return new Directory(files);
|
|
320
|
+
}
|
|
321
|
+
function directoryIntoTree(directory, { decodeASCII = true } = {}) {
|
|
322
|
+
function isASCII(buffer) {
|
|
323
|
+
for (const byte of buffer)
|
|
324
|
+
if (byte < 32 && byte !== 9 && byte !== 10 && byte !== 13 || byte >= 127)
|
|
325
|
+
return false;
|
|
326
|
+
return true;
|
|
327
|
+
}
|
|
328
|
+
const tree = {};
|
|
329
|
+
for (const [filename, entry] of Object.entries(directory.files)) {
|
|
330
|
+
if (entry instanceof File)
|
|
331
|
+
tree[filename] = decodeASCII && isASCII(entry.data) ? new TextDecoder().decode(entry.data) : entry.data;
|
|
332
|
+
if (entry instanceof Directory)
|
|
333
|
+
tree[filename] = directoryIntoTree(entry, { decodeASCII });
|
|
334
|
+
}
|
|
335
|
+
return tree;
|
|
336
|
+
}
|
|
337
|
+
var Environment = class {
|
|
338
|
+
vars = {};
|
|
339
|
+
args = [];
|
|
340
|
+
root = new Directory({});
|
|
341
|
+
constructor() {
|
|
342
|
+
this.prng = new Xoroshiro128StarStar(1n);
|
|
343
|
+
this.standardInputStream = new CallbackInputStream();
|
|
344
|
+
this.standardOutputStream = new CallbackOutputStream();
|
|
345
|
+
this.standardErrorStream = new CallbackOutputStream();
|
|
346
|
+
this.terminalInput = new TerminalInput();
|
|
347
|
+
this.terminalOutput = new TerminalOutput();
|
|
348
|
+
const $this = this;
|
|
349
|
+
this.exports = {
|
|
350
|
+
monotonicClock: {
|
|
351
|
+
now: monotonicNow
|
|
352
|
+
},
|
|
353
|
+
wallClock: {
|
|
354
|
+
now: wallClockNow
|
|
355
|
+
},
|
|
356
|
+
random: {
|
|
357
|
+
getRandomBytes(length) {
|
|
358
|
+
return $this.prng.getBytes(Number(length));
|
|
359
|
+
}
|
|
360
|
+
},
|
|
361
|
+
io: {
|
|
362
|
+
Error: IoError,
|
|
363
|
+
InputStream,
|
|
364
|
+
OutputStream
|
|
365
|
+
},
|
|
366
|
+
cli: {
|
|
367
|
+
exit(status) {
|
|
368
|
+
throw new Exit(status.tag === "ok" ? 0 : 1);
|
|
369
|
+
},
|
|
370
|
+
getEnvironment() {
|
|
371
|
+
return $this.vars;
|
|
372
|
+
},
|
|
373
|
+
getArguments() {
|
|
374
|
+
return $this.args;
|
|
375
|
+
},
|
|
376
|
+
getStdin() {
|
|
377
|
+
return $this.standardInputStream;
|
|
378
|
+
},
|
|
379
|
+
getStdout() {
|
|
380
|
+
return $this.standardOutputStream;
|
|
381
|
+
},
|
|
382
|
+
getStderr() {
|
|
383
|
+
return $this.standardErrorStream;
|
|
384
|
+
},
|
|
385
|
+
getTerminalStdin() {
|
|
386
|
+
return $this.terminalInput;
|
|
387
|
+
},
|
|
388
|
+
getTerminalStdout() {
|
|
389
|
+
return $this.terminalOutput;
|
|
390
|
+
},
|
|
391
|
+
getTerminalStderr() {
|
|
392
|
+
return $this.terminalOutput;
|
|
393
|
+
},
|
|
394
|
+
TerminalInput,
|
|
395
|
+
TerminalOutput
|
|
396
|
+
},
|
|
397
|
+
fs: {
|
|
398
|
+
Descriptor,
|
|
399
|
+
DirectoryEntryStream,
|
|
400
|
+
filesystemErrorCode() {
|
|
401
|
+
},
|
|
402
|
+
getDirectories() {
|
|
403
|
+
if ($this.root === null)
|
|
404
|
+
return [];
|
|
405
|
+
return [[new Descriptor($this.root), "/"]];
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
get stdin() {
|
|
411
|
+
return this.standardInputStream.callback;
|
|
412
|
+
}
|
|
413
|
+
set stdin(callback) {
|
|
414
|
+
this.standardInputStream.callback = callback;
|
|
415
|
+
}
|
|
416
|
+
get stdout() {
|
|
417
|
+
return this.standardOutputStream.callback;
|
|
418
|
+
}
|
|
419
|
+
set stdout(callback) {
|
|
420
|
+
this.standardOutputStream.callback = callback;
|
|
421
|
+
}
|
|
422
|
+
get stderr() {
|
|
423
|
+
return this.standardErrorStream.callback;
|
|
424
|
+
}
|
|
425
|
+
set stderr(callback) {
|
|
426
|
+
this.standardErrorStream.callback = callback;
|
|
427
|
+
}
|
|
428
|
+
};
|
|
429
|
+
|
|
430
|
+
// node_modules/@yowasp/runtime/lib/util.js
|
|
431
|
+
function lineBuffered(processLine) {
|
|
432
|
+
let buffer = new Uint8Array();
|
|
433
|
+
return (bytes) => {
|
|
434
|
+
if (bytes === null)
|
|
435
|
+
return;
|
|
436
|
+
let newBuffer = new Uint8Array(buffer.length + bytes.length);
|
|
437
|
+
newBuffer.set(buffer);
|
|
438
|
+
newBuffer.set(bytes, buffer.length);
|
|
439
|
+
buffer = newBuffer;
|
|
440
|
+
let newlineAt = -1;
|
|
441
|
+
while (true) {
|
|
442
|
+
const nextNewlineAt = buffer.indexOf(10, newlineAt + 1);
|
|
443
|
+
if (nextNewlineAt === -1)
|
|
444
|
+
break;
|
|
445
|
+
processLine(new TextDecoder().decode(buffer.subarray(newlineAt + 1, nextNewlineAt)));
|
|
446
|
+
newlineAt = nextNewlineAt;
|
|
447
|
+
}
|
|
448
|
+
buffer = buffer.subarray(newlineAt + 1);
|
|
449
|
+
};
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
// node_modules/@yowasp/runtime/lib/api.js
|
|
453
|
+
async function fetchObject(obj, fetchFn) {
|
|
454
|
+
const promises = [];
|
|
455
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
456
|
+
if (typeof value === "string" || value instanceof Uint8Array) {
|
|
457
|
+
promises.push(Promise.resolve([key, value]));
|
|
458
|
+
} else if (value instanceof URL) {
|
|
459
|
+
promises.push(fetchFn(value).then((fetched) => [key, fetched]));
|
|
460
|
+
} else {
|
|
461
|
+
promises.push(fetchObject(value, fetchFn).then((fetched) => [key, fetched]));
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
for (const [key, value] of await Promise.all(promises))
|
|
465
|
+
obj[key] = value;
|
|
466
|
+
return obj;
|
|
467
|
+
}
|
|
468
|
+
function fetchWebAssembly(url) {
|
|
469
|
+
return fetch_default(url).then(WebAssembly.compileStreaming);
|
|
470
|
+
}
|
|
471
|
+
function fetchUint8Array(url) {
|
|
472
|
+
return fetch_default(url).then((resp) => resp.arrayBuffer()).then((buf) => new Uint8Array(buf));
|
|
473
|
+
}
|
|
474
|
+
function fetchResources({ modules, filesystem }) {
|
|
475
|
+
return Promise.all([
|
|
476
|
+
fetchObject(modules, fetchWebAssembly),
|
|
477
|
+
fetchObject(filesystem, fetchUint8Array)
|
|
478
|
+
]).then(([modules2, filesystem2]) => {
|
|
479
|
+
return { modules: modules2, filesystem: filesystem2 };
|
|
480
|
+
});
|
|
481
|
+
}
|
|
482
|
+
var Application = class {
|
|
483
|
+
constructor(resources, instantiate2, argv0) {
|
|
484
|
+
this.resources = resources;
|
|
485
|
+
this.resourceData = null;
|
|
486
|
+
this.instantiate = instantiate2;
|
|
487
|
+
this.argv0 = argv0;
|
|
488
|
+
}
|
|
489
|
+
async preload() {
|
|
490
|
+
if (this.resourceData === null)
|
|
491
|
+
this.resourceData = await this.resources().then(fetchResources);
|
|
492
|
+
}
|
|
493
|
+
// The `printLine` option is deprecated and not documented but still accepted for compatibility.
|
|
494
|
+
execute(args, files = {}, { stdin, stdout, stderr, decodeASCII = true, printLine } = {}) {
|
|
495
|
+
const environment = new Environment();
|
|
496
|
+
environment.args = [this.argv0].concat(args);
|
|
497
|
+
environment.root = directoryFromTree(files);
|
|
498
|
+
for (const [dirName, dirContents] of Object.entries(this.resourceData.filesystem))
|
|
499
|
+
environment.root.files[dirName] = directoryFromTree(dirContents);
|
|
500
|
+
const lineBufferedConsole = lineBuffered(printLine ?? console.log);
|
|
501
|
+
environment.stdin = stdin === void 0 ? null : stdin;
|
|
502
|
+
environment.stdout = stdout === void 0 ? lineBufferedConsole : stdout;
|
|
503
|
+
environment.stderr = stderr === void 0 ? lineBufferedConsole : stderr;
|
|
504
|
+
const wasmCommand = this.instantiate(
|
|
505
|
+
(filename) => this.resourceData.modules[filename],
|
|
506
|
+
{ runtime: environment.exports },
|
|
507
|
+
// workaround for bytecodealliance/jco#374
|
|
508
|
+
(module, imports) => new WebAssembly.Instance(module, imports)
|
|
509
|
+
);
|
|
510
|
+
let error = null;
|
|
511
|
+
try {
|
|
512
|
+
wasmCommand.run.run();
|
|
513
|
+
} catch (e) {
|
|
514
|
+
if (!(e instanceof Exit))
|
|
515
|
+
throw e;
|
|
516
|
+
if (e instanceof Exit && e.code !== 0)
|
|
517
|
+
error = e;
|
|
518
|
+
}
|
|
519
|
+
for (const dirName of Object.keys(this.resourceData.filesystem))
|
|
520
|
+
delete environment.root.files[dirName];
|
|
521
|
+
files = directoryIntoTree(environment.root, { decodeASCII });
|
|
522
|
+
if (error !== null) {
|
|
523
|
+
error.files = files;
|
|
524
|
+
throw error;
|
|
525
|
+
} else {
|
|
526
|
+
return files;
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
run(args = null, files = {}, options = {}) {
|
|
530
|
+
if (this.resourceData === null)
|
|
531
|
+
return this.preload().then((_) => this.run(args, files, options));
|
|
532
|
+
if (args === null)
|
|
533
|
+
return;
|
|
534
|
+
return this.execute(args, files, options);
|
|
535
|
+
}
|
|
536
|
+
};
|
|
537
|
+
|
|
538
|
+
// gen/spade.js
|
|
539
|
+
var ComponentError = class extends Error {
|
|
540
|
+
constructor(value) {
|
|
541
|
+
const enumerable = typeof value !== "string";
|
|
542
|
+
super(enumerable ? `${String(value)} (see error.payload)` : value);
|
|
543
|
+
Object.defineProperty(this, "payload", { value, enumerable });
|
|
544
|
+
}
|
|
545
|
+
};
|
|
546
|
+
var dv = new DataView(new ArrayBuffer());
|
|
547
|
+
var dataView = (mem) => dv.buffer === mem.buffer ? dv : dv = new DataView(mem.buffer);
|
|
548
|
+
function getErrorPayload(e) {
|
|
549
|
+
if (e && hasOwnProperty.call(e, "payload"))
|
|
550
|
+
return e.payload;
|
|
551
|
+
return e;
|
|
552
|
+
}
|
|
553
|
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
554
|
+
var resourceHandleSymbol = Symbol("resource");
|
|
555
|
+
var symbolDispose = Symbol.dispose || Symbol.for("dispose");
|
|
556
|
+
var toUint64 = (val) => BigInt.asUintN(64, BigInt(val));
|
|
557
|
+
function toUint32(val) {
|
|
558
|
+
return val >>> 0;
|
|
559
|
+
}
|
|
560
|
+
var utf8Decoder = new TextDecoder();
|
|
561
|
+
var utf8Encoder = new TextEncoder();
|
|
562
|
+
var utf8EncodedLen = 0;
|
|
563
|
+
function utf8Encode(s, realloc, memory) {
|
|
564
|
+
if (typeof s !== "string")
|
|
565
|
+
throw new TypeError("expected a string");
|
|
566
|
+
if (s.length === 0) {
|
|
567
|
+
utf8EncodedLen = 0;
|
|
568
|
+
return 1;
|
|
569
|
+
}
|
|
570
|
+
let allocLen = 0;
|
|
571
|
+
let ptr = 0;
|
|
572
|
+
let writtenTotal = 0;
|
|
573
|
+
while (s.length > 0) {
|
|
574
|
+
ptr = realloc(ptr, allocLen, 1, allocLen += s.length * 2);
|
|
575
|
+
const { read, written } = utf8Encoder.encodeInto(
|
|
576
|
+
s,
|
|
577
|
+
new Uint8Array(memory.buffer, ptr + writtenTotal, allocLen - writtenTotal)
|
|
578
|
+
);
|
|
579
|
+
writtenTotal += written;
|
|
580
|
+
s = s.slice(read);
|
|
581
|
+
}
|
|
582
|
+
utf8EncodedLen = writtenTotal;
|
|
583
|
+
return ptr;
|
|
584
|
+
}
|
|
585
|
+
function instantiate(getCoreModule, imports, instantiateCore = WebAssembly.Instance) {
|
|
586
|
+
const module0 = getCoreModule("spade.core.wasm");
|
|
587
|
+
const module1 = getCoreModule("spade.core2.wasm");
|
|
588
|
+
const module2 = getCoreModule("spade.core3.wasm");
|
|
589
|
+
const module3 = getCoreModule("spade.core4.wasm");
|
|
590
|
+
const { cli, fs, io, monotonicClock, random, wallClock } = imports.runtime;
|
|
591
|
+
const {
|
|
592
|
+
TerminalInput: TerminalInput2,
|
|
593
|
+
TerminalOutput: TerminalOutput2,
|
|
594
|
+
exit,
|
|
595
|
+
getArguments,
|
|
596
|
+
getEnvironment,
|
|
597
|
+
getStderr,
|
|
598
|
+
getStdin,
|
|
599
|
+
getStdout,
|
|
600
|
+
getTerminalStderr,
|
|
601
|
+
getTerminalStdin,
|
|
602
|
+
getTerminalStdout
|
|
603
|
+
} = cli;
|
|
604
|
+
const {
|
|
605
|
+
Descriptor: Descriptor2,
|
|
606
|
+
DirectoryEntryStream: DirectoryEntryStream2,
|
|
607
|
+
filesystemErrorCode,
|
|
608
|
+
getDirectories
|
|
609
|
+
} = fs;
|
|
610
|
+
const {
|
|
611
|
+
Error: Error$1,
|
|
612
|
+
InputStream: InputStream2,
|
|
613
|
+
OutputStream: OutputStream2
|
|
614
|
+
} = io;
|
|
615
|
+
const { now } = monotonicClock;
|
|
616
|
+
const { getRandomBytes } = random;
|
|
617
|
+
const { now: now$1 } = wallClock;
|
|
618
|
+
let exports0;
|
|
619
|
+
let exports1;
|
|
620
|
+
function trampoline0() {
|
|
621
|
+
const ret = now();
|
|
622
|
+
return toUint64(ret);
|
|
623
|
+
}
|
|
624
|
+
function trampoline8() {
|
|
625
|
+
const ret = getStderr();
|
|
626
|
+
if (!(ret instanceof OutputStream2)) {
|
|
627
|
+
throw new Error('Resource error: Not a valid "OutputStream" resource.');
|
|
628
|
+
}
|
|
629
|
+
var handle0 = handleCnt2++;
|
|
630
|
+
handleTable2.set(handle0, { rep: ret, own: true });
|
|
631
|
+
return handle0;
|
|
632
|
+
}
|
|
633
|
+
function trampoline9(arg0) {
|
|
634
|
+
let variant0;
|
|
635
|
+
switch (arg0) {
|
|
636
|
+
case 0: {
|
|
637
|
+
variant0 = {
|
|
638
|
+
tag: "ok",
|
|
639
|
+
val: void 0
|
|
640
|
+
};
|
|
641
|
+
break;
|
|
642
|
+
}
|
|
643
|
+
case 1: {
|
|
644
|
+
variant0 = {
|
|
645
|
+
tag: "err",
|
|
646
|
+
val: void 0
|
|
647
|
+
};
|
|
648
|
+
break;
|
|
649
|
+
}
|
|
650
|
+
default: {
|
|
651
|
+
throw new TypeError("invalid variant discriminant for expected");
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
exit(variant0);
|
|
655
|
+
}
|
|
656
|
+
function trampoline10() {
|
|
657
|
+
const ret = getStdin();
|
|
658
|
+
if (!(ret instanceof InputStream2)) {
|
|
659
|
+
throw new Error('Resource error: Not a valid "InputStream" resource.');
|
|
660
|
+
}
|
|
661
|
+
var handle0 = handleCnt1++;
|
|
662
|
+
handleTable1.set(handle0, { rep: ret, own: true });
|
|
663
|
+
return handle0;
|
|
664
|
+
}
|
|
665
|
+
function trampoline11() {
|
|
666
|
+
const ret = getStdout();
|
|
667
|
+
if (!(ret instanceof OutputStream2)) {
|
|
668
|
+
throw new Error('Resource error: Not a valid "OutputStream" resource.');
|
|
669
|
+
}
|
|
670
|
+
var handle0 = handleCnt2++;
|
|
671
|
+
handleTable2.set(handle0, { rep: ret, own: true });
|
|
672
|
+
return handle0;
|
|
673
|
+
}
|
|
674
|
+
let exports2;
|
|
675
|
+
function trampoline12(arg0) {
|
|
676
|
+
const ret = getDirectories();
|
|
677
|
+
var vec3 = ret;
|
|
678
|
+
var len3 = vec3.length;
|
|
679
|
+
var result3 = realloc0(0, 0, 4, len3 * 12);
|
|
680
|
+
for (let i = 0; i < vec3.length; i++) {
|
|
681
|
+
const e = vec3[i];
|
|
682
|
+
const base = result3 + i * 12;
|
|
683
|
+
var [tuple0_0, tuple0_1] = e;
|
|
684
|
+
if (!(tuple0_0 instanceof Descriptor2)) {
|
|
685
|
+
throw new Error('Resource error: Not a valid "Descriptor" resource.');
|
|
686
|
+
}
|
|
687
|
+
var handle1 = handleCnt5++;
|
|
688
|
+
handleTable5.set(handle1, { rep: tuple0_0, own: true });
|
|
689
|
+
dataView(memory0).setInt32(base + 0, handle1, true);
|
|
690
|
+
var ptr2 = utf8Encode(tuple0_1, realloc0, memory0);
|
|
691
|
+
var len2 = utf8EncodedLen;
|
|
692
|
+
dataView(memory0).setInt32(base + 8, len2, true);
|
|
693
|
+
dataView(memory0).setInt32(base + 4, ptr2, true);
|
|
694
|
+
}
|
|
695
|
+
dataView(memory0).setInt32(arg0 + 4, len3, true);
|
|
696
|
+
dataView(memory0).setInt32(arg0 + 0, result3, true);
|
|
697
|
+
}
|
|
698
|
+
let memory0;
|
|
699
|
+
let realloc0;
|
|
700
|
+
function trampoline13(arg0) {
|
|
701
|
+
const ret = now$1();
|
|
702
|
+
var { seconds: v0_0, nanoseconds: v0_1 } = ret;
|
|
703
|
+
dataView(memory0).setBigInt64(arg0 + 0, toUint64(v0_0), true);
|
|
704
|
+
dataView(memory0).setInt32(arg0 + 8, toUint32(v0_1), true);
|
|
705
|
+
}
|
|
706
|
+
function trampoline14(arg0, arg1, arg2) {
|
|
707
|
+
var handle1 = arg0;
|
|
708
|
+
var rsc0 = handleTable5.get(handle1).rep;
|
|
709
|
+
let ret;
|
|
710
|
+
try {
|
|
711
|
+
ret = { tag: "ok", val: Descriptor2.prototype.readViaStream.call(rsc0, BigInt.asUintN(64, arg1)) };
|
|
712
|
+
} catch (e) {
|
|
713
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
714
|
+
}
|
|
715
|
+
var variant4 = ret;
|
|
716
|
+
switch (variant4.tag) {
|
|
717
|
+
case "ok": {
|
|
718
|
+
const e = variant4.val;
|
|
719
|
+
dataView(memory0).setInt8(arg2 + 0, 0, true);
|
|
720
|
+
if (!(e instanceof InputStream2)) {
|
|
721
|
+
throw new Error('Resource error: Not a valid "InputStream" resource.');
|
|
722
|
+
}
|
|
723
|
+
var handle2 = handleCnt1++;
|
|
724
|
+
handleTable1.set(handle2, { rep: e, own: true });
|
|
725
|
+
dataView(memory0).setInt32(arg2 + 4, handle2, true);
|
|
726
|
+
break;
|
|
727
|
+
}
|
|
728
|
+
case "err": {
|
|
729
|
+
const e = variant4.val;
|
|
730
|
+
dataView(memory0).setInt8(arg2 + 0, 1, true);
|
|
731
|
+
var val3 = e;
|
|
732
|
+
let enum3;
|
|
733
|
+
switch (val3) {
|
|
734
|
+
case "access": {
|
|
735
|
+
enum3 = 0;
|
|
736
|
+
break;
|
|
737
|
+
}
|
|
738
|
+
case "would-block": {
|
|
739
|
+
enum3 = 1;
|
|
740
|
+
break;
|
|
741
|
+
}
|
|
742
|
+
case "already": {
|
|
743
|
+
enum3 = 2;
|
|
744
|
+
break;
|
|
745
|
+
}
|
|
746
|
+
case "bad-descriptor": {
|
|
747
|
+
enum3 = 3;
|
|
748
|
+
break;
|
|
749
|
+
}
|
|
750
|
+
case "busy": {
|
|
751
|
+
enum3 = 4;
|
|
752
|
+
break;
|
|
753
|
+
}
|
|
754
|
+
case "deadlock": {
|
|
755
|
+
enum3 = 5;
|
|
756
|
+
break;
|
|
757
|
+
}
|
|
758
|
+
case "quota": {
|
|
759
|
+
enum3 = 6;
|
|
760
|
+
break;
|
|
761
|
+
}
|
|
762
|
+
case "exist": {
|
|
763
|
+
enum3 = 7;
|
|
764
|
+
break;
|
|
765
|
+
}
|
|
766
|
+
case "file-too-large": {
|
|
767
|
+
enum3 = 8;
|
|
768
|
+
break;
|
|
769
|
+
}
|
|
770
|
+
case "illegal-byte-sequence": {
|
|
771
|
+
enum3 = 9;
|
|
772
|
+
break;
|
|
773
|
+
}
|
|
774
|
+
case "in-progress": {
|
|
775
|
+
enum3 = 10;
|
|
776
|
+
break;
|
|
777
|
+
}
|
|
778
|
+
case "interrupted": {
|
|
779
|
+
enum3 = 11;
|
|
780
|
+
break;
|
|
781
|
+
}
|
|
782
|
+
case "invalid": {
|
|
783
|
+
enum3 = 12;
|
|
784
|
+
break;
|
|
785
|
+
}
|
|
786
|
+
case "io": {
|
|
787
|
+
enum3 = 13;
|
|
788
|
+
break;
|
|
789
|
+
}
|
|
790
|
+
case "is-directory": {
|
|
791
|
+
enum3 = 14;
|
|
792
|
+
break;
|
|
793
|
+
}
|
|
794
|
+
case "loop": {
|
|
795
|
+
enum3 = 15;
|
|
796
|
+
break;
|
|
797
|
+
}
|
|
798
|
+
case "too-many-links": {
|
|
799
|
+
enum3 = 16;
|
|
800
|
+
break;
|
|
801
|
+
}
|
|
802
|
+
case "message-size": {
|
|
803
|
+
enum3 = 17;
|
|
804
|
+
break;
|
|
805
|
+
}
|
|
806
|
+
case "name-too-long": {
|
|
807
|
+
enum3 = 18;
|
|
808
|
+
break;
|
|
809
|
+
}
|
|
810
|
+
case "no-device": {
|
|
811
|
+
enum3 = 19;
|
|
812
|
+
break;
|
|
813
|
+
}
|
|
814
|
+
case "no-entry": {
|
|
815
|
+
enum3 = 20;
|
|
816
|
+
break;
|
|
817
|
+
}
|
|
818
|
+
case "no-lock": {
|
|
819
|
+
enum3 = 21;
|
|
820
|
+
break;
|
|
821
|
+
}
|
|
822
|
+
case "insufficient-memory": {
|
|
823
|
+
enum3 = 22;
|
|
824
|
+
break;
|
|
825
|
+
}
|
|
826
|
+
case "insufficient-space": {
|
|
827
|
+
enum3 = 23;
|
|
828
|
+
break;
|
|
829
|
+
}
|
|
830
|
+
case "not-directory": {
|
|
831
|
+
enum3 = 24;
|
|
832
|
+
break;
|
|
833
|
+
}
|
|
834
|
+
case "not-empty": {
|
|
835
|
+
enum3 = 25;
|
|
836
|
+
break;
|
|
837
|
+
}
|
|
838
|
+
case "not-recoverable": {
|
|
839
|
+
enum3 = 26;
|
|
840
|
+
break;
|
|
841
|
+
}
|
|
842
|
+
case "unsupported": {
|
|
843
|
+
enum3 = 27;
|
|
844
|
+
break;
|
|
845
|
+
}
|
|
846
|
+
case "no-tty": {
|
|
847
|
+
enum3 = 28;
|
|
848
|
+
break;
|
|
849
|
+
}
|
|
850
|
+
case "no-such-device": {
|
|
851
|
+
enum3 = 29;
|
|
852
|
+
break;
|
|
853
|
+
}
|
|
854
|
+
case "overflow": {
|
|
855
|
+
enum3 = 30;
|
|
856
|
+
break;
|
|
857
|
+
}
|
|
858
|
+
case "not-permitted": {
|
|
859
|
+
enum3 = 31;
|
|
860
|
+
break;
|
|
861
|
+
}
|
|
862
|
+
case "pipe": {
|
|
863
|
+
enum3 = 32;
|
|
864
|
+
break;
|
|
865
|
+
}
|
|
866
|
+
case "read-only": {
|
|
867
|
+
enum3 = 33;
|
|
868
|
+
break;
|
|
869
|
+
}
|
|
870
|
+
case "invalid-seek": {
|
|
871
|
+
enum3 = 34;
|
|
872
|
+
break;
|
|
873
|
+
}
|
|
874
|
+
case "text-file-busy": {
|
|
875
|
+
enum3 = 35;
|
|
876
|
+
break;
|
|
877
|
+
}
|
|
878
|
+
case "cross-device": {
|
|
879
|
+
enum3 = 36;
|
|
880
|
+
break;
|
|
881
|
+
}
|
|
882
|
+
default: {
|
|
883
|
+
if (e instanceof Error) {
|
|
884
|
+
console.error(e);
|
|
885
|
+
}
|
|
886
|
+
throw new TypeError(`"${val3}" is not one of the cases of error-code`);
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
dataView(memory0).setInt8(arg2 + 4, enum3, true);
|
|
890
|
+
break;
|
|
891
|
+
}
|
|
892
|
+
default: {
|
|
893
|
+
throw new TypeError("invalid variant specified for result");
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
function trampoline15(arg0, arg1, arg2) {
|
|
898
|
+
var handle1 = arg0;
|
|
899
|
+
var rsc0 = handleTable5.get(handle1).rep;
|
|
900
|
+
let ret;
|
|
901
|
+
try {
|
|
902
|
+
ret = { tag: "ok", val: Descriptor2.prototype.writeViaStream.call(rsc0, BigInt.asUintN(64, arg1)) };
|
|
903
|
+
} catch (e) {
|
|
904
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
905
|
+
}
|
|
906
|
+
var variant4 = ret;
|
|
907
|
+
switch (variant4.tag) {
|
|
908
|
+
case "ok": {
|
|
909
|
+
const e = variant4.val;
|
|
910
|
+
dataView(memory0).setInt8(arg2 + 0, 0, true);
|
|
911
|
+
if (!(e instanceof OutputStream2)) {
|
|
912
|
+
throw new Error('Resource error: Not a valid "OutputStream" resource.');
|
|
913
|
+
}
|
|
914
|
+
var handle2 = handleCnt2++;
|
|
915
|
+
handleTable2.set(handle2, { rep: e, own: true });
|
|
916
|
+
dataView(memory0).setInt32(arg2 + 4, handle2, true);
|
|
917
|
+
break;
|
|
918
|
+
}
|
|
919
|
+
case "err": {
|
|
920
|
+
const e = variant4.val;
|
|
921
|
+
dataView(memory0).setInt8(arg2 + 0, 1, true);
|
|
922
|
+
var val3 = e;
|
|
923
|
+
let enum3;
|
|
924
|
+
switch (val3) {
|
|
925
|
+
case "access": {
|
|
926
|
+
enum3 = 0;
|
|
927
|
+
break;
|
|
928
|
+
}
|
|
929
|
+
case "would-block": {
|
|
930
|
+
enum3 = 1;
|
|
931
|
+
break;
|
|
932
|
+
}
|
|
933
|
+
case "already": {
|
|
934
|
+
enum3 = 2;
|
|
935
|
+
break;
|
|
936
|
+
}
|
|
937
|
+
case "bad-descriptor": {
|
|
938
|
+
enum3 = 3;
|
|
939
|
+
break;
|
|
940
|
+
}
|
|
941
|
+
case "busy": {
|
|
942
|
+
enum3 = 4;
|
|
943
|
+
break;
|
|
944
|
+
}
|
|
945
|
+
case "deadlock": {
|
|
946
|
+
enum3 = 5;
|
|
947
|
+
break;
|
|
948
|
+
}
|
|
949
|
+
case "quota": {
|
|
950
|
+
enum3 = 6;
|
|
951
|
+
break;
|
|
952
|
+
}
|
|
953
|
+
case "exist": {
|
|
954
|
+
enum3 = 7;
|
|
955
|
+
break;
|
|
956
|
+
}
|
|
957
|
+
case "file-too-large": {
|
|
958
|
+
enum3 = 8;
|
|
959
|
+
break;
|
|
960
|
+
}
|
|
961
|
+
case "illegal-byte-sequence": {
|
|
962
|
+
enum3 = 9;
|
|
963
|
+
break;
|
|
964
|
+
}
|
|
965
|
+
case "in-progress": {
|
|
966
|
+
enum3 = 10;
|
|
967
|
+
break;
|
|
968
|
+
}
|
|
969
|
+
case "interrupted": {
|
|
970
|
+
enum3 = 11;
|
|
971
|
+
break;
|
|
972
|
+
}
|
|
973
|
+
case "invalid": {
|
|
974
|
+
enum3 = 12;
|
|
975
|
+
break;
|
|
976
|
+
}
|
|
977
|
+
case "io": {
|
|
978
|
+
enum3 = 13;
|
|
979
|
+
break;
|
|
980
|
+
}
|
|
981
|
+
case "is-directory": {
|
|
982
|
+
enum3 = 14;
|
|
983
|
+
break;
|
|
984
|
+
}
|
|
985
|
+
case "loop": {
|
|
986
|
+
enum3 = 15;
|
|
987
|
+
break;
|
|
988
|
+
}
|
|
989
|
+
case "too-many-links": {
|
|
990
|
+
enum3 = 16;
|
|
991
|
+
break;
|
|
992
|
+
}
|
|
993
|
+
case "message-size": {
|
|
994
|
+
enum3 = 17;
|
|
995
|
+
break;
|
|
996
|
+
}
|
|
997
|
+
case "name-too-long": {
|
|
998
|
+
enum3 = 18;
|
|
999
|
+
break;
|
|
1000
|
+
}
|
|
1001
|
+
case "no-device": {
|
|
1002
|
+
enum3 = 19;
|
|
1003
|
+
break;
|
|
1004
|
+
}
|
|
1005
|
+
case "no-entry": {
|
|
1006
|
+
enum3 = 20;
|
|
1007
|
+
break;
|
|
1008
|
+
}
|
|
1009
|
+
case "no-lock": {
|
|
1010
|
+
enum3 = 21;
|
|
1011
|
+
break;
|
|
1012
|
+
}
|
|
1013
|
+
case "insufficient-memory": {
|
|
1014
|
+
enum3 = 22;
|
|
1015
|
+
break;
|
|
1016
|
+
}
|
|
1017
|
+
case "insufficient-space": {
|
|
1018
|
+
enum3 = 23;
|
|
1019
|
+
break;
|
|
1020
|
+
}
|
|
1021
|
+
case "not-directory": {
|
|
1022
|
+
enum3 = 24;
|
|
1023
|
+
break;
|
|
1024
|
+
}
|
|
1025
|
+
case "not-empty": {
|
|
1026
|
+
enum3 = 25;
|
|
1027
|
+
break;
|
|
1028
|
+
}
|
|
1029
|
+
case "not-recoverable": {
|
|
1030
|
+
enum3 = 26;
|
|
1031
|
+
break;
|
|
1032
|
+
}
|
|
1033
|
+
case "unsupported": {
|
|
1034
|
+
enum3 = 27;
|
|
1035
|
+
break;
|
|
1036
|
+
}
|
|
1037
|
+
case "no-tty": {
|
|
1038
|
+
enum3 = 28;
|
|
1039
|
+
break;
|
|
1040
|
+
}
|
|
1041
|
+
case "no-such-device": {
|
|
1042
|
+
enum3 = 29;
|
|
1043
|
+
break;
|
|
1044
|
+
}
|
|
1045
|
+
case "overflow": {
|
|
1046
|
+
enum3 = 30;
|
|
1047
|
+
break;
|
|
1048
|
+
}
|
|
1049
|
+
case "not-permitted": {
|
|
1050
|
+
enum3 = 31;
|
|
1051
|
+
break;
|
|
1052
|
+
}
|
|
1053
|
+
case "pipe": {
|
|
1054
|
+
enum3 = 32;
|
|
1055
|
+
break;
|
|
1056
|
+
}
|
|
1057
|
+
case "read-only": {
|
|
1058
|
+
enum3 = 33;
|
|
1059
|
+
break;
|
|
1060
|
+
}
|
|
1061
|
+
case "invalid-seek": {
|
|
1062
|
+
enum3 = 34;
|
|
1063
|
+
break;
|
|
1064
|
+
}
|
|
1065
|
+
case "text-file-busy": {
|
|
1066
|
+
enum3 = 35;
|
|
1067
|
+
break;
|
|
1068
|
+
}
|
|
1069
|
+
case "cross-device": {
|
|
1070
|
+
enum3 = 36;
|
|
1071
|
+
break;
|
|
1072
|
+
}
|
|
1073
|
+
default: {
|
|
1074
|
+
if (e instanceof Error) {
|
|
1075
|
+
console.error(e);
|
|
1076
|
+
}
|
|
1077
|
+
throw new TypeError(`"${val3}" is not one of the cases of error-code`);
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
dataView(memory0).setInt8(arg2 + 4, enum3, true);
|
|
1081
|
+
break;
|
|
1082
|
+
}
|
|
1083
|
+
default: {
|
|
1084
|
+
throw new TypeError("invalid variant specified for result");
|
|
1085
|
+
}
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
function trampoline16(arg0, arg1) {
|
|
1089
|
+
var handle1 = arg0;
|
|
1090
|
+
var rsc0 = handleTable5.get(handle1).rep;
|
|
1091
|
+
let ret;
|
|
1092
|
+
try {
|
|
1093
|
+
ret = { tag: "ok", val: Descriptor2.prototype.appendViaStream.call(rsc0) };
|
|
1094
|
+
} catch (e) {
|
|
1095
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
1096
|
+
}
|
|
1097
|
+
var variant4 = ret;
|
|
1098
|
+
switch (variant4.tag) {
|
|
1099
|
+
case "ok": {
|
|
1100
|
+
const e = variant4.val;
|
|
1101
|
+
dataView(memory0).setInt8(arg1 + 0, 0, true);
|
|
1102
|
+
if (!(e instanceof OutputStream2)) {
|
|
1103
|
+
throw new Error('Resource error: Not a valid "OutputStream" resource.');
|
|
1104
|
+
}
|
|
1105
|
+
var handle2 = handleCnt2++;
|
|
1106
|
+
handleTable2.set(handle2, { rep: e, own: true });
|
|
1107
|
+
dataView(memory0).setInt32(arg1 + 4, handle2, true);
|
|
1108
|
+
break;
|
|
1109
|
+
}
|
|
1110
|
+
case "err": {
|
|
1111
|
+
const e = variant4.val;
|
|
1112
|
+
dataView(memory0).setInt8(arg1 + 0, 1, true);
|
|
1113
|
+
var val3 = e;
|
|
1114
|
+
let enum3;
|
|
1115
|
+
switch (val3) {
|
|
1116
|
+
case "access": {
|
|
1117
|
+
enum3 = 0;
|
|
1118
|
+
break;
|
|
1119
|
+
}
|
|
1120
|
+
case "would-block": {
|
|
1121
|
+
enum3 = 1;
|
|
1122
|
+
break;
|
|
1123
|
+
}
|
|
1124
|
+
case "already": {
|
|
1125
|
+
enum3 = 2;
|
|
1126
|
+
break;
|
|
1127
|
+
}
|
|
1128
|
+
case "bad-descriptor": {
|
|
1129
|
+
enum3 = 3;
|
|
1130
|
+
break;
|
|
1131
|
+
}
|
|
1132
|
+
case "busy": {
|
|
1133
|
+
enum3 = 4;
|
|
1134
|
+
break;
|
|
1135
|
+
}
|
|
1136
|
+
case "deadlock": {
|
|
1137
|
+
enum3 = 5;
|
|
1138
|
+
break;
|
|
1139
|
+
}
|
|
1140
|
+
case "quota": {
|
|
1141
|
+
enum3 = 6;
|
|
1142
|
+
break;
|
|
1143
|
+
}
|
|
1144
|
+
case "exist": {
|
|
1145
|
+
enum3 = 7;
|
|
1146
|
+
break;
|
|
1147
|
+
}
|
|
1148
|
+
case "file-too-large": {
|
|
1149
|
+
enum3 = 8;
|
|
1150
|
+
break;
|
|
1151
|
+
}
|
|
1152
|
+
case "illegal-byte-sequence": {
|
|
1153
|
+
enum3 = 9;
|
|
1154
|
+
break;
|
|
1155
|
+
}
|
|
1156
|
+
case "in-progress": {
|
|
1157
|
+
enum3 = 10;
|
|
1158
|
+
break;
|
|
1159
|
+
}
|
|
1160
|
+
case "interrupted": {
|
|
1161
|
+
enum3 = 11;
|
|
1162
|
+
break;
|
|
1163
|
+
}
|
|
1164
|
+
case "invalid": {
|
|
1165
|
+
enum3 = 12;
|
|
1166
|
+
break;
|
|
1167
|
+
}
|
|
1168
|
+
case "io": {
|
|
1169
|
+
enum3 = 13;
|
|
1170
|
+
break;
|
|
1171
|
+
}
|
|
1172
|
+
case "is-directory": {
|
|
1173
|
+
enum3 = 14;
|
|
1174
|
+
break;
|
|
1175
|
+
}
|
|
1176
|
+
case "loop": {
|
|
1177
|
+
enum3 = 15;
|
|
1178
|
+
break;
|
|
1179
|
+
}
|
|
1180
|
+
case "too-many-links": {
|
|
1181
|
+
enum3 = 16;
|
|
1182
|
+
break;
|
|
1183
|
+
}
|
|
1184
|
+
case "message-size": {
|
|
1185
|
+
enum3 = 17;
|
|
1186
|
+
break;
|
|
1187
|
+
}
|
|
1188
|
+
case "name-too-long": {
|
|
1189
|
+
enum3 = 18;
|
|
1190
|
+
break;
|
|
1191
|
+
}
|
|
1192
|
+
case "no-device": {
|
|
1193
|
+
enum3 = 19;
|
|
1194
|
+
break;
|
|
1195
|
+
}
|
|
1196
|
+
case "no-entry": {
|
|
1197
|
+
enum3 = 20;
|
|
1198
|
+
break;
|
|
1199
|
+
}
|
|
1200
|
+
case "no-lock": {
|
|
1201
|
+
enum3 = 21;
|
|
1202
|
+
break;
|
|
1203
|
+
}
|
|
1204
|
+
case "insufficient-memory": {
|
|
1205
|
+
enum3 = 22;
|
|
1206
|
+
break;
|
|
1207
|
+
}
|
|
1208
|
+
case "insufficient-space": {
|
|
1209
|
+
enum3 = 23;
|
|
1210
|
+
break;
|
|
1211
|
+
}
|
|
1212
|
+
case "not-directory": {
|
|
1213
|
+
enum3 = 24;
|
|
1214
|
+
break;
|
|
1215
|
+
}
|
|
1216
|
+
case "not-empty": {
|
|
1217
|
+
enum3 = 25;
|
|
1218
|
+
break;
|
|
1219
|
+
}
|
|
1220
|
+
case "not-recoverable": {
|
|
1221
|
+
enum3 = 26;
|
|
1222
|
+
break;
|
|
1223
|
+
}
|
|
1224
|
+
case "unsupported": {
|
|
1225
|
+
enum3 = 27;
|
|
1226
|
+
break;
|
|
1227
|
+
}
|
|
1228
|
+
case "no-tty": {
|
|
1229
|
+
enum3 = 28;
|
|
1230
|
+
break;
|
|
1231
|
+
}
|
|
1232
|
+
case "no-such-device": {
|
|
1233
|
+
enum3 = 29;
|
|
1234
|
+
break;
|
|
1235
|
+
}
|
|
1236
|
+
case "overflow": {
|
|
1237
|
+
enum3 = 30;
|
|
1238
|
+
break;
|
|
1239
|
+
}
|
|
1240
|
+
case "not-permitted": {
|
|
1241
|
+
enum3 = 31;
|
|
1242
|
+
break;
|
|
1243
|
+
}
|
|
1244
|
+
case "pipe": {
|
|
1245
|
+
enum3 = 32;
|
|
1246
|
+
break;
|
|
1247
|
+
}
|
|
1248
|
+
case "read-only": {
|
|
1249
|
+
enum3 = 33;
|
|
1250
|
+
break;
|
|
1251
|
+
}
|
|
1252
|
+
case "invalid-seek": {
|
|
1253
|
+
enum3 = 34;
|
|
1254
|
+
break;
|
|
1255
|
+
}
|
|
1256
|
+
case "text-file-busy": {
|
|
1257
|
+
enum3 = 35;
|
|
1258
|
+
break;
|
|
1259
|
+
}
|
|
1260
|
+
case "cross-device": {
|
|
1261
|
+
enum3 = 36;
|
|
1262
|
+
break;
|
|
1263
|
+
}
|
|
1264
|
+
default: {
|
|
1265
|
+
if (e instanceof Error) {
|
|
1266
|
+
console.error(e);
|
|
1267
|
+
}
|
|
1268
|
+
throw new TypeError(`"${val3}" is not one of the cases of error-code`);
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
dataView(memory0).setInt8(arg1 + 4, enum3, true);
|
|
1272
|
+
break;
|
|
1273
|
+
}
|
|
1274
|
+
default: {
|
|
1275
|
+
throw new TypeError("invalid variant specified for result");
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1279
|
+
function trampoline17(arg0, arg1) {
|
|
1280
|
+
var handle1 = arg0;
|
|
1281
|
+
var rsc0 = handleTable5.get(handle1).rep;
|
|
1282
|
+
let ret;
|
|
1283
|
+
try {
|
|
1284
|
+
ret = { tag: "ok", val: Descriptor2.prototype.getFlags.call(rsc0) };
|
|
1285
|
+
} catch (e) {
|
|
1286
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
1287
|
+
}
|
|
1288
|
+
var variant4 = ret;
|
|
1289
|
+
switch (variant4.tag) {
|
|
1290
|
+
case "ok": {
|
|
1291
|
+
const e = variant4.val;
|
|
1292
|
+
dataView(memory0).setInt8(arg1 + 0, 0, true);
|
|
1293
|
+
let flags2 = 0;
|
|
1294
|
+
if (typeof e === "object" && e !== null) {
|
|
1295
|
+
flags2 = Boolean(e.read) << 0 | Boolean(e.write) << 1 | Boolean(e.fileIntegritySync) << 2 | Boolean(e.dataIntegritySync) << 3 | Boolean(e.requestedWriteSync) << 4 | Boolean(e.mutateDirectory) << 5;
|
|
1296
|
+
} else if (e !== null && e !== void 0) {
|
|
1297
|
+
throw new TypeError("only an object, undefined or null can be converted to flags");
|
|
1298
|
+
}
|
|
1299
|
+
dataView(memory0).setInt8(arg1 + 1, flags2, true);
|
|
1300
|
+
break;
|
|
1301
|
+
}
|
|
1302
|
+
case "err": {
|
|
1303
|
+
const e = variant4.val;
|
|
1304
|
+
dataView(memory0).setInt8(arg1 + 0, 1, true);
|
|
1305
|
+
var val3 = e;
|
|
1306
|
+
let enum3;
|
|
1307
|
+
switch (val3) {
|
|
1308
|
+
case "access": {
|
|
1309
|
+
enum3 = 0;
|
|
1310
|
+
break;
|
|
1311
|
+
}
|
|
1312
|
+
case "would-block": {
|
|
1313
|
+
enum3 = 1;
|
|
1314
|
+
break;
|
|
1315
|
+
}
|
|
1316
|
+
case "already": {
|
|
1317
|
+
enum3 = 2;
|
|
1318
|
+
break;
|
|
1319
|
+
}
|
|
1320
|
+
case "bad-descriptor": {
|
|
1321
|
+
enum3 = 3;
|
|
1322
|
+
break;
|
|
1323
|
+
}
|
|
1324
|
+
case "busy": {
|
|
1325
|
+
enum3 = 4;
|
|
1326
|
+
break;
|
|
1327
|
+
}
|
|
1328
|
+
case "deadlock": {
|
|
1329
|
+
enum3 = 5;
|
|
1330
|
+
break;
|
|
1331
|
+
}
|
|
1332
|
+
case "quota": {
|
|
1333
|
+
enum3 = 6;
|
|
1334
|
+
break;
|
|
1335
|
+
}
|
|
1336
|
+
case "exist": {
|
|
1337
|
+
enum3 = 7;
|
|
1338
|
+
break;
|
|
1339
|
+
}
|
|
1340
|
+
case "file-too-large": {
|
|
1341
|
+
enum3 = 8;
|
|
1342
|
+
break;
|
|
1343
|
+
}
|
|
1344
|
+
case "illegal-byte-sequence": {
|
|
1345
|
+
enum3 = 9;
|
|
1346
|
+
break;
|
|
1347
|
+
}
|
|
1348
|
+
case "in-progress": {
|
|
1349
|
+
enum3 = 10;
|
|
1350
|
+
break;
|
|
1351
|
+
}
|
|
1352
|
+
case "interrupted": {
|
|
1353
|
+
enum3 = 11;
|
|
1354
|
+
break;
|
|
1355
|
+
}
|
|
1356
|
+
case "invalid": {
|
|
1357
|
+
enum3 = 12;
|
|
1358
|
+
break;
|
|
1359
|
+
}
|
|
1360
|
+
case "io": {
|
|
1361
|
+
enum3 = 13;
|
|
1362
|
+
break;
|
|
1363
|
+
}
|
|
1364
|
+
case "is-directory": {
|
|
1365
|
+
enum3 = 14;
|
|
1366
|
+
break;
|
|
1367
|
+
}
|
|
1368
|
+
case "loop": {
|
|
1369
|
+
enum3 = 15;
|
|
1370
|
+
break;
|
|
1371
|
+
}
|
|
1372
|
+
case "too-many-links": {
|
|
1373
|
+
enum3 = 16;
|
|
1374
|
+
break;
|
|
1375
|
+
}
|
|
1376
|
+
case "message-size": {
|
|
1377
|
+
enum3 = 17;
|
|
1378
|
+
break;
|
|
1379
|
+
}
|
|
1380
|
+
case "name-too-long": {
|
|
1381
|
+
enum3 = 18;
|
|
1382
|
+
break;
|
|
1383
|
+
}
|
|
1384
|
+
case "no-device": {
|
|
1385
|
+
enum3 = 19;
|
|
1386
|
+
break;
|
|
1387
|
+
}
|
|
1388
|
+
case "no-entry": {
|
|
1389
|
+
enum3 = 20;
|
|
1390
|
+
break;
|
|
1391
|
+
}
|
|
1392
|
+
case "no-lock": {
|
|
1393
|
+
enum3 = 21;
|
|
1394
|
+
break;
|
|
1395
|
+
}
|
|
1396
|
+
case "insufficient-memory": {
|
|
1397
|
+
enum3 = 22;
|
|
1398
|
+
break;
|
|
1399
|
+
}
|
|
1400
|
+
case "insufficient-space": {
|
|
1401
|
+
enum3 = 23;
|
|
1402
|
+
break;
|
|
1403
|
+
}
|
|
1404
|
+
case "not-directory": {
|
|
1405
|
+
enum3 = 24;
|
|
1406
|
+
break;
|
|
1407
|
+
}
|
|
1408
|
+
case "not-empty": {
|
|
1409
|
+
enum3 = 25;
|
|
1410
|
+
break;
|
|
1411
|
+
}
|
|
1412
|
+
case "not-recoverable": {
|
|
1413
|
+
enum3 = 26;
|
|
1414
|
+
break;
|
|
1415
|
+
}
|
|
1416
|
+
case "unsupported": {
|
|
1417
|
+
enum3 = 27;
|
|
1418
|
+
break;
|
|
1419
|
+
}
|
|
1420
|
+
case "no-tty": {
|
|
1421
|
+
enum3 = 28;
|
|
1422
|
+
break;
|
|
1423
|
+
}
|
|
1424
|
+
case "no-such-device": {
|
|
1425
|
+
enum3 = 29;
|
|
1426
|
+
break;
|
|
1427
|
+
}
|
|
1428
|
+
case "overflow": {
|
|
1429
|
+
enum3 = 30;
|
|
1430
|
+
break;
|
|
1431
|
+
}
|
|
1432
|
+
case "not-permitted": {
|
|
1433
|
+
enum3 = 31;
|
|
1434
|
+
break;
|
|
1435
|
+
}
|
|
1436
|
+
case "pipe": {
|
|
1437
|
+
enum3 = 32;
|
|
1438
|
+
break;
|
|
1439
|
+
}
|
|
1440
|
+
case "read-only": {
|
|
1441
|
+
enum3 = 33;
|
|
1442
|
+
break;
|
|
1443
|
+
}
|
|
1444
|
+
case "invalid-seek": {
|
|
1445
|
+
enum3 = 34;
|
|
1446
|
+
break;
|
|
1447
|
+
}
|
|
1448
|
+
case "text-file-busy": {
|
|
1449
|
+
enum3 = 35;
|
|
1450
|
+
break;
|
|
1451
|
+
}
|
|
1452
|
+
case "cross-device": {
|
|
1453
|
+
enum3 = 36;
|
|
1454
|
+
break;
|
|
1455
|
+
}
|
|
1456
|
+
default: {
|
|
1457
|
+
if (e instanceof Error) {
|
|
1458
|
+
console.error(e);
|
|
1459
|
+
}
|
|
1460
|
+
throw new TypeError(`"${val3}" is not one of the cases of error-code`);
|
|
1461
|
+
}
|
|
1462
|
+
}
|
|
1463
|
+
dataView(memory0).setInt8(arg1 + 1, enum3, true);
|
|
1464
|
+
break;
|
|
1465
|
+
}
|
|
1466
|
+
default: {
|
|
1467
|
+
throw new TypeError("invalid variant specified for result");
|
|
1468
|
+
}
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1471
|
+
function trampoline18(arg0, arg1) {
|
|
1472
|
+
var handle1 = arg0;
|
|
1473
|
+
var rsc0 = handleTable5.get(handle1).rep;
|
|
1474
|
+
let ret;
|
|
1475
|
+
try {
|
|
1476
|
+
ret = { tag: "ok", val: Descriptor2.prototype.getType.call(rsc0) };
|
|
1477
|
+
} catch (e) {
|
|
1478
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
1479
|
+
}
|
|
1480
|
+
var variant4 = ret;
|
|
1481
|
+
switch (variant4.tag) {
|
|
1482
|
+
case "ok": {
|
|
1483
|
+
const e = variant4.val;
|
|
1484
|
+
dataView(memory0).setInt8(arg1 + 0, 0, true);
|
|
1485
|
+
var val2 = e;
|
|
1486
|
+
let enum2;
|
|
1487
|
+
switch (val2) {
|
|
1488
|
+
case "unknown": {
|
|
1489
|
+
enum2 = 0;
|
|
1490
|
+
break;
|
|
1491
|
+
}
|
|
1492
|
+
case "block-device": {
|
|
1493
|
+
enum2 = 1;
|
|
1494
|
+
break;
|
|
1495
|
+
}
|
|
1496
|
+
case "character-device": {
|
|
1497
|
+
enum2 = 2;
|
|
1498
|
+
break;
|
|
1499
|
+
}
|
|
1500
|
+
case "directory": {
|
|
1501
|
+
enum2 = 3;
|
|
1502
|
+
break;
|
|
1503
|
+
}
|
|
1504
|
+
case "fifo": {
|
|
1505
|
+
enum2 = 4;
|
|
1506
|
+
break;
|
|
1507
|
+
}
|
|
1508
|
+
case "symbolic-link": {
|
|
1509
|
+
enum2 = 5;
|
|
1510
|
+
break;
|
|
1511
|
+
}
|
|
1512
|
+
case "regular-file": {
|
|
1513
|
+
enum2 = 6;
|
|
1514
|
+
break;
|
|
1515
|
+
}
|
|
1516
|
+
case "socket": {
|
|
1517
|
+
enum2 = 7;
|
|
1518
|
+
break;
|
|
1519
|
+
}
|
|
1520
|
+
default: {
|
|
1521
|
+
if (e instanceof Error) {
|
|
1522
|
+
console.error(e);
|
|
1523
|
+
}
|
|
1524
|
+
throw new TypeError(`"${val2}" is not one of the cases of descriptor-type`);
|
|
1525
|
+
}
|
|
1526
|
+
}
|
|
1527
|
+
dataView(memory0).setInt8(arg1 + 1, enum2, true);
|
|
1528
|
+
break;
|
|
1529
|
+
}
|
|
1530
|
+
case "err": {
|
|
1531
|
+
const e = variant4.val;
|
|
1532
|
+
dataView(memory0).setInt8(arg1 + 0, 1, true);
|
|
1533
|
+
var val3 = e;
|
|
1534
|
+
let enum3;
|
|
1535
|
+
switch (val3) {
|
|
1536
|
+
case "access": {
|
|
1537
|
+
enum3 = 0;
|
|
1538
|
+
break;
|
|
1539
|
+
}
|
|
1540
|
+
case "would-block": {
|
|
1541
|
+
enum3 = 1;
|
|
1542
|
+
break;
|
|
1543
|
+
}
|
|
1544
|
+
case "already": {
|
|
1545
|
+
enum3 = 2;
|
|
1546
|
+
break;
|
|
1547
|
+
}
|
|
1548
|
+
case "bad-descriptor": {
|
|
1549
|
+
enum3 = 3;
|
|
1550
|
+
break;
|
|
1551
|
+
}
|
|
1552
|
+
case "busy": {
|
|
1553
|
+
enum3 = 4;
|
|
1554
|
+
break;
|
|
1555
|
+
}
|
|
1556
|
+
case "deadlock": {
|
|
1557
|
+
enum3 = 5;
|
|
1558
|
+
break;
|
|
1559
|
+
}
|
|
1560
|
+
case "quota": {
|
|
1561
|
+
enum3 = 6;
|
|
1562
|
+
break;
|
|
1563
|
+
}
|
|
1564
|
+
case "exist": {
|
|
1565
|
+
enum3 = 7;
|
|
1566
|
+
break;
|
|
1567
|
+
}
|
|
1568
|
+
case "file-too-large": {
|
|
1569
|
+
enum3 = 8;
|
|
1570
|
+
break;
|
|
1571
|
+
}
|
|
1572
|
+
case "illegal-byte-sequence": {
|
|
1573
|
+
enum3 = 9;
|
|
1574
|
+
break;
|
|
1575
|
+
}
|
|
1576
|
+
case "in-progress": {
|
|
1577
|
+
enum3 = 10;
|
|
1578
|
+
break;
|
|
1579
|
+
}
|
|
1580
|
+
case "interrupted": {
|
|
1581
|
+
enum3 = 11;
|
|
1582
|
+
break;
|
|
1583
|
+
}
|
|
1584
|
+
case "invalid": {
|
|
1585
|
+
enum3 = 12;
|
|
1586
|
+
break;
|
|
1587
|
+
}
|
|
1588
|
+
case "io": {
|
|
1589
|
+
enum3 = 13;
|
|
1590
|
+
break;
|
|
1591
|
+
}
|
|
1592
|
+
case "is-directory": {
|
|
1593
|
+
enum3 = 14;
|
|
1594
|
+
break;
|
|
1595
|
+
}
|
|
1596
|
+
case "loop": {
|
|
1597
|
+
enum3 = 15;
|
|
1598
|
+
break;
|
|
1599
|
+
}
|
|
1600
|
+
case "too-many-links": {
|
|
1601
|
+
enum3 = 16;
|
|
1602
|
+
break;
|
|
1603
|
+
}
|
|
1604
|
+
case "message-size": {
|
|
1605
|
+
enum3 = 17;
|
|
1606
|
+
break;
|
|
1607
|
+
}
|
|
1608
|
+
case "name-too-long": {
|
|
1609
|
+
enum3 = 18;
|
|
1610
|
+
break;
|
|
1611
|
+
}
|
|
1612
|
+
case "no-device": {
|
|
1613
|
+
enum3 = 19;
|
|
1614
|
+
break;
|
|
1615
|
+
}
|
|
1616
|
+
case "no-entry": {
|
|
1617
|
+
enum3 = 20;
|
|
1618
|
+
break;
|
|
1619
|
+
}
|
|
1620
|
+
case "no-lock": {
|
|
1621
|
+
enum3 = 21;
|
|
1622
|
+
break;
|
|
1623
|
+
}
|
|
1624
|
+
case "insufficient-memory": {
|
|
1625
|
+
enum3 = 22;
|
|
1626
|
+
break;
|
|
1627
|
+
}
|
|
1628
|
+
case "insufficient-space": {
|
|
1629
|
+
enum3 = 23;
|
|
1630
|
+
break;
|
|
1631
|
+
}
|
|
1632
|
+
case "not-directory": {
|
|
1633
|
+
enum3 = 24;
|
|
1634
|
+
break;
|
|
1635
|
+
}
|
|
1636
|
+
case "not-empty": {
|
|
1637
|
+
enum3 = 25;
|
|
1638
|
+
break;
|
|
1639
|
+
}
|
|
1640
|
+
case "not-recoverable": {
|
|
1641
|
+
enum3 = 26;
|
|
1642
|
+
break;
|
|
1643
|
+
}
|
|
1644
|
+
case "unsupported": {
|
|
1645
|
+
enum3 = 27;
|
|
1646
|
+
break;
|
|
1647
|
+
}
|
|
1648
|
+
case "no-tty": {
|
|
1649
|
+
enum3 = 28;
|
|
1650
|
+
break;
|
|
1651
|
+
}
|
|
1652
|
+
case "no-such-device": {
|
|
1653
|
+
enum3 = 29;
|
|
1654
|
+
break;
|
|
1655
|
+
}
|
|
1656
|
+
case "overflow": {
|
|
1657
|
+
enum3 = 30;
|
|
1658
|
+
break;
|
|
1659
|
+
}
|
|
1660
|
+
case "not-permitted": {
|
|
1661
|
+
enum3 = 31;
|
|
1662
|
+
break;
|
|
1663
|
+
}
|
|
1664
|
+
case "pipe": {
|
|
1665
|
+
enum3 = 32;
|
|
1666
|
+
break;
|
|
1667
|
+
}
|
|
1668
|
+
case "read-only": {
|
|
1669
|
+
enum3 = 33;
|
|
1670
|
+
break;
|
|
1671
|
+
}
|
|
1672
|
+
case "invalid-seek": {
|
|
1673
|
+
enum3 = 34;
|
|
1674
|
+
break;
|
|
1675
|
+
}
|
|
1676
|
+
case "text-file-busy": {
|
|
1677
|
+
enum3 = 35;
|
|
1678
|
+
break;
|
|
1679
|
+
}
|
|
1680
|
+
case "cross-device": {
|
|
1681
|
+
enum3 = 36;
|
|
1682
|
+
break;
|
|
1683
|
+
}
|
|
1684
|
+
default: {
|
|
1685
|
+
if (e instanceof Error) {
|
|
1686
|
+
console.error(e);
|
|
1687
|
+
}
|
|
1688
|
+
throw new TypeError(`"${val3}" is not one of the cases of error-code`);
|
|
1689
|
+
}
|
|
1690
|
+
}
|
|
1691
|
+
dataView(memory0).setInt8(arg1 + 1, enum3, true);
|
|
1692
|
+
break;
|
|
1693
|
+
}
|
|
1694
|
+
default: {
|
|
1695
|
+
throw new TypeError("invalid variant specified for result");
|
|
1696
|
+
}
|
|
1697
|
+
}
|
|
1698
|
+
}
|
|
1699
|
+
function trampoline19(arg0, arg1) {
|
|
1700
|
+
var handle1 = arg0;
|
|
1701
|
+
var rsc0 = handleTable5.get(handle1).rep;
|
|
1702
|
+
let ret;
|
|
1703
|
+
try {
|
|
1704
|
+
ret = { tag: "ok", val: Descriptor2.prototype.stat.call(rsc0) };
|
|
1705
|
+
} catch (e) {
|
|
1706
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
1707
|
+
}
|
|
1708
|
+
var variant11 = ret;
|
|
1709
|
+
switch (variant11.tag) {
|
|
1710
|
+
case "ok": {
|
|
1711
|
+
const e = variant11.val;
|
|
1712
|
+
dataView(memory0).setInt8(arg1 + 0, 0, true);
|
|
1713
|
+
var { type: v2_0, linkCount: v2_1, size: v2_2, dataAccessTimestamp: v2_3, dataModificationTimestamp: v2_4, statusChangeTimestamp: v2_5 } = e;
|
|
1714
|
+
var val3 = v2_0;
|
|
1715
|
+
let enum3;
|
|
1716
|
+
switch (val3) {
|
|
1717
|
+
case "unknown": {
|
|
1718
|
+
enum3 = 0;
|
|
1719
|
+
break;
|
|
1720
|
+
}
|
|
1721
|
+
case "block-device": {
|
|
1722
|
+
enum3 = 1;
|
|
1723
|
+
break;
|
|
1724
|
+
}
|
|
1725
|
+
case "character-device": {
|
|
1726
|
+
enum3 = 2;
|
|
1727
|
+
break;
|
|
1728
|
+
}
|
|
1729
|
+
case "directory": {
|
|
1730
|
+
enum3 = 3;
|
|
1731
|
+
break;
|
|
1732
|
+
}
|
|
1733
|
+
case "fifo": {
|
|
1734
|
+
enum3 = 4;
|
|
1735
|
+
break;
|
|
1736
|
+
}
|
|
1737
|
+
case "symbolic-link": {
|
|
1738
|
+
enum3 = 5;
|
|
1739
|
+
break;
|
|
1740
|
+
}
|
|
1741
|
+
case "regular-file": {
|
|
1742
|
+
enum3 = 6;
|
|
1743
|
+
break;
|
|
1744
|
+
}
|
|
1745
|
+
case "socket": {
|
|
1746
|
+
enum3 = 7;
|
|
1747
|
+
break;
|
|
1748
|
+
}
|
|
1749
|
+
default: {
|
|
1750
|
+
if (v2_0 instanceof Error) {
|
|
1751
|
+
console.error(v2_0);
|
|
1752
|
+
}
|
|
1753
|
+
throw new TypeError(`"${val3}" is not one of the cases of descriptor-type`);
|
|
1754
|
+
}
|
|
1755
|
+
}
|
|
1756
|
+
dataView(memory0).setInt8(arg1 + 8, enum3, true);
|
|
1757
|
+
dataView(memory0).setBigInt64(arg1 + 16, toUint64(v2_1), true);
|
|
1758
|
+
dataView(memory0).setBigInt64(arg1 + 24, toUint64(v2_2), true);
|
|
1759
|
+
var variant5 = v2_3;
|
|
1760
|
+
if (variant5 === null || variant5 === void 0) {
|
|
1761
|
+
dataView(memory0).setInt8(arg1 + 32, 0, true);
|
|
1762
|
+
} else {
|
|
1763
|
+
const e2 = variant5;
|
|
1764
|
+
dataView(memory0).setInt8(arg1 + 32, 1, true);
|
|
1765
|
+
var { seconds: v4_0, nanoseconds: v4_1 } = e2;
|
|
1766
|
+
dataView(memory0).setBigInt64(arg1 + 40, toUint64(v4_0), true);
|
|
1767
|
+
dataView(memory0).setInt32(arg1 + 48, toUint32(v4_1), true);
|
|
1768
|
+
}
|
|
1769
|
+
var variant7 = v2_4;
|
|
1770
|
+
if (variant7 === null || variant7 === void 0) {
|
|
1771
|
+
dataView(memory0).setInt8(arg1 + 56, 0, true);
|
|
1772
|
+
} else {
|
|
1773
|
+
const e2 = variant7;
|
|
1774
|
+
dataView(memory0).setInt8(arg1 + 56, 1, true);
|
|
1775
|
+
var { seconds: v6_0, nanoseconds: v6_1 } = e2;
|
|
1776
|
+
dataView(memory0).setBigInt64(arg1 + 64, toUint64(v6_0), true);
|
|
1777
|
+
dataView(memory0).setInt32(arg1 + 72, toUint32(v6_1), true);
|
|
1778
|
+
}
|
|
1779
|
+
var variant9 = v2_5;
|
|
1780
|
+
if (variant9 === null || variant9 === void 0) {
|
|
1781
|
+
dataView(memory0).setInt8(arg1 + 80, 0, true);
|
|
1782
|
+
} else {
|
|
1783
|
+
const e2 = variant9;
|
|
1784
|
+
dataView(memory0).setInt8(arg1 + 80, 1, true);
|
|
1785
|
+
var { seconds: v8_0, nanoseconds: v8_1 } = e2;
|
|
1786
|
+
dataView(memory0).setBigInt64(arg1 + 88, toUint64(v8_0), true);
|
|
1787
|
+
dataView(memory0).setInt32(arg1 + 96, toUint32(v8_1), true);
|
|
1788
|
+
}
|
|
1789
|
+
break;
|
|
1790
|
+
}
|
|
1791
|
+
case "err": {
|
|
1792
|
+
const e = variant11.val;
|
|
1793
|
+
dataView(memory0).setInt8(arg1 + 0, 1, true);
|
|
1794
|
+
var val10 = e;
|
|
1795
|
+
let enum10;
|
|
1796
|
+
switch (val10) {
|
|
1797
|
+
case "access": {
|
|
1798
|
+
enum10 = 0;
|
|
1799
|
+
break;
|
|
1800
|
+
}
|
|
1801
|
+
case "would-block": {
|
|
1802
|
+
enum10 = 1;
|
|
1803
|
+
break;
|
|
1804
|
+
}
|
|
1805
|
+
case "already": {
|
|
1806
|
+
enum10 = 2;
|
|
1807
|
+
break;
|
|
1808
|
+
}
|
|
1809
|
+
case "bad-descriptor": {
|
|
1810
|
+
enum10 = 3;
|
|
1811
|
+
break;
|
|
1812
|
+
}
|
|
1813
|
+
case "busy": {
|
|
1814
|
+
enum10 = 4;
|
|
1815
|
+
break;
|
|
1816
|
+
}
|
|
1817
|
+
case "deadlock": {
|
|
1818
|
+
enum10 = 5;
|
|
1819
|
+
break;
|
|
1820
|
+
}
|
|
1821
|
+
case "quota": {
|
|
1822
|
+
enum10 = 6;
|
|
1823
|
+
break;
|
|
1824
|
+
}
|
|
1825
|
+
case "exist": {
|
|
1826
|
+
enum10 = 7;
|
|
1827
|
+
break;
|
|
1828
|
+
}
|
|
1829
|
+
case "file-too-large": {
|
|
1830
|
+
enum10 = 8;
|
|
1831
|
+
break;
|
|
1832
|
+
}
|
|
1833
|
+
case "illegal-byte-sequence": {
|
|
1834
|
+
enum10 = 9;
|
|
1835
|
+
break;
|
|
1836
|
+
}
|
|
1837
|
+
case "in-progress": {
|
|
1838
|
+
enum10 = 10;
|
|
1839
|
+
break;
|
|
1840
|
+
}
|
|
1841
|
+
case "interrupted": {
|
|
1842
|
+
enum10 = 11;
|
|
1843
|
+
break;
|
|
1844
|
+
}
|
|
1845
|
+
case "invalid": {
|
|
1846
|
+
enum10 = 12;
|
|
1847
|
+
break;
|
|
1848
|
+
}
|
|
1849
|
+
case "io": {
|
|
1850
|
+
enum10 = 13;
|
|
1851
|
+
break;
|
|
1852
|
+
}
|
|
1853
|
+
case "is-directory": {
|
|
1854
|
+
enum10 = 14;
|
|
1855
|
+
break;
|
|
1856
|
+
}
|
|
1857
|
+
case "loop": {
|
|
1858
|
+
enum10 = 15;
|
|
1859
|
+
break;
|
|
1860
|
+
}
|
|
1861
|
+
case "too-many-links": {
|
|
1862
|
+
enum10 = 16;
|
|
1863
|
+
break;
|
|
1864
|
+
}
|
|
1865
|
+
case "message-size": {
|
|
1866
|
+
enum10 = 17;
|
|
1867
|
+
break;
|
|
1868
|
+
}
|
|
1869
|
+
case "name-too-long": {
|
|
1870
|
+
enum10 = 18;
|
|
1871
|
+
break;
|
|
1872
|
+
}
|
|
1873
|
+
case "no-device": {
|
|
1874
|
+
enum10 = 19;
|
|
1875
|
+
break;
|
|
1876
|
+
}
|
|
1877
|
+
case "no-entry": {
|
|
1878
|
+
enum10 = 20;
|
|
1879
|
+
break;
|
|
1880
|
+
}
|
|
1881
|
+
case "no-lock": {
|
|
1882
|
+
enum10 = 21;
|
|
1883
|
+
break;
|
|
1884
|
+
}
|
|
1885
|
+
case "insufficient-memory": {
|
|
1886
|
+
enum10 = 22;
|
|
1887
|
+
break;
|
|
1888
|
+
}
|
|
1889
|
+
case "insufficient-space": {
|
|
1890
|
+
enum10 = 23;
|
|
1891
|
+
break;
|
|
1892
|
+
}
|
|
1893
|
+
case "not-directory": {
|
|
1894
|
+
enum10 = 24;
|
|
1895
|
+
break;
|
|
1896
|
+
}
|
|
1897
|
+
case "not-empty": {
|
|
1898
|
+
enum10 = 25;
|
|
1899
|
+
break;
|
|
1900
|
+
}
|
|
1901
|
+
case "not-recoverable": {
|
|
1902
|
+
enum10 = 26;
|
|
1903
|
+
break;
|
|
1904
|
+
}
|
|
1905
|
+
case "unsupported": {
|
|
1906
|
+
enum10 = 27;
|
|
1907
|
+
break;
|
|
1908
|
+
}
|
|
1909
|
+
case "no-tty": {
|
|
1910
|
+
enum10 = 28;
|
|
1911
|
+
break;
|
|
1912
|
+
}
|
|
1913
|
+
case "no-such-device": {
|
|
1914
|
+
enum10 = 29;
|
|
1915
|
+
break;
|
|
1916
|
+
}
|
|
1917
|
+
case "overflow": {
|
|
1918
|
+
enum10 = 30;
|
|
1919
|
+
break;
|
|
1920
|
+
}
|
|
1921
|
+
case "not-permitted": {
|
|
1922
|
+
enum10 = 31;
|
|
1923
|
+
break;
|
|
1924
|
+
}
|
|
1925
|
+
case "pipe": {
|
|
1926
|
+
enum10 = 32;
|
|
1927
|
+
break;
|
|
1928
|
+
}
|
|
1929
|
+
case "read-only": {
|
|
1930
|
+
enum10 = 33;
|
|
1931
|
+
break;
|
|
1932
|
+
}
|
|
1933
|
+
case "invalid-seek": {
|
|
1934
|
+
enum10 = 34;
|
|
1935
|
+
break;
|
|
1936
|
+
}
|
|
1937
|
+
case "text-file-busy": {
|
|
1938
|
+
enum10 = 35;
|
|
1939
|
+
break;
|
|
1940
|
+
}
|
|
1941
|
+
case "cross-device": {
|
|
1942
|
+
enum10 = 36;
|
|
1943
|
+
break;
|
|
1944
|
+
}
|
|
1945
|
+
default: {
|
|
1946
|
+
if (e instanceof Error) {
|
|
1947
|
+
console.error(e);
|
|
1948
|
+
}
|
|
1949
|
+
throw new TypeError(`"${val10}" is not one of the cases of error-code`);
|
|
1950
|
+
}
|
|
1951
|
+
}
|
|
1952
|
+
dataView(memory0).setInt8(arg1 + 8, enum10, true);
|
|
1953
|
+
break;
|
|
1954
|
+
}
|
|
1955
|
+
default: {
|
|
1956
|
+
throw new TypeError("invalid variant specified for result");
|
|
1957
|
+
}
|
|
1958
|
+
}
|
|
1959
|
+
}
|
|
1960
|
+
function trampoline20(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
|
|
1961
|
+
var handle1 = arg0;
|
|
1962
|
+
var rsc0 = handleTable5.get(handle1).rep;
|
|
1963
|
+
if ((arg1 & 4294967294) !== 0) {
|
|
1964
|
+
throw new TypeError("flags have extraneous bits set");
|
|
1965
|
+
}
|
|
1966
|
+
var flags2 = {
|
|
1967
|
+
symlinkFollow: Boolean(arg1 & 1)
|
|
1968
|
+
};
|
|
1969
|
+
var ptr3 = arg2;
|
|
1970
|
+
var len3 = arg3;
|
|
1971
|
+
var result3 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr3, len3));
|
|
1972
|
+
if ((arg4 & 4294967280) !== 0) {
|
|
1973
|
+
throw new TypeError("flags have extraneous bits set");
|
|
1974
|
+
}
|
|
1975
|
+
var flags4 = {
|
|
1976
|
+
create: Boolean(arg4 & 1),
|
|
1977
|
+
directory: Boolean(arg4 & 2),
|
|
1978
|
+
exclusive: Boolean(arg4 & 4),
|
|
1979
|
+
truncate: Boolean(arg4 & 8)
|
|
1980
|
+
};
|
|
1981
|
+
if ((arg5 & 4294967232) !== 0) {
|
|
1982
|
+
throw new TypeError("flags have extraneous bits set");
|
|
1983
|
+
}
|
|
1984
|
+
var flags5 = {
|
|
1985
|
+
read: Boolean(arg5 & 1),
|
|
1986
|
+
write: Boolean(arg5 & 2),
|
|
1987
|
+
fileIntegritySync: Boolean(arg5 & 4),
|
|
1988
|
+
dataIntegritySync: Boolean(arg5 & 8),
|
|
1989
|
+
requestedWriteSync: Boolean(arg5 & 16),
|
|
1990
|
+
mutateDirectory: Boolean(arg5 & 32)
|
|
1991
|
+
};
|
|
1992
|
+
let ret;
|
|
1993
|
+
try {
|
|
1994
|
+
ret = { tag: "ok", val: Descriptor2.prototype.openAt.call(rsc0, flags2, result3, flags4, flags5) };
|
|
1995
|
+
} catch (e) {
|
|
1996
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
1997
|
+
}
|
|
1998
|
+
var variant8 = ret;
|
|
1999
|
+
switch (variant8.tag) {
|
|
2000
|
+
case "ok": {
|
|
2001
|
+
const e = variant8.val;
|
|
2002
|
+
dataView(memory0).setInt8(arg6 + 0, 0, true);
|
|
2003
|
+
if (!(e instanceof Descriptor2)) {
|
|
2004
|
+
throw new Error('Resource error: Not a valid "Descriptor" resource.');
|
|
2005
|
+
}
|
|
2006
|
+
var handle6 = handleCnt5++;
|
|
2007
|
+
handleTable5.set(handle6, { rep: e, own: true });
|
|
2008
|
+
dataView(memory0).setInt32(arg6 + 4, handle6, true);
|
|
2009
|
+
break;
|
|
2010
|
+
}
|
|
2011
|
+
case "err": {
|
|
2012
|
+
const e = variant8.val;
|
|
2013
|
+
dataView(memory0).setInt8(arg6 + 0, 1, true);
|
|
2014
|
+
var val7 = e;
|
|
2015
|
+
let enum7;
|
|
2016
|
+
switch (val7) {
|
|
2017
|
+
case "access": {
|
|
2018
|
+
enum7 = 0;
|
|
2019
|
+
break;
|
|
2020
|
+
}
|
|
2021
|
+
case "would-block": {
|
|
2022
|
+
enum7 = 1;
|
|
2023
|
+
break;
|
|
2024
|
+
}
|
|
2025
|
+
case "already": {
|
|
2026
|
+
enum7 = 2;
|
|
2027
|
+
break;
|
|
2028
|
+
}
|
|
2029
|
+
case "bad-descriptor": {
|
|
2030
|
+
enum7 = 3;
|
|
2031
|
+
break;
|
|
2032
|
+
}
|
|
2033
|
+
case "busy": {
|
|
2034
|
+
enum7 = 4;
|
|
2035
|
+
break;
|
|
2036
|
+
}
|
|
2037
|
+
case "deadlock": {
|
|
2038
|
+
enum7 = 5;
|
|
2039
|
+
break;
|
|
2040
|
+
}
|
|
2041
|
+
case "quota": {
|
|
2042
|
+
enum7 = 6;
|
|
2043
|
+
break;
|
|
2044
|
+
}
|
|
2045
|
+
case "exist": {
|
|
2046
|
+
enum7 = 7;
|
|
2047
|
+
break;
|
|
2048
|
+
}
|
|
2049
|
+
case "file-too-large": {
|
|
2050
|
+
enum7 = 8;
|
|
2051
|
+
break;
|
|
2052
|
+
}
|
|
2053
|
+
case "illegal-byte-sequence": {
|
|
2054
|
+
enum7 = 9;
|
|
2055
|
+
break;
|
|
2056
|
+
}
|
|
2057
|
+
case "in-progress": {
|
|
2058
|
+
enum7 = 10;
|
|
2059
|
+
break;
|
|
2060
|
+
}
|
|
2061
|
+
case "interrupted": {
|
|
2062
|
+
enum7 = 11;
|
|
2063
|
+
break;
|
|
2064
|
+
}
|
|
2065
|
+
case "invalid": {
|
|
2066
|
+
enum7 = 12;
|
|
2067
|
+
break;
|
|
2068
|
+
}
|
|
2069
|
+
case "io": {
|
|
2070
|
+
enum7 = 13;
|
|
2071
|
+
break;
|
|
2072
|
+
}
|
|
2073
|
+
case "is-directory": {
|
|
2074
|
+
enum7 = 14;
|
|
2075
|
+
break;
|
|
2076
|
+
}
|
|
2077
|
+
case "loop": {
|
|
2078
|
+
enum7 = 15;
|
|
2079
|
+
break;
|
|
2080
|
+
}
|
|
2081
|
+
case "too-many-links": {
|
|
2082
|
+
enum7 = 16;
|
|
2083
|
+
break;
|
|
2084
|
+
}
|
|
2085
|
+
case "message-size": {
|
|
2086
|
+
enum7 = 17;
|
|
2087
|
+
break;
|
|
2088
|
+
}
|
|
2089
|
+
case "name-too-long": {
|
|
2090
|
+
enum7 = 18;
|
|
2091
|
+
break;
|
|
2092
|
+
}
|
|
2093
|
+
case "no-device": {
|
|
2094
|
+
enum7 = 19;
|
|
2095
|
+
break;
|
|
2096
|
+
}
|
|
2097
|
+
case "no-entry": {
|
|
2098
|
+
enum7 = 20;
|
|
2099
|
+
break;
|
|
2100
|
+
}
|
|
2101
|
+
case "no-lock": {
|
|
2102
|
+
enum7 = 21;
|
|
2103
|
+
break;
|
|
2104
|
+
}
|
|
2105
|
+
case "insufficient-memory": {
|
|
2106
|
+
enum7 = 22;
|
|
2107
|
+
break;
|
|
2108
|
+
}
|
|
2109
|
+
case "insufficient-space": {
|
|
2110
|
+
enum7 = 23;
|
|
2111
|
+
break;
|
|
2112
|
+
}
|
|
2113
|
+
case "not-directory": {
|
|
2114
|
+
enum7 = 24;
|
|
2115
|
+
break;
|
|
2116
|
+
}
|
|
2117
|
+
case "not-empty": {
|
|
2118
|
+
enum7 = 25;
|
|
2119
|
+
break;
|
|
2120
|
+
}
|
|
2121
|
+
case "not-recoverable": {
|
|
2122
|
+
enum7 = 26;
|
|
2123
|
+
break;
|
|
2124
|
+
}
|
|
2125
|
+
case "unsupported": {
|
|
2126
|
+
enum7 = 27;
|
|
2127
|
+
break;
|
|
2128
|
+
}
|
|
2129
|
+
case "no-tty": {
|
|
2130
|
+
enum7 = 28;
|
|
2131
|
+
break;
|
|
2132
|
+
}
|
|
2133
|
+
case "no-such-device": {
|
|
2134
|
+
enum7 = 29;
|
|
2135
|
+
break;
|
|
2136
|
+
}
|
|
2137
|
+
case "overflow": {
|
|
2138
|
+
enum7 = 30;
|
|
2139
|
+
break;
|
|
2140
|
+
}
|
|
2141
|
+
case "not-permitted": {
|
|
2142
|
+
enum7 = 31;
|
|
2143
|
+
break;
|
|
2144
|
+
}
|
|
2145
|
+
case "pipe": {
|
|
2146
|
+
enum7 = 32;
|
|
2147
|
+
break;
|
|
2148
|
+
}
|
|
2149
|
+
case "read-only": {
|
|
2150
|
+
enum7 = 33;
|
|
2151
|
+
break;
|
|
2152
|
+
}
|
|
2153
|
+
case "invalid-seek": {
|
|
2154
|
+
enum7 = 34;
|
|
2155
|
+
break;
|
|
2156
|
+
}
|
|
2157
|
+
case "text-file-busy": {
|
|
2158
|
+
enum7 = 35;
|
|
2159
|
+
break;
|
|
2160
|
+
}
|
|
2161
|
+
case "cross-device": {
|
|
2162
|
+
enum7 = 36;
|
|
2163
|
+
break;
|
|
2164
|
+
}
|
|
2165
|
+
default: {
|
|
2166
|
+
if (e instanceof Error) {
|
|
2167
|
+
console.error(e);
|
|
2168
|
+
}
|
|
2169
|
+
throw new TypeError(`"${val7}" is not one of the cases of error-code`);
|
|
2170
|
+
}
|
|
2171
|
+
}
|
|
2172
|
+
dataView(memory0).setInt8(arg6 + 4, enum7, true);
|
|
2173
|
+
break;
|
|
2174
|
+
}
|
|
2175
|
+
default: {
|
|
2176
|
+
throw new TypeError("invalid variant specified for result");
|
|
2177
|
+
}
|
|
2178
|
+
}
|
|
2179
|
+
}
|
|
2180
|
+
function trampoline21(arg0, arg1) {
|
|
2181
|
+
var handle1 = arg0;
|
|
2182
|
+
var rsc0 = handleTable5.get(handle1).rep;
|
|
2183
|
+
let ret;
|
|
2184
|
+
try {
|
|
2185
|
+
ret = { tag: "ok", val: Descriptor2.prototype.metadataHash.call(rsc0) };
|
|
2186
|
+
} catch (e) {
|
|
2187
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
2188
|
+
}
|
|
2189
|
+
var variant4 = ret;
|
|
2190
|
+
switch (variant4.tag) {
|
|
2191
|
+
case "ok": {
|
|
2192
|
+
const e = variant4.val;
|
|
2193
|
+
dataView(memory0).setInt8(arg1 + 0, 0, true);
|
|
2194
|
+
var { lower: v2_0, upper: v2_1 } = e;
|
|
2195
|
+
dataView(memory0).setBigInt64(arg1 + 8, toUint64(v2_0), true);
|
|
2196
|
+
dataView(memory0).setBigInt64(arg1 + 16, toUint64(v2_1), true);
|
|
2197
|
+
break;
|
|
2198
|
+
}
|
|
2199
|
+
case "err": {
|
|
2200
|
+
const e = variant4.val;
|
|
2201
|
+
dataView(memory0).setInt8(arg1 + 0, 1, true);
|
|
2202
|
+
var val3 = e;
|
|
2203
|
+
let enum3;
|
|
2204
|
+
switch (val3) {
|
|
2205
|
+
case "access": {
|
|
2206
|
+
enum3 = 0;
|
|
2207
|
+
break;
|
|
2208
|
+
}
|
|
2209
|
+
case "would-block": {
|
|
2210
|
+
enum3 = 1;
|
|
2211
|
+
break;
|
|
2212
|
+
}
|
|
2213
|
+
case "already": {
|
|
2214
|
+
enum3 = 2;
|
|
2215
|
+
break;
|
|
2216
|
+
}
|
|
2217
|
+
case "bad-descriptor": {
|
|
2218
|
+
enum3 = 3;
|
|
2219
|
+
break;
|
|
2220
|
+
}
|
|
2221
|
+
case "busy": {
|
|
2222
|
+
enum3 = 4;
|
|
2223
|
+
break;
|
|
2224
|
+
}
|
|
2225
|
+
case "deadlock": {
|
|
2226
|
+
enum3 = 5;
|
|
2227
|
+
break;
|
|
2228
|
+
}
|
|
2229
|
+
case "quota": {
|
|
2230
|
+
enum3 = 6;
|
|
2231
|
+
break;
|
|
2232
|
+
}
|
|
2233
|
+
case "exist": {
|
|
2234
|
+
enum3 = 7;
|
|
2235
|
+
break;
|
|
2236
|
+
}
|
|
2237
|
+
case "file-too-large": {
|
|
2238
|
+
enum3 = 8;
|
|
2239
|
+
break;
|
|
2240
|
+
}
|
|
2241
|
+
case "illegal-byte-sequence": {
|
|
2242
|
+
enum3 = 9;
|
|
2243
|
+
break;
|
|
2244
|
+
}
|
|
2245
|
+
case "in-progress": {
|
|
2246
|
+
enum3 = 10;
|
|
2247
|
+
break;
|
|
2248
|
+
}
|
|
2249
|
+
case "interrupted": {
|
|
2250
|
+
enum3 = 11;
|
|
2251
|
+
break;
|
|
2252
|
+
}
|
|
2253
|
+
case "invalid": {
|
|
2254
|
+
enum3 = 12;
|
|
2255
|
+
break;
|
|
2256
|
+
}
|
|
2257
|
+
case "io": {
|
|
2258
|
+
enum3 = 13;
|
|
2259
|
+
break;
|
|
2260
|
+
}
|
|
2261
|
+
case "is-directory": {
|
|
2262
|
+
enum3 = 14;
|
|
2263
|
+
break;
|
|
2264
|
+
}
|
|
2265
|
+
case "loop": {
|
|
2266
|
+
enum3 = 15;
|
|
2267
|
+
break;
|
|
2268
|
+
}
|
|
2269
|
+
case "too-many-links": {
|
|
2270
|
+
enum3 = 16;
|
|
2271
|
+
break;
|
|
2272
|
+
}
|
|
2273
|
+
case "message-size": {
|
|
2274
|
+
enum3 = 17;
|
|
2275
|
+
break;
|
|
2276
|
+
}
|
|
2277
|
+
case "name-too-long": {
|
|
2278
|
+
enum3 = 18;
|
|
2279
|
+
break;
|
|
2280
|
+
}
|
|
2281
|
+
case "no-device": {
|
|
2282
|
+
enum3 = 19;
|
|
2283
|
+
break;
|
|
2284
|
+
}
|
|
2285
|
+
case "no-entry": {
|
|
2286
|
+
enum3 = 20;
|
|
2287
|
+
break;
|
|
2288
|
+
}
|
|
2289
|
+
case "no-lock": {
|
|
2290
|
+
enum3 = 21;
|
|
2291
|
+
break;
|
|
2292
|
+
}
|
|
2293
|
+
case "insufficient-memory": {
|
|
2294
|
+
enum3 = 22;
|
|
2295
|
+
break;
|
|
2296
|
+
}
|
|
2297
|
+
case "insufficient-space": {
|
|
2298
|
+
enum3 = 23;
|
|
2299
|
+
break;
|
|
2300
|
+
}
|
|
2301
|
+
case "not-directory": {
|
|
2302
|
+
enum3 = 24;
|
|
2303
|
+
break;
|
|
2304
|
+
}
|
|
2305
|
+
case "not-empty": {
|
|
2306
|
+
enum3 = 25;
|
|
2307
|
+
break;
|
|
2308
|
+
}
|
|
2309
|
+
case "not-recoverable": {
|
|
2310
|
+
enum3 = 26;
|
|
2311
|
+
break;
|
|
2312
|
+
}
|
|
2313
|
+
case "unsupported": {
|
|
2314
|
+
enum3 = 27;
|
|
2315
|
+
break;
|
|
2316
|
+
}
|
|
2317
|
+
case "no-tty": {
|
|
2318
|
+
enum3 = 28;
|
|
2319
|
+
break;
|
|
2320
|
+
}
|
|
2321
|
+
case "no-such-device": {
|
|
2322
|
+
enum3 = 29;
|
|
2323
|
+
break;
|
|
2324
|
+
}
|
|
2325
|
+
case "overflow": {
|
|
2326
|
+
enum3 = 30;
|
|
2327
|
+
break;
|
|
2328
|
+
}
|
|
2329
|
+
case "not-permitted": {
|
|
2330
|
+
enum3 = 31;
|
|
2331
|
+
break;
|
|
2332
|
+
}
|
|
2333
|
+
case "pipe": {
|
|
2334
|
+
enum3 = 32;
|
|
2335
|
+
break;
|
|
2336
|
+
}
|
|
2337
|
+
case "read-only": {
|
|
2338
|
+
enum3 = 33;
|
|
2339
|
+
break;
|
|
2340
|
+
}
|
|
2341
|
+
case "invalid-seek": {
|
|
2342
|
+
enum3 = 34;
|
|
2343
|
+
break;
|
|
2344
|
+
}
|
|
2345
|
+
case "text-file-busy": {
|
|
2346
|
+
enum3 = 35;
|
|
2347
|
+
break;
|
|
2348
|
+
}
|
|
2349
|
+
case "cross-device": {
|
|
2350
|
+
enum3 = 36;
|
|
2351
|
+
break;
|
|
2352
|
+
}
|
|
2353
|
+
default: {
|
|
2354
|
+
if (e instanceof Error) {
|
|
2355
|
+
console.error(e);
|
|
2356
|
+
}
|
|
2357
|
+
throw new TypeError(`"${val3}" is not one of the cases of error-code`);
|
|
2358
|
+
}
|
|
2359
|
+
}
|
|
2360
|
+
dataView(memory0).setInt8(arg1 + 8, enum3, true);
|
|
2361
|
+
break;
|
|
2362
|
+
}
|
|
2363
|
+
default: {
|
|
2364
|
+
throw new TypeError("invalid variant specified for result");
|
|
2365
|
+
}
|
|
2366
|
+
}
|
|
2367
|
+
}
|
|
2368
|
+
function trampoline22(arg0, arg1) {
|
|
2369
|
+
var handle1 = arg0;
|
|
2370
|
+
var rsc0 = handleTable0.get(handle1).rep;
|
|
2371
|
+
const ret = filesystemErrorCode(rsc0);
|
|
2372
|
+
var variant3 = ret;
|
|
2373
|
+
if (variant3 === null || variant3 === void 0) {
|
|
2374
|
+
dataView(memory0).setInt8(arg1 + 0, 0, true);
|
|
2375
|
+
} else {
|
|
2376
|
+
const e = variant3;
|
|
2377
|
+
dataView(memory0).setInt8(arg1 + 0, 1, true);
|
|
2378
|
+
var val2 = e;
|
|
2379
|
+
let enum2;
|
|
2380
|
+
switch (val2) {
|
|
2381
|
+
case "access": {
|
|
2382
|
+
enum2 = 0;
|
|
2383
|
+
break;
|
|
2384
|
+
}
|
|
2385
|
+
case "would-block": {
|
|
2386
|
+
enum2 = 1;
|
|
2387
|
+
break;
|
|
2388
|
+
}
|
|
2389
|
+
case "already": {
|
|
2390
|
+
enum2 = 2;
|
|
2391
|
+
break;
|
|
2392
|
+
}
|
|
2393
|
+
case "bad-descriptor": {
|
|
2394
|
+
enum2 = 3;
|
|
2395
|
+
break;
|
|
2396
|
+
}
|
|
2397
|
+
case "busy": {
|
|
2398
|
+
enum2 = 4;
|
|
2399
|
+
break;
|
|
2400
|
+
}
|
|
2401
|
+
case "deadlock": {
|
|
2402
|
+
enum2 = 5;
|
|
2403
|
+
break;
|
|
2404
|
+
}
|
|
2405
|
+
case "quota": {
|
|
2406
|
+
enum2 = 6;
|
|
2407
|
+
break;
|
|
2408
|
+
}
|
|
2409
|
+
case "exist": {
|
|
2410
|
+
enum2 = 7;
|
|
2411
|
+
break;
|
|
2412
|
+
}
|
|
2413
|
+
case "file-too-large": {
|
|
2414
|
+
enum2 = 8;
|
|
2415
|
+
break;
|
|
2416
|
+
}
|
|
2417
|
+
case "illegal-byte-sequence": {
|
|
2418
|
+
enum2 = 9;
|
|
2419
|
+
break;
|
|
2420
|
+
}
|
|
2421
|
+
case "in-progress": {
|
|
2422
|
+
enum2 = 10;
|
|
2423
|
+
break;
|
|
2424
|
+
}
|
|
2425
|
+
case "interrupted": {
|
|
2426
|
+
enum2 = 11;
|
|
2427
|
+
break;
|
|
2428
|
+
}
|
|
2429
|
+
case "invalid": {
|
|
2430
|
+
enum2 = 12;
|
|
2431
|
+
break;
|
|
2432
|
+
}
|
|
2433
|
+
case "io": {
|
|
2434
|
+
enum2 = 13;
|
|
2435
|
+
break;
|
|
2436
|
+
}
|
|
2437
|
+
case "is-directory": {
|
|
2438
|
+
enum2 = 14;
|
|
2439
|
+
break;
|
|
2440
|
+
}
|
|
2441
|
+
case "loop": {
|
|
2442
|
+
enum2 = 15;
|
|
2443
|
+
break;
|
|
2444
|
+
}
|
|
2445
|
+
case "too-many-links": {
|
|
2446
|
+
enum2 = 16;
|
|
2447
|
+
break;
|
|
2448
|
+
}
|
|
2449
|
+
case "message-size": {
|
|
2450
|
+
enum2 = 17;
|
|
2451
|
+
break;
|
|
2452
|
+
}
|
|
2453
|
+
case "name-too-long": {
|
|
2454
|
+
enum2 = 18;
|
|
2455
|
+
break;
|
|
2456
|
+
}
|
|
2457
|
+
case "no-device": {
|
|
2458
|
+
enum2 = 19;
|
|
2459
|
+
break;
|
|
2460
|
+
}
|
|
2461
|
+
case "no-entry": {
|
|
2462
|
+
enum2 = 20;
|
|
2463
|
+
break;
|
|
2464
|
+
}
|
|
2465
|
+
case "no-lock": {
|
|
2466
|
+
enum2 = 21;
|
|
2467
|
+
break;
|
|
2468
|
+
}
|
|
2469
|
+
case "insufficient-memory": {
|
|
2470
|
+
enum2 = 22;
|
|
2471
|
+
break;
|
|
2472
|
+
}
|
|
2473
|
+
case "insufficient-space": {
|
|
2474
|
+
enum2 = 23;
|
|
2475
|
+
break;
|
|
2476
|
+
}
|
|
2477
|
+
case "not-directory": {
|
|
2478
|
+
enum2 = 24;
|
|
2479
|
+
break;
|
|
2480
|
+
}
|
|
2481
|
+
case "not-empty": {
|
|
2482
|
+
enum2 = 25;
|
|
2483
|
+
break;
|
|
2484
|
+
}
|
|
2485
|
+
case "not-recoverable": {
|
|
2486
|
+
enum2 = 26;
|
|
2487
|
+
break;
|
|
2488
|
+
}
|
|
2489
|
+
case "unsupported": {
|
|
2490
|
+
enum2 = 27;
|
|
2491
|
+
break;
|
|
2492
|
+
}
|
|
2493
|
+
case "no-tty": {
|
|
2494
|
+
enum2 = 28;
|
|
2495
|
+
break;
|
|
2496
|
+
}
|
|
2497
|
+
case "no-such-device": {
|
|
2498
|
+
enum2 = 29;
|
|
2499
|
+
break;
|
|
2500
|
+
}
|
|
2501
|
+
case "overflow": {
|
|
2502
|
+
enum2 = 30;
|
|
2503
|
+
break;
|
|
2504
|
+
}
|
|
2505
|
+
case "not-permitted": {
|
|
2506
|
+
enum2 = 31;
|
|
2507
|
+
break;
|
|
2508
|
+
}
|
|
2509
|
+
case "pipe": {
|
|
2510
|
+
enum2 = 32;
|
|
2511
|
+
break;
|
|
2512
|
+
}
|
|
2513
|
+
case "read-only": {
|
|
2514
|
+
enum2 = 33;
|
|
2515
|
+
break;
|
|
2516
|
+
}
|
|
2517
|
+
case "invalid-seek": {
|
|
2518
|
+
enum2 = 34;
|
|
2519
|
+
break;
|
|
2520
|
+
}
|
|
2521
|
+
case "text-file-busy": {
|
|
2522
|
+
enum2 = 35;
|
|
2523
|
+
break;
|
|
2524
|
+
}
|
|
2525
|
+
case "cross-device": {
|
|
2526
|
+
enum2 = 36;
|
|
2527
|
+
break;
|
|
2528
|
+
}
|
|
2529
|
+
default: {
|
|
2530
|
+
if (e instanceof Error) {
|
|
2531
|
+
console.error(e);
|
|
2532
|
+
}
|
|
2533
|
+
throw new TypeError(`"${val2}" is not one of the cases of error-code`);
|
|
2534
|
+
}
|
|
2535
|
+
}
|
|
2536
|
+
dataView(memory0).setInt8(arg1 + 1, enum2, true);
|
|
2537
|
+
}
|
|
2538
|
+
}
|
|
2539
|
+
function trampoline23(arg0, arg1, arg2) {
|
|
2540
|
+
var handle1 = arg0;
|
|
2541
|
+
var rsc0 = handleTable1.get(handle1).rep;
|
|
2542
|
+
let ret;
|
|
2543
|
+
try {
|
|
2544
|
+
ret = { tag: "ok", val: InputStream2.prototype.read.call(rsc0, BigInt.asUintN(64, arg1)) };
|
|
2545
|
+
} catch (e) {
|
|
2546
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
2547
|
+
}
|
|
2548
|
+
var variant5 = ret;
|
|
2549
|
+
switch (variant5.tag) {
|
|
2550
|
+
case "ok": {
|
|
2551
|
+
const e = variant5.val;
|
|
2552
|
+
dataView(memory0).setInt8(arg2 + 0, 0, true);
|
|
2553
|
+
var val2 = e;
|
|
2554
|
+
var len2 = val2.byteLength;
|
|
2555
|
+
var ptr2 = realloc0(0, 0, 1, len2 * 1);
|
|
2556
|
+
var src2 = new Uint8Array(val2.buffer || val2, val2.byteOffset, len2 * 1);
|
|
2557
|
+
new Uint8Array(memory0.buffer, ptr2, len2 * 1).set(src2);
|
|
2558
|
+
dataView(memory0).setInt32(arg2 + 8, len2, true);
|
|
2559
|
+
dataView(memory0).setInt32(arg2 + 4, ptr2, true);
|
|
2560
|
+
break;
|
|
2561
|
+
}
|
|
2562
|
+
case "err": {
|
|
2563
|
+
const e = variant5.val;
|
|
2564
|
+
dataView(memory0).setInt8(arg2 + 0, 1, true);
|
|
2565
|
+
var variant4 = e;
|
|
2566
|
+
switch (variant4.tag) {
|
|
2567
|
+
case "last-operation-failed": {
|
|
2568
|
+
const e2 = variant4.val;
|
|
2569
|
+
dataView(memory0).setInt8(arg2 + 4, 0, true);
|
|
2570
|
+
if (!(e2 instanceof Error$1)) {
|
|
2571
|
+
throw new Error('Resource error: Not a valid "Error" resource.');
|
|
2572
|
+
}
|
|
2573
|
+
var handle3 = handleCnt0++;
|
|
2574
|
+
handleTable0.set(handle3, { rep: e2, own: true });
|
|
2575
|
+
dataView(memory0).setInt32(arg2 + 8, handle3, true);
|
|
2576
|
+
break;
|
|
2577
|
+
}
|
|
2578
|
+
case "closed": {
|
|
2579
|
+
dataView(memory0).setInt8(arg2 + 4, 1, true);
|
|
2580
|
+
break;
|
|
2581
|
+
}
|
|
2582
|
+
default: {
|
|
2583
|
+
throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
|
|
2584
|
+
}
|
|
2585
|
+
}
|
|
2586
|
+
break;
|
|
2587
|
+
}
|
|
2588
|
+
default: {
|
|
2589
|
+
throw new TypeError("invalid variant specified for result");
|
|
2590
|
+
}
|
|
2591
|
+
}
|
|
2592
|
+
}
|
|
2593
|
+
function trampoline24(arg0, arg1, arg2) {
|
|
2594
|
+
var handle1 = arg0;
|
|
2595
|
+
var rsc0 = handleTable1.get(handle1).rep;
|
|
2596
|
+
let ret;
|
|
2597
|
+
try {
|
|
2598
|
+
ret = { tag: "ok", val: InputStream2.prototype.blockingRead.call(rsc0, BigInt.asUintN(64, arg1)) };
|
|
2599
|
+
} catch (e) {
|
|
2600
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
2601
|
+
}
|
|
2602
|
+
var variant5 = ret;
|
|
2603
|
+
switch (variant5.tag) {
|
|
2604
|
+
case "ok": {
|
|
2605
|
+
const e = variant5.val;
|
|
2606
|
+
dataView(memory0).setInt8(arg2 + 0, 0, true);
|
|
2607
|
+
var val2 = e;
|
|
2608
|
+
var len2 = val2.byteLength;
|
|
2609
|
+
var ptr2 = realloc0(0, 0, 1, len2 * 1);
|
|
2610
|
+
var src2 = new Uint8Array(val2.buffer || val2, val2.byteOffset, len2 * 1);
|
|
2611
|
+
new Uint8Array(memory0.buffer, ptr2, len2 * 1).set(src2);
|
|
2612
|
+
dataView(memory0).setInt32(arg2 + 8, len2, true);
|
|
2613
|
+
dataView(memory0).setInt32(arg2 + 4, ptr2, true);
|
|
2614
|
+
break;
|
|
2615
|
+
}
|
|
2616
|
+
case "err": {
|
|
2617
|
+
const e = variant5.val;
|
|
2618
|
+
dataView(memory0).setInt8(arg2 + 0, 1, true);
|
|
2619
|
+
var variant4 = e;
|
|
2620
|
+
switch (variant4.tag) {
|
|
2621
|
+
case "last-operation-failed": {
|
|
2622
|
+
const e2 = variant4.val;
|
|
2623
|
+
dataView(memory0).setInt8(arg2 + 4, 0, true);
|
|
2624
|
+
if (!(e2 instanceof Error$1)) {
|
|
2625
|
+
throw new Error('Resource error: Not a valid "Error" resource.');
|
|
2626
|
+
}
|
|
2627
|
+
var handle3 = handleCnt0++;
|
|
2628
|
+
handleTable0.set(handle3, { rep: e2, own: true });
|
|
2629
|
+
dataView(memory0).setInt32(arg2 + 8, handle3, true);
|
|
2630
|
+
break;
|
|
2631
|
+
}
|
|
2632
|
+
case "closed": {
|
|
2633
|
+
dataView(memory0).setInt8(arg2 + 4, 1, true);
|
|
2634
|
+
break;
|
|
2635
|
+
}
|
|
2636
|
+
default: {
|
|
2637
|
+
throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
|
|
2638
|
+
}
|
|
2639
|
+
}
|
|
2640
|
+
break;
|
|
2641
|
+
}
|
|
2642
|
+
default: {
|
|
2643
|
+
throw new TypeError("invalid variant specified for result");
|
|
2644
|
+
}
|
|
2645
|
+
}
|
|
2646
|
+
}
|
|
2647
|
+
function trampoline25(arg0, arg1) {
|
|
2648
|
+
var handle1 = arg0;
|
|
2649
|
+
var rsc0 = handleTable2.get(handle1).rep;
|
|
2650
|
+
let ret;
|
|
2651
|
+
try {
|
|
2652
|
+
ret = { tag: "ok", val: OutputStream2.prototype.checkWrite.call(rsc0) };
|
|
2653
|
+
} catch (e) {
|
|
2654
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
2655
|
+
}
|
|
2656
|
+
var variant4 = ret;
|
|
2657
|
+
switch (variant4.tag) {
|
|
2658
|
+
case "ok": {
|
|
2659
|
+
const e = variant4.val;
|
|
2660
|
+
dataView(memory0).setInt8(arg1 + 0, 0, true);
|
|
2661
|
+
dataView(memory0).setBigInt64(arg1 + 8, toUint64(e), true);
|
|
2662
|
+
break;
|
|
2663
|
+
}
|
|
2664
|
+
case "err": {
|
|
2665
|
+
const e = variant4.val;
|
|
2666
|
+
dataView(memory0).setInt8(arg1 + 0, 1, true);
|
|
2667
|
+
var variant3 = e;
|
|
2668
|
+
switch (variant3.tag) {
|
|
2669
|
+
case "last-operation-failed": {
|
|
2670
|
+
const e2 = variant3.val;
|
|
2671
|
+
dataView(memory0).setInt8(arg1 + 8, 0, true);
|
|
2672
|
+
if (!(e2 instanceof Error$1)) {
|
|
2673
|
+
throw new Error('Resource error: Not a valid "Error" resource.');
|
|
2674
|
+
}
|
|
2675
|
+
var handle2 = handleCnt0++;
|
|
2676
|
+
handleTable0.set(handle2, { rep: e2, own: true });
|
|
2677
|
+
dataView(memory0).setInt32(arg1 + 12, handle2, true);
|
|
2678
|
+
break;
|
|
2679
|
+
}
|
|
2680
|
+
case "closed": {
|
|
2681
|
+
dataView(memory0).setInt8(arg1 + 8, 1, true);
|
|
2682
|
+
break;
|
|
2683
|
+
}
|
|
2684
|
+
default: {
|
|
2685
|
+
throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant3.tag)}\` (received \`${variant3}\`) specified for \`StreamError\``);
|
|
2686
|
+
}
|
|
2687
|
+
}
|
|
2688
|
+
break;
|
|
2689
|
+
}
|
|
2690
|
+
default: {
|
|
2691
|
+
throw new TypeError("invalid variant specified for result");
|
|
2692
|
+
}
|
|
2693
|
+
}
|
|
2694
|
+
}
|
|
2695
|
+
function trampoline26(arg0, arg1, arg2, arg3) {
|
|
2696
|
+
var handle1 = arg0;
|
|
2697
|
+
var rsc0 = handleTable2.get(handle1).rep;
|
|
2698
|
+
var ptr2 = arg1;
|
|
2699
|
+
var len2 = arg2;
|
|
2700
|
+
var result2 = new Uint8Array(memory0.buffer.slice(ptr2, ptr2 + len2 * 1));
|
|
2701
|
+
let ret;
|
|
2702
|
+
try {
|
|
2703
|
+
ret = { tag: "ok", val: OutputStream2.prototype.write.call(rsc0, result2) };
|
|
2704
|
+
} catch (e) {
|
|
2705
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
2706
|
+
}
|
|
2707
|
+
var variant5 = ret;
|
|
2708
|
+
switch (variant5.tag) {
|
|
2709
|
+
case "ok": {
|
|
2710
|
+
const e = variant5.val;
|
|
2711
|
+
dataView(memory0).setInt8(arg3 + 0, 0, true);
|
|
2712
|
+
break;
|
|
2713
|
+
}
|
|
2714
|
+
case "err": {
|
|
2715
|
+
const e = variant5.val;
|
|
2716
|
+
dataView(memory0).setInt8(arg3 + 0, 1, true);
|
|
2717
|
+
var variant4 = e;
|
|
2718
|
+
switch (variant4.tag) {
|
|
2719
|
+
case "last-operation-failed": {
|
|
2720
|
+
const e2 = variant4.val;
|
|
2721
|
+
dataView(memory0).setInt8(arg3 + 4, 0, true);
|
|
2722
|
+
if (!(e2 instanceof Error$1)) {
|
|
2723
|
+
throw new Error('Resource error: Not a valid "Error" resource.');
|
|
2724
|
+
}
|
|
2725
|
+
var handle3 = handleCnt0++;
|
|
2726
|
+
handleTable0.set(handle3, { rep: e2, own: true });
|
|
2727
|
+
dataView(memory0).setInt32(arg3 + 8, handle3, true);
|
|
2728
|
+
break;
|
|
2729
|
+
}
|
|
2730
|
+
case "closed": {
|
|
2731
|
+
dataView(memory0).setInt8(arg3 + 4, 1, true);
|
|
2732
|
+
break;
|
|
2733
|
+
}
|
|
2734
|
+
default: {
|
|
2735
|
+
throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
|
|
2736
|
+
}
|
|
2737
|
+
}
|
|
2738
|
+
break;
|
|
2739
|
+
}
|
|
2740
|
+
default: {
|
|
2741
|
+
throw new TypeError("invalid variant specified for result");
|
|
2742
|
+
}
|
|
2743
|
+
}
|
|
2744
|
+
}
|
|
2745
|
+
function trampoline27(arg0, arg1, arg2, arg3) {
|
|
2746
|
+
var handle1 = arg0;
|
|
2747
|
+
var rsc0 = handleTable2.get(handle1).rep;
|
|
2748
|
+
var ptr2 = arg1;
|
|
2749
|
+
var len2 = arg2;
|
|
2750
|
+
var result2 = new Uint8Array(memory0.buffer.slice(ptr2, ptr2 + len2 * 1));
|
|
2751
|
+
let ret;
|
|
2752
|
+
try {
|
|
2753
|
+
ret = { tag: "ok", val: OutputStream2.prototype.blockingWriteAndFlush.call(rsc0, result2) };
|
|
2754
|
+
} catch (e) {
|
|
2755
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
2756
|
+
}
|
|
2757
|
+
var variant5 = ret;
|
|
2758
|
+
switch (variant5.tag) {
|
|
2759
|
+
case "ok": {
|
|
2760
|
+
const e = variant5.val;
|
|
2761
|
+
dataView(memory0).setInt8(arg3 + 0, 0, true);
|
|
2762
|
+
break;
|
|
2763
|
+
}
|
|
2764
|
+
case "err": {
|
|
2765
|
+
const e = variant5.val;
|
|
2766
|
+
dataView(memory0).setInt8(arg3 + 0, 1, true);
|
|
2767
|
+
var variant4 = e;
|
|
2768
|
+
switch (variant4.tag) {
|
|
2769
|
+
case "last-operation-failed": {
|
|
2770
|
+
const e2 = variant4.val;
|
|
2771
|
+
dataView(memory0).setInt8(arg3 + 4, 0, true);
|
|
2772
|
+
if (!(e2 instanceof Error$1)) {
|
|
2773
|
+
throw new Error('Resource error: Not a valid "Error" resource.');
|
|
2774
|
+
}
|
|
2775
|
+
var handle3 = handleCnt0++;
|
|
2776
|
+
handleTable0.set(handle3, { rep: e2, own: true });
|
|
2777
|
+
dataView(memory0).setInt32(arg3 + 8, handle3, true);
|
|
2778
|
+
break;
|
|
2779
|
+
}
|
|
2780
|
+
case "closed": {
|
|
2781
|
+
dataView(memory0).setInt8(arg3 + 4, 1, true);
|
|
2782
|
+
break;
|
|
2783
|
+
}
|
|
2784
|
+
default: {
|
|
2785
|
+
throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
|
|
2786
|
+
}
|
|
2787
|
+
}
|
|
2788
|
+
break;
|
|
2789
|
+
}
|
|
2790
|
+
default: {
|
|
2791
|
+
throw new TypeError("invalid variant specified for result");
|
|
2792
|
+
}
|
|
2793
|
+
}
|
|
2794
|
+
}
|
|
2795
|
+
function trampoline28(arg0, arg1) {
|
|
2796
|
+
var handle1 = arg0;
|
|
2797
|
+
var rsc0 = handleTable2.get(handle1).rep;
|
|
2798
|
+
let ret;
|
|
2799
|
+
try {
|
|
2800
|
+
ret = { tag: "ok", val: OutputStream2.prototype.blockingFlush.call(rsc0) };
|
|
2801
|
+
} catch (e) {
|
|
2802
|
+
ret = { tag: "err", val: getErrorPayload(e) };
|
|
2803
|
+
}
|
|
2804
|
+
var variant4 = ret;
|
|
2805
|
+
switch (variant4.tag) {
|
|
2806
|
+
case "ok": {
|
|
2807
|
+
const e = variant4.val;
|
|
2808
|
+
dataView(memory0).setInt8(arg1 + 0, 0, true);
|
|
2809
|
+
break;
|
|
2810
|
+
}
|
|
2811
|
+
case "err": {
|
|
2812
|
+
const e = variant4.val;
|
|
2813
|
+
dataView(memory0).setInt8(arg1 + 0, 1, true);
|
|
2814
|
+
var variant3 = e;
|
|
2815
|
+
switch (variant3.tag) {
|
|
2816
|
+
case "last-operation-failed": {
|
|
2817
|
+
const e2 = variant3.val;
|
|
2818
|
+
dataView(memory0).setInt8(arg1 + 4, 0, true);
|
|
2819
|
+
if (!(e2 instanceof Error$1)) {
|
|
2820
|
+
throw new Error('Resource error: Not a valid "Error" resource.');
|
|
2821
|
+
}
|
|
2822
|
+
var handle2 = handleCnt0++;
|
|
2823
|
+
handleTable0.set(handle2, { rep: e2, own: true });
|
|
2824
|
+
dataView(memory0).setInt32(arg1 + 8, handle2, true);
|
|
2825
|
+
break;
|
|
2826
|
+
}
|
|
2827
|
+
case "closed": {
|
|
2828
|
+
dataView(memory0).setInt8(arg1 + 4, 1, true);
|
|
2829
|
+
break;
|
|
2830
|
+
}
|
|
2831
|
+
default: {
|
|
2832
|
+
throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant3.tag)}\` (received \`${variant3}\`) specified for \`StreamError\``);
|
|
2833
|
+
}
|
|
2834
|
+
}
|
|
2835
|
+
break;
|
|
2836
|
+
}
|
|
2837
|
+
default: {
|
|
2838
|
+
throw new TypeError("invalid variant specified for result");
|
|
2839
|
+
}
|
|
2840
|
+
}
|
|
2841
|
+
}
|
|
2842
|
+
function trampoline29(arg0, arg1) {
|
|
2843
|
+
const ret = getRandomBytes(BigInt.asUintN(64, arg0));
|
|
2844
|
+
var val0 = ret;
|
|
2845
|
+
var len0 = val0.byteLength;
|
|
2846
|
+
var ptr0 = realloc0(0, 0, 1, len0 * 1);
|
|
2847
|
+
var src0 = new Uint8Array(val0.buffer || val0, val0.byteOffset, len0 * 1);
|
|
2848
|
+
new Uint8Array(memory0.buffer, ptr0, len0 * 1).set(src0);
|
|
2849
|
+
dataView(memory0).setInt32(arg1 + 4, len0, true);
|
|
2850
|
+
dataView(memory0).setInt32(arg1 + 0, ptr0, true);
|
|
2851
|
+
}
|
|
2852
|
+
function trampoline30(arg0) {
|
|
2853
|
+
const ret = getEnvironment();
|
|
2854
|
+
var vec3 = ret;
|
|
2855
|
+
var len3 = vec3.length;
|
|
2856
|
+
var result3 = realloc0(0, 0, 4, len3 * 16);
|
|
2857
|
+
for (let i = 0; i < vec3.length; i++) {
|
|
2858
|
+
const e = vec3[i];
|
|
2859
|
+
const base = result3 + i * 16;
|
|
2860
|
+
var [tuple0_0, tuple0_1] = e;
|
|
2861
|
+
var ptr1 = utf8Encode(tuple0_0, realloc0, memory0);
|
|
2862
|
+
var len1 = utf8EncodedLen;
|
|
2863
|
+
dataView(memory0).setInt32(base + 4, len1, true);
|
|
2864
|
+
dataView(memory0).setInt32(base + 0, ptr1, true);
|
|
2865
|
+
var ptr2 = utf8Encode(tuple0_1, realloc0, memory0);
|
|
2866
|
+
var len2 = utf8EncodedLen;
|
|
2867
|
+
dataView(memory0).setInt32(base + 12, len2, true);
|
|
2868
|
+
dataView(memory0).setInt32(base + 8, ptr2, true);
|
|
2869
|
+
}
|
|
2870
|
+
dataView(memory0).setInt32(arg0 + 4, len3, true);
|
|
2871
|
+
dataView(memory0).setInt32(arg0 + 0, result3, true);
|
|
2872
|
+
}
|
|
2873
|
+
function trampoline31(arg0) {
|
|
2874
|
+
const ret = getArguments();
|
|
2875
|
+
var vec1 = ret;
|
|
2876
|
+
var len1 = vec1.length;
|
|
2877
|
+
var result1 = realloc0(0, 0, 4, len1 * 8);
|
|
2878
|
+
for (let i = 0; i < vec1.length; i++) {
|
|
2879
|
+
const e = vec1[i];
|
|
2880
|
+
const base = result1 + i * 8;
|
|
2881
|
+
var ptr0 = utf8Encode(e, realloc0, memory0);
|
|
2882
|
+
var len0 = utf8EncodedLen;
|
|
2883
|
+
dataView(memory0).setInt32(base + 4, len0, true);
|
|
2884
|
+
dataView(memory0).setInt32(base + 0, ptr0, true);
|
|
2885
|
+
}
|
|
2886
|
+
dataView(memory0).setInt32(arg0 + 4, len1, true);
|
|
2887
|
+
dataView(memory0).setInt32(arg0 + 0, result1, true);
|
|
2888
|
+
}
|
|
2889
|
+
function trampoline32(arg0) {
|
|
2890
|
+
const ret = getTerminalStdin();
|
|
2891
|
+
var variant1 = ret;
|
|
2892
|
+
if (variant1 === null || variant1 === void 0) {
|
|
2893
|
+
dataView(memory0).setInt8(arg0 + 0, 0, true);
|
|
2894
|
+
} else {
|
|
2895
|
+
const e = variant1;
|
|
2896
|
+
dataView(memory0).setInt8(arg0 + 0, 1, true);
|
|
2897
|
+
if (!(e instanceof TerminalInput2)) {
|
|
2898
|
+
throw new Error('Resource error: Not a valid "TerminalInput" resource.');
|
|
2899
|
+
}
|
|
2900
|
+
var handle0 = handleCnt3++;
|
|
2901
|
+
handleTable3.set(handle0, { rep: e, own: true });
|
|
2902
|
+
dataView(memory0).setInt32(arg0 + 4, handle0, true);
|
|
2903
|
+
}
|
|
2904
|
+
}
|
|
2905
|
+
function trampoline33(arg0) {
|
|
2906
|
+
const ret = getTerminalStdout();
|
|
2907
|
+
var variant1 = ret;
|
|
2908
|
+
if (variant1 === null || variant1 === void 0) {
|
|
2909
|
+
dataView(memory0).setInt8(arg0 + 0, 0, true);
|
|
2910
|
+
} else {
|
|
2911
|
+
const e = variant1;
|
|
2912
|
+
dataView(memory0).setInt8(arg0 + 0, 1, true);
|
|
2913
|
+
if (!(e instanceof TerminalOutput2)) {
|
|
2914
|
+
throw new Error('Resource error: Not a valid "TerminalOutput" resource.');
|
|
2915
|
+
}
|
|
2916
|
+
var handle0 = handleCnt4++;
|
|
2917
|
+
handleTable4.set(handle0, { rep: e, own: true });
|
|
2918
|
+
dataView(memory0).setInt32(arg0 + 4, handle0, true);
|
|
2919
|
+
}
|
|
2920
|
+
}
|
|
2921
|
+
function trampoline34(arg0) {
|
|
2922
|
+
const ret = getTerminalStderr();
|
|
2923
|
+
var variant1 = ret;
|
|
2924
|
+
if (variant1 === null || variant1 === void 0) {
|
|
2925
|
+
dataView(memory0).setInt8(arg0 + 0, 0, true);
|
|
2926
|
+
} else {
|
|
2927
|
+
const e = variant1;
|
|
2928
|
+
dataView(memory0).setInt8(arg0 + 0, 1, true);
|
|
2929
|
+
if (!(e instanceof TerminalOutput2)) {
|
|
2930
|
+
throw new Error('Resource error: Not a valid "TerminalOutput" resource.');
|
|
2931
|
+
}
|
|
2932
|
+
var handle0 = handleCnt4++;
|
|
2933
|
+
handleTable4.set(handle0, { rep: e, own: true });
|
|
2934
|
+
dataView(memory0).setInt32(arg0 + 4, handle0, true);
|
|
2935
|
+
}
|
|
2936
|
+
}
|
|
2937
|
+
let exports3;
|
|
2938
|
+
function trampoline1(handle) {
|
|
2939
|
+
const handleEntry = handleTable6.get(handle);
|
|
2940
|
+
if (!handleEntry) {
|
|
2941
|
+
throw new Error(`Resource error: Invalid handle ${handle}`);
|
|
2942
|
+
}
|
|
2943
|
+
handleTable6.delete(handle);
|
|
2944
|
+
if (handleEntry.own && handleEntry.rep[symbolDispose]) {
|
|
2945
|
+
handleEntry.rep[symbolDispose]();
|
|
2946
|
+
}
|
|
2947
|
+
}
|
|
2948
|
+
function trampoline2(handle) {
|
|
2949
|
+
const handleEntry = handleTable0.get(handle);
|
|
2950
|
+
if (!handleEntry) {
|
|
2951
|
+
throw new Error(`Resource error: Invalid handle ${handle}`);
|
|
2952
|
+
}
|
|
2953
|
+
handleTable0.delete(handle);
|
|
2954
|
+
if (handleEntry.own && handleEntry.rep[symbolDispose]) {
|
|
2955
|
+
handleEntry.rep[symbolDispose]();
|
|
2956
|
+
}
|
|
2957
|
+
}
|
|
2958
|
+
function trampoline3(handle) {
|
|
2959
|
+
const handleEntry = handleTable1.get(handle);
|
|
2960
|
+
if (!handleEntry) {
|
|
2961
|
+
throw new Error(`Resource error: Invalid handle ${handle}`);
|
|
2962
|
+
}
|
|
2963
|
+
handleTable1.delete(handle);
|
|
2964
|
+
if (handleEntry.own && handleEntry.rep[symbolDispose]) {
|
|
2965
|
+
handleEntry.rep[symbolDispose]();
|
|
2966
|
+
}
|
|
2967
|
+
}
|
|
2968
|
+
function trampoline4(handle) {
|
|
2969
|
+
const handleEntry = handleTable2.get(handle);
|
|
2970
|
+
if (!handleEntry) {
|
|
2971
|
+
throw new Error(`Resource error: Invalid handle ${handle}`);
|
|
2972
|
+
}
|
|
2973
|
+
handleTable2.delete(handle);
|
|
2974
|
+
if (handleEntry.own && handleEntry.rep[symbolDispose]) {
|
|
2975
|
+
handleEntry.rep[symbolDispose]();
|
|
2976
|
+
}
|
|
2977
|
+
}
|
|
2978
|
+
function trampoline5(handle) {
|
|
2979
|
+
const handleEntry = handleTable5.get(handle);
|
|
2980
|
+
if (!handleEntry) {
|
|
2981
|
+
throw new Error(`Resource error: Invalid handle ${handle}`);
|
|
2982
|
+
}
|
|
2983
|
+
handleTable5.delete(handle);
|
|
2984
|
+
if (handleEntry.own && handleEntry.rep[symbolDispose]) {
|
|
2985
|
+
handleEntry.rep[symbolDispose]();
|
|
2986
|
+
}
|
|
2987
|
+
}
|
|
2988
|
+
function trampoline6(handle) {
|
|
2989
|
+
const handleEntry = handleTable4.get(handle);
|
|
2990
|
+
if (!handleEntry) {
|
|
2991
|
+
throw new Error(`Resource error: Invalid handle ${handle}`);
|
|
2992
|
+
}
|
|
2993
|
+
handleTable4.delete(handle);
|
|
2994
|
+
if (handleEntry.own && handleEntry.rep[symbolDispose]) {
|
|
2995
|
+
handleEntry.rep[symbolDispose]();
|
|
2996
|
+
}
|
|
2997
|
+
}
|
|
2998
|
+
function trampoline7(handle) {
|
|
2999
|
+
const handleEntry = handleTable3.get(handle);
|
|
3000
|
+
if (!handleEntry) {
|
|
3001
|
+
throw new Error(`Resource error: Invalid handle ${handle}`);
|
|
3002
|
+
}
|
|
3003
|
+
handleTable3.delete(handle);
|
|
3004
|
+
if (handleEntry.own && handleEntry.rep[symbolDispose]) {
|
|
3005
|
+
handleEntry.rep[symbolDispose]();
|
|
3006
|
+
}
|
|
3007
|
+
}
|
|
3008
|
+
({ exports: exports0 } = instantiateCore(module2));
|
|
3009
|
+
({ exports: exports1 } = instantiateCore(module0, {
|
|
3010
|
+
wasi_snapshot_preview1: {
|
|
3011
|
+
args_get: exports0["23"],
|
|
3012
|
+
args_sizes_get: exports0["24"],
|
|
3013
|
+
clock_time_get: exports0["25"],
|
|
3014
|
+
environ_get: exports0["33"],
|
|
3015
|
+
environ_sizes_get: exports0["34"],
|
|
3016
|
+
fd_close: exports0["35"],
|
|
3017
|
+
fd_fdstat_get: exports0["36"],
|
|
3018
|
+
fd_filestat_get: exports0["26"],
|
|
3019
|
+
fd_prestat_dir_name: exports0["38"],
|
|
3020
|
+
fd_prestat_get: exports0["37"],
|
|
3021
|
+
fd_read: exports0["27"],
|
|
3022
|
+
fd_seek: exports0["28"],
|
|
3023
|
+
fd_write: exports0["29"],
|
|
3024
|
+
path_open: exports0["30"],
|
|
3025
|
+
proc_exit: exports0["39"],
|
|
3026
|
+
random_get: exports0["32"],
|
|
3027
|
+
sched_yield: exports0["31"]
|
|
3028
|
+
}
|
|
3029
|
+
}));
|
|
3030
|
+
({ exports: exports2 } = instantiateCore(module1, {
|
|
3031
|
+
__main_module__: {
|
|
3032
|
+
_start: exports1._start
|
|
3033
|
+
},
|
|
3034
|
+
env: {
|
|
3035
|
+
memory: exports1.memory
|
|
3036
|
+
},
|
|
3037
|
+
"wasi:cli/environment@0.2.0": {
|
|
3038
|
+
"get-arguments": exports0["19"],
|
|
3039
|
+
"get-environment": exports0["18"]
|
|
3040
|
+
},
|
|
3041
|
+
"wasi:cli/exit@0.2.0": {
|
|
3042
|
+
exit: trampoline9
|
|
3043
|
+
},
|
|
3044
|
+
"wasi:cli/stderr@0.2.0": {
|
|
3045
|
+
"get-stderr": trampoline8
|
|
3046
|
+
},
|
|
3047
|
+
"wasi:cli/stdin@0.2.0": {
|
|
3048
|
+
"get-stdin": trampoline10
|
|
3049
|
+
},
|
|
3050
|
+
"wasi:cli/stdout@0.2.0": {
|
|
3051
|
+
"get-stdout": trampoline11
|
|
3052
|
+
},
|
|
3053
|
+
"wasi:cli/terminal-input@0.2.0": {
|
|
3054
|
+
"[resource-drop]terminal-input": trampoline7
|
|
3055
|
+
},
|
|
3056
|
+
"wasi:cli/terminal-output@0.2.0": {
|
|
3057
|
+
"[resource-drop]terminal-output": trampoline6
|
|
3058
|
+
},
|
|
3059
|
+
"wasi:cli/terminal-stderr@0.2.0": {
|
|
3060
|
+
"get-terminal-stderr": exports0["22"]
|
|
3061
|
+
},
|
|
3062
|
+
"wasi:cli/terminal-stdin@0.2.0": {
|
|
3063
|
+
"get-terminal-stdin": exports0["20"]
|
|
3064
|
+
},
|
|
3065
|
+
"wasi:cli/terminal-stdout@0.2.0": {
|
|
3066
|
+
"get-terminal-stdout": exports0["21"]
|
|
3067
|
+
},
|
|
3068
|
+
"wasi:clocks/monotonic-clock@0.2.0": {
|
|
3069
|
+
now: trampoline0
|
|
3070
|
+
},
|
|
3071
|
+
"wasi:clocks/wall-clock@0.2.0": {
|
|
3072
|
+
now: exports0["1"]
|
|
3073
|
+
},
|
|
3074
|
+
"wasi:filesystem/preopens@0.2.0": {
|
|
3075
|
+
"get-directories": exports0["0"]
|
|
3076
|
+
},
|
|
3077
|
+
"wasi:filesystem/types@0.2.0": {
|
|
3078
|
+
"[method]descriptor.append-via-stream": exports0["4"],
|
|
3079
|
+
"[method]descriptor.get-flags": exports0["5"],
|
|
3080
|
+
"[method]descriptor.get-type": exports0["6"],
|
|
3081
|
+
"[method]descriptor.metadata-hash": exports0["9"],
|
|
3082
|
+
"[method]descriptor.open-at": exports0["8"],
|
|
3083
|
+
"[method]descriptor.read-via-stream": exports0["2"],
|
|
3084
|
+
"[method]descriptor.stat": exports0["7"],
|
|
3085
|
+
"[method]descriptor.write-via-stream": exports0["3"],
|
|
3086
|
+
"[resource-drop]descriptor": trampoline5,
|
|
3087
|
+
"[resource-drop]directory-entry-stream": trampoline1,
|
|
3088
|
+
"filesystem-error-code": exports0["10"]
|
|
3089
|
+
},
|
|
3090
|
+
"wasi:io/error@0.2.0": {
|
|
3091
|
+
"[resource-drop]error": trampoline2
|
|
3092
|
+
},
|
|
3093
|
+
"wasi:io/streams@0.2.0": {
|
|
3094
|
+
"[method]input-stream.blocking-read": exports0["12"],
|
|
3095
|
+
"[method]input-stream.read": exports0["11"],
|
|
3096
|
+
"[method]output-stream.blocking-flush": exports0["16"],
|
|
3097
|
+
"[method]output-stream.blocking-write-and-flush": exports0["15"],
|
|
3098
|
+
"[method]output-stream.check-write": exports0["13"],
|
|
3099
|
+
"[method]output-stream.write": exports0["14"],
|
|
3100
|
+
"[resource-drop]input-stream": trampoline3,
|
|
3101
|
+
"[resource-drop]output-stream": trampoline4
|
|
3102
|
+
},
|
|
3103
|
+
"wasi:random/random@0.2.0": {
|
|
3104
|
+
"get-random-bytes": exports0["17"]
|
|
3105
|
+
}
|
|
3106
|
+
}));
|
|
3107
|
+
memory0 = exports1.memory;
|
|
3108
|
+
realloc0 = exports2.cabi_import_realloc;
|
|
3109
|
+
({ exports: exports3 } = instantiateCore(module3, {
|
|
3110
|
+
"": {
|
|
3111
|
+
$imports: exports0.$imports,
|
|
3112
|
+
"0": trampoline12,
|
|
3113
|
+
"1": trampoline13,
|
|
3114
|
+
"10": trampoline22,
|
|
3115
|
+
"11": trampoline23,
|
|
3116
|
+
"12": trampoline24,
|
|
3117
|
+
"13": trampoline25,
|
|
3118
|
+
"14": trampoline26,
|
|
3119
|
+
"15": trampoline27,
|
|
3120
|
+
"16": trampoline28,
|
|
3121
|
+
"17": trampoline29,
|
|
3122
|
+
"18": trampoline30,
|
|
3123
|
+
"19": trampoline31,
|
|
3124
|
+
"2": trampoline14,
|
|
3125
|
+
"20": trampoline32,
|
|
3126
|
+
"21": trampoline33,
|
|
3127
|
+
"22": trampoline34,
|
|
3128
|
+
"23": exports2.args_get,
|
|
3129
|
+
"24": exports2.args_sizes_get,
|
|
3130
|
+
"25": exports2.clock_time_get,
|
|
3131
|
+
"26": exports2.fd_filestat_get,
|
|
3132
|
+
"27": exports2.fd_read,
|
|
3133
|
+
"28": exports2.fd_seek,
|
|
3134
|
+
"29": exports2.fd_write,
|
|
3135
|
+
"3": trampoline15,
|
|
3136
|
+
"30": exports2.path_open,
|
|
3137
|
+
"31": exports2.sched_yield,
|
|
3138
|
+
"32": exports2.random_get,
|
|
3139
|
+
"33": exports2.environ_get,
|
|
3140
|
+
"34": exports2.environ_sizes_get,
|
|
3141
|
+
"35": exports2.fd_close,
|
|
3142
|
+
"36": exports2.fd_fdstat_get,
|
|
3143
|
+
"37": exports2.fd_prestat_get,
|
|
3144
|
+
"38": exports2.fd_prestat_dir_name,
|
|
3145
|
+
"39": exports2.proc_exit,
|
|
3146
|
+
"4": trampoline16,
|
|
3147
|
+
"5": trampoline17,
|
|
3148
|
+
"6": trampoline18,
|
|
3149
|
+
"7": trampoline19,
|
|
3150
|
+
"8": trampoline20,
|
|
3151
|
+
"9": trampoline21
|
|
3152
|
+
}
|
|
3153
|
+
}));
|
|
3154
|
+
function run() {
|
|
3155
|
+
const ret = exports2["wasi:cli/run@0.2.0#run"]();
|
|
3156
|
+
let variant0;
|
|
3157
|
+
switch (ret) {
|
|
3158
|
+
case 0: {
|
|
3159
|
+
variant0 = {
|
|
3160
|
+
tag: "ok",
|
|
3161
|
+
val: void 0
|
|
3162
|
+
};
|
|
3163
|
+
break;
|
|
3164
|
+
}
|
|
3165
|
+
case 1: {
|
|
3166
|
+
variant0 = {
|
|
3167
|
+
tag: "err",
|
|
3168
|
+
val: void 0
|
|
3169
|
+
};
|
|
3170
|
+
break;
|
|
3171
|
+
}
|
|
3172
|
+
default: {
|
|
3173
|
+
throw new TypeError("invalid variant discriminant for expected");
|
|
3174
|
+
}
|
|
3175
|
+
}
|
|
3176
|
+
if (variant0.tag === "err") {
|
|
3177
|
+
throw new ComponentError(variant0.val);
|
|
3178
|
+
}
|
|
3179
|
+
return variant0.val;
|
|
3180
|
+
}
|
|
3181
|
+
const handleTable0 = /* @__PURE__ */ new Map();
|
|
3182
|
+
let handleCnt0 = 0;
|
|
3183
|
+
const handleTable1 = /* @__PURE__ */ new Map();
|
|
3184
|
+
let handleCnt1 = 0;
|
|
3185
|
+
const handleTable2 = /* @__PURE__ */ new Map();
|
|
3186
|
+
let handleCnt2 = 0;
|
|
3187
|
+
const handleTable3 = /* @__PURE__ */ new Map();
|
|
3188
|
+
let handleCnt3 = 0;
|
|
3189
|
+
const handleTable4 = /* @__PURE__ */ new Map();
|
|
3190
|
+
let handleCnt4 = 0;
|
|
3191
|
+
const handleTable5 = /* @__PURE__ */ new Map();
|
|
3192
|
+
let handleCnt5 = 0;
|
|
3193
|
+
const handleTable6 = /* @__PURE__ */ new Map();
|
|
3194
|
+
let handleCnt6 = 0;
|
|
3195
|
+
const run0_2_0 = {
|
|
3196
|
+
run
|
|
3197
|
+
};
|
|
3198
|
+
return { run: run0_2_0, "wasi:cli/run@0.2.0": run0_2_0 };
|
|
3199
|
+
}
|
|
3200
|
+
|
|
3201
|
+
// lib/api.js
|
|
3202
|
+
var spade = new Application(() => import("./resources-spade.js"), instantiate, "yowasp-spade");
|
|
3203
|
+
var runSpade = spade.run.bind(spade);
|
|
3204
|
+
var commands = { "spade": runSpade };
|
|
3205
|
+
export {
|
|
3206
|
+
Exit,
|
|
3207
|
+
commands,
|
|
3208
|
+
runSpade
|
|
3209
|
+
};
|