tcpip 0.1.1-dev.3 → 0.2.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/index.cjs +2 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +78 -0
  4. package/dist/index.d.ts +78 -0
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -0
  7. package/package.json +28 -34
  8. package/tcpip.wasm +0 -0
  9. package/dist/cjs/go/wasm_exec.js +0 -619
  10. package/dist/cjs/go/wasm_exec.js.map +0 -1
  11. package/dist/cjs/index.js +0 -119
  12. package/dist/cjs/index.js.map +0 -1
  13. package/dist/cjs/interfaces/loopback-interface.js +0 -12
  14. package/dist/cjs/interfaces/loopback-interface.js.map +0 -1
  15. package/dist/cjs/interfaces/tap-interface.js +0 -31
  16. package/dist/cjs/interfaces/tap-interface.js.map +0 -1
  17. package/dist/cjs/interfaces/tun-interface.js +0 -31
  18. package/dist/cjs/interfaces/tun-interface.js.map +0 -1
  19. package/dist/cjs/platforms/bundler.js +0 -76
  20. package/dist/cjs/platforms/bundler.js.map +0 -1
  21. package/dist/cjs/platforms/node-polyfills.js +0 -16
  22. package/dist/cjs/platforms/node-polyfills.js.map +0 -1
  23. package/dist/cjs/platforms/node.js +0 -80
  24. package/dist/cjs/platforms/node.js.map +0 -1
  25. package/dist/cjs/server.js +0 -32
  26. package/dist/cjs/server.js.map +0 -1
  27. package/dist/cjs/socket.js +0 -32
  28. package/dist/cjs/socket.js.map +0 -1
  29. package/dist/cjs/stack.js +0 -111
  30. package/dist/cjs/stack.js.map +0 -1
  31. package/dist/esm/go/wasm_exec.js +0 -569
  32. package/dist/esm/go/wasm_exec.js.map +0 -1
  33. package/dist/esm/index.js +0 -33
  34. package/dist/esm/index.js.map +0 -1
  35. package/dist/esm/interfaces/loopback-interface.js +0 -9
  36. package/dist/esm/interfaces/loopback-interface.js.map +0 -1
  37. package/dist/esm/interfaces/tap-interface.js +0 -11
  38. package/dist/esm/interfaces/tap-interface.js.map +0 -1
  39. package/dist/esm/interfaces/tun-interface.js +0 -11
  40. package/dist/esm/interfaces/tun-interface.js.map +0 -1
  41. package/dist/esm/platforms/bundler.js +0 -8
  42. package/dist/esm/platforms/bundler.js.map +0 -1
  43. package/dist/esm/platforms/node-polyfills.js +0 -14
  44. package/dist/esm/platforms/node-polyfills.js.map +0 -1
  45. package/dist/esm/platforms/node.js +0 -11
  46. package/dist/esm/platforms/node.js.map +0 -1
  47. package/dist/esm/server.js +0 -11
  48. package/dist/esm/server.js.map +0 -1
  49. package/dist/esm/socket.js +0 -11
  50. package/dist/esm/socket.js.map +0 -1
  51. package/dist/esm/stack.js +0 -76
  52. package/dist/esm/stack.js.map +0 -1
  53. package/dist/tcpip.wasm +0 -0
  54. package/dist/types/go/wasm_exec.d.ts +0 -35
  55. package/dist/types/index.d.ts +0 -6
  56. package/dist/types/interfaces/loopback-interface.d.ts +0 -13
  57. package/dist/types/interfaces/tap-interface.d.ts +0 -19
  58. package/dist/types/interfaces/tun-interface.d.ts +0 -18
  59. package/dist/types/platforms/bundler.d.ts +0 -2
  60. package/dist/types/platforms/node-polyfills.d.ts +0 -1
  61. package/dist/types/platforms/node.d.ts +0 -3
  62. package/dist/types/server.d.ts +0 -25
  63. package/dist/types/socket.d.ts +0 -99
  64. package/dist/types/stack.d.ts +0 -31
@@ -1,619 +0,0 @@
1
- "use strict";
2
- /* eslint-disable */
3
- // @ts-nocheck
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
- var __generator = (this && this.__generator) || function (thisArg, body) {
14
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
15
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
16
- function verb(n) { return function (v) { return step([n, v]); }; }
17
- function step(op) {
18
- if (f) throw new TypeError("Generator is already executing.");
19
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
20
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
21
- if (y = 0, t) op = [op[0] & 2, t.value];
22
- switch (op[0]) {
23
- case 0: case 1: t = op; break;
24
- case 4: _.label++; return { value: op[1], done: false };
25
- case 5: _.label++; y = op[1]; op = [0]; continue;
26
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
27
- default:
28
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
29
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
30
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
31
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
32
- if (t[2]) _.ops.pop();
33
- _.trys.pop(); continue;
34
- }
35
- op = body.call(thisArg, _);
36
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
37
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
38
- }
39
- };
40
- Object.defineProperty(exports, "__esModule", { value: true });
41
- // Copyright 2018 The Go Authors. All rights reserved.
42
- // Use of this source code is governed by a BSD-style
43
- // license that can be found in the LICENSE file.
44
- // This file has been modified for use by tcpip.
45
- var enosys = function () {
46
- var err = new Error('not implemented');
47
- err.code = 'ENOSYS';
48
- return err;
49
- };
50
- if (!globalThis.fs) {
51
- var outputBuf_1 = '';
52
- globalThis.fs = {
53
- constants: {
54
- O_WRONLY: -1,
55
- O_RDWR: -1,
56
- O_CREAT: -1,
57
- O_TRUNC: -1,
58
- O_APPEND: -1,
59
- O_EXCL: -1,
60
- },
61
- writeSync: function (fd, buf) {
62
- outputBuf_1 += decoder.decode(buf);
63
- var nl = outputBuf_1.lastIndexOf('\n');
64
- if (nl != -1) {
65
- console.log(outputBuf_1.substring(0, nl));
66
- outputBuf_1 = outputBuf_1.substring(nl + 1);
67
- }
68
- return buf.length;
69
- },
70
- write: function (fd, buf, offset, length, position, callback) {
71
- if (offset !== 0 || length !== buf.length || position !== null) {
72
- callback(enosys());
73
- return;
74
- }
75
- var n = this.writeSync(fd, buf);
76
- callback(null, n);
77
- },
78
- chmod: function (path, mode, callback) {
79
- callback(enosys());
80
- },
81
- chown: function (path, uid, gid, callback) {
82
- callback(enosys());
83
- },
84
- close: function (fd, callback) {
85
- callback(enosys());
86
- },
87
- fchmod: function (fd, mode, callback) {
88
- callback(enosys());
89
- },
90
- fchown: function (fd, uid, gid, callback) {
91
- callback(enosys());
92
- },
93
- fstat: function (fd, callback) {
94
- callback(enosys());
95
- },
96
- fsync: function (fd, callback) {
97
- callback(null);
98
- },
99
- ftruncate: function (fd, length, callback) {
100
- callback(enosys());
101
- },
102
- lchown: function (path, uid, gid, callback) {
103
- callback(enosys());
104
- },
105
- link: function (path, link, callback) {
106
- callback(enosys());
107
- },
108
- lstat: function (path, callback) {
109
- callback(enosys());
110
- },
111
- mkdir: function (path, perm, callback) {
112
- callback(enosys());
113
- },
114
- open: function (path, flags, mode, callback) {
115
- callback(enosys());
116
- },
117
- read: function (fd, buffer, offset, length, position, callback) {
118
- callback(enosys());
119
- },
120
- readdir: function (path, callback) {
121
- callback(enosys());
122
- },
123
- readlink: function (path, callback) {
124
- callback(enosys());
125
- },
126
- rename: function (from, to, callback) {
127
- callback(enosys());
128
- },
129
- rmdir: function (path, callback) {
130
- callback(enosys());
131
- },
132
- stat: function (path, callback) {
133
- callback(enosys());
134
- },
135
- symlink: function (path, link, callback) {
136
- callback(enosys());
137
- },
138
- truncate: function (path, length, callback) {
139
- callback(enosys());
140
- },
141
- unlink: function (path, callback) {
142
- callback(enosys());
143
- },
144
- utimes: function (path, atime, mtime, callback) {
145
- callback(enosys());
146
- },
147
- };
148
- }
149
- if (!globalThis.process) {
150
- globalThis.process = {
151
- getuid: function () {
152
- return -1;
153
- },
154
- getgid: function () {
155
- return -1;
156
- },
157
- geteuid: function () {
158
- return -1;
159
- },
160
- getegid: function () {
161
- return -1;
162
- },
163
- getgroups: function () {
164
- throw enosys();
165
- },
166
- pid: -1,
167
- ppid: -1,
168
- umask: function () {
169
- throw enosys();
170
- },
171
- cwd: function () {
172
- throw enosys();
173
- },
174
- chdir: function () {
175
- throw enosys();
176
- },
177
- };
178
- }
179
- if (!globalThis.crypto) {
180
- throw new Error('globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)');
181
- }
182
- if (!globalThis.performance) {
183
- throw new Error('globalThis.performance is not available, polyfill required (performance.now only)');
184
- }
185
- if (!globalThis.TextEncoder) {
186
- throw new Error('globalThis.TextEncoder is not available, polyfill required');
187
- }
188
- if (!globalThis.TextDecoder) {
189
- throw new Error('globalThis.TextDecoder is not available, polyfill required');
190
- }
191
- var encoder = new TextEncoder('utf-8');
192
- var decoder = new TextDecoder('utf-8');
193
- var Go = /** @class */ (function () {
194
- function Go() {
195
- var _this = this;
196
- this.argv = ['js'];
197
- this.env = {};
198
- this.exit = function (code) {
199
- if (code !== 0) {
200
- console.warn('exit code:', code);
201
- }
202
- };
203
- this._exitPromise = new Promise(function (resolve) {
204
- _this._resolveExitPromise = resolve;
205
- });
206
- this._pendingEvent = null;
207
- this._scheduledTimeouts = new Map();
208
- this._nextCallbackTimeoutID = 1;
209
- var setInt64 = function (addr, v) {
210
- _this.mem.setUint32(addr + 0, v, true);
211
- _this.mem.setUint32(addr + 4, Math.floor(v / 4294967296), true);
212
- };
213
- var getInt64 = function (addr) {
214
- var low = _this.mem.getUint32(addr + 0, true);
215
- var high = _this.mem.getInt32(addr + 4, true);
216
- return low + high * 4294967296;
217
- };
218
- var loadValue = function (addr) {
219
- var f = _this.mem.getFloat64(addr, true);
220
- if (f === 0) {
221
- return undefined;
222
- }
223
- if (!isNaN(f)) {
224
- return f;
225
- }
226
- var id = _this.mem.getUint32(addr, true);
227
- return _this._values[id];
228
- };
229
- var storeValue = function (addr, v) {
230
- var nanHead = 0x7ff80000;
231
- if (typeof v === 'number' && v !== 0) {
232
- if (isNaN(v)) {
233
- _this.mem.setUint32(addr + 4, nanHead, true);
234
- _this.mem.setUint32(addr, 0, true);
235
- return;
236
- }
237
- _this.mem.setFloat64(addr, v, true);
238
- return;
239
- }
240
- if (v === undefined) {
241
- _this.mem.setFloat64(addr, 0, true);
242
- return;
243
- }
244
- var id = _this._ids.get(v);
245
- if (id === undefined) {
246
- id = _this._idPool.pop();
247
- if (id === undefined) {
248
- id = _this._values.length;
249
- }
250
- _this._values[id] = v;
251
- _this._goRefCounts[id] = 0;
252
- _this._ids.set(v, id);
253
- }
254
- _this._goRefCounts[id]++;
255
- var typeFlag = 0;
256
- switch (typeof v) {
257
- case 'object':
258
- if (v !== null) {
259
- typeFlag = 1;
260
- }
261
- break;
262
- case 'string':
263
- typeFlag = 2;
264
- break;
265
- case 'symbol':
266
- typeFlag = 3;
267
- break;
268
- case 'function':
269
- typeFlag = 4;
270
- break;
271
- }
272
- _this.mem.setUint32(addr + 4, nanHead | typeFlag, true);
273
- _this.mem.setUint32(addr, id, true);
274
- };
275
- var loadSlice = function (addr) {
276
- var array = getInt64(addr + 0);
277
- var len = getInt64(addr + 8);
278
- return new Uint8Array(_this._inst.exports.mem.buffer, array, len);
279
- };
280
- var loadSliceOfValues = function (addr) {
281
- var array = getInt64(addr + 0);
282
- var len = getInt64(addr + 8);
283
- var a = new Array(len);
284
- for (var i = 0; i < len; i++) {
285
- a[i] = loadValue(array + i * 8);
286
- }
287
- return a;
288
- };
289
- var loadString = function (addr) {
290
- var saddr = getInt64(addr + 0);
291
- var len = getInt64(addr + 8);
292
- return decoder.decode(new DataView(_this._inst.exports.mem.buffer, saddr, len));
293
- };
294
- var timeOrigin = Date.now() - performance.now();
295
- this.importObject = {
296
- go: {
297
- // Go's SP does not change as long as no Go code is running. Some operations (e.g. calls, getters and setters)
298
- // may synchronously trigger a Go event handler. This makes Go code get executed in the middle of the imported
299
- // function. A goroutine can switch to a new stack if the current stack is too small (see morestack function).
300
- // This changes the SP, thus we have to update the SP used by the imported function.
301
- // func wasmExit(code int32)
302
- 'runtime.wasmExit': function (sp) {
303
- sp >>>= 0;
304
- var code = _this.mem.getInt32(sp + 8, true);
305
- _this.exited = true;
306
- delete _this._inst;
307
- delete _this._values;
308
- delete _this._goRefCounts;
309
- delete _this._ids;
310
- delete _this._idPool;
311
- _this.exit(code);
312
- },
313
- // func wasmWrite(fd uintptr, p unsafe.Pointer, n int32)
314
- 'runtime.wasmWrite': function (sp) {
315
- sp >>>= 0;
316
- var fd = getInt64(sp + 8);
317
- var p = getInt64(sp + 16);
318
- var n = _this.mem.getInt32(sp + 24, true);
319
- fs.writeSync(fd, new Uint8Array(_this._inst.exports.mem.buffer, p, n));
320
- },
321
- // func resetMemoryDataView()
322
- 'runtime.resetMemoryDataView': function (sp) {
323
- sp >>>= 0;
324
- _this.mem = new DataView(_this._inst.exports.mem.buffer);
325
- },
326
- // func nanotime1() int64
327
- 'runtime.nanotime1': function (sp) {
328
- sp >>>= 0;
329
- setInt64(sp + 8, (timeOrigin + performance.now()) * 1000000);
330
- },
331
- // func walltime() (sec int64, nsec int32)
332
- 'runtime.walltime': function (sp) {
333
- sp >>>= 0;
334
- var msec = new Date().getTime();
335
- setInt64(sp + 8, msec / 1000);
336
- _this.mem.setInt32(sp + 16, (msec % 1000) * 1000000, true);
337
- },
338
- // func scheduleTimeoutEvent(delay int64) int32
339
- 'runtime.scheduleTimeoutEvent': function (sp) {
340
- sp >>>= 0;
341
- var id = _this._nextCallbackTimeoutID;
342
- _this._nextCallbackTimeoutID++;
343
- _this._scheduledTimeouts.set(id, setTimeout(function () {
344
- _this._resume();
345
- while (_this._scheduledTimeouts.has(id)) {
346
- // for some reason Go failed to register the timeout event, log and try again
347
- // (temporary workaround for https://github.com/golang/go/issues/28975)
348
- console.warn('scheduleTimeoutEvent: missed timeout event');
349
- _this._resume();
350
- }
351
- }, getInt64(sp + 8) + 1 // setTimeout has been seen to fire up to 1 millisecond early
352
- ));
353
- _this.mem.setInt32(sp + 16, id, true);
354
- },
355
- // func clearTimeoutEvent(id int32)
356
- 'runtime.clearTimeoutEvent': function (sp) {
357
- sp >>>= 0;
358
- var id = _this.mem.getInt32(sp + 8, true);
359
- clearTimeout(_this._scheduledTimeouts.get(id));
360
- _this._scheduledTimeouts.delete(id);
361
- },
362
- // func getRandomData(r []byte)
363
- 'runtime.getRandomData': function (sp) {
364
- sp >>>= 0;
365
- crypto.getRandomValues(loadSlice(sp + 8));
366
- },
367
- // func finalizeRef(v ref)
368
- 'syscall/js.finalizeRef': function (sp) {
369
- sp >>>= 0;
370
- var id = _this.mem.getUint32(sp + 8, true);
371
- _this._goRefCounts[id]--;
372
- if (_this._goRefCounts[id] === 0) {
373
- var v = _this._values[id];
374
- _this._values[id] = null;
375
- _this._ids.delete(v);
376
- _this._idPool.push(id);
377
- }
378
- },
379
- // func stringVal(value string) ref
380
- 'syscall/js.stringVal': function (sp) {
381
- sp >>>= 0;
382
- storeValue(sp + 24, loadString(sp + 8));
383
- },
384
- // func valueGet(v ref, p string) ref
385
- 'syscall/js.valueGet': function (sp) {
386
- sp >>>= 0;
387
- var result = Reflect.get(loadValue(sp + 8), loadString(sp + 16));
388
- sp = _this._inst.exports.getsp() >>> 0; // see comment above
389
- storeValue(sp + 32, result);
390
- },
391
- // func valueSet(v ref, p string, x ref)
392
- 'syscall/js.valueSet': function (sp) {
393
- sp >>>= 0;
394
- Reflect.set(loadValue(sp + 8), loadString(sp + 16), loadValue(sp + 32));
395
- },
396
- // func valueDelete(v ref, p string)
397
- 'syscall/js.valueDelete': function (sp) {
398
- sp >>>= 0;
399
- Reflect.deleteProperty(loadValue(sp + 8), loadString(sp + 16));
400
- },
401
- // func valueIndex(v ref, i int) ref
402
- 'syscall/js.valueIndex': function (sp) {
403
- sp >>>= 0;
404
- storeValue(sp + 24, Reflect.get(loadValue(sp + 8), getInt64(sp + 16)));
405
- },
406
- // valueSetIndex(v ref, i int, x ref)
407
- 'syscall/js.valueSetIndex': function (sp) {
408
- sp >>>= 0;
409
- Reflect.set(loadValue(sp + 8), getInt64(sp + 16), loadValue(sp + 24));
410
- },
411
- // func valueCall(v ref, m string, args []ref) (ref, bool)
412
- 'syscall/js.valueCall': function (sp) {
413
- sp >>>= 0;
414
- try {
415
- var v = loadValue(sp + 8);
416
- var m = Reflect.get(v, loadString(sp + 16));
417
- var args = loadSliceOfValues(sp + 32);
418
- var result = Reflect.apply(m, v, args);
419
- sp = _this._inst.exports.getsp() >>> 0; // see comment above
420
- storeValue(sp + 56, result);
421
- _this.mem.setUint8(sp + 64, 1);
422
- }
423
- catch (err) {
424
- sp = _this._inst.exports.getsp() >>> 0; // see comment above
425
- storeValue(sp + 56, err);
426
- _this.mem.setUint8(sp + 64, 0);
427
- }
428
- },
429
- // func valueInvoke(v ref, args []ref) (ref, bool)
430
- 'syscall/js.valueInvoke': function (sp) {
431
- sp >>>= 0;
432
- try {
433
- var v = loadValue(sp + 8);
434
- var args = loadSliceOfValues(sp + 16);
435
- var result = Reflect.apply(v, undefined, args);
436
- sp = _this._inst.exports.getsp() >>> 0; // see comment above
437
- storeValue(sp + 40, result);
438
- _this.mem.setUint8(sp + 48, 1);
439
- }
440
- catch (err) {
441
- sp = _this._inst.exports.getsp() >>> 0; // see comment above
442
- storeValue(sp + 40, err);
443
- _this.mem.setUint8(sp + 48, 0);
444
- }
445
- },
446
- // func valueNew(v ref, args []ref) (ref, bool)
447
- 'syscall/js.valueNew': function (sp) {
448
- sp >>>= 0;
449
- try {
450
- var v = loadValue(sp + 8);
451
- var args = loadSliceOfValues(sp + 16);
452
- var result = Reflect.construct(v, args);
453
- sp = _this._inst.exports.getsp() >>> 0; // see comment above
454
- storeValue(sp + 40, result);
455
- _this.mem.setUint8(sp + 48, 1);
456
- }
457
- catch (err) {
458
- sp = _this._inst.exports.getsp() >>> 0; // see comment above
459
- storeValue(sp + 40, err);
460
- _this.mem.setUint8(sp + 48, 0);
461
- }
462
- },
463
- // func valueLength(v ref) int
464
- 'syscall/js.valueLength': function (sp) {
465
- sp >>>= 0;
466
- setInt64(sp + 16, parseInt(loadValue(sp + 8).length));
467
- },
468
- // valuePrepareString(v ref) (ref, int)
469
- 'syscall/js.valuePrepareString': function (sp) {
470
- sp >>>= 0;
471
- var str = encoder.encode(String(loadValue(sp + 8)));
472
- storeValue(sp + 16, str);
473
- setInt64(sp + 24, str.length);
474
- },
475
- // valueLoadString(v ref, b []byte)
476
- 'syscall/js.valueLoadString': function (sp) {
477
- sp >>>= 0;
478
- var str = loadValue(sp + 8);
479
- loadSlice(sp + 16).set(str);
480
- },
481
- // func valueInstanceOf(v ref, t ref) bool
482
- 'syscall/js.valueInstanceOf': function (sp) {
483
- sp >>>= 0;
484
- _this.mem.setUint8(sp + 24, loadValue(sp + 8) instanceof loadValue(sp + 16) ? 1 : 0);
485
- },
486
- // func copyBytesToGo(dst []byte, src ref) (int, bool)
487
- 'syscall/js.copyBytesToGo': function (sp) {
488
- sp >>>= 0;
489
- var dst = loadSlice(sp + 8);
490
- var src = loadValue(sp + 32);
491
- if (!(src instanceof Uint8Array || src instanceof Uint8ClampedArray)) {
492
- _this.mem.setUint8(sp + 48, 0);
493
- return;
494
- }
495
- var toCopy = src.subarray(0, dst.length);
496
- dst.set(toCopy);
497
- setInt64(sp + 40, toCopy.length);
498
- _this.mem.setUint8(sp + 48, 1);
499
- },
500
- // func copyBytesToJS(dst ref, src []byte) (int, bool)
501
- 'syscall/js.copyBytesToJS': function (sp) {
502
- sp >>>= 0;
503
- var dst = loadValue(sp + 8);
504
- var src = loadSlice(sp + 16);
505
- if (!(dst instanceof Uint8Array || dst instanceof Uint8ClampedArray)) {
506
- _this.mem.setUint8(sp + 48, 0);
507
- return;
508
- }
509
- var toCopy = src.subarray(0, dst.length);
510
- dst.set(toCopy);
511
- setInt64(sp + 40, toCopy.length);
512
- _this.mem.setUint8(sp + 48, 1);
513
- },
514
- debug: function (value) {
515
- console.log(value);
516
- },
517
- },
518
- };
519
- }
520
- Go.prototype.run = function (instance) {
521
- return __awaiter(this, void 0, void 0, function () {
522
- var offset, strPtr, argc, argvPtrs, keys, argv, wasmMinDataAddr;
523
- var _this = this;
524
- return __generator(this, function (_a) {
525
- switch (_a.label) {
526
- case 0:
527
- if (!(instance instanceof WebAssembly.Instance)) {
528
- throw new Error('Go.run: WebAssembly.Instance expected');
529
- }
530
- this._inst = instance;
531
- this.mem = new DataView(this._inst.exports.mem.buffer);
532
- this._values = [
533
- // JS values that Go currently has references to, indexed by reference id
534
- NaN,
535
- 0,
536
- null,
537
- true,
538
- false,
539
- globalThis,
540
- this,
541
- ];
542
- this._goRefCounts = new Array(this._values.length).fill(Infinity); // number of references that Go has to a JS value, indexed by reference id
543
- this._ids = new Map([
544
- // mapping from JS values to reference ids
545
- [0, 1],
546
- [null, 2],
547
- [true, 3],
548
- [false, 4],
549
- [globalThis, 5],
550
- [this, 6],
551
- ]);
552
- this._idPool = []; // unused ids that have been garbage collected
553
- this.exited = false; // whether the Go program has exited
554
- offset = 4096;
555
- strPtr = function (str) {
556
- var ptr = offset;
557
- var bytes = encoder.encode(str + '\0');
558
- new Uint8Array(_this.mem.buffer, offset, bytes.length).set(bytes);
559
- offset += bytes.length;
560
- if (offset % 8 !== 0) {
561
- offset += 8 - (offset % 8);
562
- }
563
- return ptr;
564
- };
565
- argc = this.argv.length;
566
- argvPtrs = [];
567
- this.argv.forEach(function (arg) {
568
- argvPtrs.push(strPtr(arg));
569
- });
570
- argvPtrs.push(0);
571
- keys = Object.keys(this.env).sort();
572
- keys.forEach(function (key) {
573
- argvPtrs.push(strPtr("".concat(key, "=").concat(_this.env[key])));
574
- });
575
- argvPtrs.push(0);
576
- argv = offset;
577
- argvPtrs.forEach(function (ptr) {
578
- _this.mem.setUint32(offset, ptr, true);
579
- _this.mem.setUint32(offset + 4, 0, true);
580
- offset += 8;
581
- });
582
- wasmMinDataAddr = 4096 + 8192;
583
- if (offset >= wasmMinDataAddr) {
584
- throw new Error('total length of command line and environment variables exceeds limit');
585
- }
586
- this._inst.exports.run(argc, argv);
587
- if (this.exited) {
588
- this._resolveExitPromise();
589
- }
590
- return [4 /*yield*/, this._exitPromise];
591
- case 1:
592
- _a.sent();
593
- return [2 /*return*/];
594
- }
595
- });
596
- });
597
- };
598
- Go.prototype._resume = function () {
599
- if (this.exited) {
600
- throw new Error('Go program has already exited');
601
- }
602
- this._inst.exports.resume();
603
- if (this.exited) {
604
- this._resolveExitPromise();
605
- }
606
- };
607
- Go.prototype._makeFuncWrapper = function (id) {
608
- var go = this;
609
- return function () {
610
- var event = { id: id, this: this, args: arguments };
611
- go._pendingEvent = event;
612
- go._resume();
613
- return event.result;
614
- };
615
- };
616
- return Go;
617
- }());
618
- exports.default = Go;
619
- //# sourceMappingURL=wasm_exec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wasm_exec.js","sourceRoot":"","sources":["../../../src/go/wasm_exec.ts"],"names":[],"mappings":"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"}