@fairfox/polly 0.88.1 → 0.89.0
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/dist/cli/polly.js +4 -4
- package/dist/cli/polly.js.map +2 -2
- package/dist/gallery/gallery.css +51 -59
- package/dist/gallery/gallery.js +1155 -1047
- package/dist/src/actions/index.js +5 -78
- package/dist/src/actions/index.js.map +2 -2
- package/dist/src/background/index.js +126 -152
- package/dist/src/background/index.js.map +4 -4
- package/dist/src/background/message-router.js +126 -152
- package/dist/src/background/message-router.js.map +4 -4
- package/dist/src/client/index.js +186 -259
- package/dist/src/client/index.js.map +5 -5
- package/dist/src/elysia/index.js +21 -35
- package/dist/src/elysia/index.js.map +2 -2
- package/dist/src/index.js +218 -246
- package/dist/src/index.js.map +10 -10
- package/dist/src/mesh.js +49 -61
- package/dist/src/mesh.js.map +4 -4
- package/dist/src/peer.js +23 -52
- package/dist/src/peer.js.map +2 -2
- package/dist/src/polly-ui/Button.d.ts +7 -0
- package/dist/src/polly-ui/Collapsible.d.ts +3 -1
- package/dist/src/polly-ui/Layout.d.ts +16 -1
- package/dist/src/polly-ui/index.css +47 -59
- package/dist/src/polly-ui/index.js +112 -124
- package/dist/src/polly-ui/index.js.map +13 -13
- package/dist/src/polly-ui/markdown.js +72 -145
- package/dist/src/polly-ui/markdown.js.map +2 -2
- package/dist/src/polly-ui/styles.css +47 -59
- package/dist/src/polly-ui/theme.css +10 -0
- package/dist/src/shared/adapters/index.js +31 -44
- package/dist/src/shared/adapters/index.js.map +2 -2
- package/dist/src/shared/lib/context-helpers.js +126 -152
- package/dist/src/shared/lib/context-helpers.js.map +4 -4
- package/dist/src/shared/lib/errors.js +1 -74
- package/dist/src/shared/lib/errors.js.map +2 -2
- package/dist/src/shared/lib/guards.js +1 -74
- package/dist/src/shared/lib/guards.js.map +2 -2
- package/dist/src/shared/lib/message-bus.js +126 -152
- package/dist/src/shared/lib/message-bus.js.map +4 -4
- package/dist/src/shared/lib/resource.js +16 -27
- package/dist/src/shared/lib/resource.js.map +5 -5
- package/dist/src/shared/lib/state.js +13 -26
- package/dist/src/shared/lib/state.js.map +2 -2
- package/dist/src/shared/lib/test-helpers.js +1 -74
- package/dist/src/shared/lib/test-helpers.js.map +2 -2
- package/dist/src/shared/state/app-state.js +35 -46
- package/dist/src/shared/state/app-state.js.map +5 -5
- package/dist/src/shared/types/messages.js +1 -74
- package/dist/src/shared/types/messages.js.map +2 -2
- package/dist/tools/bdd/src/cli.js +11 -15
- package/dist/tools/bdd/src/cli.js.map +2 -2
- package/dist/tools/bdd/src/index.js +11 -19
- package/dist/tools/bdd/src/index.js.map +2 -2
- package/dist/tools/gallery/src/cli.js +1 -18
- package/dist/tools/gallery/src/cli.js.map +2 -2
- package/dist/tools/init/src/cli.js +1 -18
- package/dist/tools/init/src/cli.js.map +2 -2
- package/dist/tools/mutate/src/cli.js +8 -25
- package/dist/tools/mutate/src/cli.js.map +2 -2
- package/dist/tools/mutate/src/index.js +8 -26
- package/dist/tools/mutate/src/index.js.map +2 -2
- package/dist/tools/quality/src/cli.js +39 -46
- package/dist/tools/quality/src/cli.js.map +3 -3
- package/dist/tools/quality/src/css/check-layout.d.ts +5 -3
- package/dist/tools/quality/src/index.js +39 -47
- package/dist/tools/quality/src/index.js.map +3 -3
- package/dist/tools/test/src/adapters/index.js +4 -77
- package/dist/tools/test/src/adapters/index.js.map +2 -2
- package/dist/tools/test/src/browser/index.js +1 -74
- package/dist/tools/test/src/browser/index.js.map +2 -2
- package/dist/tools/test/src/browser/run.js +5 -22
- package/dist/tools/test/src/browser/run.js.map +2 -2
- package/dist/tools/test/src/contrast/index.js +1 -74
- package/dist/tools/test/src/contrast/index.js.map +2 -2
- package/dist/tools/test/src/coverage-policy/cli.js +13 -25
- package/dist/tools/test/src/coverage-policy/cli.js.map +2 -2
- package/dist/tools/test/src/coverage-policy/index.js +11 -23
- package/dist/tools/test/src/coverage-policy/index.js.map +2 -2
- package/dist/tools/test/src/e2e-mesh/index.js +18 -43
- package/dist/tools/test/src/e2e-mesh/index.js.map +2 -2
- package/dist/tools/test/src/e2e-relay/index.js +615 -623
- package/dist/tools/test/src/e2e-relay/index.js.map +2 -2
- package/dist/tools/test/src/index.js +30 -103
- package/dist/tools/test/src/index.js.map +5 -5
- package/dist/tools/test/src/test-utils.js +1 -74
- package/dist/tools/test/src/test-utils.js.map +2 -2
- package/dist/tools/test/src/tiers/cli.js +1 -18
- package/dist/tools/test/src/tiers/cli.js.map +2 -2
- package/dist/tools/test/src/tiers/worker.js +11 -15
- package/dist/tools/test/src/tiers/worker.js.map +2 -2
- package/dist/tools/test/src/visual/index.js +1112 -1134
- package/dist/tools/test/src/visual/index.js.map +3 -3
- package/dist/tools/verify/src/cli.js +103 -169
- package/dist/tools/verify/src/cli.js.map +2 -2
- package/dist/tools/verify/src/config.js +1 -74
- package/dist/tools/verify/src/config.js.map +2 -2
- package/dist/tools/verify/src/stryker/index.js +1 -19
- package/dist/tools/verify/src/stryker/index.js.map +2 -2
- package/dist/tools/visualize/src/cli.js +69 -85
- package/dist/tools/visualize/src/cli.js.map +2 -2
- package/package.json +1 -1
|
@@ -1,76 +1,3 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
function __accessProp(key) {
|
|
8
|
-
return this[key];
|
|
9
|
-
}
|
|
10
|
-
var __toESMCache_node;
|
|
11
|
-
var __toESMCache_esm;
|
|
12
|
-
var __toESM = (mod, isNodeMode, target) => {
|
|
13
|
-
var canCache = mod != null && typeof mod === "object";
|
|
14
|
-
if (canCache) {
|
|
15
|
-
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
16
|
-
var cached = cache.get(mod);
|
|
17
|
-
if (cached)
|
|
18
|
-
return cached;
|
|
19
|
-
}
|
|
20
|
-
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
|
-
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
|
-
if (mod && typeof mod === "object" || typeof mod === "function") {
|
|
23
|
-
for (let key of __getOwnPropNames(mod))
|
|
24
|
-
if (!__hasOwnProp.call(to, key))
|
|
25
|
-
__defProp(to, key, {
|
|
26
|
-
get: __accessProp.bind(mod, key),
|
|
27
|
-
enumerable: true
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
if (canCache)
|
|
31
|
-
cache.set(mod, to);
|
|
32
|
-
return to;
|
|
33
|
-
};
|
|
34
|
-
var __toCommonJS = (from) => {
|
|
35
|
-
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
36
|
-
if (entry)
|
|
37
|
-
return entry;
|
|
38
|
-
entry = __defProp({}, "__esModule", { value: true });
|
|
39
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
40
|
-
for (var key of __getOwnPropNames(from))
|
|
41
|
-
if (!__hasOwnProp.call(entry, key))
|
|
42
|
-
__defProp(entry, key, {
|
|
43
|
-
get: __accessProp.bind(from, key),
|
|
44
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
__moduleCache.set(from, entry);
|
|
48
|
-
return entry;
|
|
49
|
-
};
|
|
50
|
-
var __moduleCache;
|
|
51
|
-
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
52
|
-
var __returnValue = (v) => v;
|
|
53
|
-
function __exportSetter(name, newValue) {
|
|
54
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
55
|
-
}
|
|
56
|
-
var __export = (target, all) => {
|
|
57
|
-
for (var name in all)
|
|
58
|
-
__defProp(target, name, {
|
|
59
|
-
get: all[name],
|
|
60
|
-
enumerable: true,
|
|
61
|
-
configurable: true,
|
|
62
|
-
set: __exportSetter.bind(all, name)
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
66
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
67
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
68
|
-
}) : x)(function(x) {
|
|
69
|
-
if (typeof require !== "undefined")
|
|
70
|
-
return require.apply(this, arguments);
|
|
71
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
72
|
-
});
|
|
73
|
-
|
|
74
1
|
// src/actions/error.ts
|
|
75
2
|
import { signal } from "@preact/signals";
|
|
76
3
|
var errorState = signal([]);
|
|
@@ -161,12 +88,12 @@ function closeTopOverlay2() {
|
|
|
161
88
|
const overlays = document.querySelectorAll("[data-overlay-id]:popover-open, dialog[data-overlay-id][open]");
|
|
162
89
|
if (overlays.length === 0)
|
|
163
90
|
return;
|
|
164
|
-
const
|
|
165
|
-
if (!
|
|
91
|
+
const topOverlay = overlays[overlays.length - 1];
|
|
92
|
+
if (!topOverlay)
|
|
166
93
|
return;
|
|
167
|
-
|
|
94
|
+
topOverlay.dispatchEvent(new CustomEvent("overlay:close", {
|
|
168
95
|
bubbles: true,
|
|
169
|
-
detail: { id:
|
|
96
|
+
detail: { id: topOverlay.getAttribute("data-overlay-id") }
|
|
170
97
|
}));
|
|
171
98
|
}
|
|
172
99
|
function resolveAction(event) {
|
|
@@ -526,4 +453,4 @@ export {
|
|
|
526
453
|
useStores
|
|
527
454
|
};
|
|
528
455
|
|
|
529
|
-
//# debugId=
|
|
456
|
+
//# debugId=7803ACFB4B63625C64756E2164756E21
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"/**\n * Store base + Preact context.\n *\n * `createStore` is a thin convention-enforcer: a typed bag of signals\n * plus methods. Apps use it to define domain stores whose only public\n * mutation surface is named methods (actions call them; components read\n * signals and dispatch actions). No cleverness — a named pattern more\n * than a library.\n *\n * `StoreProvider` + `useStores` wire the stores bag into Preact context\n * so components and the delegation runtime can reach it via a single hook.\n */\n\nimport type { ComponentChildren } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useContext } from \"preact/hooks\";\n\n/**\n * Identity helper; exists so domain stores have a canonical creation\n * call even though the bag itself is a plain object. Centralising here\n * lets us hang additional behaviour off the call site later (debug\n * instrumentation, devtools) without a migration.\n */\nexport function createStore<T extends object>(init: T): T {\n return init;\n}\n\nconst StoreContext = createContext<unknown>(null);\n\nexport type StoreProviderProps<TStores> = {\n children: ComponentChildren;\n stores: TStores;\n};\n\nexport function StoreProvider<TStores>({ children, stores }: StoreProviderProps<TStores>) {\n return <StoreContext.Provider value={stores}>{children}</StoreContext.Provider>;\n}\n\nexport function useStores<TStores>(): TStores {\n const ctx = useContext(StoreContext) as unknown as TStores | null;\n if (ctx === null) {\n throw new Error(\"useStores must be used within a StoreProvider\");\n }\n return ctx;\n}\n",
|
|
10
10
|
"/**\n * Testing helpers for action handlers.\n *\n * Handlers are plain functions taking an ActionContext; these helpers\n * build the context pieces without jsdom. For full-DOM tests use the\n * browser harness at `@fairfox/polly/test/browser`.\n */\n\nimport type { ActionContext, ActionHandler, ActionRegistry } from \"./registry.ts\";\n\n/**\n * Build a mock element that satisfies ActionContext.element.\n * Only the surface a handler is likely to touch is populated.\n */\nexport function createMockElement(\n attrs: Record<string, string> = {},\n tagName = \"DIV\"\n): HTMLElement {\n const attrMap = new Map(Object.entries(attrs));\n const el = {\n tagName,\n nodeType: 1,\n getAttribute: (name: string) => attrMap.get(name) ?? null,\n setAttribute: (name: string, value: string) => {\n attrMap.set(name, value);\n },\n hasAttribute: (name: string) => attrMap.has(name),\n removeAttribute: (name: string) => {\n attrMap.delete(name);\n },\n attributes: Array.from(attrMap.entries()).map(([name, value]) => ({\n name,\n value,\n })),\n } as unknown as HTMLElement;\n return el;\n}\n\n/** Build a minimal submit-like event wrapping a `<form>` FormData payload. */\nexport function createMockSubmitEvent(form: HTMLFormElement | Record<string, string>): Event {\n let target: HTMLFormElement;\n if (typeof HTMLFormElement !== \"undefined\" && form instanceof HTMLFormElement) {\n target = form;\n } else {\n target = createMockFormElement(form as unknown as Record<string, string>);\n }\n let defaultPrevented = false;\n return {\n type: \"submit\",\n target,\n currentTarget: target,\n preventDefault() {\n defaultPrevented = true;\n },\n stopPropagation() {\n /* noop */\n },\n get defaultPrevented() {\n return defaultPrevented;\n },\n } as unknown as Event;\n}\n\nfunction createMockFormElement(fields: Record<string, string>): HTMLFormElement {\n return {\n nodeType: 1,\n tagName: \"FORM\",\n elements: Object.entries(fields).map(([name, value]) => ({\n name,\n value,\n })),\n } as unknown as HTMLFormElement;\n}\n\n/**\n * Shallow-merged partial stores. Callers typically pass signal-backed fakes.\n */\nexport function createMockStores<TStores extends object>(partial: Partial<TStores> = {}): TStores {\n return partial as unknown as TStores;\n}\n\n/**\n * Run a handler in isolation. Useful for unit-testing action logic without\n * wiring the full document event delegation.\n */\nexport async function runAction<TStores>(\n registry: ActionRegistry<TStores>,\n action: string,\n ctx: Partial<ActionContext<TStores>> & { stores: TStores }\n): Promise<void> {\n const handler: ActionHandler<TStores> | undefined = registry[action];\n if (!handler) {\n throw new Error(`No handler registered for action \"${action}\"`);\n }\n const fullCtx: ActionContext<TStores> = {\n stores: ctx.stores,\n event: ctx.event ?? new Event(\"click\"),\n element: ctx.element ?? createMockElement(),\n data: ctx.data ?? {},\n };\n await handler(fullCtx);\n}\n"
|
|
11
11
|
],
|
|
12
|
-
"mappings": "
|
|
13
|
-
"debugId": "
|
|
12
|
+
"mappings": "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",
|
|
13
|
+
"debugId": "7803ACFB4B63625C64756E2164756E21",
|
|
14
14
|
"names": []
|
|
15
15
|
}
|
|
@@ -18,7 +18,7 @@ var __toESM = (mod, isNodeMode, target) => {
|
|
|
18
18
|
return cached;
|
|
19
19
|
}
|
|
20
20
|
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
|
-
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
21
|
+
const to = isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
22
|
if (mod && typeof mod === "object" || typeof mod === "function") {
|
|
23
23
|
for (let key of __getOwnPropNames(mod))
|
|
24
24
|
if (!__hasOwnProp.call(to, key))
|
|
@@ -62,14 +62,17 @@ var __export = (target, all) => {
|
|
|
62
62
|
set: __exportSetter.bind(all, name)
|
|
63
63
|
});
|
|
64
64
|
};
|
|
65
|
-
var __esm = (fn, res) => () =>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
var __esm = (fn, res, err) => () => {
|
|
66
|
+
if (fn)
|
|
67
|
+
try {
|
|
68
|
+
res = fn(fn = 0);
|
|
69
|
+
} catch (e) {
|
|
70
|
+
err = [e];
|
|
71
|
+
}
|
|
72
|
+
if (err)
|
|
73
|
+
throw err[0];
|
|
74
|
+
return res;
|
|
75
|
+
};
|
|
73
76
|
|
|
74
77
|
// src/shared/lib/idb-helpers.ts
|
|
75
78
|
function openIDB(options, openFn = defaultOpenFn) {
|
|
@@ -167,14 +170,6 @@ var init_idb_helpers = __esm(() => {
|
|
|
167
170
|
});
|
|
168
171
|
|
|
169
172
|
// src/shared/lib/storage-adapter.ts
|
|
170
|
-
var exports_storage_adapter = {};
|
|
171
|
-
__export(exports_storage_adapter, {
|
|
172
|
-
ChromeStorageAdapter: () => ChromeStorageAdapter2,
|
|
173
|
-
IndexedDBAdapter: () => IndexedDBAdapter,
|
|
174
|
-
MemoryStorageAdapter: () => MemoryStorageAdapter,
|
|
175
|
-
createStorageAdapter: () => createStorageAdapter
|
|
176
|
-
});
|
|
177
|
-
|
|
178
173
|
class IndexedDBAdapter {
|
|
179
174
|
dbName;
|
|
180
175
|
storeName = "state";
|
|
@@ -306,14 +301,6 @@ var init_storage_adapter = __esm(() => {
|
|
|
306
301
|
});
|
|
307
302
|
|
|
308
303
|
// src/shared/lib/sync-adapter.ts
|
|
309
|
-
var exports_sync_adapter = {};
|
|
310
|
-
__export(exports_sync_adapter, {
|
|
311
|
-
BroadcastChannelSyncAdapter: () => BroadcastChannelSyncAdapter,
|
|
312
|
-
ChromeRuntimeSyncAdapter: () => ChromeRuntimeSyncAdapter,
|
|
313
|
-
NoOpSyncAdapter: () => NoOpSyncAdapter,
|
|
314
|
-
createSyncAdapter: () => createSyncAdapter
|
|
315
|
-
});
|
|
316
|
-
|
|
317
304
|
class NoOpSyncAdapter {
|
|
318
305
|
broadcast(_message) {}
|
|
319
306
|
onMessage(_callback) {
|
|
@@ -442,16 +429,6 @@ function createSyncAdapter() {
|
|
|
442
429
|
}
|
|
443
430
|
|
|
444
431
|
// src/shared/lib/constraints.ts
|
|
445
|
-
var exports_constraints = {};
|
|
446
|
-
__export(exports_constraints, {
|
|
447
|
-
checkPostconditions: () => checkPostconditions,
|
|
448
|
-
checkPreconditions: () => checkPreconditions,
|
|
449
|
-
clearConstraints: () => clearConstraints,
|
|
450
|
-
getRegisteredConstraints: () => getRegisteredConstraints,
|
|
451
|
-
isRuntimeConstraintsEnabled: () => isRuntimeConstraintsEnabled,
|
|
452
|
-
registerConstraint: () => registerConstraint,
|
|
453
|
-
registerConstraints: () => registerConstraints
|
|
454
|
-
});
|
|
455
432
|
function registerConstraint(field, messageType, constraint) {
|
|
456
433
|
if (!registry.has(field)) {
|
|
457
434
|
registry.set(field, new Map);
|
|
@@ -508,9 +485,6 @@ function checkPostconditions(messageType, state) {
|
|
|
508
485
|
function clearConstraints() {
|
|
509
486
|
registry.clear();
|
|
510
487
|
}
|
|
511
|
-
function getRegisteredConstraints() {
|
|
512
|
-
return new Map(registry);
|
|
513
|
-
}
|
|
514
488
|
function isRuntimeConstraintsEnabled() {
|
|
515
489
|
if (typeof process !== "undefined" && process.env) {
|
|
516
490
|
return process.env["POLLY_RUNTIME_CONSTRAINTS"] === "true";
|
|
@@ -820,42 +794,42 @@ function createStateAdapters(options = {}) {
|
|
|
820
794
|
if (options.sync) {
|
|
821
795
|
sync = options.sync;
|
|
822
796
|
} else if (options.singleTab) {
|
|
823
|
-
|
|
824
|
-
sync = new
|
|
797
|
+
;
|
|
798
|
+
sync = new NoOpSyncAdapter;
|
|
825
799
|
} else {
|
|
826
800
|
sync = createSyncAdapter();
|
|
827
801
|
}
|
|
828
802
|
return { storage, sync };
|
|
829
803
|
}
|
|
830
804
|
function createChromeAdapters() {
|
|
831
|
-
|
|
832
|
-
|
|
805
|
+
init_storage_adapter();
|
|
806
|
+
;
|
|
833
807
|
return {
|
|
834
|
-
storage: new
|
|
835
|
-
sync: new
|
|
808
|
+
storage: new ChromeStorageAdapter2,
|
|
809
|
+
sync: new ChromeRuntimeSyncAdapter
|
|
836
810
|
};
|
|
837
811
|
}
|
|
838
812
|
function createWebAdapters(options = {}) {
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
const storage = new
|
|
842
|
-
const sync = options.singleTab ? new
|
|
813
|
+
init_storage_adapter();
|
|
814
|
+
;
|
|
815
|
+
const storage = new IndexedDBAdapter(options.dbName);
|
|
816
|
+
const sync = options.singleTab ? new NoOpSyncAdapter : new BroadcastChannelSyncAdapter(options.channelName);
|
|
843
817
|
return { storage, sync };
|
|
844
818
|
}
|
|
845
819
|
function createNodeAdapters() {
|
|
846
|
-
|
|
847
|
-
|
|
820
|
+
init_storage_adapter();
|
|
821
|
+
;
|
|
848
822
|
return {
|
|
849
|
-
storage: new
|
|
850
|
-
sync: new
|
|
823
|
+
storage: new MemoryStorageAdapter,
|
|
824
|
+
sync: new NoOpSyncAdapter
|
|
851
825
|
};
|
|
852
826
|
}
|
|
853
827
|
function createMockAdapters() {
|
|
854
|
-
|
|
855
|
-
|
|
828
|
+
init_storage_adapter();
|
|
829
|
+
;
|
|
856
830
|
return {
|
|
857
|
-
storage: new
|
|
858
|
-
sync: new
|
|
831
|
+
storage: new MemoryStorageAdapter,
|
|
832
|
+
sync: new NoOpSyncAdapter
|
|
859
833
|
};
|
|
860
834
|
}
|
|
861
835
|
|
|
@@ -898,89 +872,6 @@ var defaultSettings = {
|
|
|
898
872
|
refreshInterval: 60000
|
|
899
873
|
};
|
|
900
874
|
|
|
901
|
-
// src/shared/lib/errors.ts
|
|
902
|
-
class ExtensionError extends Error {
|
|
903
|
-
code;
|
|
904
|
-
context;
|
|
905
|
-
constructor(message, code, context) {
|
|
906
|
-
super(message);
|
|
907
|
-
this.code = code;
|
|
908
|
-
this.context = context;
|
|
909
|
-
this.name = this.constructor.name;
|
|
910
|
-
Error.captureStackTrace?.(this, this.constructor);
|
|
911
|
-
}
|
|
912
|
-
}
|
|
913
|
-
|
|
914
|
-
class TimeoutError extends ExtensionError {
|
|
915
|
-
timeoutMs;
|
|
916
|
-
constructor(message, timeoutMs, context) {
|
|
917
|
-
super(message, "TIMEOUT_ERROR", { ...context, timeoutMs });
|
|
918
|
-
this.timeoutMs = timeoutMs;
|
|
919
|
-
}
|
|
920
|
-
}
|
|
921
|
-
|
|
922
|
-
class ConnectionError extends ExtensionError {
|
|
923
|
-
constructor(message, context) {
|
|
924
|
-
super(message, "CONNECTION_ERROR", context);
|
|
925
|
-
}
|
|
926
|
-
}
|
|
927
|
-
|
|
928
|
-
class MessageRouterError extends ExtensionError {
|
|
929
|
-
constructor(message, context) {
|
|
930
|
-
super(message, "MESSAGE_ROUTER_ERROR", context);
|
|
931
|
-
}
|
|
932
|
-
}
|
|
933
|
-
|
|
934
|
-
class HandlerError extends ExtensionError {
|
|
935
|
-
messageType;
|
|
936
|
-
constructor(message, messageType, context) {
|
|
937
|
-
super(message, "HANDLER_ERROR", { ...context, messageType });
|
|
938
|
-
this.messageType = messageType;
|
|
939
|
-
}
|
|
940
|
-
}
|
|
941
|
-
|
|
942
|
-
class APIError extends ExtensionError {
|
|
943
|
-
statusCode;
|
|
944
|
-
constructor(message, statusCode, context) {
|
|
945
|
-
super(message, "API_ERROR", { ...context, statusCode });
|
|
946
|
-
this.statusCode = statusCode;
|
|
947
|
-
}
|
|
948
|
-
}
|
|
949
|
-
|
|
950
|
-
class OffscreenError extends ExtensionError {
|
|
951
|
-
constructor(message, context) {
|
|
952
|
-
super(message, "OFFSCREEN_ERROR", context);
|
|
953
|
-
}
|
|
954
|
-
}
|
|
955
|
-
|
|
956
|
-
class ErrorHandler {
|
|
957
|
-
logger;
|
|
958
|
-
constructor(logger2) {
|
|
959
|
-
this.logger = logger2;
|
|
960
|
-
}
|
|
961
|
-
throw(error) {
|
|
962
|
-
this.logger.error(error.message, error, error.context);
|
|
963
|
-
throw error;
|
|
964
|
-
}
|
|
965
|
-
reject(error) {
|
|
966
|
-
this.logger.error(error.message, error, error.context);
|
|
967
|
-
return error;
|
|
968
|
-
}
|
|
969
|
-
wrap(error, message, code, context) {
|
|
970
|
-
const originalError = error instanceof Error ? error : new Error(String(error));
|
|
971
|
-
const wrappedError = new ExtensionError(`${message}: ${originalError.message}`, code, {
|
|
972
|
-
...context,
|
|
973
|
-
originalError: originalError.message,
|
|
974
|
-
originalStack: originalError.stack
|
|
975
|
-
});
|
|
976
|
-
if (originalError.stack) {
|
|
977
|
-
wrappedError.stack = originalError.stack;
|
|
978
|
-
}
|
|
979
|
-
this.logger.error(wrappedError.message, wrappedError, wrappedError.context);
|
|
980
|
-
return wrappedError;
|
|
981
|
-
}
|
|
982
|
-
}
|
|
983
|
-
|
|
984
875
|
// src/shared/lib/context-specific-helpers.ts
|
|
985
876
|
function createContentScriptHelpers() {
|
|
986
877
|
return {
|
|
@@ -1083,8 +974,8 @@ function createDevToolsHelpers() {
|
|
|
1083
974
|
function createPopupHelpers(adapters) {
|
|
1084
975
|
return {
|
|
1085
976
|
async getCurrentTab() {
|
|
1086
|
-
const
|
|
1087
|
-
return
|
|
977
|
+
const tabs = await adapters.tabs.query({ active: true, currentWindow: true });
|
|
978
|
+
return tabs[0];
|
|
1088
979
|
},
|
|
1089
980
|
closePopup() {
|
|
1090
981
|
window.close();
|
|
@@ -1147,8 +1038,8 @@ function createOptionsHelpers(adapters) {
|
|
|
1147
1038
|
function createSidePanelHelpers(adapters) {
|
|
1148
1039
|
return {
|
|
1149
1040
|
async getCurrentTab() {
|
|
1150
|
-
const
|
|
1151
|
-
return
|
|
1041
|
+
const tabs = await adapters.tabs.query({ active: true, currentWindow: true });
|
|
1042
|
+
return tabs[0];
|
|
1152
1043
|
},
|
|
1153
1044
|
isVisible() {
|
|
1154
1045
|
return document.visibilityState === "visible";
|
|
@@ -1179,6 +1070,89 @@ function createBackgroundHelpers(adapters) {
|
|
|
1179
1070
|
};
|
|
1180
1071
|
}
|
|
1181
1072
|
|
|
1073
|
+
// src/shared/lib/errors.ts
|
|
1074
|
+
class ExtensionError extends Error {
|
|
1075
|
+
code;
|
|
1076
|
+
context;
|
|
1077
|
+
constructor(message, code, context) {
|
|
1078
|
+
super(message);
|
|
1079
|
+
this.code = code;
|
|
1080
|
+
this.context = context;
|
|
1081
|
+
this.name = this.constructor.name;
|
|
1082
|
+
Error.captureStackTrace?.(this, this.constructor);
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
class TimeoutError extends ExtensionError {
|
|
1087
|
+
timeoutMs;
|
|
1088
|
+
constructor(message, timeoutMs, context) {
|
|
1089
|
+
super(message, "TIMEOUT_ERROR", { ...context, timeoutMs });
|
|
1090
|
+
this.timeoutMs = timeoutMs;
|
|
1091
|
+
}
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
class ConnectionError extends ExtensionError {
|
|
1095
|
+
constructor(message, context) {
|
|
1096
|
+
super(message, "CONNECTION_ERROR", context);
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
class MessageRouterError extends ExtensionError {
|
|
1101
|
+
constructor(message, context) {
|
|
1102
|
+
super(message, "MESSAGE_ROUTER_ERROR", context);
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
class HandlerError extends ExtensionError {
|
|
1107
|
+
messageType;
|
|
1108
|
+
constructor(message, messageType, context) {
|
|
1109
|
+
super(message, "HANDLER_ERROR", { ...context, messageType });
|
|
1110
|
+
this.messageType = messageType;
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
class APIError extends ExtensionError {
|
|
1115
|
+
statusCode;
|
|
1116
|
+
constructor(message, statusCode, context) {
|
|
1117
|
+
super(message, "API_ERROR", { ...context, statusCode });
|
|
1118
|
+
this.statusCode = statusCode;
|
|
1119
|
+
}
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
class OffscreenError extends ExtensionError {
|
|
1123
|
+
constructor(message, context) {
|
|
1124
|
+
super(message, "OFFSCREEN_ERROR", context);
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
class ErrorHandler {
|
|
1129
|
+
logger;
|
|
1130
|
+
constructor(logger) {
|
|
1131
|
+
this.logger = logger;
|
|
1132
|
+
}
|
|
1133
|
+
throw(error) {
|
|
1134
|
+
this.logger.error(error.message, error, error.context);
|
|
1135
|
+
throw error;
|
|
1136
|
+
}
|
|
1137
|
+
reject(error) {
|
|
1138
|
+
this.logger.error(error.message, error, error.context);
|
|
1139
|
+
return error;
|
|
1140
|
+
}
|
|
1141
|
+
wrap(error, message, code, context) {
|
|
1142
|
+
const originalError = error instanceof Error ? error : new Error(String(error));
|
|
1143
|
+
const wrappedError = new ExtensionError(`${message}: ${originalError.message}`, code, {
|
|
1144
|
+
...context,
|
|
1145
|
+
originalError: originalError.message,
|
|
1146
|
+
originalStack: originalError.stack
|
|
1147
|
+
});
|
|
1148
|
+
if (originalError.stack) {
|
|
1149
|
+
wrappedError.stack = originalError.stack;
|
|
1150
|
+
}
|
|
1151
|
+
this.logger.error(wrappedError.message, wrappedError, wrappedError.context);
|
|
1152
|
+
return wrappedError;
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1182
1156
|
// src/shared/lib/handler-execution-tracker.ts
|
|
1183
1157
|
class HandlerExecutionTracker {
|
|
1184
1158
|
executions = new Map;
|
|
@@ -1353,8 +1327,8 @@ class MessageBus {
|
|
|
1353
1327
|
return this.send(payload, { ...options, target: "content", tabId });
|
|
1354
1328
|
}
|
|
1355
1329
|
async sendToAllTabs(payload, options) {
|
|
1356
|
-
const
|
|
1357
|
-
return Promise.all(
|
|
1330
|
+
const tabs = await this.adapters.tabs.query({});
|
|
1331
|
+
return Promise.all(tabs.map((tab) => tab.id ? this.sendToContentScript(tab.id, payload, options) : Promise.resolve(undefined)));
|
|
1358
1332
|
}
|
|
1359
1333
|
async sendToPopup(payload, options) {
|
|
1360
1334
|
return this.send(payload, { ...options, target: "popup" });
|
|
@@ -1505,10 +1479,10 @@ class MessageBus {
|
|
|
1505
1479
|
globalExecutionTracker.track(message.id, message.payload.type);
|
|
1506
1480
|
if (this.stateAccessor) {
|
|
1507
1481
|
try {
|
|
1508
|
-
|
|
1509
|
-
if (
|
|
1482
|
+
await Promise.resolve().then(() => init_constraints());
|
|
1483
|
+
if (isRuntimeConstraintsEnabled()) {
|
|
1510
1484
|
const currentState = this.stateAccessor();
|
|
1511
|
-
|
|
1485
|
+
checkPreconditions(message.payload.type, currentState);
|
|
1512
1486
|
}
|
|
1513
1487
|
} catch (error) {
|
|
1514
1488
|
if (error instanceof Error) {
|
|
@@ -1526,10 +1500,10 @@ class MessageBus {
|
|
|
1526
1500
|
const data = await handler(message.payload, message);
|
|
1527
1501
|
if (this.stateAccessor) {
|
|
1528
1502
|
try {
|
|
1529
|
-
|
|
1530
|
-
if (
|
|
1503
|
+
await Promise.resolve().then(() => init_constraints());
|
|
1504
|
+
if (isRuntimeConstraintsEnabled()) {
|
|
1531
1505
|
const currentState = this.stateAccessor();
|
|
1532
|
-
|
|
1506
|
+
checkPostconditions(message.payload.type, currentState);
|
|
1533
1507
|
}
|
|
1534
1508
|
} catch (error) {
|
|
1535
1509
|
if (error instanceof Error && error.message.includes("Postcondition")) {
|
|
@@ -1989,4 +1963,4 @@ export {
|
|
|
1989
1963
|
getMessageBus
|
|
1990
1964
|
};
|
|
1991
1965
|
|
|
1992
|
-
//# debugId=
|
|
1966
|
+
//# debugId=9D9F4798923799B264756E2164756E21
|