adnbn 0.6.0 → 0.7.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/builders/csp/AbstractCsp.d.ts +9 -0
- package/dist/cli/builders/csp/AbstractCsp.js +26 -0
- package/dist/cli/builders/csp/AbstractCsp.js.map +1 -0
- package/dist/cli/builders/csp/Csp.d.ts +8 -0
- package/dist/cli/builders/csp/Csp.js +39 -0
- package/dist/cli/builders/csp/Csp.js.map +1 -0
- package/dist/cli/builders/csp/SandboxCsp.d.ts +11 -0
- package/dist/cli/builders/csp/SandboxCsp.js +62 -0
- package/dist/cli/builders/csp/SandboxCsp.js.map +1 -0
- package/dist/cli/builders/csp/index.d.ts +3 -0
- package/dist/cli/builders/csp/index.js +7 -0
- package/dist/cli/builders/csp/index.js.map +1 -0
- package/dist/cli/builders/csp/types.d.ts +4 -0
- package/dist/cli/builders/csp/types.js +1 -0
- package/dist/cli/builders/csp/types.js.map +1 -0
- package/dist/cli/builders/manifest/ManifestBase.d.ts +16 -1
- package/dist/cli/builders/manifest/ManifestBase.js +49 -0
- package/dist/cli/builders/manifest/ManifestBase.js.map +1 -1
- package/dist/cli/builders/manifest/ManifestV2.d.ts +2 -0
- package/dist/cli/builders/manifest/ManifestV2.js +31 -1
- package/dist/cli/builders/manifest/ManifestV2.js.map +1 -1
- package/dist/cli/builders/manifest/ManifestV3.d.ts +2 -0
- package/dist/cli/builders/manifest/ManifestV3.js +67 -0
- package/dist/cli/builders/manifest/ManifestV3.js.map +1 -1
- package/dist/cli/entrypoint/file/injectors/core.js +26 -0
- package/dist/cli/entrypoint/file/injectors/core.js.map +1 -1
- package/dist/cli/entrypoint/file/parsers/TypeResolver.d.ts +4 -0
- package/dist/cli/entrypoint/file/parsers/TypeResolver.js +7 -1
- package/dist/cli/entrypoint/file/parsers/TypeResolver.js.map +1 -1
- package/dist/cli/entrypoint/file/resolvers/ImportResolver.js +1 -1
- package/dist/cli/entrypoint/file/resolvers/ImportResolver.js.map +1 -1
- package/dist/cli/entrypoint/finder/OffscreenViewFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/OffscreenViewFinder.js +2 -2
- package/dist/cli/entrypoint/finder/OffscreenViewFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/PageFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/PageFinder.js +3 -3
- package/dist/cli/entrypoint/finder/PageFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/PopupFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/PopupFinder.js +2 -2
- package/dist/cli/entrypoint/finder/PopupFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/SandboxFinder.d.ts +11 -0
- package/dist/cli/entrypoint/finder/SandboxFinder.js +25 -0
- package/dist/cli/entrypoint/finder/SandboxFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/SandboxViewFinder.d.ts +15 -0
- package/dist/cli/entrypoint/finder/SandboxViewFinder.js +33 -0
- package/dist/cli/entrypoint/finder/SandboxViewFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/SidebarFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/SidebarFinder.js +2 -2
- package/dist/cli/entrypoint/finder/SidebarFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/ViewCspFinder.d.ts +11 -0
- package/dist/cli/entrypoint/finder/ViewCspFinder.js +24 -0
- package/dist/cli/entrypoint/finder/ViewCspFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/index.d.ts +3 -0
- package/dist/cli/entrypoint/finder/index.js +34 -28
- package/dist/cli/entrypoint/finder/index.js.map +1 -1
- package/dist/cli/entrypoint/parser/OffscreenParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/OffscreenParser.js +2 -2
- package/dist/cli/entrypoint/parser/OffscreenParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/PageParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/PageParser.js +2 -2
- package/dist/cli/entrypoint/parser/PageParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/PopupParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/PopupParser.js +2 -2
- package/dist/cli/entrypoint/parser/PopupParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/SandboxParser.d.ts +7 -0
- package/dist/cli/entrypoint/parser/SandboxParser.js +42 -0
- package/dist/cli/entrypoint/parser/SandboxParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/SidebarParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/SidebarParser.js +2 -2
- package/dist/cli/entrypoint/parser/SidebarParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/ViewCspParser.d.ts +9 -0
- package/dist/cli/entrypoint/parser/ViewCspParser.js +26 -0
- package/dist/cli/entrypoint/parser/ViewCspParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/ViewParser.d.ts +80 -80
- package/dist/cli/entrypoint/parser/index.d.ts +1 -0
- package/dist/cli/entrypoint/parser/index.js +8 -6
- package/dist/cli/entrypoint/parser/index.js.map +1 -1
- package/dist/cli/plugins/index.d.ts +2 -1
- package/dist/cli/plugins/index.js +14 -12
- package/dist/cli/plugins/index.js.map +1 -1
- package/dist/cli/plugins/offscreen/index.js +1 -0
- package/dist/cli/plugins/offscreen/index.js.map +1 -1
- package/dist/cli/plugins/page/index.js +1 -1
- package/dist/cli/plugins/page/index.js.map +1 -1
- package/dist/cli/plugins/popup/index.js +1 -1
- package/dist/cli/plugins/popup/index.js.map +1 -1
- package/dist/cli/plugins/sandbox/Sandbox.d.ts +15 -0
- package/dist/cli/plugins/sandbox/Sandbox.js +52 -0
- package/dist/cli/plugins/sandbox/Sandbox.js.map +1 -0
- package/dist/cli/plugins/sandbox/SandboxDeclaration.d.ts +5 -0
- package/dist/cli/plugins/sandbox/SandboxDeclaration.js +10 -0
- package/dist/cli/plugins/sandbox/SandboxDeclaration.js.map +1 -0
- package/dist/cli/plugins/sandbox/index.d.ts +2 -0
- package/dist/cli/plugins/sandbox/index.js +63 -0
- package/dist/cli/plugins/sandbox/index.js.map +1 -0
- package/dist/cli/plugins/sidebar/index.js +1 -0
- package/dist/cli/plugins/sidebar/index.js.map +1 -1
- package/dist/cli/plugins/style/index.d.ts +2 -0
- package/dist/cli/plugins/{style.js → style/index.js} +18 -21
- package/dist/cli/plugins/style/index.js.map +1 -0
- package/dist/cli/plugins/style/utils.d.ts +1 -0
- package/dist/cli/plugins/style/utils.js +86 -0
- package/dist/cli/plugins/style/utils.js.map +1 -0
- package/dist/cli/plugins/typescript/declaration/transport/TransportDeclaration.d.ts +2 -1
- package/dist/cli/plugins/typescript/declaration/transport/TransportDeclaration.js +2 -3
- package/dist/cli/plugins/typescript/declaration/transport/TransportDeclaration.js.map +1 -1
- package/dist/cli/plugins/typescript/declaration/transport/transport.d.ts +5 -11
- package/dist/cli/resolvers/config.js +4 -0
- package/dist/cli/resolvers/config.js.map +1 -1
- package/dist/cli/virtual/index.d.ts +1 -0
- package/dist/cli/virtual/index.js +8 -1
- package/dist/cli/virtual/sandbox.d.ts +1 -0
- package/dist/cli/virtual/virtual.d.ts +27 -0
- package/dist/entry/sandbox/Builder.d.ts +15 -0
- package/dist/entry/sandbox/Builder.js +51 -0
- package/dist/entry/sandbox/Builder.js.map +1 -0
- package/dist/entry/sandbox/TransportBuilder.d.ts +8 -0
- package/dist/entry/sandbox/TransportBuilder.js +15 -0
- package/dist/entry/sandbox/TransportBuilder.js.map +1 -0
- package/dist/entry/sandbox/index.d.ts +2 -0
- package/dist/entry/sandbox/index.js +7 -0
- package/dist/entry/sandbox/index.js.map +1 -0
- package/dist/frame/ReadyFrame.d.ts +25 -0
- package/dist/frame/ReadyFrame.js +86 -0
- package/dist/frame/ReadyFrame.js.map +1 -0
- package/dist/frame/index.d.ts +2 -0
- package/dist/frame/index.js +5 -0
- package/dist/frame/index.js.map +1 -0
- package/dist/main/csp.d.ts +2 -0
- package/dist/main/csp.js +5 -0
- package/dist/main/csp.js.map +1 -0
- package/dist/main/index.d.ts +2 -0
- package/dist/main/index.js +2 -0
- package/dist/main/index.js.map +1 -1
- package/dist/main/offscreen.d.ts +3 -3
- package/dist/main/offscreen.js.map +1 -1
- package/dist/main/relay.d.ts +3 -3
- package/dist/main/relay.js.map +1 -1
- package/dist/main/sandbox.d.ts +9 -0
- package/dist/main/sandbox.js +29 -0
- package/dist/main/sandbox.js.map +1 -0
- package/dist/main/service.d.ts +3 -3
- package/dist/main/service.js.map +1 -1
- package/dist/message/MessageManager.d.ts +2 -0
- package/dist/message/MessageManager.js +21 -5
- package/dist/message/MessageManager.js.map +1 -1
- package/dist/message/error.d.ts +12 -0
- package/dist/message/error.js +55 -0
- package/dist/message/error.js.map +1 -0
- package/dist/message/providers/Message.d.ts +5 -0
- package/dist/message/providers/Message.js +44 -12
- package/dist/message/providers/Message.js.map +1 -1
- package/dist/offscreen/OffscreenBridge.d.ts +1 -3
- package/dist/offscreen/OffscreenBridge.js +12 -56
- package/dist/offscreen/OffscreenBridge.js.map +1 -1
- package/dist/offscreen/index.d.ts +8 -3
- package/dist/offscreen/index.js.map +1 -1
- package/dist/relay/index.d.ts +8 -3
- package/dist/relay/index.js.map +1 -1
- package/dist/sandbox/SandboxFrame.d.ts +6 -0
- package/dist/sandbox/SandboxFrame.js +31 -0
- package/dist/sandbox/SandboxFrame.js.map +1 -0
- package/dist/sandbox/SandboxManager.d.ts +5 -0
- package/dist/sandbox/SandboxManager.js +12 -0
- package/dist/sandbox/SandboxManager.js.map +1 -0
- package/dist/sandbox/SandboxMessage.d.ts +30 -0
- package/dist/sandbox/SandboxMessage.js +127 -0
- package/dist/sandbox/SandboxMessage.js.map +1 -0
- package/dist/sandbox/index.d.ts +7 -0
- package/dist/sandbox/index.js +6 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/sandbox/ports/SandboxHost.d.ts +21 -0
- package/dist/sandbox/ports/SandboxHost.js +58 -0
- package/dist/sandbox/ports/SandboxHost.js.map +1 -0
- package/dist/sandbox/ports/SandboxInner.d.ts +17 -0
- package/dist/sandbox/ports/SandboxInner.js +45 -0
- package/dist/sandbox/ports/SandboxInner.js.map +1 -0
- package/dist/sandbox/ports/SandboxMemory.d.ts +4 -0
- package/dist/sandbox/ports/SandboxMemory.js +42 -0
- package/dist/sandbox/ports/SandboxMemory.js.map +1 -0
- package/dist/sandbox/ports/index.d.ts +3 -0
- package/dist/sandbox/ports/index.js +9 -0
- package/dist/sandbox/ports/index.js.map +1 -0
- package/dist/sandbox/providers/ProxySandbox.d.ts +10 -0
- package/dist/sandbox/providers/ProxySandbox.js +20 -0
- package/dist/sandbox/providers/ProxySandbox.js.map +1 -0
- package/dist/sandbox/providers/RegisterSandbox.d.ts +9 -0
- package/dist/sandbox/providers/RegisterSandbox.js +28 -0
- package/dist/sandbox/providers/RegisterSandbox.js.map +1 -0
- package/dist/sandbox/providers/index.d.ts +2 -0
- package/dist/sandbox/providers/index.js +7 -0
- package/dist/sandbox/providers/index.js.map +1 -0
- package/dist/sandbox/utils.d.ts +4 -0
- package/dist/sandbox/utils.js +10 -0
- package/dist/sandbox/utils.js.map +1 -0
- package/dist/service/index.d.ts +8 -3
- package/dist/service/index.js.map +1 -1
- package/dist/transport/RegisterTransport.d.ts +4 -2
- package/dist/transport/RegisterTransport.js +8 -1
- package/dist/transport/RegisterTransport.js.map +1 -1
- package/dist/transport/TransportMessage.d.ts +1 -1
- package/dist/transport/TransportMessage.js +1 -1
- package/dist/transport/TransportMessage.js.map +1 -1
- package/dist/transport/index.d.ts +4 -1
- package/dist/types/config.d.ts +7 -0
- package/dist/types/csp.d.ts +34 -0
- package/dist/types/csp.js +12 -0
- package/dist/types/csp.js.map +1 -0
- package/dist/types/entrypoint.d.ts +2 -1
- package/dist/types/entrypoint.js +1 -0
- package/dist/types/entrypoint.js.map +1 -1
- package/dist/types/manifest.d.ts +10 -0
- package/dist/types/manifest.js.map +1 -1
- package/dist/types/message.d.ts +15 -0
- package/dist/types/message.js +2 -0
- package/dist/types/message.js.map +1 -1
- package/dist/types/offscreen.d.ts +2 -1
- package/dist/types/offscreen.js.map +1 -1
- package/dist/types/page.d.ts +2 -1
- package/dist/types/plugin.d.ts +2 -1
- package/dist/types/popup.d.ts +2 -1
- package/dist/types/sandbox.d.ts +97 -0
- package/dist/types/sandbox.js +34 -0
- package/dist/types/sandbox.js.map +1 -0
- package/dist/types/sidebar.d.ts +2 -1
- package/dist/types/sidebar.js.map +1 -1
- package/dist/types/transport.d.ts +6 -2
- package/package.json +7 -1
- package/dist/cli/plugins/style.d.ts +0 -2
- package/dist/cli/plugins/style.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -67,6 +67,17 @@ declare module "virtual:relay-entrypoint" {
|
|
|
67
67
|
export = module;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
+
declare module "virtual:sandbox-entrypoint" {
|
|
71
|
+
type SandboxDefinition = import("../../types/sandbox.js").SandboxDefinition<any>;
|
|
72
|
+
|
|
73
|
+
interface ModuleType extends SandboxDefinition {
|
|
74
|
+
default: SandboxDefinition | SandboxDefinition["init"] | undefined;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const module: ModuleType;
|
|
78
|
+
export = module;
|
|
79
|
+
}
|
|
80
|
+
|
|
70
81
|
declare module "virtual:relay-framework" {
|
|
71
82
|
type RelayUnresolvedDefinition = import("../../types/relay.js").RelayUnresolvedDefinition<any>;
|
|
72
83
|
|
|
@@ -119,6 +130,8 @@ declare module "adnbn" {
|
|
|
119
130
|
import("../../types/offscreen.js").OffscreenUnresolvedDefinition<T>;
|
|
120
131
|
export type RelayUnresolvedDefinition<T extends import("../../types/transport.js").TransportType> =
|
|
121
132
|
import("../../types/relay.js").RelayUnresolvedDefinition<T>;
|
|
133
|
+
export type SandboxUnresolvedDefinition<T extends import("../../types/transport.js").TransportType> =
|
|
134
|
+
import("../../types/sandbox.js").SandboxUnresolvedDefinition<T>;
|
|
122
135
|
}
|
|
123
136
|
|
|
124
137
|
declare module "adnbn/transport" {
|
|
@@ -206,6 +219,20 @@ declare module "adnbn/entry/relay" {
|
|
|
206
219
|
}
|
|
207
220
|
}
|
|
208
221
|
|
|
222
|
+
declare module "adnbn/entry/sandbox" {
|
|
223
|
+
import type {SandboxDefinition, SandboxUnresolvedDefinition} from "../../types/sandbox.js";
|
|
224
|
+
import type {TransportType} from "../../types/transport.js";
|
|
225
|
+
import type {ViewBuilder} from "../../types/view.js";
|
|
226
|
+
|
|
227
|
+
export class Builder {
|
|
228
|
+
constructor(options: SandboxDefinition<TransportType> | SandboxUnresolvedDefinition<TransportType>);
|
|
229
|
+
|
|
230
|
+
view(builder: ViewBuilder): this;
|
|
231
|
+
|
|
232
|
+
build(): Promise<void>;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
209
236
|
declare module "adnbn/offscreen" {
|
|
210
237
|
export class OffscreenBackground {
|
|
211
238
|
build(): void | Promise<void>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import TransportBuilder from "./TransportBuilder.js";
|
|
2
|
+
import Builder from "../core/Builder.js";
|
|
3
|
+
import { SandboxUnresolvedDefinition } from "../../types/sandbox.js";
|
|
4
|
+
import { TransportType } from "../../types/transport.js";
|
|
5
|
+
import { ViewBuilder } from "../../types/view.js";
|
|
6
|
+
export default class<T extends TransportType = TransportType> extends Builder {
|
|
7
|
+
protected readonly _transport: TransportBuilder<T>;
|
|
8
|
+
protected _view?: ViewBuilder;
|
|
9
|
+
private readonly name;
|
|
10
|
+
constructor(definition: SandboxUnresolvedDefinition<T>);
|
|
11
|
+
view(view: ViewBuilder): this;
|
|
12
|
+
build(): Promise<void>;
|
|
13
|
+
destroy(): Promise<void>;
|
|
14
|
+
private ready;
|
|
15
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import TransportBuilder from "./TransportBuilder.js";
|
|
2
|
+
import Builder from "../core/Builder.js";
|
|
3
|
+
import { sandboxChannel } from "./../../sandbox/utils.js";
|
|
4
|
+
import {
|
|
5
|
+
SandboxGlobalAccess,
|
|
6
|
+
SandboxReadyMessageType
|
|
7
|
+
} from "./../../types/sandbox.js";
|
|
8
|
+
class Builder_default extends Builder {
|
|
9
|
+
_transport;
|
|
10
|
+
_view;
|
|
11
|
+
name;
|
|
12
|
+
constructor(definition) {
|
|
13
|
+
super();
|
|
14
|
+
this.name = definition.name;
|
|
15
|
+
this._transport = new TransportBuilder(definition);
|
|
16
|
+
}
|
|
17
|
+
view(view) {
|
|
18
|
+
this._view = view;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
async build() {
|
|
22
|
+
var _a;
|
|
23
|
+
await this.destroy();
|
|
24
|
+
globalThis[SandboxGlobalAccess] = true;
|
|
25
|
+
await this._transport.build();
|
|
26
|
+
await ((_a = this._view) == null ? void 0 : _a.build());
|
|
27
|
+
this.ready();
|
|
28
|
+
}
|
|
29
|
+
async destroy() {
|
|
30
|
+
var _a;
|
|
31
|
+
await this._transport.destroy();
|
|
32
|
+
await ((_a = this._view) == null ? void 0 : _a.destroy());
|
|
33
|
+
}
|
|
34
|
+
ready() {
|
|
35
|
+
if (window.parent === window) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
window.parent.postMessage(
|
|
39
|
+
{
|
|
40
|
+
type: SandboxReadyMessageType,
|
|
41
|
+
channel: sandboxChannel(this.name),
|
|
42
|
+
name: this.name
|
|
43
|
+
},
|
|
44
|
+
"*"
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
Builder_default as default
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=Builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/sandbox/Builder.ts"],"sourcesContent":["import TransportBuilder from \"./TransportBuilder\";\n\nimport Builder from \"../core/Builder\";\n\nimport {sandboxChannel} from \"@sandbox/utils\";\n\nimport {\n SandboxGlobalAccess,\n SandboxReadyMessage,\n SandboxReadyMessageType,\n SandboxUnresolvedDefinition,\n} from \"@typing/sandbox\";\nimport {TransportType} from \"@typing/transport\";\nimport {ViewBuilder} from \"@typing/view\";\n\nexport default class<T extends TransportType = TransportType> extends Builder {\n protected readonly _transport: TransportBuilder<T>;\n\n protected _view?: ViewBuilder;\n\n private readonly name: string;\n\n constructor(definition: SandboxUnresolvedDefinition<T>) {\n super();\n\n this.name = definition.name!;\n this._transport = new TransportBuilder(definition);\n }\n\n public view(view: ViewBuilder): this {\n this._view = view;\n\n return this;\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n globalThis[SandboxGlobalAccess] = true;\n\n await this._transport.build();\n await this._view?.build();\n\n this.ready();\n }\n\n public async destroy(): Promise<void> {\n await this._transport.destroy();\n await this._view?.destroy();\n }\n\n private ready(): void {\n if (window.parent === window) {\n return;\n }\n\n window.parent.postMessage(\n {\n type: SandboxReadyMessageType,\n channel: sandboxChannel(this.name),\n name: this.name,\n } satisfies SandboxReadyMessage,\n \"*\"\n );\n }\n}\n"],"mappings":"AAAA,OAAO,sBAAsB;AAE7B,OAAO,aAAa;AAEpB,SAAQ,sBAAqB;AAE7B;AAAA,EACI;AAAA,EAEA;AAAA,OAEG;AAIP,MAAO,wBAA+D,QAAQ;AAAA,EACvD;AAAA,EAET;AAAA,EAEO;AAAA,EAEjB,YAAY,YAA4C;AACpD,UAAM;AAEN,SAAK,OAAO,WAAW;AACvB,SAAK,aAAa,IAAI,iBAAiB,UAAU;AAAA,EACrD;AAAA,EAEO,KAAK,MAAyB;AACjC,SAAK,QAAQ;AAEb,WAAO;AAAA,EACX;AAAA,EAEA,MAAa,QAAuB;AAnCxC;AAoCQ,UAAM,KAAK,QAAQ;AAEnB,eAAW,mBAAmB,IAAI;AAElC,UAAM,KAAK,WAAW,MAAM;AAC5B,YAAM,UAAK,UAAL,mBAAY;AAElB,SAAK,MAAM;AAAA,EACf;AAAA,EAEA,MAAa,UAAyB;AA9C1C;AA+CQ,UAAM,KAAK,WAAW,QAAQ;AAC9B,YAAM,UAAK,UAAL,mBAAY;AAAA,EACtB;AAAA,EAEQ,QAAc;AAClB,QAAI,OAAO,WAAW,QAAQ;AAC1B;AAAA,IACJ;AAEA,WAAO,OAAO;AAAA,MACV;AAAA,QACI,MAAM;AAAA,QACN,SAAS,eAAe,KAAK,IAAI;AAAA,QACjC,MAAM,KAAK;AAAA,MACf;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import AbstractBuilder from "../transport/AbstractBuilder.js";
|
|
2
|
+
import { RegisterSandbox } from "../../sandbox/providers/index.js";
|
|
3
|
+
import type { SandboxOptions, SandboxUnresolvedDefinition } from "../../types/sandbox.js";
|
|
4
|
+
import type { TransportName, TransportType } from "../../types/transport.js";
|
|
5
|
+
export default class<T extends TransportType = TransportType> extends AbstractBuilder<SandboxOptions, T> {
|
|
6
|
+
constructor(definition: SandboxUnresolvedDefinition<T>);
|
|
7
|
+
protected transport(): RegisterSandbox<TransportName, T, [SandboxOptions]>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import AbstractBuilder from "./../../entry/transport/AbstractBuilder.js";
|
|
2
|
+
import { RegisterSandbox } from "./../../sandbox/providers/index.js";
|
|
3
|
+
class TransportBuilder_default extends AbstractBuilder {
|
|
4
|
+
constructor(definition) {
|
|
5
|
+
super(definition);
|
|
6
|
+
}
|
|
7
|
+
transport() {
|
|
8
|
+
const { name, init } = this.definition;
|
|
9
|
+
return new RegisterSandbox(name, init);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
TransportBuilder_default as default
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=TransportBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/sandbox/TransportBuilder.ts"],"sourcesContent":["import AbstractBuilder from \"@entry/transport/AbstractBuilder\";\n\nimport {RegisterSandbox} from \"@sandbox/providers\";\n\nimport type {SandboxOptions, SandboxUnresolvedDefinition} from \"@typing/sandbox\";\nimport type {TransportName, TransportType} from \"@typing/transport\";\n\nexport default class<T extends TransportType = TransportType> extends AbstractBuilder<SandboxOptions, T> {\n constructor(definition: SandboxUnresolvedDefinition<T>) {\n super(definition);\n }\n\n protected transport(): RegisterSandbox<TransportName, T, [SandboxOptions]> {\n const {name, init} = this.definition;\n\n return new RegisterSandbox(name, init);\n }\n}\n"],"mappings":"AAAA,OAAO,qBAAqB;AAE5B,SAAQ,uBAAsB;AAK9B,MAAO,iCAA+D,gBAAmC;AAAA,EACrG,YAAY,YAA4C;AACpD,UAAM,UAAU;AAAA,EACpB;AAAA,EAEU,YAAiE;AACvE,UAAM,EAAC,MAAM,KAAI,IAAI,KAAK;AAE1B,WAAO,IAAI,gBAAgB,MAAM,IAAI;AAAA,EACzC;AACJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/sandbox/index.ts"],"sourcesContent":["export {default as Builder} from \"./Builder\";\nexport {default as TransportBuilder} from \"./TransportBuilder\";\n"],"mappings":"AAAA,SAAmB,WAAXA,gBAAyB;AACjC,SAAmB,WAAXA,gBAAkC;","names":["default"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface ReadyFrameParams {
|
|
2
|
+
key: string;
|
|
3
|
+
url: string;
|
|
4
|
+
readyTimeout?: number;
|
|
5
|
+
isReady: (event: MessageEvent, frame: HTMLIFrameElement) => boolean;
|
|
6
|
+
readyTimeoutMessage?: (loaded: boolean, readyTimeout: number) => string;
|
|
7
|
+
loadErrorMessage?: () => string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Creates and tracks a hidden iframe that announces readiness via `postMessage`, resolving once
|
|
11
|
+
* the injected `isReady` matcher accepts an inbound message — or rejecting on load error / ready
|
|
12
|
+
* timeout. Concurrent `make` calls for the same `key` share a single creation.
|
|
13
|
+
*
|
|
14
|
+
* The `isReady` matcher is the seam: each caller decides how to recognize and *trust* its own
|
|
15
|
+
* ready signal (a sandboxed frame has an opaque origin and matches by channel/name; a same-origin
|
|
16
|
+
* frame additionally matches by `event.origin`). Keeping that decision out here is what lets one
|
|
17
|
+
* deep module serve both the sandbox and the offscreen-fallback frames.
|
|
18
|
+
*/
|
|
19
|
+
export default class ReadyFrame {
|
|
20
|
+
private readonly frames;
|
|
21
|
+
private readonly pending;
|
|
22
|
+
make(params: ReadyFrameParams): Promise<HTMLIFrameElement>;
|
|
23
|
+
remove(key: string): void;
|
|
24
|
+
private create;
|
|
25
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
const DefaultReadyTimeout = 1e4;
|
|
2
|
+
class ReadyFrame {
|
|
3
|
+
frames = /* @__PURE__ */ new Map();
|
|
4
|
+
pending = /* @__PURE__ */ new Map();
|
|
5
|
+
async make(params) {
|
|
6
|
+
if (typeof window === "undefined" || typeof document === "undefined" || !document.body) {
|
|
7
|
+
throw new Error("A frame can be created only from a page with DOM access.");
|
|
8
|
+
}
|
|
9
|
+
const entry = this.frames.get(params.key);
|
|
10
|
+
if ((entry == null ? void 0 : entry.ready) && entry.element.isConnected && entry.element.contentWindow) {
|
|
11
|
+
return entry.element;
|
|
12
|
+
}
|
|
13
|
+
const pending = this.pending.get(params.key);
|
|
14
|
+
if (pending) {
|
|
15
|
+
return pending;
|
|
16
|
+
}
|
|
17
|
+
const creation = this.create(params);
|
|
18
|
+
this.pending.set(params.key, creation);
|
|
19
|
+
try {
|
|
20
|
+
return await creation;
|
|
21
|
+
} finally {
|
|
22
|
+
this.pending.delete(params.key);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
remove(key) {
|
|
26
|
+
var _a;
|
|
27
|
+
(_a = this.frames.get(key)) == null ? void 0 : _a.element.remove();
|
|
28
|
+
this.frames.delete(key);
|
|
29
|
+
this.pending.delete(key);
|
|
30
|
+
}
|
|
31
|
+
create(params) {
|
|
32
|
+
const { key, url, readyTimeout = DefaultReadyTimeout, isReady } = params;
|
|
33
|
+
return new Promise((resolve, reject) => {
|
|
34
|
+
var _a;
|
|
35
|
+
const existing = (_a = this.frames.get(key)) == null ? void 0 : _a.element;
|
|
36
|
+
const frame = (existing == null ? void 0 : existing.isConnected) ? existing : document.createElement("iframe");
|
|
37
|
+
let loaded = false;
|
|
38
|
+
const cleanup = () => {
|
|
39
|
+
clearTimeout(timeout);
|
|
40
|
+
window.removeEventListener("message", listener);
|
|
41
|
+
frame.onload = null;
|
|
42
|
+
frame.onerror = null;
|
|
43
|
+
};
|
|
44
|
+
const fail = (error) => {
|
|
45
|
+
cleanup();
|
|
46
|
+
frame.remove();
|
|
47
|
+
this.frames.delete(key);
|
|
48
|
+
reject(error);
|
|
49
|
+
};
|
|
50
|
+
const listener = (event) => {
|
|
51
|
+
if (!isReady(event, frame)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
this.frames.set(key, { element: frame, ready: true });
|
|
55
|
+
cleanup();
|
|
56
|
+
resolve(frame);
|
|
57
|
+
};
|
|
58
|
+
const timeout = setTimeout(() => {
|
|
59
|
+
var _a2;
|
|
60
|
+
fail(
|
|
61
|
+
new Error(
|
|
62
|
+
((_a2 = params.readyTimeoutMessage) == null ? void 0 : _a2.call(params, loaded, readyTimeout)) ?? `Frame "${key}" was not ready within ${readyTimeout}ms.`
|
|
63
|
+
)
|
|
64
|
+
);
|
|
65
|
+
}, readyTimeout);
|
|
66
|
+
frame.onload = () => {
|
|
67
|
+
loaded = true;
|
|
68
|
+
};
|
|
69
|
+
frame.onerror = () => {
|
|
70
|
+
var _a2;
|
|
71
|
+
fail(new Error(((_a2 = params.loadErrorMessage) == null ? void 0 : _a2.call(params)) ?? `Frame "${key}" failed to load: ${url}`));
|
|
72
|
+
};
|
|
73
|
+
frame.hidden = true;
|
|
74
|
+
window.addEventListener("message", listener);
|
|
75
|
+
if (!frame.parentElement) {
|
|
76
|
+
frame.src = url;
|
|
77
|
+
document.body.appendChild(frame);
|
|
78
|
+
}
|
|
79
|
+
this.frames.set(key, { element: frame, ready: false });
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
export {
|
|
84
|
+
ReadyFrame as default
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=ReadyFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/frame/ReadyFrame.ts"],"sourcesContent":["export interface ReadyFrameParams {\n key: string;\n url: string;\n readyTimeout?: number;\n isReady: (event: MessageEvent, frame: HTMLIFrameElement) => boolean;\n readyTimeoutMessage?: (loaded: boolean, readyTimeout: number) => string;\n loadErrorMessage?: () => string;\n}\n\nconst DefaultReadyTimeout = 10000;\n\n/**\n * Creates and tracks a hidden iframe that announces readiness via `postMessage`, resolving once\n * the injected `isReady` matcher accepts an inbound message — or rejecting on load error / ready\n * timeout. Concurrent `make` calls for the same `key` share a single creation.\n *\n * The `isReady` matcher is the seam: each caller decides how to recognize and *trust* its own\n * ready signal (a sandboxed frame has an opaque origin and matches by channel/name; a same-origin\n * frame additionally matches by `event.origin`). Keeping that decision out here is what lets one\n * deep module serve both the sandbox and the offscreen-fallback frames.\n */\nexport default class ReadyFrame {\n private readonly frames: Map<string, {element: HTMLIFrameElement; ready: boolean}> = new Map();\n\n private readonly pending: Map<string, Promise<HTMLIFrameElement>> = new Map();\n\n public async make(params: ReadyFrameParams): Promise<HTMLIFrameElement> {\n if (typeof window === \"undefined\" || typeof document === \"undefined\" || !document.body) {\n throw new Error(\"A frame can be created only from a page with DOM access.\");\n }\n\n const entry = this.frames.get(params.key);\n\n if (entry?.ready && entry.element.isConnected && entry.element.contentWindow) {\n return entry.element;\n }\n\n const pending = this.pending.get(params.key);\n\n if (pending) {\n return pending;\n }\n\n const creation = this.create(params);\n\n this.pending.set(params.key, creation);\n\n try {\n return await creation;\n } finally {\n this.pending.delete(params.key);\n }\n }\n\n public remove(key: string): void {\n this.frames.get(key)?.element.remove();\n this.frames.delete(key);\n this.pending.delete(key);\n }\n\n private create(params: ReadyFrameParams): Promise<HTMLIFrameElement> {\n const {key, url, readyTimeout = DefaultReadyTimeout, isReady} = params;\n\n return new Promise((resolve, reject) => {\n const existing = this.frames.get(key)?.element;\n const frame = existing?.isConnected ? existing : document.createElement(\"iframe\");\n\n let loaded = false;\n\n const cleanup = () => {\n clearTimeout(timeout);\n window.removeEventListener(\"message\", listener);\n frame.onload = null;\n frame.onerror = null;\n };\n\n const fail = (error: Error) => {\n cleanup();\n frame.remove();\n this.frames.delete(key);\n reject(error);\n };\n\n const listener = (event: MessageEvent) => {\n if (!isReady(event, frame)) {\n return;\n }\n\n this.frames.set(key, {element: frame, ready: true});\n\n cleanup();\n resolve(frame);\n };\n\n const timeout = setTimeout(() => {\n fail(\n new Error(\n params.readyTimeoutMessage?.(loaded, readyTimeout) ??\n `Frame \"${key}\" was not ready within ${readyTimeout}ms.`\n )\n );\n }, readyTimeout);\n\n frame.onload = () => {\n loaded = true;\n };\n\n frame.onerror = () => {\n fail(new Error(params.loadErrorMessage?.() ?? `Frame \"${key}\" failed to load: ${url}`));\n };\n\n frame.hidden = true;\n\n window.addEventListener(\"message\", listener);\n\n if (!frame.parentElement) {\n frame.src = url;\n document.body.appendChild(frame);\n }\n\n this.frames.set(key, {element: frame, ready: false});\n });\n }\n}\n"],"mappings":"AASA,MAAM,sBAAsB;AAY5B,MAAO,WAAyB;AAAA,EACX,SAAoE,oBAAI,IAAI;AAAA,EAE5E,UAAmD,oBAAI,IAAI;AAAA,EAE5E,MAAa,KAAK,QAAsD;AACpE,QAAI,OAAO,WAAW,eAAe,OAAO,aAAa,eAAe,CAAC,SAAS,MAAM;AACpF,YAAM,IAAI,MAAM,0DAA0D;AAAA,IAC9E;AAEA,UAAM,QAAQ,KAAK,OAAO,IAAI,OAAO,GAAG;AAExC,SAAI,+BAAO,UAAS,MAAM,QAAQ,eAAe,MAAM,QAAQ,eAAe;AAC1E,aAAO,MAAM;AAAA,IACjB;AAEA,UAAM,UAAU,KAAK,QAAQ,IAAI,OAAO,GAAG;AAE3C,QAAI,SAAS;AACT,aAAO;AAAA,IACX;AAEA,UAAM,WAAW,KAAK,OAAO,MAAM;AAEnC,SAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ;AAErC,QAAI;AACA,aAAO,MAAM;AAAA,IACjB,UAAE;AACE,WAAK,QAAQ,OAAO,OAAO,GAAG;AAAA,IAClC;AAAA,EACJ;AAAA,EAEO,OAAO,KAAmB;AAtDrC;AAuDQ,eAAK,OAAO,IAAI,GAAG,MAAnB,mBAAsB,QAAQ;AAC9B,SAAK,OAAO,OAAO,GAAG;AACtB,SAAK,QAAQ,OAAO,GAAG;AAAA,EAC3B;AAAA,EAEQ,OAAO,QAAsD;AACjE,UAAM,EAAC,KAAK,KAAK,eAAe,qBAAqB,QAAO,IAAI;AAEhE,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AA/DhD;AAgEY,YAAM,YAAW,UAAK,OAAO,IAAI,GAAG,MAAnB,mBAAsB;AACvC,YAAM,SAAQ,qCAAU,eAAc,WAAW,SAAS,cAAc,QAAQ;AAEhF,UAAI,SAAS;AAEb,YAAM,UAAU,MAAM;AAClB,qBAAa,OAAO;AACpB,eAAO,oBAAoB,WAAW,QAAQ;AAC9C,cAAM,SAAS;AACf,cAAM,UAAU;AAAA,MACpB;AAEA,YAAM,OAAO,CAAC,UAAiB;AAC3B,gBAAQ;AACR,cAAM,OAAO;AACb,aAAK,OAAO,OAAO,GAAG;AACtB,eAAO,KAAK;AAAA,MAChB;AAEA,YAAM,WAAW,CAAC,UAAwB;AACtC,YAAI,CAAC,QAAQ,OAAO,KAAK,GAAG;AACxB;AAAA,QACJ;AAEA,aAAK,OAAO,IAAI,KAAK,EAAC,SAAS,OAAO,OAAO,KAAI,CAAC;AAElD,gBAAQ;AACR,gBAAQ,KAAK;AAAA,MACjB;AAEA,YAAM,UAAU,WAAW,MAAM;AA9F7C,YAAAA;AA+FgB;AAAA,UACI,IAAI;AAAA,cACAA,MAAA,OAAO,wBAAP,gBAAAA,IAAA,aAA6B,QAAQ,kBACjC,UAAU,GAAG,0BAA0B,YAAY;AAAA,UAC3D;AAAA,QACJ;AAAA,MACJ,GAAG,YAAY;AAEf,YAAM,SAAS,MAAM;AACjB,iBAAS;AAAA,MACb;AAEA,YAAM,UAAU,MAAM;AA3GlC,YAAAA;AA4GgB,aAAK,IAAI,QAAMA,MAAA,OAAO,qBAAP,gBAAAA,IAAA,iBAA+B,UAAU,GAAG,qBAAqB,GAAG,EAAE,CAAC;AAAA,MAC1F;AAEA,YAAM,SAAS;AAEf,aAAO,iBAAiB,WAAW,QAAQ;AAE3C,UAAI,CAAC,MAAM,eAAe;AACtB,cAAM,MAAM;AACZ,iBAAS,KAAK,YAAY,KAAK;AAAA,MACnC;AAEA,WAAK,OAAO,IAAI,KAAK,EAAC,SAAS,OAAO,OAAO,MAAK,CAAC;AAAA,IACvD,CAAC;AAAA,EACL;AACJ;","names":["_a"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/frame/index.ts"],"sourcesContent":["export {default as ReadyFrame} from \"./ReadyFrame\";\nexport type {ReadyFrameParams} from \"./ReadyFrame\";\n"],"mappings":"AAAA,SAAmB,WAAXA,gBAA4B;","names":["default"]}
|
package/dist/main/csp.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/main/csp.ts"],"sourcesContent":["export type {CspConfig, CspOptions, CspSources, CspSourceValue} from \"@typing/csp\";\nexport {CspSource} from \"@typing/csp\";\n"],"mappings":"AACA,SAAQ,iBAAgB;","names":[]}
|
package/dist/main/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./browser.js";
|
|
|
4
4
|
export * from "./command.js";
|
|
5
5
|
export * from "./config.js";
|
|
6
6
|
export * from "./content.js";
|
|
7
|
+
export * from "./csp.js";
|
|
7
8
|
export * from "./env.js";
|
|
8
9
|
export * from "./icon.js";
|
|
9
10
|
export * from "./manifest.js";
|
|
@@ -12,6 +13,7 @@ export * from "./page.js";
|
|
|
12
13
|
export * from "./plugin.js";
|
|
13
14
|
export * from "./popup.js";
|
|
14
15
|
export * from "./relay.js";
|
|
16
|
+
export * from "./sandbox.js";
|
|
15
17
|
export * from "./service.js";
|
|
16
18
|
export * from "./sidebar.js";
|
|
17
19
|
export * from "./view.js";
|
package/dist/main/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./browser.js";
|
|
|
4
4
|
export * from "./command.js";
|
|
5
5
|
export * from "./config.js";
|
|
6
6
|
export * from "./content.js";
|
|
7
|
+
export * from "./csp.js";
|
|
7
8
|
export * from "./env.js";
|
|
8
9
|
export * from "./icon.js";
|
|
9
10
|
export * from "./manifest.js";
|
|
@@ -12,6 +13,7 @@ export * from "./page.js";
|
|
|
12
13
|
export * from "./plugin.js";
|
|
13
14
|
export * from "./popup.js";
|
|
14
15
|
export * from "./relay.js";
|
|
16
|
+
export * from "./sandbox.js";
|
|
15
17
|
export * from "./service.js";
|
|
16
18
|
export * from "./sidebar.js";
|
|
17
19
|
export * from "./view.js";
|
package/dist/main/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/main/index.ts"],"sourcesContent":["export * from \"./app\";\nexport * from \"./background\";\nexport * from \"./browser\";\nexport * from \"./command\";\nexport * from \"./config\";\nexport * from \"./content\";\nexport * from \"./env\";\nexport * from \"./icon\";\nexport * from \"./manifest\";\nexport * from \"./offscreen\";\nexport * from \"./page\";\nexport * from \"./plugin\";\nexport * from \"./popup\";\nexport * from \"./relay\";\nexport * from \"./service\";\nexport * from \"./sidebar\";\nexport * from \"./view\";\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/main/index.ts"],"sourcesContent":["export * from \"./app\";\nexport * from \"./background\";\nexport * from \"./browser\";\nexport * from \"./command\";\nexport * from \"./config\";\nexport * from \"./content\";\nexport * from \"./csp\";\nexport * from \"./env\";\nexport * from \"./icon\";\nexport * from \"./manifest\";\nexport * from \"./offscreen\";\nexport * from \"./page\";\nexport * from \"./plugin\";\nexport * from \"./popup\";\nexport * from \"./relay\";\nexport * from \"./sandbox\";\nexport * from \"./service\";\nexport * from \"./sidebar\";\nexport * from \"./view\";\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
package/dist/main/offscreen.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type OffscreenDefinition, OffscreenReason, type OffscreenUnresolvedDefinition } from "../types/offscreen.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { OffscreenName, OffscreenProxyTarget } from "../offscreen/index.js";
|
|
3
|
+
import type { TransportType } from "../types/transport.js";
|
|
4
4
|
type OffscreenParameters = chrome.offscreen.CreateParameters;
|
|
5
5
|
export { OffscreenReason, OffscreenDefinition, OffscreenUnresolvedDefinition };
|
|
6
6
|
export type OffscreenAlias = string;
|
|
7
7
|
export type OffscreenMap = Map<OffscreenAlias, OffscreenParameters>;
|
|
8
8
|
export declare const defineOffscreen: <T extends TransportType>(options: OffscreenDefinition<T>) => OffscreenDefinition<T>;
|
|
9
9
|
export declare const getOffscreens: () => OffscreenMap;
|
|
10
|
-
export declare const getOffscreen: <N extends
|
|
10
|
+
export declare const getOffscreen: <N extends OffscreenName>(name: N) => OffscreenProxyTarget<N>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/main/offscreen.ts"],"sourcesContent":["import ProxyOffscreen from \"@offscreen/providers/ProxyOffscreen\";\n\nimport {type OffscreenDefinition, OffscreenReason, type OffscreenUnresolvedDefinition} from \"@typing/offscreen\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/main/offscreen.ts"],"sourcesContent":["import ProxyOffscreen from \"@offscreen/providers/ProxyOffscreen\";\n\nimport {type OffscreenDefinition, OffscreenReason, type OffscreenUnresolvedDefinition} from \"@typing/offscreen\";\nimport type {OffscreenName, OffscreenProxyTarget} from \"@offscreen/index\";\nimport type {TransportType} from \"@typing/transport\";\n\ntype OffscreenParameters = chrome.offscreen.CreateParameters;\n\nexport {OffscreenReason, OffscreenDefinition, OffscreenUnresolvedDefinition};\n\nexport type OffscreenAlias = string;\n\nexport type OffscreenMap = Map<OffscreenAlias, OffscreenParameters>;\n\nexport const defineOffscreen = <T extends TransportType>(options: OffscreenDefinition<T>): OffscreenDefinition<T> => {\n return options;\n};\n\nexport const getOffscreens = (): OffscreenMap => {\n const offscreens: OffscreenMap = new Map();\n\n try {\n // @ts-expect-error: __ADNBN_OFFSCREEN_PARAMETERS__ is a virtual variable generated by the bundler `src/cli/plugins/offscreen/index.ts`\n Object.entries<OffscreenParameters>(__ADNBN_OFFSCREEN_PARAMETERS__).forEach(([key, value]) => {\n offscreens.set(key, value);\n });\n } catch (e) {\n console.error(\"Failed getting offscreens: \", e);\n }\n\n return offscreens;\n};\n\nexport const getOffscreen = <N extends OffscreenName>(name: N): OffscreenProxyTarget<N> => {\n const parameters = getOffscreens().get(name);\n\n if (!parameters) {\n throw new Error(`Unable to get offscreen: ${name}`);\n }\n\n return new ProxyOffscreen(name, parameters).get();\n};\n"],"mappings":"AAAA,OAAO,oBAAoB;AAE3B,SAAkC,uBAA0D;AAYrF,MAAM,kBAAkB,CAA0B,YAA4D;AACjH,SAAO;AACX;AAEO,MAAM,gBAAgB,MAAoB;AAC7C,QAAM,aAA2B,oBAAI,IAAI;AAEzC,MAAI;AAEA,WAAO,QAA6B,8BAA8B,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC1F,iBAAW,IAAI,KAAK,KAAK;AAAA,IAC7B,CAAC;AAAA,EACL,SAAS,GAAG;AACR,YAAQ,MAAM,+BAA+B,CAAC;AAAA,EAClD;AAEA,SAAO;AACX;AAEO,MAAM,eAAe,CAA0B,SAAqC;AACvF,QAAM,aAAa,cAAc,EAAE,IAAI,IAAI;AAE3C,MAAI,CAAC,YAAY;AACb,UAAM,IAAI,MAAM,4BAA4B,IAAI,EAAE;AAAA,EACtD;AAEA,SAAO,IAAI,eAAe,MAAM,UAAU,EAAE,IAAI;AACpD;","names":[]}
|
package/dist/main/relay.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type ProxyRelayParams } from "../relay/providers/index.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { RelayName, RelayProxyTarget } from "../relay/index.js";
|
|
3
|
+
import type { TransportType } from "../types/transport.js";
|
|
4
4
|
import { RelayDefinition, RelayMethod, RelayUnresolvedDefinition } from "../types/relay.js";
|
|
5
5
|
export { RelayMethod };
|
|
6
6
|
export type { RelayDefinition, RelayUnresolvedDefinition };
|
|
7
7
|
export declare const defineRelay: <T extends TransportType>(options: RelayDefinition<T>) => RelayDefinition<T>;
|
|
8
|
-
export declare const getRelay: <N extends
|
|
8
|
+
export declare const getRelay: <N extends RelayName>(name: N, params: ProxyRelayParams) => RelayProxyTarget<N>;
|
package/dist/main/relay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/main/relay.ts"],"sourcesContent":["import RelayPermission from \"@relay/RelayPermission\";\nimport {ProxyRelay, type ProxyRelayParams} from \"@relay/providers\";\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/main/relay.ts"],"sourcesContent":["import RelayPermission from \"@relay/RelayPermission\";\nimport {ProxyRelay, type ProxyRelayParams} from \"@relay/providers\";\n\nimport type {RelayName, RelayProxyTarget} from \"@relay/index\";\nimport type {TransportType} from \"@typing/transport\";\nimport {RelayDefinition, RelayMethod, RelayOptions, RelayOptionsMap, RelayUnresolvedDefinition} from \"@typing/relay\";\n\nexport {RelayMethod};\nexport type {RelayDefinition, RelayUnresolvedDefinition};\n\nexport const defineRelay = <T extends TransportType>(options: RelayDefinition<T>): RelayDefinition<T> => {\n return options;\n};\n\nconst getRelayOptionsMap = (): RelayOptionsMap => {\n const relays: RelayOptionsMap = new Map();\n\n try {\n // @ts-expect-error: __ADNBN_RELAY_OPTIONS__ is a virtual variable generated by the bundler `src/cli/plugins/content/index.ts`\n Object.entries<RelayOptions>(__ADNBN_RELAY_OPTIONS__).forEach(([key, value]) => relays.set(key, value));\n } catch (e) {\n console.error(\"Failed getting relays: \", e);\n }\n\n return relays;\n};\n\nexport const getRelay = <N extends RelayName>(name: N, params: ProxyRelayParams): RelayProxyTarget<N> => {\n const relays = getRelayOptionsMap();\n\n RelayPermission.init(relays);\n\n const options = relays.get(name);\n\n if (!options) {\n throw new Error(`Failed to get relay \"${name}\"`);\n }\n\n return new ProxyRelay(name, options, params).get();\n};\n"],"mappings":"AAAA,OAAO,qBAAqB;AAC5B,SAAQ,kBAAwC;AAIhD,SAAyB,mBAA4E;AAK9F,MAAM,cAAc,CAA0B,YAAoD;AACrG,SAAO;AACX;AAEA,MAAM,qBAAqB,MAAuB;AAC9C,QAAM,SAA0B,oBAAI,IAAI;AAExC,MAAI;AAEA,WAAO,QAAsB,uBAAuB,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM,OAAO,IAAI,KAAK,KAAK,CAAC;AAAA,EAC1G,SAAS,GAAG;AACR,YAAQ,MAAM,2BAA2B,CAAC;AAAA,EAC9C;AAEA,SAAO;AACX;AAEO,MAAM,WAAW,CAAsB,MAAS,WAAkD;AACrG,QAAM,SAAS,mBAAmB;AAElC,kBAAgB,KAAK,MAAM;AAE3B,QAAM,UAAU,OAAO,IAAI,IAAI;AAE/B,MAAI,CAAC,SAAS;AACV,UAAM,IAAI,MAAM,wBAAwB,IAAI,GAAG;AAAA,EACnD;AAEA,SAAO,IAAI,WAAW,MAAM,SAAS,MAAM,EAAE,IAAI;AACrD;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SandboxDefinition, SandboxParameters } from "../types/sandbox.js";
|
|
2
|
+
import type { SandboxName, SandboxProxyTarget } from "../sandbox/index.js";
|
|
3
|
+
import type { TransportType } from "../types/transport.js";
|
|
4
|
+
export * from "../types/sandbox.js";
|
|
5
|
+
export type SandboxAlias = string;
|
|
6
|
+
export type SandboxMap = Map<SandboxAlias, SandboxParameters>;
|
|
7
|
+
export declare const defineSandbox: <T extends TransportType>(options: SandboxDefinition<T>) => SandboxDefinition<T>;
|
|
8
|
+
export declare const getSandboxes: () => SandboxMap;
|
|
9
|
+
export declare const getSandbox: <N extends SandboxName>(name: N) => SandboxProxyTarget<N>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ProxySandbox } from "./../sandbox/providers/index.js";
|
|
2
|
+
export * from "./../types/sandbox.js";
|
|
3
|
+
const defineSandbox = (options) => {
|
|
4
|
+
return options;
|
|
5
|
+
};
|
|
6
|
+
const getSandboxes = () => {
|
|
7
|
+
const sandboxes = /* @__PURE__ */ new Map();
|
|
8
|
+
try {
|
|
9
|
+
Object.entries(__ADNBN_SANDBOX_PARAMETERS__).forEach(([key, value]) => {
|
|
10
|
+
sandboxes.set(key, value);
|
|
11
|
+
});
|
|
12
|
+
} catch (e) {
|
|
13
|
+
console.error("Failed getting sandboxes: ", e);
|
|
14
|
+
}
|
|
15
|
+
return sandboxes;
|
|
16
|
+
};
|
|
17
|
+
const getSandbox = (name) => {
|
|
18
|
+
const parameters = getSandboxes().get(name);
|
|
19
|
+
if (!parameters) {
|
|
20
|
+
throw new Error(`Unable to get sandbox: ${name}`);
|
|
21
|
+
}
|
|
22
|
+
return new ProxySandbox(name, parameters).get();
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
defineSandbox,
|
|
26
|
+
getSandbox,
|
|
27
|
+
getSandboxes
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=sandbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/main/sandbox.ts"],"sourcesContent":["import {ProxySandbox} from \"@sandbox/providers\";\n\nimport {SandboxDefinition, SandboxParameters, SandboxUnresolvedDefinition} from \"@typing/sandbox\";\nimport type {SandboxName, SandboxProxyTarget} from \"@sandbox/index\";\nimport type {TransportType} from \"@typing/transport\";\n\nexport * from \"@typing/sandbox\";\n\nexport type SandboxAlias = string;\n\nexport type SandboxMap = Map<SandboxAlias, SandboxParameters>;\n\nexport const defineSandbox = <T extends TransportType>(options: SandboxDefinition<T>): SandboxDefinition<T> => {\n return options;\n};\n\nexport const getSandboxes = (): SandboxMap => {\n const sandboxes: SandboxMap = new Map();\n\n try {\n // @ts-expect-error: __ADNBN_SANDBOX_PARAMETERS__ is a virtual variable generated by the sandbox plugin.\n Object.entries<SandboxParameters>(__ADNBN_SANDBOX_PARAMETERS__).forEach(([key, value]) => {\n sandboxes.set(key, value);\n });\n } catch (e) {\n console.error(\"Failed getting sandboxes: \", e);\n }\n\n return sandboxes;\n};\n\nexport const getSandbox = <N extends SandboxName>(name: N): SandboxProxyTarget<N> => {\n const parameters = getSandboxes().get(name);\n\n if (!parameters) {\n throw new Error(`Unable to get sandbox: ${name}`);\n }\n\n return new ProxySandbox(name, parameters).get() as SandboxProxyTarget<N>;\n};\n"],"mappings":"AAAA,SAAQ,oBAAmB;AAM3B,cAAc;AAMP,MAAM,gBAAgB,CAA0B,YAAwD;AAC3G,SAAO;AACX;AAEO,MAAM,eAAe,MAAkB;AAC1C,QAAM,YAAwB,oBAAI,IAAI;AAEtC,MAAI;AAEA,WAAO,QAA2B,4BAA4B,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACtF,gBAAU,IAAI,KAAK,KAAK;AAAA,IAC5B,CAAC;AAAA,EACL,SAAS,GAAG;AACR,YAAQ,MAAM,8BAA8B,CAAC;AAAA,EACjD;AAEA,SAAO;AACX;AAEO,MAAM,aAAa,CAAwB,SAAmC;AACjF,QAAM,aAAa,aAAa,EAAE,IAAI,IAAI;AAE1C,MAAI,CAAC,YAAY;AACb,UAAM,IAAI,MAAM,0BAA0B,IAAI,EAAE;AAAA,EACpD;AAEA,SAAO,IAAI,aAAa,MAAM,UAAU,EAAE,IAAI;AAClD;","names":[]}
|
package/dist/main/service.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { ServiceName, ServiceProxyTarget } from "../service/index.js";
|
|
2
|
+
import type { TransportType } from "../types/transport.js";
|
|
3
3
|
import { ServiceDefinition } from "../types/service.js";
|
|
4
4
|
export type { ServiceDefinition };
|
|
5
5
|
export declare const defineService: <T extends TransportType>(options: ServiceDefinition<T>) => ServiceDefinition<T>;
|
|
6
|
-
export declare const getService: <N extends
|
|
6
|
+
export declare const getService: <N extends ServiceName>(name: N) => ServiceProxyTarget<N>;
|
package/dist/main/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/main/service.ts"],"sourcesContent":["import {ProxyService} from \"@service/providers\";\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/main/service.ts"],"sourcesContent":["import {ProxyService} from \"@service/providers\";\n\nimport type {ServiceName, ServiceProxyTarget} from \"@service/index\";\nimport type {TransportType} from \"@typing/transport\";\nimport {ServiceDefinition} from \"@typing/service\";\n\nexport type {ServiceDefinition};\n\nexport const defineService = <T extends TransportType>(options: ServiceDefinition<T>): ServiceDefinition<T> => {\n return options;\n};\n\nexport const getService = <N extends ServiceName>(name: N): ServiceProxyTarget<N> => {\n return new ProxyService(name).get();\n};\n"],"mappings":"AAAA,SAAQ,oBAAmB;AAQpB,MAAM,gBAAgB,CAA0B,YAAwD;AAC3G,SAAO;AACX;AAEO,MAAM,aAAa,CAAwB,SAAmC;AACjF,SAAO,IAAI,aAAa,IAAI,EAAE,IAAI;AACtC;","names":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { onMessage } from "@addon-core/browser";
|
|
2
|
+
import { serializeError } from "./error.js";
|
|
2
3
|
import {
|
|
3
|
-
MessageGlobalKey
|
|
4
|
+
MessageGlobalKey,
|
|
5
|
+
MessageResultEnvelopeProperty
|
|
4
6
|
} from "./../types/message.js";
|
|
5
7
|
class MessageManager {
|
|
6
8
|
handlers = /* @__PURE__ */ new Set();
|
|
@@ -44,19 +46,33 @@ class MessageManager {
|
|
|
44
46
|
results.push(Promise.resolve(result));
|
|
45
47
|
}
|
|
46
48
|
} catch (err) {
|
|
47
|
-
|
|
49
|
+
results.push(Promise.reject(err));
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
52
|
if (results.length > 1) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
+
sendResponse(
|
|
54
|
+
this.failure(
|
|
55
|
+
new Error(
|
|
56
|
+
`Message type "${message.type}" has multiple handlers returning a response. Only one response is allowed.`
|
|
57
|
+
)
|
|
58
|
+
)
|
|
53
59
|
);
|
|
60
|
+
return true;
|
|
54
61
|
}
|
|
55
62
|
if (results.length === 1) {
|
|
56
|
-
results[0].then(
|
|
63
|
+
results[0].then(
|
|
64
|
+
(result) => sendResponse(this.success(result)),
|
|
65
|
+
(error) => sendResponse(this.failure(error))
|
|
66
|
+
);
|
|
57
67
|
return true;
|
|
58
68
|
}
|
|
59
69
|
}
|
|
70
|
+
success(payload) {
|
|
71
|
+
return { [MessageResultEnvelopeProperty]: true, ok: true, payload };
|
|
72
|
+
}
|
|
73
|
+
failure(error) {
|
|
74
|
+
return { [MessageResultEnvelopeProperty]: true, ok: false, error: serializeError(error) };
|
|
75
|
+
}
|
|
60
76
|
}
|
|
61
77
|
export {
|
|
62
78
|
MessageManager as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/message/MessageManager.ts"],"sourcesContent":["import {onMessage} from \"@addon-core/browser\";\n\nimport {\n MessageBody,\n MessageDictionary,\n MessageGlobalKey,\n MessageHandler,\n MessageSender,\n MessageType,\n} from \"@typing/message\";\n\nexport default class MessageManager<T extends MessageDictionary> {\n private handlers: Set<MessageHandler<T>> = new Set();\n private unsubscribe: (() => void) | null = null;\n\n public static getInstance<T extends MessageDictionary>(): MessageManager<T> {\n return (globalThis[MessageGlobalKey] ??= new MessageManager<T>());\n }\n\n constructor() {\n this.listener = this.listener.bind(this);\n }\n\n public add(handler: MessageHandler<T>) {\n this.handlers.add(handler);\n this.updateListener();\n }\n\n public remove(handler: MessageHandler<T>) {\n this.handlers.delete(handler);\n this.updateListener();\n }\n\n public clear() {\n this.handlers = new Set();\n this.updateListener();\n }\n\n private updateListener() {\n if (this.handlers.size > 0 && !this.unsubscribe) {\n this.unsubscribe = onMessage(this.listener);\n } else if (this.handlers.size === 0 && this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n\n private listener<K extends MessageType<T>>(\n message: MessageBody<T, K>,\n sender: MessageSender,\n sendResponse: (response?:
|
|
1
|
+
{"version":3,"sources":["../../src/message/MessageManager.ts"],"sourcesContent":["import {onMessage} from \"@addon-core/browser\";\n\nimport {serializeError} from \"./error\";\n\nimport {\n MessageBody,\n MessageDictionary,\n MessageGlobalKey,\n MessageHandler,\n MessageResult,\n MessageResultEnvelopeProperty,\n MessageSender,\n MessageType,\n} from \"@typing/message\";\n\nexport default class MessageManager<T extends MessageDictionary> {\n private handlers: Set<MessageHandler<T>> = new Set();\n private unsubscribe: (() => void) | null = null;\n\n public static getInstance<T extends MessageDictionary>(): MessageManager<T> {\n return (globalThis[MessageGlobalKey] ??= new MessageManager<T>());\n }\n\n constructor() {\n this.listener = this.listener.bind(this);\n }\n\n public add(handler: MessageHandler<T>) {\n this.handlers.add(handler);\n this.updateListener();\n }\n\n public remove(handler: MessageHandler<T>) {\n this.handlers.delete(handler);\n this.updateListener();\n }\n\n public clear() {\n this.handlers = new Set();\n this.updateListener();\n }\n\n private updateListener() {\n if (this.handlers.size > 0 && !this.unsubscribe) {\n this.unsubscribe = onMessage(this.listener);\n } else if (this.handlers.size === 0 && this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n\n private listener<K extends MessageType<T>>(\n message: MessageBody<T, K>,\n sender: MessageSender,\n sendResponse: (response?: MessageResult) => void\n ): boolean | void {\n if (!message || typeof message !== \"object\" || !message.type) {\n return;\n }\n\n const results: Promise<any>[] = [];\n\n for (const handler of this.handlers) {\n try {\n const result = handler.run(message.type, message.data, sender);\n\n if (result !== undefined) {\n results.push(Promise.resolve(result));\n }\n } catch (err) {\n results.push(Promise.reject(err));\n }\n }\n\n if (results.length > 1) {\n sendResponse(\n this.failure(\n new Error(\n `Message type \"${message.type}\" has multiple handlers returning a response. Only one response is allowed.`\n )\n )\n );\n\n return true;\n }\n\n if (results.length === 1) {\n results[0].then(\n result => sendResponse(this.success(result)),\n error => sendResponse(this.failure(error))\n );\n\n return true;\n }\n }\n\n private success<TData>(payload: TData): MessageResult<TData> {\n return {[MessageResultEnvelopeProperty]: true, ok: true, payload};\n }\n\n private failure(error: unknown): MessageResult<never> {\n return {[MessageResultEnvelopeProperty]: true, ok: false, error: serializeError(error)};\n }\n}\n"],"mappings":"AAAA,SAAQ,iBAAgB;AAExB,SAAQ,sBAAqB;AAE7B;AAAA,EAGI;AAAA,EAGA;AAAA,OAGG;AAEP,MAAO,eAA0D;AAAA,EACrD,WAAmC,oBAAI,IAAI;AAAA,EAC3C,cAAmC;AAAA,EAE3C,OAAc,cAA8D;AAnBhF;AAoBQ,WAAQ,gBAAW,sBAAX,iBAAiC,IAAI,eAAkB;AAAA,EACnE;AAAA,EAEA,cAAc;AACV,SAAK,WAAW,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3C;AAAA,EAEO,IAAI,SAA4B;AACnC,SAAK,SAAS,IAAI,OAAO;AACzB,SAAK,eAAe;AAAA,EACxB;AAAA,EAEO,OAAO,SAA4B;AACtC,SAAK,SAAS,OAAO,OAAO;AAC5B,SAAK,eAAe;AAAA,EACxB;AAAA,EAEO,QAAQ;AACX,SAAK,WAAW,oBAAI,IAAI;AACxB,SAAK,eAAe;AAAA,EACxB;AAAA,EAEQ,iBAAiB;AACrB,QAAI,KAAK,SAAS,OAAO,KAAK,CAAC,KAAK,aAAa;AAC7C,WAAK,cAAc,UAAU,KAAK,QAAQ;AAAA,IAC9C,WAAW,KAAK,SAAS,SAAS,KAAK,KAAK,aAAa;AACrD,WAAK,YAAY;AACjB,WAAK,cAAc;AAAA,IACvB;AAAA,EACJ;AAAA,EAEQ,SACJ,SACA,QACA,cACc;AACd,QAAI,CAAC,WAAW,OAAO,YAAY,YAAY,CAAC,QAAQ,MAAM;AAC1D;AAAA,IACJ;AAEA,UAAM,UAA0B,CAAC;AAEjC,eAAW,WAAW,KAAK,UAAU;AACjC,UAAI;AACA,cAAM,SAAS,QAAQ,IAAI,QAAQ,MAAM,QAAQ,MAAM,MAAM;AAE7D,YAAI,WAAW,QAAW;AACtB,kBAAQ,KAAK,QAAQ,QAAQ,MAAM,CAAC;AAAA,QACxC;AAAA,MACJ,SAAS,KAAK;AACV,gBAAQ,KAAK,QAAQ,OAAO,GAAG,CAAC;AAAA,MACpC;AAAA,IACJ;AAEA,QAAI,QAAQ,SAAS,GAAG;AACpB;AAAA,QACI,KAAK;AAAA,UACD,IAAI;AAAA,YACA,iBAAiB,QAAQ,IAAI;AAAA,UACjC;AAAA,QACJ;AAAA,MACJ;AAEA,aAAO;AAAA,IACX;AAEA,QAAI,QAAQ,WAAW,GAAG;AACtB,cAAQ,CAAC,EAAE;AAAA,QACP,YAAU,aAAa,KAAK,QAAQ,MAAM,CAAC;AAAA,QAC3C,WAAS,aAAa,KAAK,QAAQ,KAAK,CAAC;AAAA,MAC7C;AAEA,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEQ,QAAe,SAAsC;AACzD,WAAO,EAAC,CAAC,6BAA6B,GAAG,MAAM,IAAI,MAAM,QAAO;AAAA,EACpE;AAAA,EAEQ,QAAQ,OAAsC;AAClD,WAAO,EAAC,CAAC,6BAA6B,GAAG,MAAM,IAAI,OAAO,OAAO,eAAe,KAAK,EAAC;AAAA,EAC1F;AACJ;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MessageError } from "../types/message.js";
|
|
2
|
+
/**
|
|
3
|
+
* Convert any thrown value into a transferable {@link MessageError} envelope. Handles real
|
|
4
|
+
* `Error` instances, error-like objects, and primitives (JSON-stringifying objects when no
|
|
5
|
+
* `message` is present). The standard serialize step for every cross-context transport.
|
|
6
|
+
*/
|
|
7
|
+
export declare const serializeError: (error: unknown) => MessageError;
|
|
8
|
+
/**
|
|
9
|
+
* Reconstruct an `Error` from a {@link MessageError} envelope, mapping the serialized `name`
|
|
10
|
+
* back to its native constructor (so `instanceof TypeError` survives the boundary).
|
|
11
|
+
*/
|
|
12
|
+
export declare const restoreError: (error?: MessageError) => Error;
|