@isolated-vm/experimental 0.0.8 → 0.0.10

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 (192) hide show
  1. package/addon/CMakeLists.txt +1 -1
  2. package/addon/handle/local_of.cc +150 -0
  3. package/addon/handle/types.cc +8 -137
  4. package/addon/handle/value_of.cc +82 -27
  5. package/addon/resolve.js +2 -2
  6. package/addon/support/callback_info.cc +5 -5
  7. package/addon/support/callback_storage.cc +2 -2
  8. package/addon/support/free_function.cc +2 -2
  9. package/addon/support/initialize.cc +2 -2
  10. package/addon/transfer/accept.cc +84 -64
  11. package/addon/transfer/visit.cc +90 -47
  12. package/addon/value/array.cc +6 -6
  13. package/addon/value/array_buffer.cc +27 -18
  14. package/addon/value/function.cc +5 -5
  15. package/addon/value/function.h.cc +5 -5
  16. package/addon/value/object.cc +3 -3
  17. package/addon/value/primitive.cc +36 -36
  18. package/addon/value/prototype.cc +7 -7
  19. package/addon/value/record.cc +20 -20
  20. package/addon/value/value.cc +1 -1
  21. package/addon/value/vector.cc +9 -9
  22. package/backend/backend.cts +7 -0
  23. package/backend/backend.d.cts +87 -0
  24. package/backend/host.cts +41 -0
  25. package/backend/require.cts +17 -0
  26. package/dist/backend/backend.cjs +9 -0
  27. package/dist/backend/backend.cjs.map +1 -0
  28. package/dist/backend/backend.d.cts +2 -0
  29. package/dist/backend/backend.d.cts.map +1 -0
  30. package/dist/backend/host.cjs +41 -0
  31. package/dist/backend/host.cjs.map +1 -0
  32. package/dist/backend/host.d.cts +2 -0
  33. package/dist/backend/host.d.cts.map +1 -0
  34. package/dist/backend/require.cjs +19 -0
  35. package/dist/backend/require.cjs.map +1 -0
  36. package/dist/backend/require.d.cts +2 -0
  37. package/dist/backend/require.d.cts.map +1 -0
  38. package/dist/frontend/agent.d.ts +2 -1
  39. package/dist/frontend/agent.d.ts.map +1 -1
  40. package/dist/frontend/agent.js +1 -1
  41. package/dist/frontend/agent.js.map +1 -1
  42. package/dist/frontend/module.d.ts +2 -2
  43. package/dist/frontend/module.d.ts.map +1 -1
  44. package/dist/frontend/module.js +1 -1
  45. package/dist/frontend/module.js.map +1 -1
  46. package/dist/frontend/realm.d.ts +2 -2
  47. package/dist/frontend/realm.d.ts.map +1 -1
  48. package/dist/frontend/realm.js +2 -2
  49. package/dist/frontend/realm.js.map +1 -1
  50. package/dist/frontend/reference.d.ts +4 -4
  51. package/dist/frontend/reference.d.ts.map +1 -1
  52. package/dist/frontend/script.d.ts +1 -1
  53. package/dist/frontend/script.d.ts.map +1 -1
  54. package/dist/frontend/script.js +1 -1
  55. package/dist/frontend/script.js.map +1 -1
  56. package/dist/isolated-vm.d.ts +1 -1
  57. package/dist/isolated-vm.d.ts.map +1 -1
  58. package/dist/isolated-vm.js +1 -1
  59. package/dist/isolated-vm.js.map +1 -1
  60. package/dist/test/00.agent/00.prerequisites.d.ts +2 -0
  61. package/dist/test/00.agent/00.prerequisites.d.ts.map +1 -0
  62. package/dist/test/00.agent/00.prerequisites.js +25 -0
  63. package/dist/test/00.agent/00.prerequisites.js.map +1 -0
  64. package/dist/test/00.agent/10.clock.d.ts +2 -0
  65. package/dist/test/00.agent/10.clock.d.ts.map +1 -0
  66. package/dist/test/{00.datetime.js → 00.agent/10.clock.js} +8 -8
  67. package/dist/test/00.agent/10.clock.js.map +1 -0
  68. package/dist/test/00.agent/10.random.d.ts +2 -0
  69. package/dist/test/00.agent/10.random.d.ts.map +1 -0
  70. package/dist/test/{00.random.js → 00.agent/10.random.js} +4 -4
  71. package/dist/test/00.agent/10.random.js.map +1 -0
  72. package/dist/test/10.transfer/00.primitives.d.ts +2 -0
  73. package/dist/test/10.transfer/00.primitives.d.ts.map +1 -0
  74. package/dist/test/10.transfer/00.primitives.js +54 -0
  75. package/dist/test/10.transfer/00.primitives.js.map +1 -0
  76. package/dist/test/10.transfer/10.array_buffer.d.ts +2 -0
  77. package/dist/test/10.transfer/10.array_buffer.d.ts.map +1 -0
  78. package/dist/test/{20.array_buffer.js → 10.transfer/10.array_buffer.js} +90 -84
  79. package/dist/test/10.transfer/10.array_buffer.js.map +1 -0
  80. package/dist/test/10.transfer/50.interceptors.d.ts +2 -0
  81. package/dist/test/10.transfer/50.interceptors.d.ts.map +1 -0
  82. package/dist/test/10.transfer/50.interceptors.js +108 -0
  83. package/dist/test/10.transfer/50.interceptors.js.map +1 -0
  84. package/dist/test/10.transfer/90.regressions.d.ts +2 -0
  85. package/dist/test/10.transfer/90.regressions.d.ts.map +1 -0
  86. package/dist/test/10.transfer/90.regressions.js +72 -0
  87. package/dist/test/10.transfer/90.regressions.js.map +1 -0
  88. package/dist/test/20.intrinsics/00.script.d.ts +2 -0
  89. package/dist/test/20.intrinsics/00.script.d.ts.map +1 -0
  90. package/dist/test/{10.script.js → 20.intrinsics/00.script.js} +7 -7
  91. package/dist/test/20.intrinsics/00.script.js.map +1 -0
  92. package/dist/test/20.intrinsics/05.global.d.ts.map +1 -0
  93. package/dist/test/{05.global.js → 20.intrinsics/05.global.js} +5 -5
  94. package/dist/test/20.intrinsics/05.global.js.map +1 -0
  95. package/dist/test/20.intrinsics/10.reference.d.ts.map +1 -0
  96. package/dist/test/{10.reference.js → 20.intrinsics/10.reference.js} +15 -15
  97. package/dist/test/20.intrinsics/10.reference.js.map +1 -0
  98. package/dist/test/20.intrinsics/20.module.d.ts +2 -0
  99. package/dist/test/20.intrinsics/20.module.d.ts.map +1 -0
  100. package/dist/test/{10.module.js → 20.intrinsics/20.module.js} +18 -18
  101. package/dist/test/20.intrinsics/20.module.js.map +1 -0
  102. package/dist/test/50.features/50.timers.d.ts.map +1 -0
  103. package/dist/test/{50.timers.js → 50.features/50.timers.js} +8 -8
  104. package/dist/test/50.features/50.timers.js.map +1 -0
  105. package/dist/test/50.features/90.i18n.d.ts +2 -0
  106. package/dist/test/50.features/90.i18n.d.ts.map +1 -0
  107. package/dist/test/{99.i18n.js → 50.features/90.i18n.js} +6 -6
  108. package/dist/test/50.features/90.i18n.js.map +1 -0
  109. package/dist/test/90.isolation/00.dispose.d.ts +1 -1
  110. package/dist/test/90.isolation/00.dispose.d.ts.map +1 -1
  111. package/dist/test/90.isolation/00.dispose.js +23 -5
  112. package/dist/test/90.isolation/00.dispose.js.map +1 -1
  113. package/dist/test/90.isolation/10.memory.d.ts +2 -0
  114. package/dist/test/90.isolation/10.memory.d.ts.map +1 -0
  115. package/dist/test/90.isolation/10.memory.js +31 -0
  116. package/dist/test/90.isolation/10.memory.js.map +1 -0
  117. package/dist/test/fixtures.js +2 -3
  118. package/dist/test/fixtures.js.map +1 -1
  119. package/dist/test/glob.d.ts +2 -0
  120. package/dist/test/glob.d.ts.map +1 -0
  121. package/dist/test/glob.js +11 -0
  122. package/dist/test/glob.js.map +1 -0
  123. package/dist/tsconfig.tsbuildinfo +1 -1
  124. package/dist/utility/completion.d.ts +2 -1
  125. package/dist/utility/completion.d.ts.map +1 -1
  126. package/dist/utility/completion.js +4 -0
  127. package/dist/utility/completion.js.map +1 -1
  128. package/frontend/agent.ts +3 -2
  129. package/frontend/module.ts +2 -2
  130. package/frontend/realm.ts +2 -2
  131. package/frontend/reference.ts +4 -4
  132. package/frontend/script.ts +1 -1
  133. package/isolated-vm.ts +1 -1
  134. package/package.json +29 -17
  135. package/test/00.agent/00.prerequisites.ts +12 -0
  136. package/test/{00.datetime.ts → 00.agent/10.clock.ts} +7 -7
  137. package/test/{00.random.ts → 00.agent/10.random.ts} +4 -4
  138. package/test/10.transfer/00.primitives.ts +47 -0
  139. package/test/{20.array_buffer.ts → 10.transfer/10.array_buffer.ts} +49 -43
  140. package/test/10.transfer/50.interceptors.ts +63 -0
  141. package/test/10.transfer/90.regressions.ts +38 -0
  142. package/test/{10.script.ts → 20.intrinsics/00.script.ts} +6 -6
  143. package/test/{05.global.ts → 20.intrinsics/05.global.ts} +5 -5
  144. package/test/{10.reference.ts → 20.intrinsics/10.reference.ts} +18 -17
  145. package/test/{10.module.ts → 20.intrinsics/20.module.ts} +17 -17
  146. package/test/{50.timers.ts → 50.features/50.timers.ts} +8 -8
  147. package/test/{99.i18n.ts → 50.features/90.i18n.ts} +5 -5
  148. package/test/90.isolation/00.dispose.ts +12 -5
  149. package/test/90.isolation/10.memory.ts +19 -0
  150. package/test/fixtures.ts +5 -5
  151. package/test/glob.ts +11 -0
  152. package/utility/completion.ts +6 -1
  153. package/addon/handle/bound_value.cc +0 -45
  154. package/backend/backend_v8.d.ts +0 -89
  155. package/backend/backend_v8.js +0 -18
  156. package/backend/specifier.ts +0 -20
  157. package/dist/backend/specifier.d.ts +0 -3
  158. package/dist/backend/specifier.d.ts.map +0 -1
  159. package/dist/backend/specifier.js +0 -21
  160. package/dist/backend/specifier.js.map +0 -1
  161. package/dist/test/00.datetime.d.ts +0 -2
  162. package/dist/test/00.datetime.d.ts.map +0 -1
  163. package/dist/test/00.datetime.js.map +0 -1
  164. package/dist/test/00.random.d.ts +0 -2
  165. package/dist/test/00.random.d.ts.map +0 -1
  166. package/dist/test/00.random.js.map +0 -1
  167. package/dist/test/00.transfer.d.ts +0 -2
  168. package/dist/test/00.transfer.d.ts.map +0 -1
  169. package/dist/test/00.transfer.js +0 -166
  170. package/dist/test/00.transfer.js.map +0 -1
  171. package/dist/test/05.global.d.ts.map +0 -1
  172. package/dist/test/05.global.js.map +0 -1
  173. package/dist/test/10.module.d.ts +0 -2
  174. package/dist/test/10.module.d.ts.map +0 -1
  175. package/dist/test/10.module.js.map +0 -1
  176. package/dist/test/10.reference.d.ts.map +0 -1
  177. package/dist/test/10.reference.js.map +0 -1
  178. package/dist/test/10.script.d.ts +0 -2
  179. package/dist/test/10.script.d.ts.map +0 -1
  180. package/dist/test/10.script.js.map +0 -1
  181. package/dist/test/20.array_buffer.d.ts +0 -2
  182. package/dist/test/20.array_buffer.d.ts.map +0 -1
  183. package/dist/test/20.array_buffer.js.map +0 -1
  184. package/dist/test/50.timers.d.ts.map +0 -1
  185. package/dist/test/50.timers.js.map +0 -1
  186. package/dist/test/99.i18n.d.ts +0 -2
  187. package/dist/test/99.i18n.d.ts.map +0 -1
  188. package/dist/test/99.i18n.js.map +0 -1
  189. package/test/00.transfer.ts +0 -132
  190. /package/dist/test/{05.global.d.ts → 20.intrinsics/05.global.d.ts} +0 -0
  191. /package/dist/test/{10.reference.d.ts → 20.intrinsics/10.reference.d.ts} +0 -0
  192. /package/dist/test/{50.timers.d.ts → 50.features/50.timers.d.ts} +0 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=backend.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.d.cts","sourceRoot":"","sources":["../../backend/backend.cts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-require-imports */
3
+ const fs = require("node:fs");
4
+ const process = require("node:process");
5
+ const arch = function () {
6
+ const { arch } = process;
7
+ // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
8
+ switch (arch) {
9
+ case "arm64":
10
+ case "x64":
11
+ return arch;
12
+ default:
13
+ throw new Error(`Unsupported architecture: ${arch}`);
14
+ }
15
+ }();
16
+ /** @internal */
17
+ const host = function () {
18
+ const { platform } = process;
19
+ // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
20
+ switch (platform) {
21
+ case "linux": {
22
+ const libc = function () {
23
+ try {
24
+ if (fs.readFileSync("/usr/bin/ldd", "latin1").includes("ld-musl-")) {
25
+ return "musl";
26
+ }
27
+ }
28
+ catch { }
29
+ return "gnu";
30
+ }();
31
+ return `linux-${arch}-${libc}`;
32
+ }
33
+ case "darwin":
34
+ case "win32":
35
+ return `${platform}-${arch}`;
36
+ default:
37
+ throw new Error(`Unsupported platform: ${platform}`);
38
+ }
39
+ }();
40
+ module.exports = host;
41
+ //# sourceMappingURL=host.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.cjs","sourceRoot":"","sources":["../../backend/host.cts"],"names":[],"mappings":";AAAA,0DAA0D;AAC1D,8BAA+B;AAC/B,wCAAyC;AAEzC,MAAM,IAAI,GAAG;IACZ,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACzB,0EAA0E;IAC1E,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACT,OAAO,IAAI,CAAC;QACb;YACC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;AACF,CAAC,EAAE,CAAC;AAEJ,gBAAgB;AAChB,MAAM,IAAI,GAAG;IACZ,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,OAAO,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG;gBACZ,IAAI,CAAC;oBACJ,IAAI,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpE,OAAO,MAAe,CAAC;oBACxB,CAAC;gBACF,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACV,OAAO,KAAc,CAAC;YACvB,CAAC,EAAE,CAAC;YACJ,OAAO,SAAS,IAAI,IAAI,IAAI,EAAW,CAAC;QACzC,CAAC;QACD,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACX,OAAO,GAAG,QAAQ,IAAI,IAAI,EAAW,CAAC;QACvC;YACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;AACF,CAAC,EAAE,CAAC;AAEJ,iBAAS,IAAI,CAAC"}
@@ -0,0 +1,2 @@
1
+ export = host;
2
+ //# sourceMappingURL=host.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.cts","sourceRoot":"","sources":["../../backend/host.cts"],"names":[],"mappings":"AAwCA,SAAS,IAAI,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable @typescript-eslint/no-require-imports */
4
+ const host = require("#host_cjs");
5
+ // All hosts enumerated to assist with bundlers. This file can be replaced with a condition.
6
+ module.exports = function () {
7
+ switch (host) {
8
+ case "darwin-arm64": return require("@isolated-vm/experimental-darwin-arm64");
9
+ case "darwin-x64": return require("@isolated-vm/experimental-darwin-x64");
10
+ case "linux-arm64-gnu": return require("@isolated-vm/experimental-linux-arm64-gnu");
11
+ case "linux-arm64-musl": return require("@isolated-vm/experimental-linux-arm64-musl");
12
+ case "linux-x64-musl": return require("@isolated-vm/experimental-linux-x64-musl");
13
+ case "linux-x64-gnu": return require("@isolated-vm/experimental-linux-x64-gnu");
14
+ case "win32-x64": return require("@isolated-vm/experimental-win32-x64");
15
+ case "win32-arm64":
16
+ default: throw new Error(`Unsupported platform: ${host}`);
17
+ }
18
+ }();
19
+ //# sourceMappingURL=require.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require.cjs","sourceRoot":"","sources":["../../backend/require.cts"],"names":[],"mappings":";;AAAA,0DAA0D;AAC1D,kCAAmC;AAEnC,4FAA4F;AAC5F,MAAM,CAAC,OAAO,GAAG;IAChB,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,cAAc,CAAC,CAAC,OAAO,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAC9E,KAAK,YAAY,CAAC,CAAC,OAAO,OAAO,CAAC,sCAAsC,CAAC,CAAC;QAC1E,KAAK,iBAAiB,CAAC,CAAC,OAAO,OAAO,CAAC,2CAA2C,CAAC,CAAC;QACpF,KAAK,kBAAkB,CAAC,CAAC,OAAO,OAAO,CAAC,4CAA4C,CAAC,CAAC;QACtF,KAAK,gBAAgB,CAAC,CAAC,OAAO,OAAO,CAAC,0CAA0C,CAAC,CAAC;QAClF,KAAK,eAAe,CAAC,CAAC,OAAO,OAAO,CAAC,yCAAyC,CAAC,CAAC;QAChF,KAAK,WAAW,CAAC,CAAC,OAAO,OAAO,CAAC,qCAAqC,CAAC,CAAC;QACxE,KAAK,aAAa,CAAC;QACnB,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=require.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require.d.cts","sourceRoot":"","sources":["../../backend/require.cts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import type { SourceOrigin } from "./script.js";
2
- import * as backend from "#backend_v8";
2
+ import * as backend from "#backend";
3
3
  export declare namespace Agent {
4
4
  namespace Clock {
5
5
  interface Deterministic {
@@ -24,6 +24,7 @@ export declare namespace Agent {
24
24
  }
25
25
  interface CreateOptions {
26
26
  clock?: CreateOptions.Clock | undefined;
27
+ memoryLimitBytes?: number | undefined;
27
28
  randomSeed?: number | undefined;
28
29
  }
29
30
  interface CompileModuleOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../frontend/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,aAAa,CAAC;AAGvC,yBAAiB,KAAK,CAAC;IACtB,UAAiB,KAAK,CAAC;QACtB,UAAiB,aAAa;YAC7B,IAAI,EAAE,eAAe,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;SACjB;QAED,UAAiB,SAAS;YACzB,IAAI,EAAE,WAAW,CAAC;YAClB,KAAK,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;SACzB;QAED,UAAiB,QAAQ;YACxB,IAAI,EAAE,UAAU,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC;SACZ;QAED,UAAiB,MAAM;YACtB,IAAI,EAAE,QAAQ,CAAC;SACf;KACD;IAED,UAAiB,aAAa,CAAC;QAC9B,KAAY,KAAK,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;KAE1F;IAED,UAAiB,aAAa;QAC7B,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;QACxC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC;IAED,UAAiB,oBAAoB;QACpC,MAAM,CAAC,EAAE,YAAY,CAAC;KACtB;IAED,UAAiB,oBAAoB;QACpC,MAAM,CAAC,EAAE,YAAY,CAAC;KACtB;CACD;AAID,qBAAa,KAAM,SAAQ,OAAO,CAAC,KAAK;WACvB,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;IAQ/D,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5C"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../frontend/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAGpC,yBAAiB,KAAK,CAAC;IACtB,UAAiB,KAAK,CAAC;QACtB,UAAiB,aAAa;YAC7B,IAAI,EAAE,eAAe,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;SACjB;QAED,UAAiB,SAAS;YACzB,IAAI,EAAE,WAAW,CAAC;YAClB,KAAK,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;SACzB;QAED,UAAiB,QAAQ;YACxB,IAAI,EAAE,UAAU,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC;SACZ;QAED,UAAiB,MAAM;YACtB,IAAI,EAAE,QAAQ,CAAC;SACf;KACD;IAED,UAAiB,aAAa,CAAC;QAC9B,KAAY,KAAK,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;KAE1F;IAED,UAAiB,aAAa;QAC7B,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;QACxC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC;IAED,UAAiB,oBAAoB;QACpC,MAAM,CAAC,EAAE,YAAY,CAAC;KACtB;IAED,UAAiB,oBAAoB;QACpC,MAAM,CAAC,EAAE,YAAY,CAAC;KACtB;CACD;AAID,qBAAa,KAAM,SAAQ,OAAO,CAAC,KAAK;WACvB,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;IAQ/D,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5C"}
@@ -1,4 +1,4 @@
1
- import * as backend from "#backend_v8";
1
+ import * as backend from "#backend";
2
2
  import { Module } from "./module.js";
3
3
  let didInitialize = false;
4
4
  export class Agent extends backend.Agent {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../frontend/agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA4CrC,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,MAAM,OAAO,KAAM,SAAQ,OAAO,CAAC,KAAK;IACvC,MAAM,CAAU,MAAM,CAAC,OAA6B;QACnD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACtC,aAAa,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC3B,CAAC;CACD"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../frontend/agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA6CrC,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,MAAM,OAAO,KAAM,SAAQ,OAAO,CAAC,KAAK;IACvC,MAAM,CAAU,MAAM,CAAC,OAA6B;QACnD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACtC,aAAa,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC3B,CAAC;CACD"}
@@ -1,4 +1,4 @@
1
- import * as backend from "#backend_v8";
1
+ import * as backend from "#backend";
2
2
  export declare const AbstractModule: typeof backend.Module;
3
3
  export type AbstractModule = backend.Module;
4
4
  export declare namespace Module {
@@ -46,6 +46,6 @@ export declare class Module extends backend.Module {
46
46
  readonly requests: readonly Module.Request[];
47
47
  readonly specifier: string | undefined;
48
48
  constructor(secret: backend.Secret, specifier: string | undefined, requests: readonly Module.Request[]);
49
- link(realm: backend.Realm, linker: Module.Linker): Promise<void>;
49
+ link(realm: backend.Realm | null, linker: Module.Linker): Promise<void>;
50
50
  }
51
51
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../frontend/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,aAAa,CAAC;AAEvC,eAAO,MAAM,cAAc,EAAE,OAAO,OAAO,CAAC,MAAuB,CAAC;AACpE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;AAE5C,yBAAiB,MAAM,CAAC;IACvB,KAAY,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtD,KAAY,MAAM,GAAG;IACpB;;OAEG;IACH,SAAS,EAAE,MAAM;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS;IAE5B;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,KACzB,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAEtE,mBAAmB;IACnB,UAAiB,UAAU;QAC1B,6CAA6C;QAC7C,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,iCAAiC;QACjC,OAAO,EAAE,MAAM,EAAE,CAAC;KAClB;IAED,UAAiB,OAAO;QACvB;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;QAElB;;WAEG;QACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;KAC9B;CACD;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,cAAc;CAAG;AAEjD;;GAEG;AACH,qBAAa,MAAO,SAAQ,OAAO,CAAC,MAAM;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE3B,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE;IAMhG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqCtE"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../frontend/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAEpC,eAAO,MAAM,cAAc,EAAE,OAAO,OAAO,CAAC,MAAuB,CAAC;AACpE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;AAE5C,yBAAiB,MAAM,CAAC;IACvB,KAAY,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtD,KAAY,MAAM,GAAG;IACpB;;OAEG;IACH,SAAS,EAAE,MAAM;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS;IAE5B;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,KACzB,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAEtE,mBAAmB;IACnB,UAAiB,UAAU;QAC1B,6CAA6C;QAC7C,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,iCAAiC;QACjC,OAAO,EAAE,MAAM,EAAE,CAAC;KAClB;IAED,UAAiB,OAAO;QACvB;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;QAElB;;WAEG;QACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;KAC9B;CACD;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,cAAc;CAAG;AAEjD;;GAEG;AACH,qBAAa,MAAO,SAAQ,OAAO,CAAC,MAAM;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE3B,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE;IAMhG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqC7E"}
@@ -1,4 +1,4 @@
1
- import * as backend from "#backend_v8";
1
+ import * as backend from "#backend";
2
2
  export const AbstractModule = backend.Module;
3
3
  /**
4
4
  * A callback into nodejs which grants some kind of low-level capability to internal APIs.
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../frontend/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,cAAc,GAA0B,OAAO,CAAC,MAAM,CAAC;AA4CpE;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,cAAc;CAAG;AAEjD;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,MAAM;IAChC,QAAQ,CAA4B;IACpC,SAAS,CAAqB;IAEvC,YAAY,MAAsB,EAAE,SAA6B,EAAE,QAAmC;QACrG,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAoB,EAAE,MAAqB;QACrD,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,EAAE,MAAsB,EAAmB,EAAE;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,QAAQ,CAAC;YACjB,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;gBAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE;oBAC7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBACrE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC1B,IAAI,OAAO,GAAG,uBAAuB,SAAS,GAAG,CAAC;wBAClD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;4BACpC,OAAO,IAAI,kBAAkB,MAAM,CAAC,SAAS,EAAE,CAAC;wBACjD,CAAC;wBACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;4BAC9B,OAAO,IAAI,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC7D,CAAC;wBACD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC1B,CAAC;oBACD,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,OAAO,QAAQ,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;CACD"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../frontend/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAA0B,OAAO,CAAC,MAAM,CAAC;AA4CpE;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,cAAc;CAAG;AAEjD;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,MAAM;IAChC,QAAQ,CAA4B;IACpC,SAAS,CAAqB;IAEvC,YAAY,MAAsB,EAAE,SAA6B,EAAE,QAAmC;QACrG,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAA2B,EAAE,MAAqB;QAC5D,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,EAAE,MAAsB,EAAmB,EAAE;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,QAAQ,CAAC;YACjB,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;gBAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE;oBAC7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBACrE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC1B,IAAI,OAAO,GAAG,uBAAuB,SAAS,GAAG,CAAC;wBAClD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;4BACpC,OAAO,IAAI,kBAAkB,MAAM,CAAC,SAAS,EAAE,CAAC;wBACjD,CAAC;wBACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;4BAC9B,OAAO,IAAI,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC7D,CAAC;wBACD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC1B,CAAC;oBACD,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;YACD,OAAO,QAAQ,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;CACD"}
@@ -1,5 +1,5 @@
1
- import * as backend from "#backend_v8";
2
- export { Realm } from "#backend_v8";
1
+ import * as backend from "#backend";
2
+ export { Realm } from "#backend";
3
3
  export declare namespace Realm {
4
4
  type CapabilityInterface = Record<string, CapabilitySignature>;
5
5
  type CapabilityMake = (subscriber: backend.SubscriberCapability) => CapabilityInterface;
@@ -1 +1 @@
1
- {"version":3,"file":"realm.d.ts","sourceRoot":"","sources":["../../frontend/realm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,yBAAiB,KAAK,CAAC;IACtB,KAAY,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACtE,KAAY,cAAc,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,oBAAoB,KAAK,mBAAmB,CAAC;IAC/F,KAAY,mBAAmB,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAEhG,UAAiB,uBAAuB;QACvC,MAAM,EAAE,MAAM,CAAC;KACf;CACD"}
1
+ {"version":3,"file":"realm.d.ts","sourceRoot":"","sources":["../../frontend/realm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,yBAAiB,KAAK,CAAC;IACtB,KAAY,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACtE,KAAY,cAAc,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,oBAAoB,KAAK,mBAAmB,CAAC;IAC/F,KAAY,mBAAmB,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAEhG,UAAiB,uBAAuB;QACvC,MAAM,EAAE,MAAM,CAAC;KACf;CACD"}
@@ -1,3 +1,3 @@
1
- import * as backend from "#backend_v8";
2
- export { Realm } from "#backend_v8";
1
+ import * as backend from "#backend";
2
+ export { Realm } from "#backend";
3
3
  //# sourceMappingURL=realm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"realm.js","sourceRoot":"","sources":["../../frontend/realm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"realm.js","sourceRoot":"","sources":["../../frontend/realm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC"}
@@ -1,13 +1,13 @@
1
- import type * as backend from "#backend_v8";
1
+ import type * as backend from "#backend";
2
2
  import type { MaybeCompletionOf } from "@isolated-vm/experimental";
3
3
  type InvokeArguments<Value> = Value extends (...args: infer Args) => unknown ? Args : never;
4
4
  type InvokeResult<Value> = Value extends (...args: unknown[]) => infer Result ? Result : never;
5
5
  export declare interface Reference<Type = unknown> extends backend.Reference {
6
6
  copy: () => Promise<Type>;
7
7
  invoke: (args: InvokeArguments<Type>) => Promise<MaybeCompletionOf<InvokeResult<Type>>>;
8
- set: (property: string, value: unknown) => Promise<void>;
9
- get<Key extends keyof Type>(property: Key): Promise<Reference<Type[Key]>>;
10
- get(property: string): Promise<Reference>;
8
+ set: (property: string, value: unknown) => Promise<true | null>;
9
+ get<Key extends keyof Type>(property: Key): Promise<Reference<Type[Key]> | null>;
10
+ get(property: string): Promise<Reference | null>;
11
11
  }
12
12
  export {};
13
13
  //# sourceMappingURL=reference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../frontend/reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,KAAK,eAAe,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC;AAC5F,KAAK,YAAY,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE/F,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC,IAAI,GAAG,OAAO,CAAE,SAAQ,OAAO,CAAC,SAAS;IAC3E,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxF,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGzD,GAAG,CAAC,GAAG,SAAS,MAAM,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE1E,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAC1C"}
1
+ {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../frontend/reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,KAAK,eAAe,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC;AAC5F,KAAK,YAAY,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE/F,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC,IAAI,GAAG,OAAO,CAAE,SAAQ,OAAO,CAAC,SAAS;IAC3E,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxF,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAGhE,GAAG,CAAC,GAAG,SAAS,MAAM,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEjF,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CACjD"}
@@ -1,4 +1,4 @@
1
- export { Script } from "#backend_v8";
1
+ export { Script } from "#backend";
2
2
  export interface Location {
3
3
  line: number;
4
4
  column: number;
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../frontend/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC5B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,yBAAiB,MAAM,CAAC;IACvB,UAAiB,gBAAgB;QAChC;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB;CACD"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../frontend/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC5B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,yBAAiB,MAAM,CAAC;IACvB,UAAiB,gBAAgB;QAChC;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB;CACD"}
@@ -1,2 +1,2 @@
1
- export { Script } from "#backend_v8";
1
+ export { Script } from "#backend";
2
2
  //# sourceMappingURL=script.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"script.js","sourceRoot":"","sources":["../../frontend/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../../frontend/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export type * from "./frontend/reference.js";
2
- export { NativeModule } from "#backend_v8";
2
+ export { NativeModule } from "#backend";
3
3
  export * from "./frontend/agent.js";
4
4
  export * from "./frontend/module.js";
5
5
  export * from "./frontend/realm.js";
@@ -1 +1 @@
1
- {"version":3,"file":"isolated-vm.d.ts","sourceRoot":"","sources":["../isolated-vm.ts"],"names":[],"mappings":"AAAA,mBAAmB,yBAAyB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"isolated-vm.d.ts","sourceRoot":"","sources":["../isolated-vm.ts"],"names":[],"mappings":"AAAA,mBAAmB,yBAAyB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { NativeModule } from "#backend_v8";
1
+ export { NativeModule } from "#backend";
2
2
  export * from "./frontend/agent.js";
3
3
  export * from "./frontend/module.js";
4
4
  export * from "./frontend/realm.js";
@@ -1 +1 @@
1
- {"version":3,"file":"isolated-vm.js","sourceRoot":"","sources":["../isolated-vm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"isolated-vm.js","sourceRoot":"","sources":["../isolated-vm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import "@isolated-vm/experimental/test/fixtures";
2
+ //# sourceMappingURL=00.prerequisites.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"00.prerequisites.d.ts","sourceRoot":"","sources":["../../../test/00.agent/00.prerequisites.ts"],"names":[],"mappings":"AAGA,OAAO,yCAAyC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { __addDisposableResource, __disposeResources } from "tslib";
2
+ import * as assert from "node:assert/strict";
3
+ import { test } from "node:test";
4
+ import { Agent, expectComplete } from "@isolated-vm/experimental";
5
+ import "@isolated-vm/experimental/test/fixtures";
6
+ // Minimal support, without which the rest of the suites don't really make any sense.
7
+ await test("prerequisites", async () => {
8
+ const env_1 = { stack: [], error: void 0, hasError: false };
9
+ try {
10
+ const agent = __addDisposableResource(env_1, await Agent.create(), true);
11
+ const realm = await agent.createRealm();
12
+ const script = expectComplete(await agent.compileScript('"hello world";'));
13
+ assert.strictEqual(expectComplete(await script.run(realm)), "hello world");
14
+ }
15
+ catch (e_1) {
16
+ env_1.error = e_1;
17
+ env_1.hasError = true;
18
+ }
19
+ finally {
20
+ const result_1 = __disposeResources(env_1);
21
+ if (result_1)
22
+ await result_1;
23
+ }
24
+ });
25
+ //# sourceMappingURL=00.prerequisites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"00.prerequisites.js","sourceRoot":"","sources":["../../../test/00.agent/00.prerequisites.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,yCAAyC,CAAC;AAEjD,qFAAqF;AACrF,MAAM,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;;;QACtC,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,EAAE,OAAA,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;;;;;;;;;;;CAC3E,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=10.clock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"10.clock.d.ts","sourceRoot":"","sources":["../../../test/00.agent/10.clock.ts"],"names":[],"mappings":""}
@@ -2,15 +2,15 @@ import { __addDisposableResource, __disposeResources } from "tslib";
2
2
  import * as assert from "node:assert/strict";
3
3
  import { test } from "node:test";
4
4
  import { setTimeout } from "node:timers/promises";
5
- import * as ivm from "@isolated-vm/experimental";
6
- import { unsafeEvalAsString, unsafeEvalAsStringInRealm } from "./fixtures.js";
5
+ import { Agent } from "@isolated-vm/experimental";
6
+ import { unsafeEvalAsString, unsafeEvalAsStringInRealm } from "@isolated-vm/experimental/test/fixtures";
7
7
  const y2k = new Date("2000-01-01T00:00:00Z");
8
8
  // Figure out how many loops to waste ~25ms on this build. Extra slop factor is added afterwards.
9
9
  const speedFactorMs = 25;
10
10
  const speedFactor = await async function () {
11
11
  const env_1 = { stack: [], error: void 0, hasError: false };
12
12
  try {
13
- const agent = __addDisposableResource(env_1, await ivm.Agent.create(), true);
13
+ const agent = __addDisposableResource(env_1, await Agent.create(), true);
14
14
  return await unsafeEvalAsString(agent, speedFactorMs => Math.min(...Array(3).fill(undefined).map(() => {
15
15
  let factor = 2 ** 20;
16
16
  const slopFactor = 1.2;
@@ -39,7 +39,7 @@ const speedFactor = await async function () {
39
39
  await test("deterministic clock", async () => {
40
40
  const env_2 = { stack: [], error: void 0, hasError: false };
41
41
  try {
42
- const agent = __addDisposableResource(env_2, await ivm.Agent.create({
42
+ const agent = __addDisposableResource(env_2, await Agent.create({
43
43
  clock: { type: "deterministic", epoch: y2k, interval: 1 },
44
44
  }), true);
45
45
  const realm = await agent.createRealm();
@@ -63,7 +63,7 @@ await test("deterministic clock", async () => {
63
63
  await test("microtask clock", async () => {
64
64
  const env_3 = { stack: [], error: void 0, hasError: false };
65
65
  try {
66
- const agent = __addDisposableResource(env_3, await ivm.Agent.create({
66
+ const agent = __addDisposableResource(env_3, await Agent.create({
67
67
  clock: { type: "microtask", epoch: y2k },
68
68
  }), true);
69
69
  const realm = await agent.createRealm();
@@ -94,7 +94,7 @@ await test("microtask clock", async () => {
94
94
  await test("realtime clock", async () => {
95
95
  const env_4 = { stack: [], error: void 0, hasError: false };
96
96
  try {
97
- const agent = __addDisposableResource(env_4, await ivm.Agent.create({
97
+ const agent = __addDisposableResource(env_4, await Agent.create({
98
98
  clock: { type: "realtime", epoch: y2k },
99
99
  }), true);
100
100
  const realm = await agent.createRealm();
@@ -123,7 +123,7 @@ await test("system clock", async () => {
123
123
  try {
124
124
  // `std::system_clock` on Windows returns jittering results across different CPU cores.
125
125
  const threshold = process.platform === "win32" ? 10 : 0;
126
- const agent = __addDisposableResource(env_5, await ivm.Agent.create(), true);
126
+ const agent = __addDisposableResource(env_5, await Agent.create(), true);
127
127
  const realm = await agent.createRealm();
128
128
  for (let ii = 0; ii < 5; ++ii) {
129
129
  const then = new Date();
@@ -143,4 +143,4 @@ await test("system clock", async () => {
143
143
  await result_5;
144
144
  }
145
145
  });
146
- //# sourceMappingURL=00.datetime.js.map
146
+ //# sourceMappingURL=10.clock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"10.clock.js","sourceRoot":"","sources":["../../../test/00.agent/10.clock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=10.random.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"10.random.d.ts","sourceRoot":"","sources":["../../../test/00.agent/10.random.ts"],"names":[],"mappings":""}
@@ -1,12 +1,12 @@
1
1
  import { __addDisposableResource, __disposeResources } from "tslib";
2
2
  import * as assert from "node:assert/strict";
3
3
  import { test } from "node:test";
4
- import * as ivm from "@isolated-vm/experimental";
5
- import { unsafeEvalAsString } from "./fixtures.js";
4
+ import { Agent } from "@isolated-vm/experimental";
5
+ import { unsafeEvalAsString } from "@isolated-vm/experimental/test/fixtures";
6
6
  const makeAgentRandom = async (randomSeed) => {
7
7
  const env_1 = { stack: [], error: void 0, hasError: false };
8
8
  try {
9
- const agent = __addDisposableResource(env_1, await ivm.Agent.create({ randomSeed }), true);
9
+ const agent = __addDisposableResource(env_1, await Agent.create({ randomSeed }), true);
10
10
  return await unsafeEvalAsString(agent, () => Math.random());
11
11
  }
12
12
  catch (e_1) {
@@ -34,4 +34,4 @@ await test("different seeds", async () => {
34
34
  const result2 = await makeAgentRandom(456);
35
35
  assert.notEqual(result1, result2);
36
36
  });
37
- //# sourceMappingURL=00.random.js.map
37
+ //# sourceMappingURL=10.random.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"10.random.js","sourceRoot":"","sources":["../../../test/00.agent/10.random.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,MAAM,eAAe,GAAG,KAAK,EAAE,UAAmB,EAAE,EAAE;;;QACrD,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,OAAA,CAAC;QACvD,OAAO,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;;;;;;;;;;;CAC5D,CAAC;AAEF,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC/B,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;IACxC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,MAAM,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;IACtC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,MAAM,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IACxC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=00.primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"00.primitives.d.ts","sourceRoot":"","sources":["../../../test/10.transfer/00.primitives.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ import { __addDisposableResource, __disposeResources } from "tslib";
2
+ import * as assert from "node:assert/strict";
3
+ import { test } from "node:test";
4
+ import { Agent, Realm } from "@isolated-vm/experimental";
5
+ import { unsafeEvalAsStringInRealm } from "@isolated-vm/experimental/test/fixtures";
6
+ async function check(agent, realm, fn) {
7
+ const result = await unsafeEvalAsStringInRealm(agent, realm, fn);
8
+ assert.deepStrictEqual(result, fn());
9
+ }
10
+ await test("primitives", async () => {
11
+ const env_1 = { stack: [], error: void 0, hasError: false };
12
+ try {
13
+ const agent = __addDisposableResource(env_1, await Agent.create(), true);
14
+ const realm = await agent.createRealm();
15
+ // null, undefined, bool
16
+ await check(agent, realm, () => null);
17
+ await check(agent, realm, () => undefined);
18
+ await check(agent, realm, () => true);
19
+ await check(agent, realm, () => false);
20
+ // boolean
21
+ await check(agent, realm, () => true);
22
+ await check(agent, realm, () => false);
23
+ // string
24
+ await check(agent, realm, () => "hello world");
25
+ await check(agent, realm, () => "\u{10ffff}");
26
+ // number
27
+ await check(agent, realm, () => 0);
28
+ await check(agent, realm, () => Number.MAX_SAFE_INTEGER);
29
+ await check(agent, realm, () => Number.MAX_SAFE_INTEGER + 1);
30
+ await check(agent, realm, () => Number.MIN_SAFE_INTEGER);
31
+ await check(agent, realm, () => Number.MIN_SAFE_INTEGER - 1);
32
+ await check(agent, realm, () => Math.PI);
33
+ // bigint
34
+ await check(agent, realm, () => 0n);
35
+ await check(agent, realm, () => 9223372036854775807n); // int64 max
36
+ await check(agent, realm, () => 9223372036854775808n); // int64 max + 1
37
+ await check(agent, realm, () => -9223372036854775808n); // int64 min
38
+ await check(agent, realm, () => -9223372036854775809n); // int64 min - 1
39
+ await check(agent, realm, () => 18446744073709551615n); // uint64 max
40
+ await check(agent, realm, () => 18446744073709551616n); // uint64 max + 1
41
+ await check(agent, realm, () => 502360950888298027355518043327124471675959709617316205938938264006428765255489n); // 256 bit number
42
+ await check(agent, realm, () => -502360950888298027355518043327124471675959709617316205938938264006428765255490n); // 256 bit negative
43
+ }
44
+ catch (e_1) {
45
+ env_1.error = e_1;
46
+ env_1.hasError = true;
47
+ }
48
+ finally {
49
+ const result_1 = __disposeResources(env_1);
50
+ if (result_1)
51
+ await result_1;
52
+ }
53
+ });
54
+ //# sourceMappingURL=00.primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"00.primitives.js","sourceRoot":"","sources":["../../../test/10.transfer/00.primitives.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=10.array_buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"10.array_buffer.d.ts","sourceRoot":"","sources":["../../../test/10.transfer/10.array_buffer.ts"],"names":[],"mappings":""}