@isolated-vm/experimental 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/addon/handle/value_of.cc +3 -1
- package/backend/backend.cts +2 -2
- package/backend/backend.d.cts +10 -17
- package/backend/require.cts +1 -1
- package/dist/backend/backend.cjs +2 -2
- package/dist/backend/backend.cjs.map +1 -1
- package/dist/backend/require.cjs +1 -1
- package/dist/backend/require.cjs.map +1 -1
- package/dist/frontend/agent.d.ts +3 -3
- package/dist/frontend/agent.d.ts.map +1 -1
- package/dist/frontend/agent.js +5 -12
- package/dist/frontend/agent.js.map +1 -1
- package/dist/frontend/module.d.ts +2 -5
- package/dist/frontend/module.d.ts.map +1 -1
- package/dist/frontend/module.js +20 -33
- package/dist/frontend/module.js.map +1 -1
- package/dist/frontend/realm.d.ts +1 -3
- package/dist/frontend/realm.d.ts.map +1 -1
- package/dist/frontend/realm.js +0 -1
- package/dist/frontend/realm.js.map +1 -1
- package/dist/frontend/reference.d.ts +1 -1
- package/dist/frontend/reference.d.ts.map +1 -1
- package/dist/test/10.transfer/20.transfer_list.d.ts +2 -0
- package/dist/test/10.transfer/20.transfer_list.d.ts.map +1 -0
- package/dist/test/10.transfer/20.transfer_list.js +199 -0
- package/dist/test/10.transfer/20.transfer_list.js.map +1 -0
- package/dist/test/20.intrinsics/15.transfer_return.d.ts +2 -0
- package/dist/test/20.intrinsics/15.transfer_return.d.ts.map +1 -0
- package/dist/test/20.intrinsics/15.transfer_return.js +189 -0
- package/dist/test/20.intrinsics/15.transfer_return.js.map +1 -0
- package/dist/test/20.intrinsics/20.module.js +8 -8
- package/dist/test/20.intrinsics/20.module.js.map +1 -1
- package/dist/test/50.features/50.timers.js +4 -4
- package/dist/test/50.features/50.timers.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utility/object.d.ts +2 -0
- package/dist/utility/object.d.ts.map +1 -0
- package/dist/utility/object.js +14 -0
- package/dist/utility/object.js.map +1 -0
- package/frontend/agent.ts +10 -13
- package/frontend/module.ts +25 -31
- package/frontend/realm.ts +0 -4
- package/frontend/reference.ts +1 -1
- package/package.json +9 -10
- package/test/10.transfer/20.transfer_list.ts +102 -0
- package/test/20.intrinsics/15.transfer_return.ts +109 -0
- package/test/20.intrinsics/20.module.ts +8 -8
- package/test/50.features/50.timers.ts +4 -4
- package/utility/object.ts +22 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { __addDisposableResource, __disposeResources } from "tslib";
|
|
2
|
+
import * as assert from "node:assert/strict";
|
|
3
|
+
import { test } from "node:test";
|
|
4
|
+
import { Agent, expect } from "@isolated-vm/experimental";
|
|
5
|
+
import { expectComplete, expectThrow, unsafeEvalAsStringInRealm } from "@isolated-vm/experimental/test/fixtures";
|
|
6
|
+
import { makeDirectResolver, makeLinker, makeStaticLoader } from "@isolated-vm/experimental/utility/linker";
|
|
7
|
+
async function makeTransferFunction(agent, realm, body) {
|
|
8
|
+
const runtime = expect(await realm.instantiateRuntime());
|
|
9
|
+
const module = expectComplete(await agent.compileModule(`
|
|
10
|
+
import { transfer } from "isolated-vm://runtime";
|
|
11
|
+
globalThis.fn = () => { ${body} };
|
|
12
|
+
`));
|
|
13
|
+
await module.link(realm, makeLinker(makeDirectResolver(), makeStaticLoader({ "isolated-vm://runtime": runtime })));
|
|
14
|
+
expectComplete(await module.evaluate(realm));
|
|
15
|
+
const global = await realm.acquireGlobalObject();
|
|
16
|
+
return expect(await global.get("fn"));
|
|
17
|
+
}
|
|
18
|
+
function byteLengthInRealm(agent, realm) {
|
|
19
|
+
return unsafeEvalAsStringInRealm(agent, realm, () => globalThis.buffer.byteLength);
|
|
20
|
+
}
|
|
21
|
+
await test("returned buffer is moved", async () => {
|
|
22
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
23
|
+
try {
|
|
24
|
+
const agent = __addDisposableResource(env_1, await Agent.create(), true);
|
|
25
|
+
const realm = expect(await agent.createRealm());
|
|
26
|
+
const fn = await makeTransferFunction(agent, realm, `const buffer = Uint8Array.from([ 1, 2, 3 ]).buffer;
|
|
27
|
+
globalThis.buffer = buffer;
|
|
28
|
+
return transfer(buffer, [ buffer ]);`);
|
|
29
|
+
const result = expectComplete(await fn.invoke([]));
|
|
30
|
+
assert.deepStrictEqual(Array.from(new Uint8Array(result)), [1, 2, 3]);
|
|
31
|
+
assert.equal(await byteLengthInRealm(agent, realm), 0);
|
|
32
|
+
}
|
|
33
|
+
catch (e_1) {
|
|
34
|
+
env_1.error = e_1;
|
|
35
|
+
env_1.hasError = true;
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
const result_1 = __disposeResources(env_1);
|
|
39
|
+
if (result_1)
|
|
40
|
+
await result_1;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
await test("returned buffer reached through a view", async () => {
|
|
44
|
+
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
45
|
+
try {
|
|
46
|
+
const agent = __addDisposableResource(env_2, await Agent.create(), true);
|
|
47
|
+
const realm = expect(await agent.createRealm());
|
|
48
|
+
const fn = await makeTransferFunction(agent, realm, `const view = Uint8Array.from([ 1, 2, 3 ]);
|
|
49
|
+
globalThis.buffer = view.buffer;
|
|
50
|
+
return transfer(view, [ view.buffer ]);`);
|
|
51
|
+
const result = expectComplete(await fn.invoke([]));
|
|
52
|
+
assert.deepStrictEqual(Array.from(result), [1, 2, 3]);
|
|
53
|
+
assert.equal(await byteLengthInRealm(agent, realm), 0);
|
|
54
|
+
}
|
|
55
|
+
catch (e_2) {
|
|
56
|
+
env_2.error = e_2;
|
|
57
|
+
env_2.hasError = true;
|
|
58
|
+
}
|
|
59
|
+
finally {
|
|
60
|
+
const result_2 = __disposeResources(env_2);
|
|
61
|
+
if (result_2)
|
|
62
|
+
await result_2;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
await test("returned buffer keeps its identity", async () => {
|
|
66
|
+
const env_3 = { stack: [], error: void 0, hasError: false };
|
|
67
|
+
try {
|
|
68
|
+
const agent = __addDisposableResource(env_3, await Agent.create(), true);
|
|
69
|
+
const realm = expect(await agent.createRealm());
|
|
70
|
+
const fn = await makeTransferFunction(agent, realm, `const buffer = Uint8Array.from([ 1, 2, 3 ]).buffer;
|
|
71
|
+
const view = new Uint8Array(buffer);
|
|
72
|
+
return transfer({ buffer, view }, [ buffer ]);`);
|
|
73
|
+
const result = expectComplete(await fn.invoke([]));
|
|
74
|
+
assert.equal(result.view.buffer, result.buffer);
|
|
75
|
+
assert.deepStrictEqual(Array.from(new Uint8Array(result.buffer)), [1, 2, 3]);
|
|
76
|
+
}
|
|
77
|
+
catch (e_3) {
|
|
78
|
+
env_3.error = e_3;
|
|
79
|
+
env_3.hasError = true;
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
const result_3 = __disposeResources(env_3);
|
|
83
|
+
if (result_3)
|
|
84
|
+
await result_3;
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
await test("unlisted buffer is copied", async () => {
|
|
88
|
+
const env_4 = { stack: [], error: void 0, hasError: false };
|
|
89
|
+
try {
|
|
90
|
+
const agent = __addDisposableResource(env_4, await Agent.create(), true);
|
|
91
|
+
const realm = expect(await agent.createRealm());
|
|
92
|
+
const fn = await makeTransferFunction(agent, realm, `const buffer = Uint8Array.from([ 1, 2, 3 ]).buffer;
|
|
93
|
+
globalThis.buffer = buffer;
|
|
94
|
+
return transfer(buffer);`);
|
|
95
|
+
const result = expectComplete(await fn.invoke([]));
|
|
96
|
+
assert.deepStrictEqual(Array.from(new Uint8Array(result)), [1, 2, 3]);
|
|
97
|
+
assert.equal(await byteLengthInRealm(agent, realm), 3);
|
|
98
|
+
}
|
|
99
|
+
catch (e_4) {
|
|
100
|
+
env_4.error = e_4;
|
|
101
|
+
env_4.hasError = true;
|
|
102
|
+
}
|
|
103
|
+
finally {
|
|
104
|
+
const result_4 = __disposeResources(env_4);
|
|
105
|
+
if (result_4)
|
|
106
|
+
await result_4;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
await test("unvisited buffer is detached", async () => {
|
|
110
|
+
const env_5 = { stack: [], error: void 0, hasError: false };
|
|
111
|
+
try {
|
|
112
|
+
const agent = __addDisposableResource(env_5, await Agent.create(), true);
|
|
113
|
+
const realm = expect(await agent.createRealm());
|
|
114
|
+
const fn = await makeTransferFunction(agent, realm, `globalThis.buffer = new ArrayBuffer(3);
|
|
115
|
+
return transfer("hello", [ globalThis.buffer ]);`);
|
|
116
|
+
const result = expectComplete(await fn.invoke([]));
|
|
117
|
+
assert.equal(result, "hello");
|
|
118
|
+
assert.equal(await byteLengthInRealm(agent, realm), 0);
|
|
119
|
+
}
|
|
120
|
+
catch (e_5) {
|
|
121
|
+
env_5.error = e_5;
|
|
122
|
+
env_5.hasError = true;
|
|
123
|
+
}
|
|
124
|
+
finally {
|
|
125
|
+
const result_5 = __disposeResources(env_5);
|
|
126
|
+
if (result_5)
|
|
127
|
+
await result_5;
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
await test("getters throw", async () => {
|
|
131
|
+
const env_6 = { stack: [], error: void 0, hasError: false };
|
|
132
|
+
try {
|
|
133
|
+
const agent = __addDisposableResource(env_6, await Agent.create(), true);
|
|
134
|
+
const realm = expect(await agent.createRealm());
|
|
135
|
+
const fn = await makeTransferFunction(agent, realm, `const buffer = new ArrayBuffer(3);
|
|
136
|
+
const transferList = [ buffer ];
|
|
137
|
+
Object.defineProperty(transferList, 0, {
|
|
138
|
+
get() { return buffer }
|
|
139
|
+
});
|
|
140
|
+
return transfer("hello", transferList);`);
|
|
141
|
+
expectThrow(await fn.invoke([]));
|
|
142
|
+
}
|
|
143
|
+
catch (e_6) {
|
|
144
|
+
env_6.error = e_6;
|
|
145
|
+
env_6.hasError = true;
|
|
146
|
+
}
|
|
147
|
+
finally {
|
|
148
|
+
const result_6 = __disposeResources(env_6);
|
|
149
|
+
if (result_6)
|
|
150
|
+
await result_6;
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
await test("invalid transfer list throws", async () => {
|
|
154
|
+
const env_7 = { stack: [], error: void 0, hasError: false };
|
|
155
|
+
try {
|
|
156
|
+
const agent = __addDisposableResource(env_7, await Agent.create(), true);
|
|
157
|
+
const realm = expect(await agent.createRealm());
|
|
158
|
+
const fn = await makeTransferFunction(agent, realm, "return transfer(1, 'nope')");
|
|
159
|
+
expectThrow(await fn.invoke([]));
|
|
160
|
+
}
|
|
161
|
+
catch (e_7) {
|
|
162
|
+
env_7.error = e_7;
|
|
163
|
+
env_7.hasError = true;
|
|
164
|
+
}
|
|
165
|
+
finally {
|
|
166
|
+
const result_7 = __disposeResources(env_7);
|
|
167
|
+
if (result_7)
|
|
168
|
+
await result_7;
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
await test("unknown transfer value throws", async () => {
|
|
172
|
+
const env_8 = { stack: [], error: void 0, hasError: false };
|
|
173
|
+
try {
|
|
174
|
+
const agent = __addDisposableResource(env_8, await Agent.create(), true);
|
|
175
|
+
const realm = expect(await agent.createRealm());
|
|
176
|
+
const fn = await makeTransferFunction(agent, realm, "return transfer(1, [ {} ])");
|
|
177
|
+
expectThrow(await fn.invoke([]));
|
|
178
|
+
}
|
|
179
|
+
catch (e_8) {
|
|
180
|
+
env_8.error = e_8;
|
|
181
|
+
env_8.hasError = true;
|
|
182
|
+
}
|
|
183
|
+
finally {
|
|
184
|
+
const result_8 = __disposeResources(env_8);
|
|
185
|
+
if (result_8)
|
|
186
|
+
await result_8;
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
//# sourceMappingURL=15.transfer_return.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"15.transfer_return.js","sourceRoot":"","sources":["../../../test/20.intrinsics/15.transfer_return.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,13 +55,13 @@ await test("synthetic module capability", async () => {
|
|
|
55
55
|
const capabilityName = "isolated-vm:///capability";
|
|
56
56
|
let didInvoke = false;
|
|
57
57
|
const realm = expect(await agent.createRealm());
|
|
58
|
-
const capability = expect(await realm.createCapability(
|
|
58
|
+
const capability = expect(await realm.createCapability({
|
|
59
59
|
default: (value1, value2) => {
|
|
60
60
|
didInvoke = true;
|
|
61
61
|
assert.equal(value1, "hello");
|
|
62
62
|
assert.equal(value2, "world");
|
|
63
63
|
},
|
|
64
|
-
}
|
|
64
|
+
}, { origin: capabilityName }));
|
|
65
65
|
const left = expectComplete(await agent.compileModule(`
|
|
66
66
|
import capability from ${JSON.stringify(capabilityName)};
|
|
67
67
|
capability("hello", "world");
|
|
@@ -89,14 +89,14 @@ await test("synthetic module with circular reference", async () => {
|
|
|
89
89
|
const agent = __addDisposableResource(env_4, await Agent.create(), true);
|
|
90
90
|
const capabilityName = "isolated-vm:///capability";
|
|
91
91
|
const realm = expect(await agent.createRealm());
|
|
92
|
-
const capability = expect(await realm.createCapability(
|
|
92
|
+
const capability = expect(await realm.createCapability({
|
|
93
93
|
default: (value1) => {
|
|
94
94
|
// @ts-expect-error
|
|
95
95
|
assert.strictEqual(value1.date1, value1.date2);
|
|
96
96
|
// @ts-expect-error
|
|
97
97
|
assert.strictEqual(value1.object, value1);
|
|
98
98
|
},
|
|
99
|
-
}
|
|
99
|
+
}, { origin: capabilityName }));
|
|
100
100
|
const left = expectComplete(await agent.compileModule(`
|
|
101
101
|
import capability from ${JSON.stringify(capabilityName)};
|
|
102
102
|
const date = new Date();
|
|
@@ -130,9 +130,9 @@ await test("synthetic module with data templates", async () => {
|
|
|
130
130
|
const agent = __addDisposableResource(env_5, await Agent.create(), true);
|
|
131
131
|
const capabilityName = "isolated-vm:///capability";
|
|
132
132
|
const realm = expect(await agent.createRealm());
|
|
133
|
-
const capability = expect(await realm.createCapability(
|
|
133
|
+
const capability = expect(await realm.createCapability({
|
|
134
134
|
string: "string",
|
|
135
|
-
}
|
|
135
|
+
}, { origin: capabilityName }));
|
|
136
136
|
const entry = expectComplete(await agent.compileModule(`
|
|
137
137
|
import { string } from ${JSON.stringify(capabilityName)};
|
|
138
138
|
globalThis.result = JSON.stringify({ string });
|
|
@@ -162,11 +162,11 @@ await test("synthetic module with data templates", async () => {
|
|
|
162
162
|
// const capabilityName = "isolated-vm:///capability";
|
|
163
163
|
// const realm = await agent.createRealm();
|
|
164
164
|
// const capability = await realm.createCapability(
|
|
165
|
-
//
|
|
165
|
+
// {
|
|
166
166
|
// default: () => {
|
|
167
167
|
// throw new Error("capability error");
|
|
168
168
|
// },
|
|
169
|
-
// }
|
|
169
|
+
// },
|
|
170
170
|
// { origin: capabilityName });
|
|
171
171
|
// const left = expectComplete(await agent.compileModule(`
|
|
172
172
|
// import capability from ${JSON.stringify(capabilityName)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20.module.js","sourceRoot":"","sources":["../../../test/20.intrinsics/20.module.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,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,IAAI,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACnH,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACvG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE;YAClC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;;;;;;;;;;;CAC9B,CAAC,CAAC;AAEH,MAAM,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;;;QAC5D,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,EAAE,OAAA,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;CAC5F,CAAC,CAAC;AAEH,MAAM,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;;;QACpD,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,EAAE,OAAA,CAAC;QACzC,MAAM,cAAc,GAAG,2BAA2B,CAAC;QACnD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,gBAAgB,CACrD
|
|
1
|
+
{"version":3,"file":"20.module.js","sourceRoot":"","sources":["../../../test/20.intrinsics/20.module.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,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,IAAI,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACnH,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACvG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE;YAClC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;;;;;;;;;;;CAC9B,CAAC,CAAC;AAEH,MAAM,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;;;QAC5D,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,EAAE,OAAA,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;CAC5F,CAAC,CAAC;AAEH,MAAM,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;;;QACpD,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,EAAE,OAAA,CAAC;QACzC,MAAM,cAAc,GAAG,2BAA2B,CAAC;QACnD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,gBAAgB,CACrD;YACC,OAAO,EAAE,CAAC,MAAe,EAAE,MAAe,EAAE,EAAE;gBAC7C,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/B,CAAC;SACD,EACD,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC;2BAC5B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;;EAEvD,CAAC,CAAC,CAAC;QACJ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC;YACrB,CAAE,cAAc,EAAE,UAAU,CAAE;SAC9B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;;;;;;;;;;;CACrB,CAAC,CAAC;AAEH,MAAM,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;;;QACjE,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,EAAE,OAAA,CAAC;QACzC,MAAM,cAAc,GAAG,2BAA2B,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,gBAAgB,CACrD;YACC,OAAO,EAAE,CAAC,MAAe,EAAE,EAAE;gBAC5B,mBAAmB;gBACnB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/C,mBAAmB;gBACnB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3C,CAAC;SACD,EACD,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC;2BAC5B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;;;;;;;;;EASvD,CAAC,CAAC,CAAC;QACJ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC;YACrB,CAAE,cAAc,EAAE,UAAU,CAAE;SAC9B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;;;;;;;;;;;CAC3B,CAAC,CAAC;AAEH,MAAM,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;;;QAC7D,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,EAAE,OAAA,CAAC;QACzC,MAAM,cAAc,GAAG,2BAA2B,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,gBAAgB,CACrD;YACC,MAAM,EAAE,QAAQ;SAChB,EACD,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC;2BAC7B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;;EAEvD,CAAC,CAAC,CAAC;QACJ,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YAChD,MAAM,EAAE,QAAQ;SAChB,CAAC,CAAC,CAAC;;;;;;;;;;;CACJ,CAAC,CAAC;AAEH,kGAAkG;AAClG,WAAW;AACX,0DAA0D;AAC1D,6CAA6C;AAC7C,uDAAuD;AACvD,4CAA4C;AAC5C,oDAAoD;AACpD,MAAM;AACN,sBAAsB;AACtB,2CAA2C;AAC3C,QAAQ;AACR,OAAO;AACP,iCAAiC;AACjC,2DAA2D;AAC3D,8DAA8D;AAC9D,kBAAkB;AAClB,QAAQ;AACR,2BAA2B;AAC3B,oCAAoC;AACpC,OAAO;AACP,+DAA+D;AAC/D,+BAA+B;AAC/B,MAAM;AAEN,MAAM,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;;;QAC1C,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,EAAE,OAAA,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC1E,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;CACJ,CAAC,CAAC;AAEH,MAAM,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;;;QAC9C,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,yBAAyB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;QACzH,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAU,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;;;;;;;;;;;CAChD,CAAC,CAAC;AAEH,MAAM,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;;;QACxC,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,EAAE,OAAA,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC3F,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAChD,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;CAC3D,CAAC,CAAC"}
|
|
@@ -12,16 +12,16 @@ await test("setTimeout capability", async () => {
|
|
|
12
12
|
const runTimers = expectComplete(await agent.compileScript("runTimers()"));
|
|
13
13
|
const resolvers = Promise.withResolvers();
|
|
14
14
|
const capabilities = makeStaticLoader({
|
|
15
|
-
"isolated-vm:capability/timers": expect(await realm.createCapability(
|
|
15
|
+
"isolated-vm:capability/timers": expect(await realm.createCapability({
|
|
16
16
|
default: ( /*timeout*/) => {
|
|
17
17
|
void async function () {
|
|
18
18
|
await runTimers.run(realm);
|
|
19
19
|
}();
|
|
20
20
|
},
|
|
21
|
-
}
|
|
22
|
-
"notify-test": expect(await realm.createCapability(
|
|
21
|
+
}, { origin: "isolated-vm:capability/timers" })),
|
|
22
|
+
"notify-test": expect(await realm.createCapability({
|
|
23
23
|
default: (message) => { resolvers.resolve(message); },
|
|
24
|
-
}
|
|
24
|
+
}, { origin: "notify-test" })),
|
|
25
25
|
});
|
|
26
26
|
const runtime = makeFileSystemCompilationLoader(agent);
|
|
27
27
|
const linker = makeCompositeLinker(makeLinker(makeDirectResolver(), capabilities), makeLinker(makeLocalResolver(import.meta), runtime));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"50.timers.js","sourceRoot":"","sources":["../../../test/50.features/50.timers.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,+BAA+B,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAErL,MAAM,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;;;QAC9C,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,EAAE,OAAA,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,gBAAgB,CAAC;YACrC,+BAA+B,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,gBAAgB,CACnE
|
|
1
|
+
{"version":3,"file":"50.timers.js","sourceRoot":"","sources":["../../../test/50.features/50.timers.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,+BAA+B,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAErL,MAAM,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;;;QAC9C,MAAY,KAAK,kCAAG,MAAM,KAAK,CAAC,MAAM,EAAE,OAAA,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,gBAAgB,CAAC;YACrC,+BAA+B,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,gBAAgB,CACnE;gBACC,OAAO,EAAE,EAAC,WAAW,EAAE,EAAE;oBACxB,KAAK,KAAK;wBACT,MAAM,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC,EAAE,CAAC;gBACL,CAAC;aACD,EACD,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC,CAAC;YAC9C,aAAa,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,gBAAgB,CACjD;gBACC,OAAO,EAAE,CAAC,OAAgB,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC9D,EACD,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;SAC5B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,mBAAmB,CACjC,UAAU,CAAC,kBAAkB,EAAE,EAAE,YAAY,CAAC,EAC9C,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC;;;;EAIvD,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;;;;;;;;;;CAC/C,CAAC,CAAC"}
|