goscript 0.1.2 → 0.1.4

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 (138) hide show
  1. package/cmd/goscript/cmd_compile.go +28 -8
  2. package/cmd/goscript/cmd_compile_test.go +105 -6
  3. package/compiler/build-flags.go +9 -10
  4. package/compiler/gotest/runner_test.go +127 -0
  5. package/compiler/lowered-program.go +1 -0
  6. package/compiler/lowering.go +1325 -194
  7. package/compiler/lowering_bench_test.go +350 -0
  8. package/compiler/override-registry_test.go +43 -0
  9. package/compiler/package-graph.go +61 -4
  10. package/compiler/package-graph_test.go +30 -0
  11. package/compiler/semantic-model-types.go +8 -0
  12. package/compiler/semantic-model.go +447 -22
  13. package/compiler/semantic-model_test.go +138 -0
  14. package/compiler/skeleton_test.go +1436 -50
  15. package/compiler/typescript-emitter.go +47 -4
  16. package/dist/gs/builtin/builtin.d.ts +2 -2
  17. package/dist/gs/builtin/builtin.js +20 -0
  18. package/dist/gs/builtin/builtin.js.map +1 -1
  19. package/dist/gs/builtin/channel.js +36 -9
  20. package/dist/gs/builtin/channel.js.map +1 -1
  21. package/dist/gs/builtin/slice.js +5 -0
  22. package/dist/gs/builtin/slice.js.map +1 -1
  23. package/dist/gs/builtin/type.d.ts +1 -1
  24. package/dist/gs/builtin/type.js +80 -8
  25. package/dist/gs/builtin/type.js.map +1 -1
  26. package/dist/gs/bytes/bytes.gs.d.ts +7 -5
  27. package/dist/gs/bytes/bytes.gs.js +10 -4
  28. package/dist/gs/bytes/bytes.gs.js.map +1 -1
  29. package/dist/gs/compress/zlib/index.d.ts +3 -3
  30. package/dist/gs/compress/zlib/index.js +88 -26
  31. package/dist/gs/compress/zlib/index.js.map +1 -1
  32. package/dist/gs/crypto/sha1/index.d.ts +5 -0
  33. package/dist/gs/crypto/sha1/index.js +103 -0
  34. package/dist/gs/crypto/sha1/index.js.map +1 -0
  35. package/dist/gs/crypto/sha256/index.js +2 -5
  36. package/dist/gs/crypto/sha256/index.js.map +1 -1
  37. package/dist/gs/crypto/sha512/index.js +2 -5
  38. package/dist/gs/crypto/sha512/index.js.map +1 -1
  39. package/dist/gs/embed/index.d.ts +6 -0
  40. package/dist/gs/embed/index.js +210 -5
  41. package/dist/gs/embed/index.js.map +1 -1
  42. package/dist/gs/fmt/fmt.d.ts +4 -4
  43. package/dist/gs/fmt/fmt.js +93 -19
  44. package/dist/gs/fmt/fmt.js.map +1 -1
  45. package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js +118 -6
  46. package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js.map +1 -1
  47. package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.d.ts +45 -0
  48. package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.js +229 -0
  49. package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.js.map +1 -0
  50. package/dist/gs/io/fs/readdir.js +5 -3
  51. package/dist/gs/io/fs/readdir.js.map +1 -1
  52. package/dist/gs/io/io.d.ts +18 -11
  53. package/dist/gs/io/io.js +107 -44
  54. package/dist/gs/io/io.js.map +1 -1
  55. package/dist/gs/math/bits/index.d.ts +26 -5
  56. package/dist/gs/math/bits/index.js +13 -24
  57. package/dist/gs/math/bits/index.js.map +1 -1
  58. package/dist/gs/net/http/httptest/index.js +7 -5
  59. package/dist/gs/net/http/httptest/index.js.map +1 -1
  60. package/dist/gs/net/http/index.d.ts +11 -1
  61. package/dist/gs/net/http/index.js +157 -11
  62. package/dist/gs/net/http/index.js.map +1 -1
  63. package/dist/gs/os/types_js.gs.d.ts +6 -2
  64. package/dist/gs/os/types_js.gs.js +169 -8
  65. package/dist/gs/os/types_js.gs.js.map +1 -1
  66. package/dist/gs/os/zero_copy_posix.gs.js +1 -1
  67. package/dist/gs/os/zero_copy_posix.gs.js.map +1 -1
  68. package/dist/gs/reflect/type.d.ts +1 -0
  69. package/dist/gs/reflect/type.js +80 -51
  70. package/dist/gs/reflect/type.js.map +1 -1
  71. package/dist/gs/strings/reader.d.ts +1 -1
  72. package/dist/gs/strings/reader.js +2 -2
  73. package/dist/gs/strings/reader.js.map +1 -1
  74. package/dist/gs/sync/sync.d.ts +2 -1
  75. package/dist/gs/sync/sync.js +37 -16
  76. package/dist/gs/sync/sync.js.map +1 -1
  77. package/dist/gs/syscall/js/index.js +9 -0
  78. package/dist/gs/syscall/js/index.js.map +1 -1
  79. package/dist/gs/testing/testing.js +8 -6
  80. package/dist/gs/testing/testing.js.map +1 -1
  81. package/gs/builtin/builtin.ts +25 -2
  82. package/gs/builtin/channel.ts +47 -9
  83. package/gs/builtin/runtime-contract.test.ts +78 -0
  84. package/gs/builtin/slice.ts +7 -0
  85. package/gs/builtin/type.ts +97 -8
  86. package/gs/bytes/bytes.gs.ts +19 -10
  87. package/gs/bytes/bytes.test.ts +17 -0
  88. package/gs/compress/zlib/index.test.ts +97 -0
  89. package/gs/compress/zlib/index.ts +117 -27
  90. package/gs/compress/zlib/meta.json +4 -1
  91. package/gs/context/context.test.ts +5 -1
  92. package/gs/crypto/sha1/index.test.ts +45 -0
  93. package/gs/crypto/sha1/index.ts +127 -0
  94. package/gs/crypto/sha1/meta.json +8 -0
  95. package/gs/crypto/sha256/index.test.ts +14 -2
  96. package/gs/crypto/sha256/index.ts +3 -6
  97. package/gs/crypto/sha512/index.test.ts +17 -2
  98. package/gs/crypto/sha512/index.ts +3 -6
  99. package/gs/embed/index.test.ts +87 -0
  100. package/gs/embed/index.ts +229 -5
  101. package/gs/fmt/fmt.test.ts +61 -3
  102. package/gs/fmt/fmt.ts +115 -22
  103. package/gs/fmt/meta.json +6 -1
  104. package/gs/github.com/aperturerobotics/starpc/srpc/index.test.ts +8 -1
  105. package/gs/github.com/aperturerobotics/starpc/srpc/index.ts +139 -11
  106. package/gs/github.com/aperturerobotics/util/conc/index.test.ts +1 -1
  107. package/gs/github.com/go-git/go-billy/v6/osfs/index.test.ts +110 -0
  108. package/gs/github.com/go-git/go-billy/v6/osfs/index.ts +280 -0
  109. package/gs/github.com/go-git/go-billy/v6/osfs/meta.json +8 -0
  110. package/gs/io/fs/readdir.test.ts +38 -0
  111. package/gs/io/fs/readdir.ts +7 -3
  112. package/gs/io/io.test.ts +135 -0
  113. package/gs/io/io.ts +143 -63
  114. package/gs/io/meta.json +7 -1
  115. package/gs/math/bits/index.ts +52 -28
  116. package/gs/net/http/httptest/index.test.ts +34 -2
  117. package/gs/net/http/httptest/index.ts +23 -8
  118. package/gs/net/http/index.test.ts +46 -0
  119. package/gs/net/http/index.ts +178 -12
  120. package/gs/os/file_unix_js.test.ts +52 -0
  121. package/gs/os/meta.json +4 -0
  122. package/gs/os/readdir.test.ts +56 -0
  123. package/gs/os/types_js.gs.ts +169 -8
  124. package/gs/os/zero_copy_posix.gs.ts +1 -2
  125. package/gs/reflect/deepequal.test.ts +10 -1
  126. package/gs/reflect/type.ts +91 -56
  127. package/gs/reflect/typefor.test.ts +31 -1
  128. package/gs/strings/meta.json +5 -2
  129. package/gs/strings/reader.test.ts +2 -2
  130. package/gs/strings/reader.ts +2 -2
  131. package/gs/sync/meta.json +2 -0
  132. package/gs/sync/sync.test.ts +41 -1
  133. package/gs/sync/sync.ts +41 -16
  134. package/gs/syscall/js/index.test.ts +18 -0
  135. package/gs/syscall/js/index.ts +12 -0
  136. package/gs/testing/testing.test.ts +32 -3
  137. package/gs/testing/testing.ts +13 -10
  138. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import * as $ from "@goscript/builtin/index.js";
2
2
  import { ErrClosed, ErrInvalid, ErrUnimplemented } from "./error.gs.js";
3
3
  import * as fs from "@goscript/io/fs/index.js";
4
+ import { FileInfoToDirEntry } from "@goscript/io/fs/readdir.js";
4
5
  import * as io from "@goscript/io/index.js";
5
6
  import * as time from "@goscript/time/index.js";
6
7
  import { getHostRuntime, HostUnsupportedError, resetHostRuntimeForTests, } from "@goscript/builtin/hostio.js";
@@ -180,6 +181,70 @@ export function createFileInfo(name, stat) {
180
181
  sys: stat,
181
182
  });
182
183
  }
184
+ function joinFilePath(dir, name) {
185
+ if (dir === "" || dir === ".") {
186
+ return name;
187
+ }
188
+ return dir.replace(/\/+$/, "") + "/" + name;
189
+ }
190
+ function readDirectoryInfos(name) {
191
+ const denoObj = getDeno();
192
+ if (denoObj?.readDirSync) {
193
+ try {
194
+ const infos = [];
195
+ for (const entry of denoObj.readDirSync(name)) {
196
+ infos.push(createFileInfo(entry.name, {
197
+ isDirectory: () => entry.isDirectory,
198
+ isSymbolicLink: () => entry.isSymlink,
199
+ mode: 0,
200
+ size: 0,
201
+ }));
202
+ }
203
+ return [infos, null];
204
+ }
205
+ catch (err) {
206
+ return [null, newHostError(err)];
207
+ }
208
+ }
209
+ const nodeFS = getNodeFS();
210
+ if (nodeFS?.readdirSync) {
211
+ try {
212
+ const infos = nodeFS.readdirSync(name, { withFileTypes: true }).map((entry) => {
213
+ const childName = String(entry.name);
214
+ const childPath = joinFilePath(name, childName);
215
+ if (nodeFS.lstatSync) {
216
+ try {
217
+ return createFileInfo(childName, nodeFS.lstatSync(childPath));
218
+ }
219
+ catch {
220
+ // Fall back to Dirent metadata when the child cannot be statted.
221
+ }
222
+ }
223
+ return createFileInfo(childName, {
224
+ isDirectory: () => typeof entry.isDirectory === "function" ? entry.isDirectory() : false,
225
+ isSymbolicLink: () => typeof entry.isSymbolicLink === "function" ? entry.isSymbolicLink() : false,
226
+ mode: 0,
227
+ size: 0,
228
+ });
229
+ });
230
+ return [infos, null];
231
+ }
232
+ catch (err) {
233
+ return [null, newHostError(err)];
234
+ }
235
+ }
236
+ return [null, ErrUnimplemented];
237
+ }
238
+ function consumeDirectoryEntries(entries, offset, n) {
239
+ if (n <= 0) {
240
+ return [$.arrayToSlice(entries.slice(offset)), entries.length, null];
241
+ }
242
+ if (offset >= entries.length) {
243
+ return [null, offset, io.EOF];
244
+ }
245
+ const next = Math.min(entries.length, offset + n);
246
+ return [$.arrayToSlice(entries.slice(offset, next)), next, null];
247
+ }
183
248
  export function createHostFile(name, fd = -1, handle = null) {
184
249
  return new File({
185
250
  fd,
@@ -210,11 +275,19 @@ export class File {
210
275
  name;
211
276
  closed;
212
277
  fd;
278
+ dirEntryOffset;
279
+ dirInfoOffset;
280
+ cachedDirEntries;
281
+ cachedDirInfos;
213
282
  _fields;
214
283
  constructor(init) {
215
284
  this.name = init?.name ?? "";
216
285
  this.closed = init?.closed ?? false;
217
286
  this.fd = init?.fd ?? -1;
287
+ this.dirEntryOffset = 0;
288
+ this.dirInfoOffset = 0;
289
+ this.cachedDirEntries = null;
290
+ this.cachedDirInfos = null;
218
291
  this._fields = {
219
292
  file: $.varRef(init?.file ?? null)
220
293
  };
@@ -228,16 +301,55 @@ export class File {
228
301
  });
229
302
  }
230
303
  Readdir(n) {
231
- return [null, ErrUnimplemented];
304
+ if (this.closed) {
305
+ return [null, ErrClosed];
306
+ }
307
+ if (this.cachedDirInfos === null) {
308
+ const [infos, err] = readDirectoryInfos(this.name);
309
+ if (err !== null) {
310
+ return [null, err];
311
+ }
312
+ this.cachedDirInfos = infos ?? [];
313
+ this.dirInfoOffset = 0;
314
+ }
315
+ const [out, next, err] = consumeDirectoryEntries(this.cachedDirInfos, this.dirInfoOffset, n);
316
+ this.dirInfoOffset = next;
317
+ return [out, err];
232
318
  }
233
319
  Readdirnames(n) {
234
- return [null, ErrUnimplemented];
320
+ const [infos, err] = this.Readdir(n);
321
+ if (err !== null) {
322
+ return [null, err];
323
+ }
324
+ return [$.arrayToSlice((infos ?? []).map((info) => info.Name())), null];
235
325
  }
236
326
  ReadDir(n) {
237
- return [null, ErrUnimplemented];
327
+ if (this.closed) {
328
+ return [null, ErrClosed];
329
+ }
330
+ if (this.cachedDirEntries === null) {
331
+ const [infos, err] = readDirectoryInfos(this.name);
332
+ if (err !== null) {
333
+ return [null, err];
334
+ }
335
+ this.cachedDirEntries = (infos ?? []).map((info) => FileInfoToDirEntry(info)).filter((entry) => entry !== null);
336
+ this.dirEntryOffset = 0;
337
+ }
338
+ const [out, next, err] = consumeDirectoryEntries(this.cachedDirEntries, this.dirEntryOffset, n);
339
+ this.dirEntryOffset = next;
340
+ return [out, err];
238
341
  }
239
342
  readdir(n, mode) {
240
- return [null, null, null, ErrUnimplemented];
343
+ if (mode === readdirName) {
344
+ const [names, err] = this.Readdirnames(n);
345
+ return [names, null, null, err];
346
+ }
347
+ if (mode === readdirDirEntry) {
348
+ const [entries, err] = this.ReadDir(n);
349
+ return [null, entries, null, err];
350
+ }
351
+ const [infos, err] = this.Readdir(n);
352
+ return [null, null, infos, err];
241
353
  }
242
354
  Name() {
243
355
  return this.name;
@@ -304,11 +416,34 @@ export class File {
304
416
  }
305
417
  return [0, ErrUnimplemented];
306
418
  }
307
- ReadFrom(r) {
419
+ async ReadFrom(r) {
308
420
  if (this.closed) {
309
421
  return [0, ErrClosed];
310
422
  }
311
- return io.Copy(this, r);
423
+ const buf = $.makeSlice(32 * 1024, undefined, "byte");
424
+ let written = 0;
425
+ while (true) {
426
+ const [nr, er] = await r.Read(buf);
427
+ if (nr > 0) {
428
+ const [nw, ew] = this.Write($.goSlice(buf, 0, nr));
429
+ if (nw < 0 || nr < nw) {
430
+ return [written, ew ?? io.ErrShortWrite];
431
+ }
432
+ written += nw;
433
+ if (ew !== null) {
434
+ return [written, ew];
435
+ }
436
+ if (nr !== nw) {
437
+ return [written, io.ErrShortWrite];
438
+ }
439
+ }
440
+ if (er !== null) {
441
+ if (er === io.EOF) {
442
+ return [written, null];
443
+ }
444
+ return [written, er];
445
+ }
446
+ }
312
447
  }
313
448
  Write(b) {
314
449
  if (this.closed) {
@@ -361,11 +496,34 @@ export class File {
361
496
  }
362
497
  return [0, ErrUnimplemented];
363
498
  }
364
- WriteTo(w) {
499
+ async WriteTo(w) {
365
500
  if (this.closed) {
366
501
  return [0, ErrClosed];
367
502
  }
368
- return io.Copy(w, this);
503
+ const buf = $.makeSlice(32 * 1024, undefined, "byte");
504
+ let written = 0;
505
+ while (true) {
506
+ const [nr, er] = this.Read(buf);
507
+ if (nr > 0) {
508
+ const [nw, ew] = await w.Write($.goSlice(buf, 0, nr));
509
+ if (nw < 0 || nr < nw) {
510
+ return [written, ew ?? io.ErrShortWrite];
511
+ }
512
+ written += nw;
513
+ if (ew !== null) {
514
+ return [written, ew];
515
+ }
516
+ if (nr !== nw) {
517
+ return [written, io.ErrShortWrite];
518
+ }
519
+ }
520
+ if (er !== null) {
521
+ if (er === io.EOF) {
522
+ return [written, null];
523
+ }
524
+ return [written, er];
525
+ }
526
+ }
369
527
  }
370
528
  Seek(offset, whence) {
371
529
  const handle = this.file?.handle;
@@ -606,6 +764,9 @@ class file {
606
764
  this.path = init?.path ?? "";
607
765
  }
608
766
  }
767
+ const readdirName = 0;
768
+ const readdirDirEntry = 1;
769
+ const readdirFileInfo = 2;
609
770
  // File mode constants
610
771
  export let ModeDir = fs.ModeDir;
611
772
  export let ModeAppend = fs.ModeAppend;
@@ -1 +1 @@
1
- {"version":3,"file":"types_js.gs.js","sourceRoot":"","sources":["../../../gs/os/types_js.gs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types_js.gs.js","sourceRoot":"","sources":["../../../gs/os/types_js.gs.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,6 @@ export function tryLimitedReader(r) {
22
22
  return [null, r, remain];
23
23
  }
24
24
  remain = lr.N;
25
- return [lr, lr.R, remain];
25
+ return [lr, lr.R ?? r, remain];
26
26
  }
27
27
  //# sourceMappingURL=zero_copy_posix.gs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zero_copy_posix.gs.js","sourceRoot":"","sources":["../../../gs/os/zero_copy_posix.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMhD,sEAAsE;AACtE,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,GAAc;IAC5D,CAAC;QACA,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAgB,GAAG,EAAE,eAAe,CAAC,CAAA;QAClE,IAAI,EAAE,EAAE,CAAC;YACR,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,uGAAuG;AACvG,wFAAwF;AACxF,4GAA4G;AAC5G,MAAM,UAAU,gBAAgB,CAAC,CAAY;IAC5C,6BAA6B;IAC7B,IAAI,MAAM,GAAW,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAA;IAEhD,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAA0B,CAAC,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAC,CAAC,CAAA;IAC9H,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,MAAM,GAAG,EAAG,CAAC,CAAC,CAAA;IACd,OAAO,CAAC,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"zero_copy_posix.gs.js","sourceRoot":"","sources":["../../../gs/os/zero_copy_posix.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMhD,sEAAsE;AACtE,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,GAAc;IAC5D,CAAC;QACA,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAgB,GAAG,EAAE,eAAe,CAAC,CAAA;QAClE,IAAI,EAAE,EAAE,CAAC;YACR,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,uGAAuG;AACvG,wFAAwF;AACxF,4GAA4G;AAC5G,MAAM,UAAU,gBAAgB,CAAC,CAAY;IAC5C,6BAA6B;IAC7B,IAAI,MAAM,GAAW,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAA;IAEhD,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAA0B,CAAC,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAC,CAAC,CAAA;IAC9H,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,MAAM,GAAG,EAAG,CAAC,CAAC,CAAA;IACd,OAAO,CAAC,EAAE,EAAE,EAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;AAChC,CAAC"}
@@ -96,6 +96,7 @@ export declare class Value {
96
96
  Uint(): number;
97
97
  Float(): number;
98
98
  Bool(): boolean;
99
+ private numericValue;
99
100
  String(): string;
100
101
  Len(): number;
101
102
  Kind(): Kind;
@@ -276,24 +276,27 @@ export class Value {
276
276
  }
277
277
  // Methods required by godoc.txt and used throughout the codebase
278
278
  Int() {
279
- if (typeof this._value === 'number' && Number.isInteger(this._value)) {
280
- return this._value;
279
+ const value = this.numericValue();
280
+ if (value !== null && Number.isInteger(value)) {
281
+ return value;
281
282
  }
282
283
  throw new Error('reflect: call of reflect.Value.Int on ' +
283
284
  Kind_String(this._type.Kind()) +
284
285
  ' Value');
285
286
  }
286
287
  Uint() {
287
- if (typeof this._value === 'number' && this._value >= 0) {
288
- return this._value;
288
+ const value = this.numericValue();
289
+ if (value !== null && value >= 0) {
290
+ return value;
289
291
  }
290
292
  throw new Error('reflect: call of reflect.Value.Uint on ' +
291
293
  Kind_String(this._type.Kind()) +
292
294
  ' Value');
293
295
  }
294
296
  Float() {
295
- if (typeof this._value === 'number') {
296
- return this._value;
297
+ const value = this.numericValue();
298
+ if (value !== null) {
299
+ return value;
297
300
  }
298
301
  throw new Error('reflect: call of reflect.Value.Float on ' +
299
302
  Kind_String(this._type.Kind()) +
@@ -307,6 +310,20 @@ export class Value {
307
310
  Kind_String(this._type.Kind()) +
308
311
  ' Value');
309
312
  }
313
+ numericValue() {
314
+ if (typeof this._value === 'number') {
315
+ return this._value;
316
+ }
317
+ if (this._value !== null &&
318
+ typeof this._value === 'object' &&
319
+ typeof this._value.valueOf === 'function') {
320
+ const value = this._value.valueOf();
321
+ if (typeof value === 'number') {
322
+ return value;
323
+ }
324
+ }
325
+ return null;
326
+ }
310
327
  String() {
311
328
  if (typeof this._value === 'string') {
312
329
  return this._value;
@@ -409,6 +426,15 @@ export class Value {
409
426
  const elemType = this._type.Elem();
410
427
  return new Value(varRef.value, elemType, varRef);
411
428
  }
429
+ if (this._type.Kind() === Ptr &&
430
+ this._value &&
431
+ typeof this._value === 'object' &&
432
+ '__goValue' in this._value &&
433
+ $.isVarRef(this._value.__goValue)) {
434
+ const varRef = this._value
435
+ .__goValue;
436
+ return new Value(varRef.value, this._type.Elem(), varRef);
437
+ }
412
438
  // For interfaces, return the underlying value
413
439
  return new Value(this._value, this._type, this._parentVarRef);
414
440
  }
@@ -1703,30 +1729,7 @@ class StructType {
1703
1729
  }
1704
1730
  static createTypeFromFieldInfo(ti) {
1705
1731
  if (typeof ti === 'string') {
1706
- switch (ti) {
1707
- case 'string':
1708
- return new BasicType(String, ti, 16);
1709
- case 'int':
1710
- case 'int32':
1711
- case 'int64':
1712
- case 'number':
1713
- return new BasicType(Int, ti === 'number' ? 'int' : ti, 8);
1714
- case 'bool':
1715
- case 'boolean':
1716
- return new BasicType(Bool, 'bool', 1);
1717
- case 'float64':
1718
- return new BasicType(Float64, ti, 8);
1719
- case 'complex64':
1720
- return new BasicType(Complex64, ti, 8);
1721
- case 'complex128':
1722
- return new BasicType(Complex128, ti, 16);
1723
- case 'uint':
1724
- case 'uint32':
1725
- case 'uint64':
1726
- return new BasicType(Uint, ti, 8);
1727
- default:
1728
- return new BasicType(Invalid, ti, 8);
1729
- }
1732
+ return basicTypeFromName(ti === 'number' ? 'int' : ti);
1730
1733
  }
1731
1734
  else if (ti && ti.kind) {
1732
1735
  // Handle TypeInfo objects from the builtin type system
@@ -1734,27 +1737,7 @@ class StructType {
1734
1737
  const typeName = ti.typeName || '';
1735
1738
  switch (ti.kind) {
1736
1739
  case 'basic':
1737
- // Map TypeScript type names to Go type names
1738
- switch (name) {
1739
- case 'string':
1740
- return new BasicType(String, 'string', 16, typeName);
1741
- case 'number':
1742
- case 'int':
1743
- case 'int32':
1744
- case 'int64':
1745
- return new BasicType(Int, name === 'number' ? 'int' : name, 8, typeName);
1746
- case 'boolean':
1747
- case 'bool':
1748
- return new BasicType(Bool, 'bool', 1, typeName);
1749
- case 'float64':
1750
- return new BasicType(Float64, 'float64', 8, typeName);
1751
- case 'complex64':
1752
- return new BasicType(Complex64, 'complex64', 8, typeName);
1753
- case 'complex128':
1754
- return new BasicType(Complex128, 'complex128', 16, typeName);
1755
- default:
1756
- return new BasicType(Invalid, name, 8, typeName);
1757
- }
1740
+ return basicTypeFromName(name === 'number' ? 'int' : name, typeName);
1758
1741
  case 'slice':
1759
1742
  if (ti.elemType) {
1760
1743
  return new SliceType(StructType.createTypeFromFieldInfo(ti.elemType));
@@ -1776,6 +1759,48 @@ class StructType {
1776
1759
  return new BasicType(Invalid, 'unknown', 8);
1777
1760
  }
1778
1761
  }
1762
+ function basicTypeFromName(name, typeName = '') {
1763
+ switch (name) {
1764
+ case 'string':
1765
+ return new BasicType(String, 'string', 16, typeName);
1766
+ case 'bool':
1767
+ case 'boolean':
1768
+ return new BasicType(Bool, 'bool', 1, typeName);
1769
+ case 'int':
1770
+ return new BasicType(Int, 'int', 8, typeName);
1771
+ case 'int8':
1772
+ return new BasicType(Int8, 'int8', 1, typeName);
1773
+ case 'int16':
1774
+ return new BasicType(Int16, 'int16', 2, typeName);
1775
+ case 'int32':
1776
+ return new BasicType(Int32, 'int32', 4, typeName);
1777
+ case 'int64':
1778
+ return new BasicType(Int64, 'int64', 8, typeName);
1779
+ case 'uint':
1780
+ return new BasicType(Uint, 'uint', 8, typeName);
1781
+ case 'uint8':
1782
+ case 'byte':
1783
+ return new BasicType(Uint8, name, 1, typeName);
1784
+ case 'uint16':
1785
+ return new BasicType(Uint16, 'uint16', 2, typeName);
1786
+ case 'uint32':
1787
+ return new BasicType(Uint32, 'uint32', 4, typeName);
1788
+ case 'uint64':
1789
+ return new BasicType(Uint64, 'uint64', 8, typeName);
1790
+ case 'uintptr':
1791
+ return new BasicType(Uintptr, 'uintptr', 8, typeName);
1792
+ case 'float32':
1793
+ return new BasicType(Float32, 'float32', 4, typeName);
1794
+ case 'float64':
1795
+ return new BasicType(Float64, 'float64', 8, typeName);
1796
+ case 'complex64':
1797
+ return new BasicType(Complex64, 'complex64', 8, typeName);
1798
+ case 'complex128':
1799
+ return new BasicType(Complex128, 'complex128', 16, typeName);
1800
+ default:
1801
+ return new BasicType(Invalid, name, 8, typeName);
1802
+ }
1803
+ }
1779
1804
  function structFieldsFromTypeInfo(ti) {
1780
1805
  return Object.entries(ti.fields || {}).map(([name, fieldInfo]) => {
1781
1806
  if (isStructFieldInfo(fieldInfo)) {
@@ -2069,6 +2094,10 @@ function getTypeOf(value) {
2069
2094
  const elemType = getTypeOf(value.value);
2070
2095
  return new PointerType(elemType);
2071
2096
  }
2097
+ if ('__goTypeInfo' in value &&
2098
+ value.__goTypeInfo) {
2099
+ return typeFromTypeInfo(value.__goTypeInfo);
2100
+ }
2072
2101
  if ('real' in value &&
2073
2102
  'imag' in value &&
2074
2103
  typeof value.real === 'number' &&