xbintsc 0.3.9 → 0.3.11

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 (73) hide show
  1. package/README.md +14 -11
  2. package/README.zh-CN.md +13 -11
  3. package/dist/src/codegen/generator/calls/invocation.js +3 -0
  4. package/dist/src/codegen/generator/calls/invocation.js.map +1 -1
  5. package/dist/src/codegen/generator/context.d.ts +5 -0
  6. package/dist/src/codegen/generator/context.js +10 -1
  7. package/dist/src/codegen/generator/context.js.map +1 -1
  8. package/dist/src/codegen/generator/expressions/primary.js +17 -0
  9. package/dist/src/codegen/generator/expressions/primary.js.map +1 -1
  10. package/dist/src/codegen/generator/state.js +3 -0
  11. package/dist/src/codegen/generator/state.js.map +1 -1
  12. package/dist/src/codegen/generator/tables.js +3 -0
  13. package/dist/src/codegen/generator/tables.js.map +1 -1
  14. package/dist/src/driver/index.d.ts +1 -1
  15. package/dist/src/driver/index.js +1 -1
  16. package/dist/src/driver/index.js.map +1 -1
  17. package/dist/src/driver/paths.d.ts +7 -0
  18. package/dist/src/driver/paths.js +9 -0
  19. package/dist/src/driver/paths.js.map +1 -1
  20. package/dist/src/extensions/node/assert/index.d.ts +10 -0
  21. package/dist/src/extensions/node/assert/index.js +37 -0
  22. package/dist/src/extensions/node/assert/index.js.map +1 -0
  23. package/dist/src/extensions/node/fs/index.js +3 -1
  24. package/dist/src/extensions/node/fs/index.js.map +1 -1
  25. package/dist/src/extensions/node/fs/streams.d.ts +6 -0
  26. package/dist/src/extensions/node/fs/streams.js +9 -0
  27. package/dist/src/extensions/node/fs/streams.js.map +1 -0
  28. package/dist/src/extensions/node/index.js +10 -0
  29. package/dist/src/extensions/node/index.js.map +1 -1
  30. package/dist/src/extensions/node/stream-promises/index.d.ts +9 -0
  31. package/dist/src/extensions/node/stream-promises/index.js +16 -0
  32. package/dist/src/extensions/node/stream-promises/index.js.map +1 -0
  33. package/dist/src/extensions/node/test/index.d.ts +10 -0
  34. package/dist/src/extensions/node/test/index.js +30 -0
  35. package/dist/src/extensions/node/test/index.js.map +1 -0
  36. package/dist/src/extensions/node/worker_threads/index.d.ts +10 -0
  37. package/dist/src/extensions/node/worker_threads/index.js +22 -0
  38. package/dist/src/extensions/node/worker_threads/index.js.map +1 -0
  39. package/dist/src/extensions/node/zlib/index.d.ts +8 -0
  40. package/dist/src/extensions/node/zlib/index.js +15 -0
  41. package/dist/src/extensions/node/zlib/index.js.map +1 -0
  42. package/dist/src/extensions/registry.d.ts +6 -0
  43. package/dist/src/extensions/registry.js.map +1 -1
  44. package/dist/tests/driver/paths.test.js +11 -1
  45. package/dist/tests/driver/paths.test.js.map +1 -1
  46. package/dist/tests/e2e/compile-node.test.js +67 -1
  47. package/dist/tests/e2e/compile-node.test.js.map +1 -1
  48. package/package.json +1 -1
  49. package/runtime/ext_node/assert/assert.c +207 -0
  50. package/runtime/ext_node/crypto/crypto.c +230 -14
  51. package/runtime/ext_node/fs/streams.c +31 -0
  52. package/runtime/ext_node/stream/pipeline.c +147 -0
  53. package/runtime/ext_node/test/test.c +102 -0
  54. package/runtime/ext_node/worker_threads/worker_threads.c +206 -0
  55. package/runtime/ext_node/zlib/zlib.c +19 -0
  56. package/runtime/xt_io.c +86 -0
  57. package/scripts/package-release.ts +11 -3
  58. package/src/codegen/generator/calls/invocation.ts +2 -0
  59. package/src/codegen/generator/context.ts +10 -1
  60. package/src/codegen/generator/expressions/primary.ts +17 -0
  61. package/src/codegen/generator/state.ts +3 -0
  62. package/src/codegen/generator/tables.ts +3 -0
  63. package/src/driver/index.ts +1 -1
  64. package/src/driver/paths.ts +14 -0
  65. package/src/extensions/node/assert/index.ts +44 -0
  66. package/src/extensions/node/fs/index.ts +3 -1
  67. package/src/extensions/node/fs/streams.ts +11 -0
  68. package/src/extensions/node/index.ts +10 -0
  69. package/src/extensions/node/stream-promises/index.ts +18 -0
  70. package/src/extensions/node/test/index.ts +35 -0
  71. package/src/extensions/node/worker_threads/index.ts +26 -0
  72. package/src/extensions/node/zlib/index.ts +17 -0
  73. package/src/extensions/registry.ts +6 -0
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Node's `zlib` module.
3
+ *
4
+ * Only `createGzip()` is implemented. It returns a descriptor consumed by
5
+ * `stream/promises`' `pipeline`; see `runtime/ext_node/zlib/zlib.c`.
6
+ */
7
+
8
+ import type { NodeModule } from "../module.js";
9
+ import { resolveFrom } from "../module.js";
10
+
11
+ export const zlibModule: NodeModule = {
12
+ name: "zlib",
13
+ runtimeSources: () => [resolveFrom(import.meta.url, "../../../../runtime/ext_node/zlib/zlib.c")],
14
+ builtins: () => ({
15
+ createGzip: { symbol: "xt_node_create_gzip" },
16
+ }),
17
+ };
@@ -28,6 +28,12 @@ export interface ModuleExport {
28
28
  readonly returnVoid?: boolean;
29
29
  readonly namespace?: string;
30
30
  readonly method?: string;
31
+ /**
32
+ * Runtime getter used when the binding is read as a *value* rather than
33
+ * called (e.g. `import { isMainThread } from "worker_threads"`). The symbol
34
+ * has the uniform `(i32, i64*)` ABI and is invoked with no arguments.
35
+ */
36
+ readonly valueSymbol?: string;
31
37
  /**
32
38
  * Marks a runtime symbol as a constructor callable with `new` (it has the
33
39
  * `(i32, i64*)` signature). Lets `import { EventEmitter } from "events"` be