@ricsam/isolate 0.1.13 → 0.1.14

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 (58) hide show
  1. package/dist/cjs/bridge/legacy-adapters.cjs +3 -2
  2. package/dist/cjs/bridge/legacy-adapters.cjs.map +3 -3
  3. package/dist/cjs/bridge/runtime-bindings.cjs +8 -7
  4. package/dist/cjs/bridge/runtime-bindings.cjs.map +3 -3
  5. package/dist/cjs/internal/client/connection.cjs +16 -14
  6. package/dist/cjs/internal/client/connection.cjs.map +3 -3
  7. package/dist/cjs/internal/console/index.cjs +18 -14
  8. package/dist/cjs/internal/console/index.cjs.map +3 -3
  9. package/dist/cjs/internal/daemon/connection.cjs +11 -12
  10. package/dist/cjs/internal/daemon/connection.cjs.map +3 -3
  11. package/dist/cjs/internal/event-callback.cjs +70 -0
  12. package/dist/cjs/internal/event-callback.cjs.map +10 -0
  13. package/dist/cjs/internal/playwright/handler.cjs +3 -4
  14. package/dist/cjs/internal/playwright/handler.cjs.map +3 -3
  15. package/dist/cjs/internal/playwright/index.cjs +58 -64
  16. package/dist/cjs/internal/playwright/index.cjs.map +3 -3
  17. package/dist/cjs/internal/protocol/types.cjs.map +2 -2
  18. package/dist/cjs/internal/runtime/index.cjs +4 -12
  19. package/dist/cjs/internal/runtime/index.cjs.map +3 -3
  20. package/dist/cjs/internal/test-environment/index.cjs +3 -2
  21. package/dist/cjs/internal/test-environment/index.cjs.map +3 -3
  22. package/dist/cjs/package.json +1 -1
  23. package/dist/cjs/playwright.cjs.map +2 -2
  24. package/dist/cjs/runtime/test-event-subscriptions.cjs +3 -6
  25. package/dist/cjs/runtime/test-event-subscriptions.cjs.map +3 -3
  26. package/dist/mjs/bridge/legacy-adapters.mjs +3 -2
  27. package/dist/mjs/bridge/legacy-adapters.mjs.map +3 -3
  28. package/dist/mjs/bridge/runtime-bindings.mjs +8 -7
  29. package/dist/mjs/bridge/runtime-bindings.mjs.map +3 -3
  30. package/dist/mjs/internal/client/connection.mjs +16 -14
  31. package/dist/mjs/internal/client/connection.mjs.map +3 -3
  32. package/dist/mjs/internal/console/index.mjs +18 -14
  33. package/dist/mjs/internal/console/index.mjs.map +3 -3
  34. package/dist/mjs/internal/daemon/connection.mjs +11 -12
  35. package/dist/mjs/internal/daemon/connection.mjs.map +3 -3
  36. package/dist/mjs/internal/event-callback.mjs +30 -0
  37. package/dist/mjs/internal/event-callback.mjs.map +10 -0
  38. package/dist/mjs/internal/playwright/handler.mjs +3 -4
  39. package/dist/mjs/internal/playwright/handler.mjs.map +3 -3
  40. package/dist/mjs/internal/playwright/index.mjs +58 -64
  41. package/dist/mjs/internal/playwright/index.mjs.map +3 -3
  42. package/dist/mjs/internal/protocol/types.mjs.map +2 -2
  43. package/dist/mjs/internal/runtime/index.mjs +4 -12
  44. package/dist/mjs/internal/runtime/index.mjs.map +3 -3
  45. package/dist/mjs/internal/test-environment/index.mjs +3 -2
  46. package/dist/mjs/internal/test-environment/index.mjs.map +3 -3
  47. package/dist/mjs/package.json +1 -1
  48. package/dist/mjs/playwright.mjs.map +2 -2
  49. package/dist/mjs/runtime/test-event-subscriptions.mjs +3 -6
  50. package/dist/mjs/runtime/test-event-subscriptions.mjs.map +3 -3
  51. package/dist/types/internal/console/index.d.ts +2 -1
  52. package/dist/types/internal/event-callback.d.ts +1 -0
  53. package/dist/types/internal/protocol/types.d.ts +4 -3
  54. package/dist/types/internal/runtime/index.d.ts +0 -6
  55. package/dist/types/internal/test-environment/index.d.ts +1 -1
  56. package/dist/types/playwright.d.ts +1 -0
  57. package/dist/types/types.d.ts +6 -0
  58. package/package.json +1 -1
@@ -0,0 +1,30 @@
1
+ // src/internal/event-callback.ts
2
+ var warnedAsyncHandlers = new WeakSet;
3
+ function isPromiseLike(value) {
4
+ return value !== null && (typeof value === "object" || typeof value === "function") && typeof value.then === "function";
5
+ }
6
+ function invokeBestEffortEventHandler(label, handler, ...args) {
7
+ if (!handler) {
8
+ return;
9
+ }
10
+ try {
11
+ const result = handler(...args);
12
+ if (!isPromiseLike(result)) {
13
+ return;
14
+ }
15
+ if (!warnedAsyncHandlers.has(handler)) {
16
+ warnedAsyncHandlers.add(handler);
17
+ console.warn(`[isolate] ${label} handlers are sync-only and best-effort. Returned promises are ignored.`);
18
+ }
19
+ Promise.resolve(result).catch((error) => {
20
+ console.error(`[isolate] ${label} handler rejected after returning a promise.`, error);
21
+ });
22
+ } catch (error) {
23
+ console.error(`[isolate] ${label} handler failed.`, error);
24
+ }
25
+ }
26
+ export {
27
+ invokeBestEffortEventHandler
28
+ };
29
+
30
+ //# debugId=A8231D6B1166900664756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/internal/event-callback.ts"],
4
+ "sourcesContent": [
5
+ "const warnedAsyncHandlers = new WeakSet<Function>();\n\nfunction isPromiseLike(value: unknown): value is PromiseLike<unknown> {\n return (\n value !== null &&\n (typeof value === \"object\" || typeof value === \"function\") &&\n typeof (value as { then?: unknown }).then === \"function\"\n );\n}\n\nexport function invokeBestEffortEventHandler<TArgs extends unknown[]>(\n label: string,\n handler: ((...args: TArgs) => unknown) | undefined,\n ...args: TArgs\n): void {\n if (!handler) {\n return;\n }\n\n try {\n const result = handler(...args);\n if (!isPromiseLike(result)) {\n return;\n }\n\n if (!warnedAsyncHandlers.has(handler)) {\n warnedAsyncHandlers.add(handler);\n console.warn(\n `[isolate] ${label} handlers are sync-only and best-effort. Returned promises are ignored.`,\n );\n }\n\n void Promise.resolve(result).catch((error) => {\n console.error(\n `[isolate] ${label} handler rejected after returning a promise.`,\n error,\n );\n });\n } catch (error) {\n console.error(`[isolate] ${label} handler failed.`, error);\n }\n}\n"
6
+ ],
7
+ "mappings": ";AAAA,IAAM,sBAAsB,IAAI;AAEhC,SAAS,aAAa,CAAC,OAA+C;AAAA,EACpE,OACE,UAAU,SACT,OAAO,UAAU,YAAY,OAAO,UAAU,eAC/C,OAAQ,MAA6B,SAAS;AAAA;AAI3C,SAAS,4BAAqD,CACnE,OACA,YACG,MACG;AAAA,EACN,IAAI,CAAC,SAAS;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,IAAI;AAAA,IACF,MAAM,SAAS,QAAQ,GAAG,IAAI;AAAA,IAC9B,IAAI,CAAC,cAAc,MAAM,GAAG;AAAA,MAC1B;AAAA,IACF;AAAA,IAEA,IAAI,CAAC,oBAAoB,IAAI,OAAO,GAAG;AAAA,MACrC,oBAAoB,IAAI,OAAO;AAAA,MAC/B,QAAQ,KACN,aAAa,8EACf;AAAA,IACF;AAAA,IAEK,QAAQ,QAAQ,MAAM,EAAE,MAAM,CAAC,UAAU;AAAA,MAC5C,QAAQ,MACN,aAAa,qDACb,KACF;AAAA,KACD;AAAA,IACD,OAAO,OAAO;AAAA,IACd,QAAQ,MAAM,aAAa,yBAAyB,KAAK;AAAA;AAAA;",
8
+ "debugId": "A8231D6B1166900664756E2164756E21",
9
+ "names": []
10
+ }
@@ -1,4 +1,5 @@
1
1
  // src/internal/playwright/handler.ts
2
+ import { invokeBestEffortEventHandler } from "../event-callback.mjs";
2
3
  import {
3
4
  DEFAULT_PLAYWRIGHT_HANDLER_META,
4
5
  PLAYWRIGHT_HANDLER_META
@@ -17,9 +18,7 @@ function cloneCollectedData(collectedData) {
17
18
  function createPlaywrightCollector(registry) {
18
19
  const emitEvent = (event) => {
19
20
  for (const callback of registry.eventSubscribers) {
20
- try {
21
- callback(event);
22
- } catch {}
21
+ invokeBestEffortEventHandler("playwright.onEvent", callback, event);
23
22
  }
24
23
  };
25
24
  const getRequestId = (request) => {
@@ -1649,4 +1648,4 @@ export {
1649
1648
  createPlaywrightFactoryHandler
1650
1649
  };
1651
1650
 
1652
- //# debugId=43FD6984CD8B4A1E64756E2164756E21
1651
+ //# debugId=CE1FECED539035D964756E2164756E21