@ricsam/isolate 0.1.11 → 0.1.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/README.md +101 -1
- package/dist/cjs/bridge/runtime-bindings.cjs +36 -8
- package/dist/cjs/bridge/runtime-bindings.cjs.map +3 -3
- package/dist/cjs/bridge/sandbox-isolate.cjs +157 -2
- package/dist/cjs/bridge/sandbox-isolate.cjs.map +3 -3
- package/dist/cjs/host/create-isolate-host.cjs +85 -1
- package/dist/cjs/host/create-isolate-host.cjs.map +3 -3
- package/dist/cjs/host/nested-host-controller.cjs +95 -5
- package/dist/cjs/host/nested-host-controller.cjs.map +3 -3
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/internal/browser-source.cjs +16 -5
- package/dist/cjs/internal/browser-source.cjs.map +3 -3
- package/dist/cjs/internal/client/connection.cjs +20 -9
- package/dist/cjs/internal/client/connection.cjs.map +3 -3
- package/dist/cjs/internal/daemon/connection.cjs +28 -10
- package/dist/cjs/internal/daemon/connection.cjs.map +3 -3
- package/dist/cjs/internal/protocol/types.cjs +2 -1
- package/dist/cjs/internal/protocol/types.cjs.map +3 -3
- package/dist/cjs/internal/runtime/index.cjs +5 -2
- package/dist/cjs/internal/runtime/index.cjs.map +3 -3
- package/dist/cjs/internal/typecheck/isolate-types.cjs +82 -1
- package/dist/cjs/internal/typecheck/isolate-types.cjs.map +3 -3
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/playwright.cjs +76 -0
- package/dist/cjs/playwright.cjs.map +10 -0
- package/dist/cjs/runtime/namespaced-runtime.cjs +184 -0
- package/dist/cjs/runtime/namespaced-runtime.cjs.map +10 -0
- package/dist/cjs/runtime/test-event-subscriptions.cjs +76 -0
- package/dist/cjs/runtime/test-event-subscriptions.cjs.map +10 -0
- package/dist/cjs/runtime/test-runtime.cjs +26 -3
- package/dist/cjs/runtime/test-runtime.cjs.map +3 -3
- package/dist/mjs/bridge/runtime-bindings.mjs +36 -8
- package/dist/mjs/bridge/runtime-bindings.mjs.map +3 -3
- package/dist/mjs/bridge/sandbox-isolate.mjs +157 -2
- package/dist/mjs/bridge/sandbox-isolate.mjs.map +3 -3
- package/dist/mjs/host/create-isolate-host.mjs +85 -1
- package/dist/mjs/host/create-isolate-host.mjs.map +3 -3
- package/dist/mjs/host/nested-host-controller.mjs +95 -5
- package/dist/mjs/host/nested-host-controller.mjs.map +3 -3
- package/dist/mjs/index.mjs.map +1 -1
- package/dist/mjs/internal/browser-source.mjs +16 -5
- package/dist/mjs/internal/browser-source.mjs.map +3 -3
- package/dist/mjs/internal/client/connection.mjs +20 -9
- package/dist/mjs/internal/client/connection.mjs.map +3 -3
- package/dist/mjs/internal/daemon/connection.mjs +28 -10
- package/dist/mjs/internal/daemon/connection.mjs.map +3 -3
- package/dist/mjs/internal/protocol/types.mjs +2 -1
- package/dist/mjs/internal/protocol/types.mjs.map +3 -3
- package/dist/mjs/internal/runtime/index.mjs +5 -2
- package/dist/mjs/internal/runtime/index.mjs.map +3 -3
- package/dist/mjs/internal/typecheck/isolate-types.mjs +82 -1
- package/dist/mjs/internal/typecheck/isolate-types.mjs.map +3 -3
- package/dist/mjs/package.json +1 -1
- package/dist/mjs/playwright.mjs +47 -0
- package/dist/mjs/playwright.mjs.map +10 -0
- package/dist/mjs/runtime/namespaced-runtime.mjs +146 -0
- package/dist/mjs/runtime/namespaced-runtime.mjs.map +10 -0
- package/dist/mjs/runtime/test-event-subscriptions.mjs +36 -0
- package/dist/mjs/runtime/test-event-subscriptions.mjs.map +10 -0
- package/dist/mjs/runtime/test-runtime.mjs +26 -3
- package/dist/mjs/runtime/test-runtime.mjs.map +3 -3
- package/dist/types/bridge/sandbox-isolate.d.ts +9 -3
- package/dist/types/host/nested-host-controller.d.ts +5 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/internal/browser-source.d.ts +1 -2
- package/dist/types/internal/client/types.d.ts +4 -0
- package/dist/types/internal/protocol/types.d.ts +8 -1
- package/dist/types/internal/typecheck/isolate-types.d.ts +2 -2
- package/dist/types/playwright.d.ts +26 -0
- package/dist/types/runtime/namespaced-runtime.d.ts +13 -0
- package/dist/types/runtime/test-event-subscriptions.d.ts +12 -0
- package/dist/types/types.d.ts +51 -3
- package/package.json +6 -1
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/internal/browser-source.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import type {\n HostBrowserBindings,\n} from \"../types.cjs\";\n\nexport const ISOLATE_BROWSER_DESCRIPTOR_PROPERTY = \"__isolateBrowserBinding\";\nexport const ISOLATE_BROWSER_DESCRIPTOR_VALUE = \"default\";\n\nexport
|
|
5
|
+
"import type {\n HostBrowserBindings,\n} from \"../types.cjs\";\n\nexport const ISOLATE_BROWSER_DESCRIPTOR_PROPERTY = \"__isolateBrowserBinding\";\nexport const ISOLATE_BROWSER_DESCRIPTOR_VALUE = \"default\";\n\nexport type BrowserSource = HostBrowserBindings;\n\nexport function isBrowserBindingLike(value: unknown): value is HostBrowserBindings {\n if (!value || typeof value !== \"object\") {\n return false;\n }\n\n const candidate = value as Record<string, unknown>;\n return (\n typeof candidate.handler === \"function\" ||\n typeof candidate.createContext === \"function\" ||\n typeof candidate.createPage === \"function\"\n );\n}\n\nexport function isDefaultBrowserDescriptor(value: unknown): boolean {\n return Boolean(\n value &&\n typeof value === \"object\" &&\n (value as Record<string, unknown>)[ISOLATE_BROWSER_DESCRIPTOR_PROPERTY] ===\n ISOLATE_BROWSER_DESCRIPTOR_VALUE,\n );\n}\n\nexport function createBrowserSourceFromBindings(\n browser: HostBrowserBindings | undefined,\n): BrowserSource | undefined {\n if (!browser) {\n return undefined;\n }\n\n if (\"handler\" in browser && typeof browser.handler === \"function\") {\n return {\n handler: browser.handler,\n captureConsole: browser.captureConsole,\n onEvent: browser.onEvent,\n };\n }\n\n return {\n createContext: browser.createContext,\n createPage: browser.createPage,\n captureConsole: browser.captureConsole,\n onEvent: browser.onEvent,\n readFile: browser.readFile,\n writeFile: browser.writeFile,\n };\n}\n\nexport function createBrowserSourceFromUnknown(\n browser: unknown,\n): BrowserSource | undefined {\n if (!isBrowserBindingLike(browser)) {\n return undefined;\n }\n\n return createBrowserSourceFromBindings(browser);\n}\n\nexport function requireBrowserSource(\n source: BrowserSource | undefined,\n operation: string,\n): BrowserSource {\n if (!source) {\n throw new Error(\n `${operation} requires a browser binding.`,\n );\n }\n return source;\n}\n\nexport function cloneBrowserDescriptor(): Record<string, string> {\n return {\n [ISOLATE_BROWSER_DESCRIPTOR_PROPERTY]: ISOLATE_BROWSER_DESCRIPTOR_VALUE,\n };\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAM,sCAAsC;AAC5C,IAAM,mCAAmC;AAIzC,SAAS,oBAAoB,CAAC,OAA8C;AAAA,EACjF,IAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AAAA,IACvC,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,YAAY;AAAA,EAClB,OACE,OAAO,UAAU,kBAAkB,cACnC,OAAO,UAAU,eAAe;AAAA;AAI7B,SAAS,0BAA0B,CAAC,OAAyB;AAAA,EAClE,OAAO,QACL,SACE,OAAO,UAAU,YAChB,MAAkC,yCACjC,gCACN;AAAA;AAGK,SAAS,+BAA+B,CAC7C,SAC2B;AAAA,EAC3B,IAAI,CAAC,SAAS;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,eAAe,QAAQ;AAAA,IACvB,YAAY,QAAQ;AAAA,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAM,sCAAsC;AAC5C,IAAM,mCAAmC;AAIzC,SAAS,oBAAoB,CAAC,OAA8C;AAAA,EACjF,IAAI,CAAC,SAAS,OAAO,UAAU,UAAU;AAAA,IACvC,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,YAAY;AAAA,EAClB,OACE,OAAO,UAAU,YAAY,cAC7B,OAAO,UAAU,kBAAkB,cACnC,OAAO,UAAU,eAAe;AAAA;AAI7B,SAAS,0BAA0B,CAAC,OAAyB;AAAA,EAClE,OAAO,QACL,SACE,OAAO,UAAU,YAChB,MAAkC,yCACjC,gCACN;AAAA;AAGK,SAAS,+BAA+B,CAC7C,SAC2B;AAAA,EAC3B,IAAI,CAAC,SAAS;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,IAAI,aAAa,WAAW,OAAO,QAAQ,YAAY,YAAY;AAAA,IACjE,OAAO;AAAA,MACL,SAAS,QAAQ;AAAA,MACjB,gBAAgB,QAAQ;AAAA,MACxB,SAAS,QAAQ;AAAA,IACnB;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,eAAe,QAAQ;AAAA,IACvB,YAAY,QAAQ;AAAA,IACpB,gBAAgB,QAAQ;AAAA,IACxB,SAAS,QAAQ;AAAA,IACjB,UAAU,QAAQ;AAAA,IAClB,WAAW,QAAQ;AAAA,EACrB;AAAA;AAGK,SAAS,8BAA8B,CAC5C,SAC2B;AAAA,EAC3B,IAAI,CAAC,qBAAqB,OAAO,GAAG;AAAA,IAClC;AAAA,EACF;AAAA,EAEA,OAAO,gCAAgC,OAAO;AAAA;AAGzC,SAAS,oBAAoB,CAClC,QACA,WACe;AAAA,EACf,IAAI,CAAC,QAAQ;AAAA,IACX,MAAM,IAAI,MACR,GAAG,uCACL;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,sBAAsB,GAA2B;AAAA,EAC/D,OAAO;AAAA,KACJ,sCAAsC;AAAA,EACzC;AAAA;",
|
|
8
|
+
"debugId": "2B1987CA1D9F43BF64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -214,7 +214,7 @@ async function connect(options = {}) {
|
|
|
214
214
|
testEnvCallbacks.onEvent = {
|
|
215
215
|
callbackId: onEventCallbackId,
|
|
216
216
|
name: "testEnvironment.onEvent",
|
|
217
|
-
type: "
|
|
217
|
+
type: "async"
|
|
218
218
|
};
|
|
219
219
|
}
|
|
220
220
|
testEnvironmentOption = {
|
|
@@ -255,6 +255,17 @@ async function connect(options = {}) {
|
|
|
255
255
|
id,
|
|
256
256
|
createRuntime: (runtimeOptions) => createRuntime(state, runtimeOptions, id)
|
|
257
257
|
}),
|
|
258
|
+
disposeNamespace: async (id, options2) => {
|
|
259
|
+
state.namespacedRuntimes.delete(id);
|
|
260
|
+
const requestId = state.nextRequestId++;
|
|
261
|
+
const request = {
|
|
262
|
+
type: import_protocol.MessageType.DISPOSE_NAMESPACE,
|
|
263
|
+
requestId,
|
|
264
|
+
namespaceId: id,
|
|
265
|
+
reason: typeof options2?.reason === "string" && options2.reason.length > 0 ? options2.reason : undefined
|
|
266
|
+
};
|
|
267
|
+
await sendRequest(state, request);
|
|
268
|
+
},
|
|
258
269
|
close: async () => {
|
|
259
270
|
state.closing = true;
|
|
260
271
|
state.connected = false;
|
|
@@ -737,7 +748,7 @@ async function createRuntime(state, options = {}, namespaceId) {
|
|
|
737
748
|
testEnvCallbacks.onEvent = {
|
|
738
749
|
callbackId: onEventCallbackId,
|
|
739
750
|
name: "testEnvironment.onEvent",
|
|
740
|
-
type: "
|
|
751
|
+
type: "async"
|
|
741
752
|
};
|
|
742
753
|
}
|
|
743
754
|
testEnvironmentOption = {
|
|
@@ -1167,8 +1178,8 @@ async function createRuntime(state, options = {}, namespaceId) {
|
|
|
1167
1178
|
}
|
|
1168
1179
|
function registerEventCallback(state, handler) {
|
|
1169
1180
|
const callbackId = state.nextCallbackId++;
|
|
1170
|
-
state.callbacks.set(callbackId, (data) => {
|
|
1171
|
-
handler(data);
|
|
1181
|
+
state.callbacks.set(callbackId, async (data) => {
|
|
1182
|
+
await handler(data);
|
|
1172
1183
|
return;
|
|
1173
1184
|
});
|
|
1174
1185
|
return callbackId;
|
|
@@ -1177,10 +1188,10 @@ function registerConsoleCallbacks(state, callbacks) {
|
|
|
1177
1188
|
const registrations = {};
|
|
1178
1189
|
if (callbacks.onEntry) {
|
|
1179
1190
|
const callbackId = state.nextCallbackId++;
|
|
1180
|
-
state.callbacks.set(callbackId, (entry) => {
|
|
1181
|
-
callbacks.onEntry(entry);
|
|
1191
|
+
state.callbacks.set(callbackId, async (entry) => {
|
|
1192
|
+
await callbacks.onEntry(entry);
|
|
1182
1193
|
});
|
|
1183
|
-
registrations.onEntry = { callbackId, name: "onEntry", type: "
|
|
1194
|
+
registrations.onEntry = { callbackId, name: "onEntry", type: "async" };
|
|
1184
1195
|
}
|
|
1185
1196
|
return registrations;
|
|
1186
1197
|
}
|
|
@@ -1478,7 +1489,7 @@ function registerCustomFunctions(state, customFunctions) {
|
|
|
1478
1489
|
registerCallback: (fn) => {
|
|
1479
1490
|
const returnedCallbackId = state.nextCallbackId++;
|
|
1480
1491
|
state.callbacks.set(returnedCallbackId, async (...args) => {
|
|
1481
|
-
const fnResult =
|
|
1492
|
+
const fnResult = fn(...args);
|
|
1482
1493
|
const marshalledResult = await import_protocol.marshalValue(fnResult, marshalCtx);
|
|
1483
1494
|
return addCallbackIdsToRefs(marshalledResult);
|
|
1484
1495
|
});
|
|
@@ -1948,4 +1959,4 @@ function handleClientWsClose(isolateId, payload, state) {
|
|
|
1948
1959
|
}
|
|
1949
1960
|
}
|
|
1950
1961
|
|
|
1951
|
-
//# debugId=
|
|
1962
|
+
//# debugId=51CB492CCA4B24A064756E2164756E21
|