@mittwald/flow-remote-core 0.2.0-alpha.865 → 0.2.0-alpha.867

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 (43) hide show
  1. package/dist/js/_virtual/_rolldown/runtime.mjs +13 -0
  2. package/dist/js/core/src/file.mjs +10 -14
  3. package/dist/js/core/src/file.mjs.map +1 -1
  4. package/dist/js/core/src/index.mjs +1 -0
  5. package/dist/js/index-node.mjs +15 -16
  6. package/dist/js/index.mjs +17 -15
  7. package/dist/js/remote-core/src/connection/connectHostRenderRoot.mjs +45 -55
  8. package/dist/js/remote-core/src/connection/connectHostRenderRoot.mjs.map +1 -1
  9. package/dist/js/remote-core/src/connection/connectRemoteIframe.mjs +56 -72
  10. package/dist/js/remote-core/src/connection/connectRemoteIframe.mjs.map +1 -1
  11. package/dist/js/remote-core/src/connection/index.mjs +3 -0
  12. package/dist/js/remote-core/src/connection/types.mjs +11 -9
  13. package/dist/js/remote-core/src/connection/types.mjs.map +1 -1
  14. package/dist/js/remote-core/src/error.mjs +10 -8
  15. package/dist/js/remote-core/src/error.mjs.map +1 -1
  16. package/dist/js/remote-core/src/ext-bridge/getWithMergedHostConfig.mjs +10 -8
  17. package/dist/js/remote-core/src/ext-bridge/getWithMergedHostConfig.mjs.map +1 -1
  18. package/dist/js/remote-core/src/ext-bridge/implementation.mjs +8 -12
  19. package/dist/js/remote-core/src/ext-bridge/implementation.mjs.map +1 -1
  20. package/dist/js/remote-core/src/serialization/FlowThreadSerialization.mjs +47 -59
  21. package/dist/js/remote-core/src/serialization/FlowThreadSerialization.mjs.map +1 -1
  22. package/dist/js/remote-core/src/serialization/Serializer.mjs +34 -35
  23. package/dist/js/remote-core/src/serialization/Serializer.mjs.map +1 -1
  24. package/dist/js/remote-core/src/serialization/index.mjs +9 -0
  25. package/dist/js/remote-core/src/serialization/serializers/dataTransferText.mjs +20 -21
  26. package/dist/js/remote-core/src/serialization/serializers/dataTransferText.mjs.map +1 -1
  27. package/dist/js/remote-core/src/serialization/serializers/date.mjs +13 -14
  28. package/dist/js/remote-core/src/serialization/serializers/date.mjs.map +1 -1
  29. package/dist/js/remote-core/src/serialization/serializers/file.mjs +29 -29
  30. package/dist/js/remote-core/src/serialization/serializers/file.mjs.map +1 -1
  31. package/dist/js/remote-core/src/serialization/serializers/fileList.mjs +20 -22
  32. package/dist/js/remote-core/src/serialization/serializers/fileList.mjs.map +1 -1
  33. package/dist/js/remote-core/src/serialization/serializers/formData.mjs +27 -34
  34. package/dist/js/remote-core/src/serialization/serializers/formData.mjs.map +1 -1
  35. package/dist/js/remote-core/src/serialization/serializers/index.mjs +23 -7
  36. package/dist/js/remote-core/src/serialization/serializers/index.mjs.map +1 -1
  37. package/dist/js/remote-core/src/serialization/serializers/passwordPolicy.mjs +13 -14
  38. package/dist/js/remote-core/src/serialization/serializers/passwordPolicy.mjs.map +1 -1
  39. package/dist/js/remote-core/src/shim.mjs +11 -12
  40. package/dist/js/remote-core/src/shim.mjs.map +1 -1
  41. package/package.json +16 -16
  42. package/dist/js/index-node.mjs.map +0 -1
  43. package/dist/js/index.mjs.map +0 -1
@@ -0,0 +1,13 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __defProp = Object.defineProperty;
3
+ var __exportAll = (all, no_symbols) => {
4
+ let target = {};
5
+ for (var name in all) __defProp(target, name, {
6
+ get: all[name],
7
+ enumerable: true
8
+ });
9
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
10
+ return target;
11
+ };
12
+ //#endregion
13
+ export { __exportAll };
@@ -1,18 +1,14 @@
1
- import invariant from 'invariant';
2
-
3
- const Key = "mittwald.flow-core.file.awaitedArrayBuffer";
1
+ import invariant from "invariant";
2
+ //#region ../core/src/file.ts
3
+ var Key = "mittwald.flow-core.file.awaitedArrayBuffer";
4
4
  function isFileWithAwaitedArrayBuffer(file) {
5
- return Key in file && file[Key] instanceof ArrayBuffer && !file[Key].detached;
5
+ return Key in file && file[Key] instanceof ArrayBuffer && !file[Key].detached;
6
6
  }
7
- const getAwaitArrayBuffer = (file) => {
8
- invariant(
9
- isFileWithAwaitedArrayBuffer(file),
10
- `File buffer unavailable (objectType=${Object.prototype.toString.call(
11
- file
12
- )}, hasArrayBuffer=${Key in file && file[Key] instanceof ArrayBuffer}, isDetached=${Key in file && file[Key] instanceof ArrayBuffer ? file[Key].detached : "n/a"})`
13
- );
14
- return file[Key];
7
+ var getAwaitArrayBuffer = (file) => {
8
+ invariant(isFileWithAwaitedArrayBuffer(file), `File buffer unavailable (objectType=${Object.prototype.toString.call(file)}, hasArrayBuffer=${Key in file && file[Key] instanceof ArrayBuffer}, isDetached=${Key in file && file[Key] instanceof ArrayBuffer ? file[Key].detached : "n/a"})`);
9
+ return file[Key];
15
10
  };
16
-
11
+ //#endregion
17
12
  export { getAwaitArrayBuffer, isFileWithAwaitedArrayBuffer };
18
- //# sourceMappingURL=file.mjs.map
13
+
14
+ //# sourceMappingURL=file.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.mjs","sources":["../../../../../core/src/file.ts"],"sourcesContent":["import invariant from \"invariant\";\n\nconst Key = \"mittwald.flow-core.file.awaitedArrayBuffer\";\n\nexport type FileWithAwaitedArrayBuffer = File & {\n [Key]: ArrayBuffer;\n};\n\nexport function isFileWithAwaitedArrayBuffer(\n file: File | FileWithAwaitedArrayBuffer,\n): file is FileWithAwaitedArrayBuffer {\n return Key in file && file[Key] instanceof ArrayBuffer && !file[Key].detached;\n}\n\nexport const addAwaitedArrayBuffer = async (file: File) => {\n if (isFileWithAwaitedArrayBuffer(file)) {\n return file;\n }\n\n const arrayBuffer = await file.arrayBuffer();\n Object.assign(file, { [Key]: arrayBuffer });\n\n return file;\n};\n\nexport const getAwaitArrayBuffer = (\n file: File | FileWithAwaitedArrayBuffer,\n) => {\n invariant(\n isFileWithAwaitedArrayBuffer(file),\n `File buffer unavailable (objectType=${Object.prototype.toString.call(\n file,\n )}, hasArrayBuffer=${\n Key in file && file[Key] instanceof ArrayBuffer\n }, isDetached=${\n Key in file && file[Key] instanceof ArrayBuffer\n ? file[Key].detached\n : \"n/a\"\n })`,\n );\n return file[Key];\n};\n"],"names":[],"mappings":";;AAEA,MAAM,GAAA,GAAM,4CAAA;AAML,SAAS,6BACd,IAAA,EACoC;AACpC,EAAA,OAAO,GAAA,IAAO,QAAQ,IAAA,CAAK,GAAG,aAAa,WAAA,IAAe,CAAC,IAAA,CAAK,GAAG,CAAA,CAAE,QAAA;AACvE;AAaO,MAAM,mBAAA,GAAsB,CACjC,IAAA,KACG;AACH,EAAA,SAAA;AAAA,IACE,6BAA6B,IAAI,CAAA;AAAA,IACjC,CAAA,oCAAA,EAAuC,MAAA,CAAO,SAAA,CAAU,QAAA,CAAS,IAAA;AAAA,MAC/D;AAAA,KACD,CAAA,iBAAA,EACC,GAAA,IAAO,QAAQ,IAAA,CAAK,GAAG,aAAa,WACtC,CAAA,aAAA,EACE,OAAO,IAAA,IAAQ,IAAA,CAAK,GAAG,CAAA,YAAa,WAAA,GAChC,KAAK,GAAG,CAAA,CAAE,WACV,KACN,CAAA,CAAA;AAAA,GACF;AACA,EAAA,OAAO,KAAK,GAAG,CAAA;AACjB;;;;"}
1
+ {"version":3,"file":"file.mjs","names":[],"sources":["../../../../../core/src/file.ts"],"sourcesContent":["import invariant from \"invariant\";\n\nconst Key = \"mittwald.flow-core.file.awaitedArrayBuffer\";\n\nexport type FileWithAwaitedArrayBuffer = File & {\n [Key]: ArrayBuffer;\n};\n\nexport function isFileWithAwaitedArrayBuffer(\n file: File | FileWithAwaitedArrayBuffer,\n): file is FileWithAwaitedArrayBuffer {\n return Key in file && file[Key] instanceof ArrayBuffer && !file[Key].detached;\n}\n\nexport const addAwaitedArrayBuffer = async (file: File) => {\n if (isFileWithAwaitedArrayBuffer(file)) {\n return file;\n }\n\n const arrayBuffer = await file.arrayBuffer();\n Object.assign(file, { [Key]: arrayBuffer });\n\n return file;\n};\n\nexport const getAwaitArrayBuffer = (\n file: File | FileWithAwaitedArrayBuffer,\n) => {\n invariant(\n isFileWithAwaitedArrayBuffer(file),\n `File buffer unavailable (objectType=${Object.prototype.toString.call(\n file,\n )}, hasArrayBuffer=${\n Key in file && file[Key] instanceof ArrayBuffer\n }, isDetached=${\n Key in file && file[Key] instanceof ArrayBuffer\n ? file[Key].detached\n : \"n/a\"\n })`,\n );\n return file[Key];\n};\n"],"mappings":";;AAEA,IAAM,MAAM;AAMZ,SAAgB,6BACd,MACoC;CACpC,OAAO,OAAO,QAAQ,KAAK,gBAAgB,eAAe,CAAC,KAAK,KAAK;AACvE;AAaA,IAAa,uBACX,SACG;CACH,UACE,6BAA6B,IAAI,GACjC,uCAAuC,OAAO,UAAU,SAAS,KAC/D,IACF,EAAE,mBACA,OAAO,QAAQ,KAAK,gBAAgB,YACrC,eACC,OAAO,QAAQ,KAAK,gBAAgB,cAChC,KAAK,KAAK,WACV,MACL,EACH;CACA,OAAO,KAAK;AACd"}
@@ -0,0 +1 @@
1
+ import "./file.mjs";
@@ -1,16 +1,15 @@
1
- import './remote-core/src/shim.mjs';
2
- export { RemoteReceiver } from '@mittwald/remote-dom-core/receivers';
3
- export { RemoteElement, RemoteEvent } from '@mittwald/remote-dom-core/elements';
4
- export { calendarDateSerializer } from './remote-core/src/serialization/serializers/date.mjs';
5
- export { fileDeSerialize, fileSerialize, fileSerializer, isSerializedFile } from './remote-core/src/serialization/serializers/file.mjs';
6
- export { fileListSerializer } from './remote-core/src/serialization/serializers/fileList.mjs';
7
- export { dataTransferTextSerializer } from './remote-core/src/serialization/serializers/dataTransferText.mjs';
8
- export { formDataSerializer } from './remote-core/src/serialization/serializers/formData.mjs';
9
- export { passwordPolicySerializer } from './remote-core/src/serialization/serializers/passwordPolicy.mjs';
10
- export { FlowThreadSerialization } from './remote-core/src/serialization/FlowThreadSerialization.mjs';
11
- export { Serializer } from './remote-core/src/serialization/Serializer.mjs';
12
- export { connectHostRenderRoot, connectHostRenderRootRef, connectRemoteReceiver } from './remote-core/src/connection/connectHostRenderRoot.mjs';
13
- export { connectRemoteIframe, connectRemoteIframeRef } from './remote-core/src/connection/connectRemoteIframe.mjs';
14
- export { Version } from './remote-core/src/connection/types.mjs';
15
- export { RemoteError } from './remote-core/src/error.mjs';
16
- //# sourceMappingURL=index-node.mjs.map
1
+ import { Serializer } from "./remote-core/src/serialization/Serializer.mjs";
2
+ import { calendarDateSerializer } from "./remote-core/src/serialization/serializers/date.mjs";
3
+ import { fileDeSerialize, fileSerialize, fileSerializer, isSerializedFile } from "./remote-core/src/serialization/serializers/file.mjs";
4
+ import { fileListSerializer } from "./remote-core/src/serialization/serializers/fileList.mjs";
5
+ import { dataTransferTextSerializer } from "./remote-core/src/serialization/serializers/dataTransferText.mjs";
6
+ import { formDataSerializer } from "./remote-core/src/serialization/serializers/formData.mjs";
7
+ import { passwordPolicySerializer } from "./remote-core/src/serialization/serializers/passwordPolicy.mjs";
8
+ import { FlowThreadSerialization } from "./remote-core/src/serialization/FlowThreadSerialization.mjs";
9
+ import { Version } from "./remote-core/src/connection/types.mjs";
10
+ import { RemoteError } from "./remote-core/src/error.mjs";
11
+ import { connectHostRenderRoot, connectHostRenderRootRef, connectRemoteReceiver } from "./remote-core/src/connection/connectHostRenderRoot.mjs";
12
+ import { connectRemoteIframe, connectRemoteIframeRef } from "./remote-core/src/connection/connectRemoteIframe.mjs";
13
+ import { RemoteElement, RemoteEvent, RemoteReceiver } from "./index.mjs";
14
+ import "./remote-core/src/shim.mjs";
15
+ export { FlowThreadSerialization, RemoteElement, RemoteError, RemoteEvent, RemoteReceiver, Serializer, Version, calendarDateSerializer, connectHostRenderRoot, connectHostRenderRootRef, connectRemoteIframe, connectRemoteIframeRef, connectRemoteReceiver, dataTransferTextSerializer, fileDeSerialize, fileListSerializer, fileSerialize, fileSerializer, formDataSerializer, isSerializedFile, passwordPolicySerializer };
package/dist/js/index.mjs CHANGED
@@ -1,15 +1,17 @@
1
- export { RemoteReceiver } from '@mittwald/remote-dom-core/receivers';
2
- export { RemoteElement, RemoteEvent } from '@mittwald/remote-dom-core/elements';
3
- export { calendarDateSerializer } from './remote-core/src/serialization/serializers/date.mjs';
4
- export { fileDeSerialize, fileSerialize, fileSerializer, isSerializedFile } from './remote-core/src/serialization/serializers/file.mjs';
5
- export { fileListSerializer } from './remote-core/src/serialization/serializers/fileList.mjs';
6
- export { dataTransferTextSerializer } from './remote-core/src/serialization/serializers/dataTransferText.mjs';
7
- export { formDataSerializer } from './remote-core/src/serialization/serializers/formData.mjs';
8
- export { passwordPolicySerializer } from './remote-core/src/serialization/serializers/passwordPolicy.mjs';
9
- export { FlowThreadSerialization } from './remote-core/src/serialization/FlowThreadSerialization.mjs';
10
- export { Serializer } from './remote-core/src/serialization/Serializer.mjs';
11
- export { connectHostRenderRoot, connectHostRenderRootRef, connectRemoteReceiver } from './remote-core/src/connection/connectHostRenderRoot.mjs';
12
- export { connectRemoteIframe, connectRemoteIframeRef } from './remote-core/src/connection/connectRemoteIframe.mjs';
13
- export { Version } from './remote-core/src/connection/types.mjs';
14
- export { RemoteError } from './remote-core/src/error.mjs';
15
- //# sourceMappingURL=index.mjs.map
1
+ import { Serializer } from "./remote-core/src/serialization/Serializer.mjs";
2
+ import { calendarDateSerializer } from "./remote-core/src/serialization/serializers/date.mjs";
3
+ import { fileDeSerialize, fileSerialize, fileSerializer, isSerializedFile } from "./remote-core/src/serialization/serializers/file.mjs";
4
+ import { fileListSerializer } from "./remote-core/src/serialization/serializers/fileList.mjs";
5
+ import { dataTransferTextSerializer } from "./remote-core/src/serialization/serializers/dataTransferText.mjs";
6
+ import { formDataSerializer } from "./remote-core/src/serialization/serializers/formData.mjs";
7
+ import { passwordPolicySerializer } from "./remote-core/src/serialization/serializers/passwordPolicy.mjs";
8
+ import { FlowThreadSerialization } from "./remote-core/src/serialization/FlowThreadSerialization.mjs";
9
+ import "./remote-core/src/serialization/index.mjs";
10
+ import { Version } from "./remote-core/src/connection/types.mjs";
11
+ import { RemoteError } from "./remote-core/src/error.mjs";
12
+ import { connectHostRenderRoot, connectHostRenderRootRef, connectRemoteReceiver } from "./remote-core/src/connection/connectHostRenderRoot.mjs";
13
+ import { connectRemoteIframe, connectRemoteIframeRef } from "./remote-core/src/connection/connectRemoteIframe.mjs";
14
+ import "./remote-core/src/connection/index.mjs";
15
+ import { RemoteReceiver } from "@mittwald/remote-dom-core/receivers";
16
+ import { RemoteElement, RemoteEvent } from "@mittwald/remote-dom-core/elements";
17
+ export { FlowThreadSerialization, RemoteElement, RemoteError, RemoteEvent, RemoteReceiver, Serializer, Version, calendarDateSerializer, connectHostRenderRoot, connectHostRenderRootRef, connectRemoteIframe, connectRemoteIframeRef, connectRemoteReceiver, dataTransferTextSerializer, fileDeSerialize, fileListSerializer, fileSerialize, fileSerializer, formDataSerializer, isSerializedFile, passwordPolicySerializer };
@@ -1,58 +1,48 @@
1
- import { Version } from './types.mjs';
2
- import { RemoteError } from '../error.mjs';
3
- import { FlowThreadSerialization } from '../serialization/FlowThreadSerialization.mjs';
4
- import '@mittwald/remote-dom-core/elements';
5
- import { ThreadNestedIframe } from '@quilted/threads';
6
-
7
- const incompatibleParentFrameError = () => new RemoteError("Could not find any compatible parent frame");
8
- const connectRemoteReceiver = (root, receiverConnection) => import('@mittwald/remote-dom-core/elements').then(
9
- ({ RemoteMutationObserver }) => {
10
- const observer = new RemoteMutationObserver(receiverConnection);
11
- observer.observe(root);
12
- }
13
- );
14
- const connectHostRenderRoot = async (options) => {
15
- const { root, onPathnameChanged } = options;
16
- const connection = new ThreadNestedIframe({
17
- serialization: new FlowThreadSerialization(),
18
- exports: {
19
- render: (connection2) => connectRemoteReceiver(root, connection2),
20
- setPathname: async (pathname) => {
21
- onPathnameChanged?.(pathname);
22
- }
23
- }
24
- });
25
- if (connection.parent === window) {
26
- throw incompatibleParentFrameError();
27
- }
28
- try {
29
- await connection.imports.setIsReady(Version.v3);
30
- if (typeof mwExtBridge !== "undefined") {
31
- mwExtBridge.connection = connection.imports;
32
- await mwExtBridge.readiness.setIsReady();
33
- }
34
- return connection;
35
- } catch (error) {
36
- if (error instanceof Error && /No '.*' method is exported from this thread/.test(error.message)) {
37
- throw incompatibleParentFrameError();
38
- }
39
- throw error;
40
- }
1
+ import { FlowThreadSerialization } from "../serialization/FlowThreadSerialization.mjs";
2
+ import { Version } from "./types.mjs";
3
+ import { RemoteError } from "../error.mjs";
4
+ import "@mittwald/remote-dom-core/elements";
5
+ import { ThreadNestedIframe } from "@quilted/threads";
6
+ //#region src/connection/connectHostRenderRoot.ts
7
+ var incompatibleParentFrameError = () => new RemoteError("Could not find any compatible parent frame");
8
+ var connectRemoteReceiver = (root, receiverConnection) => import("@mittwald/remote-dom-core/elements").then(({ RemoteMutationObserver }) => {
9
+ new RemoteMutationObserver(receiverConnection).observe(root);
10
+ });
11
+ var connectHostRenderRoot = async (options) => {
12
+ const { root, onPathnameChanged } = options;
13
+ const connection = new ThreadNestedIframe({
14
+ serialization: new FlowThreadSerialization(),
15
+ exports: {
16
+ render: (connection) => connectRemoteReceiver(root, connection),
17
+ setPathname: async (pathname) => {
18
+ onPathnameChanged?.(pathname);
19
+ }
20
+ }
21
+ });
22
+ if (connection.parent === window) throw incompatibleParentFrameError();
23
+ try {
24
+ await connection.imports.setIsReady(Version.v3);
25
+ if (typeof mwExtBridge !== "undefined") {
26
+ mwExtBridge.connection = connection.imports;
27
+ await mwExtBridge.readiness.setIsReady();
28
+ }
29
+ return connection;
30
+ } catch (error) {
31
+ if (error instanceof Error && /No '.*' method is exported from this thread/.test(error.message)) throw incompatibleParentFrameError();
32
+ throw error;
33
+ }
41
34
  };
42
- const connectHostRenderRootRef = (opts) => (ref) => {
43
- if (ref === null) {
44
- return;
45
- }
46
- if ("__remoteConnection" in ref) {
47
- return ref["__remoteConnection"];
48
- }
49
- const connection = connectHostRenderRoot({
50
- root: ref,
51
- ...opts
52
- });
53
- Object.assign(ref, { __remoteConnection: connection });
54
- return connection;
35
+ var connectHostRenderRootRef = (opts) => (ref) => {
36
+ if (ref === null) return;
37
+ if ("__remoteConnection" in ref) return ref["__remoteConnection"];
38
+ const connection = connectHostRenderRoot({
39
+ root: ref,
40
+ ...opts
41
+ });
42
+ Object.assign(ref, { __remoteConnection: connection });
43
+ return connection;
55
44
  };
56
-
45
+ //#endregion
57
46
  export { connectHostRenderRoot, connectHostRenderRootRef, connectRemoteReceiver };
58
- //# sourceMappingURL=connectHostRenderRoot.mjs.map
47
+
48
+ //# sourceMappingURL=connectHostRenderRoot.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"connectHostRenderRoot.mjs","sources":["../../../../../src/connection/connectHostRenderRoot.ts"],"sourcesContent":["import {\n Version,\n type HostExports,\n type RemoteExports,\n type RemoteToHostConnection,\n} from \"@/connection/types\";\nimport { RemoteError } from \"@/error\";\nimport { FlowThreadSerialization } from \"@/serialization/FlowThreadSerialization\";\nimport { type RemoteConnection } from \"@mittwald/remote-dom-core/elements\";\nimport { ThreadNestedIframe } from \"@quilted/threads\";\n\ninterface Options {\n root: HTMLDivElement;\n onPathnameChanged?: (pathname: string) => void;\n}\n\nconst incompatibleParentFrameError = () =>\n new RemoteError(\"Could not find any compatible parent frame\");\n\nexport const connectRemoteReceiver = (\n root: HTMLDivElement,\n receiverConnection: RemoteConnection,\n) =>\n import(\"@mittwald/remote-dom-core/elements\").then(\n ({ RemoteMutationObserver }) => {\n const observer = new RemoteMutationObserver(receiverConnection);\n observer.observe(root);\n },\n );\n\nexport const connectHostRenderRoot = async (\n options: Options,\n): Promise<RemoteToHostConnection> => {\n const { root, onPathnameChanged } = options;\n\n const connection = new ThreadNestedIframe<HostExports, RemoteExports>({\n serialization: new FlowThreadSerialization(),\n exports: {\n render: (connection: RemoteConnection) =>\n connectRemoteReceiver(root, connection),\n setPathname: async (pathname) => {\n onPathnameChanged?.(pathname);\n },\n },\n });\n\n if (connection.parent === window) {\n throw incompatibleParentFrameError();\n }\n\n try {\n await connection.imports.setIsReady(Version.v3);\n\n if (typeof mwExtBridge !== \"undefined\") {\n mwExtBridge.connection = connection.imports;\n await mwExtBridge.readiness.setIsReady();\n }\n\n return connection;\n } catch (error) {\n if (\n error instanceof Error &&\n /No '.*' method is exported from this thread/.test(error.message)\n ) {\n throw incompatibleParentFrameError();\n }\n throw error;\n }\n};\n\nexport const connectHostRenderRootRef =\n (opts: Omit<Options, \"root\">) => (ref: HTMLDivElement | null) => {\n if (ref === null) {\n return;\n }\n if (\"__remoteConnection\" in ref) {\n return ref[\"__remoteConnection\"] as Promise<RemoteToHostConnection>;\n }\n\n const connection = connectHostRenderRoot({\n root: ref,\n ...opts,\n });\n Object.assign(ref, { __remoteConnection: connection });\n return connection;\n };\n"],"names":["connection"],"mappings":";;;;;;AAgBA,MAAM,4BAAA,GAA+B,MACnC,IAAI,WAAA,CAAY,4CAA4C,CAAA;AAEvD,MAAM,wBAAwB,CACnC,IAAA,EACA,kBAAA,KAEA,OAAO,oCAAoC,CAAA,CAAE,IAAA;AAAA,EAC3C,CAAC,EAAE,sBAAA,EAAuB,KAAM;AAC9B,IAAA,MAAM,QAAA,GAAW,IAAI,sBAAA,CAAuB,kBAAkB,CAAA;AAC9D,IAAA,QAAA,CAAS,QAAQ,IAAI,CAAA;AAAA,EACvB;AACF;AAEK,MAAM,qBAAA,GAAwB,OACnC,OAAA,KACoC;AACpC,EAAA,MAAM,EAAE,IAAA,EAAM,iBAAA,EAAkB,GAAI,OAAA;AAEpC,EAAA,MAAM,UAAA,GAAa,IAAI,kBAAA,CAA+C;AAAA,IACpE,aAAA,EAAe,IAAI,uBAAA,EAAwB;AAAA,IAC3C,OAAA,EAAS;AAAA,MACP,MAAA,EAAQ,CAACA,WAAAA,KACP,qBAAA,CAAsB,MAAMA,WAAU,CAAA;AAAA,MACxC,WAAA,EAAa,OAAO,QAAA,KAAa;AAC/B,QAAA,iBAAA,GAAoB,QAAQ,CAAA;AAAA,MAC9B;AAAA;AACF,GACD,CAAA;AAED,EAAA,IAAI,UAAA,CAAW,WAAW,MAAA,EAAQ;AAChC,IAAA,MAAM,4BAAA,EAA6B;AAAA,EACrC;AAEA,EAAA,IAAI;AACF,IAAA,MAAM,UAAA,CAAW,OAAA,CAAQ,UAAA,CAAW,OAAA,CAAQ,EAAE,CAAA;AAE9C,IAAA,IAAI,OAAO,gBAAgB,WAAA,EAAa;AACtC,MAAA,WAAA,CAAY,aAAa,UAAA,CAAW,OAAA;AACpC,MAAA,MAAM,WAAA,CAAY,UAAU,UAAA,EAAW;AAAA,IACzC;AAEA,IAAA,OAAO,UAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,IACE,iBAAiB,KAAA,IACjB,6CAAA,CAA8C,IAAA,CAAK,KAAA,CAAM,OAAO,CAAA,EAChE;AACA,MAAA,MAAM,4BAAA,EAA6B;AAAA,IACrC;AACA,IAAA,MAAM,KAAA;AAAA,EACR;AACF;AAEO,MAAM,wBAAA,GACX,CAAC,IAAA,KAAgC,CAAC,GAAA,KAA+B;AAC/D,EAAA,IAAI,QAAQ,IAAA,EAAM;AAChB,IAAA;AAAA,EACF;AACA,EAAA,IAAI,wBAAwB,GAAA,EAAK;AAC/B,IAAA,OAAO,IAAI,oBAAoB,CAAA;AAAA,EACjC;AAEA,EAAA,MAAM,aAAa,qBAAA,CAAsB;AAAA,IACvC,IAAA,EAAM,GAAA;AAAA,IACN,GAAG;AAAA,GACJ,CAAA;AACD,EAAA,MAAA,CAAO,MAAA,CAAO,GAAA,EAAK,EAAE,kBAAA,EAAoB,YAAY,CAAA;AACrD,EAAA,OAAO,UAAA;AACT;;;;"}
1
+ {"version":3,"file":"connectHostRenderRoot.mjs","names":[],"sources":["../../../../../src/connection/connectHostRenderRoot.ts"],"sourcesContent":["import {\n Version,\n type HostExports,\n type RemoteExports,\n type RemoteToHostConnection,\n} from \"@/connection/types\";\nimport { RemoteError } from \"@/error\";\nimport { FlowThreadSerialization } from \"@/serialization/FlowThreadSerialization\";\nimport { type RemoteConnection } from \"@mittwald/remote-dom-core/elements\";\nimport { ThreadNestedIframe } from \"@quilted/threads\";\n\ninterface Options {\n root: HTMLDivElement;\n onPathnameChanged?: (pathname: string) => void;\n}\n\nconst incompatibleParentFrameError = () =>\n new RemoteError(\"Could not find any compatible parent frame\");\n\nexport const connectRemoteReceiver = (\n root: HTMLDivElement,\n receiverConnection: RemoteConnection,\n) =>\n import(\"@mittwald/remote-dom-core/elements\").then(\n ({ RemoteMutationObserver }) => {\n const observer = new RemoteMutationObserver(receiverConnection);\n observer.observe(root);\n },\n );\n\nexport const connectHostRenderRoot = async (\n options: Options,\n): Promise<RemoteToHostConnection> => {\n const { root, onPathnameChanged } = options;\n\n const connection = new ThreadNestedIframe<HostExports, RemoteExports>({\n serialization: new FlowThreadSerialization(),\n exports: {\n render: (connection: RemoteConnection) =>\n connectRemoteReceiver(root, connection),\n setPathname: async (pathname) => {\n onPathnameChanged?.(pathname);\n },\n },\n });\n\n if (connection.parent === window) {\n throw incompatibleParentFrameError();\n }\n\n try {\n await connection.imports.setIsReady(Version.v3);\n\n if (typeof mwExtBridge !== \"undefined\") {\n mwExtBridge.connection = connection.imports;\n await mwExtBridge.readiness.setIsReady();\n }\n\n return connection;\n } catch (error) {\n if (\n error instanceof Error &&\n /No '.*' method is exported from this thread/.test(error.message)\n ) {\n throw incompatibleParentFrameError();\n }\n throw error;\n }\n};\n\nexport const connectHostRenderRootRef =\n (opts: Omit<Options, \"root\">) => (ref: HTMLDivElement | null) => {\n if (ref === null) {\n return;\n }\n if (\"__remoteConnection\" in ref) {\n return ref[\"__remoteConnection\"] as Promise<RemoteToHostConnection>;\n }\n\n const connection = connectHostRenderRoot({\n root: ref,\n ...opts,\n });\n Object.assign(ref, { __remoteConnection: connection });\n return connection;\n };\n"],"mappings":";;;;;;AAgBA,IAAM,qCACJ,IAAI,YAAY,4CAA4C;AAE9D,IAAa,yBACX,MACA,uBAEA,OAAO,sCAAsC,MAC1C,EAAE,6BAA6B;CAE9B,IADqB,uBAAuB,kBAC5C,EAAS,QAAQ,IAAI;AACvB,CACF;AAEF,IAAa,wBAAwB,OACnC,YACoC;CACpC,MAAM,EAAE,MAAM,sBAAsB;CAEpC,MAAM,aAAa,IAAI,mBAA+C;EACpE,eAAe,IAAI,wBAAwB;EAC3C,SAAS;GACP,SAAS,eACP,sBAAsB,MAAM,UAAU;GACxC,aAAa,OAAO,aAAa;IAC/B,oBAAoB,QAAQ;GAC9B;EACF;CACF,CAAC;CAED,IAAI,WAAW,WAAW,QACxB,MAAM,6BAA6B;CAGrC,IAAI;EACF,MAAM,WAAW,QAAQ,WAAW,QAAQ,EAAE;EAE9C,IAAI,OAAO,gBAAgB,aAAa;GACtC,YAAY,aAAa,WAAW;GACpC,MAAM,YAAY,UAAU,WAAW;EACzC;EAEA,OAAO;CACT,SAAS,OAAO;EACd,IACE,iBAAiB,SACjB,8CAA8C,KAAK,MAAM,OAAO,GAEhE,MAAM,6BAA6B;EAErC,MAAM;CACR;AACF;AAEA,IAAa,4BACV,UAAiC,QAA+B;CAC/D,IAAI,QAAQ,MACV;CAEF,IAAI,wBAAwB,KAC1B,OAAO,IAAI;CAGb,MAAM,aAAa,sBAAsB;EACvC,MAAM;EACN,GAAG;CACL,CAAC;CACD,OAAO,OAAO,KAAK,EAAE,oBAAoB,WAAW,CAAC;CACrD,OAAO;AACT"}
@@ -1,75 +1,59 @@
1
- import { Version } from './types.mjs';
2
- import { getWithMergedHostConfig } from '../ext-bridge/getWithMergedHostConfig.mjs';
3
- import { emptyImplementation } from '../ext-bridge/implementation.mjs';
4
- import { FlowThreadSerialization } from '../serialization/FlowThreadSerialization.mjs';
5
- import 'invariant';
6
- import { ThreadIframe } from '@quilted/threads';
7
-
8
- const connectRemoteIframe = (opts) => {
9
- const {
10
- connection,
11
- iframe,
12
- onReady,
13
- onLoadingChanged,
14
- onError,
15
- onNavigationStateChanged,
16
- extBridgeImplementation: extBridgeImplementationProp = emptyImplementation,
17
- hostConfig
18
- } = opts;
19
- const extBridgeImplementation = {
20
- ...extBridgeImplementationProp,
21
- getConfig: getWithMergedHostConfig(extBridgeImplementationProp, hostConfig)
22
- };
23
- const result = {
24
- thread: new ThreadIframe(iframe, {
25
- serialization: new FlowThreadSerialization(),
26
- exports: {
27
- ...extBridgeImplementation,
28
- setIsReady: async (version = Version.v1) => {
29
- result.version = version;
30
- onReady?.(result);
31
- },
32
- setIsLoading: async (isLoading) => {
33
- onLoadingChanged?.(isLoading);
34
- },
35
- setError: async (error) => {
36
- onError?.(error);
37
- },
38
- setNavigationState: async (state) => {
39
- onNavigationStateChanged?.(state);
40
- },
41
- getHostConfig: async () => {
42
- return hostConfig;
43
- }
44
- }
45
- }),
46
- updateHostPathname: (hostPathname) => {
47
- if (hostPathname === void 0) {
48
- return;
49
- }
50
- if (result.version >= Version.v2) {
51
- result.thread.imports.setPathname(hostPathname);
52
- }
53
- },
54
- version: 0
55
- };
56
- result.thread.imports.render(connection);
57
- return result;
1
+ import "../../../core/src/index.mjs";
2
+ import { FlowThreadSerialization } from "../serialization/FlowThreadSerialization.mjs";
3
+ import { Version } from "./types.mjs";
4
+ import { getWithMergedHostConfig } from "../ext-bridge/getWithMergedHostConfig.mjs";
5
+ import { emptyImplementation } from "../ext-bridge/implementation.mjs";
6
+ import { ThreadIframe } from "@quilted/threads";
7
+ //#region src/connection/connectRemoteIframe.ts
8
+ var connectRemoteIframe = (opts) => {
9
+ const { connection, iframe, onReady, onLoadingChanged, onError, onNavigationStateChanged, extBridgeImplementation: extBridgeImplementationProp = emptyImplementation, hostConfig } = opts;
10
+ const extBridgeImplementation = {
11
+ ...extBridgeImplementationProp,
12
+ getConfig: getWithMergedHostConfig(extBridgeImplementationProp, hostConfig)
13
+ };
14
+ const result = {
15
+ thread: new ThreadIframe(iframe, {
16
+ serialization: new FlowThreadSerialization(),
17
+ exports: {
18
+ ...extBridgeImplementation,
19
+ setIsReady: async (version = Version.v1) => {
20
+ result.version = version;
21
+ onReady?.(result);
22
+ },
23
+ setIsLoading: async (isLoading) => {
24
+ onLoadingChanged?.(isLoading);
25
+ },
26
+ setError: async (error) => {
27
+ onError?.(error);
28
+ },
29
+ setNavigationState: async (state) => {
30
+ onNavigationStateChanged?.(state);
31
+ },
32
+ getHostConfig: async () => {
33
+ return hostConfig;
34
+ }
35
+ }
36
+ }),
37
+ updateHostPathname: (hostPathname) => {
38
+ if (hostPathname === void 0) return;
39
+ if (result.version >= Version.v2) result.thread.imports.setPathname(hostPathname);
40
+ },
41
+ version: 0
42
+ };
43
+ result.thread.imports.render(connection);
44
+ return result;
58
45
  };
59
- const connectRemoteIframeRef = (opts) => (ref) => {
60
- if (!ref) {
61
- return;
62
- }
63
- if ("__remoteConnection" in ref) {
64
- return ref["__remoteConnection"];
65
- }
66
- const connection = connectRemoteIframe({
67
- iframe: ref,
68
- ...opts
69
- });
70
- Object.assign(ref, { __remoteConnection: connection });
71
- return connection;
46
+ var connectRemoteIframeRef = (opts) => (ref) => {
47
+ if (!ref) return;
48
+ if ("__remoteConnection" in ref) return ref["__remoteConnection"];
49
+ const connection = connectRemoteIframe({
50
+ iframe: ref,
51
+ ...opts
52
+ });
53
+ Object.assign(ref, { __remoteConnection: connection });
54
+ return connection;
72
55
  };
73
-
56
+ //#endregion
74
57
  export { connectRemoteIframe, connectRemoteIframeRef };
75
- //# sourceMappingURL=connectRemoteIframe.mjs.map
58
+
59
+ //# sourceMappingURL=connectRemoteIframe.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"connectRemoteIframe.mjs","sources":["../../../../../src/connection/connectRemoteIframe.ts"],"sourcesContent":["import {\n Version,\n type HostExports,\n type HostToRemoteConnection,\n type NavigationState,\n type RemoteExports,\n type RemoteExtBridgeConnectionApi,\n} from \"@/connection/types\";\nimport { getWithMergedHostConfig } from \"@/ext-bridge/getWithMergedHostConfig\";\nimport { emptyImplementation } from \"@/ext-bridge/implementation\";\nimport { FlowThreadSerialization } from \"@/serialization/FlowThreadSerialization\";\nimport { type HostConfig } from \"@mittwald/flow-core\";\nimport type { RemoteConnection } from \"@mittwald/remote-dom-core/elements\";\nimport { ThreadIframe } from \"@quilted/threads\";\n\ninterface Options {\n connection: RemoteConnection;\n iframe: HTMLIFrameElement;\n hostConfig: HostConfig;\n onReady?: (connection: HostToRemoteConnection) => void;\n onLoadingChanged?: (isLoading: boolean) => void;\n onError?: (error: string) => void;\n onNavigationStateChanged?: (state: NavigationState) => void;\n extBridgeImplementation?: RemoteExtBridgeConnectionApi;\n}\n\nexport const connectRemoteIframe = (opts: Options): HostToRemoteConnection => {\n const {\n connection,\n iframe,\n onReady,\n onLoadingChanged,\n onError,\n onNavigationStateChanged,\n extBridgeImplementation: extBridgeImplementationProp = emptyImplementation,\n hostConfig,\n } = opts;\n\n const extBridgeImplementation = {\n ...extBridgeImplementationProp,\n getConfig: getWithMergedHostConfig(extBridgeImplementationProp, hostConfig),\n };\n\n const result = {\n thread: new ThreadIframe<RemoteExports, HostExports>(iframe, {\n serialization: new FlowThreadSerialization(),\n exports: {\n ...extBridgeImplementation,\n setIsReady: async (version = Version.v1) => {\n result.version = version;\n onReady?.(result);\n },\n setIsLoading: async (isLoading: boolean) => {\n onLoadingChanged?.(isLoading);\n },\n setError: async (error: string) => {\n onError?.(error);\n },\n setNavigationState: async (state) => {\n onNavigationStateChanged?.(state);\n },\n getHostConfig: async () => {\n return hostConfig;\n },\n },\n }),\n updateHostPathname: (hostPathname?: string) => {\n if (hostPathname === undefined) {\n return;\n }\n\n if (result.version >= Version.v2) {\n result.thread.imports.setPathname(hostPathname);\n }\n },\n version: 0,\n };\n\n result.thread.imports.render(connection);\n return result;\n};\n\nexport const connectRemoteIframeRef =\n (opts: Omit<Options, \"iframe\">) => (ref: HTMLIFrameElement | null) => {\n if (!ref) {\n return;\n }\n\n if (\"__remoteConnection\" in ref) {\n return ref[\"__remoteConnection\"] as HostToRemoteConnection;\n }\n\n const connection = connectRemoteIframe({\n iframe: ref,\n ...opts,\n });\n Object.assign(ref, { __remoteConnection: connection });\n return connection;\n };\n"],"names":[],"mappings":";;;;;;;AA0BO,MAAM,mBAAA,GAAsB,CAAC,IAAA,KAA0C;AAC5E,EAAA,MAAM;AAAA,IACJ,UAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,wBAAA;AAAA,IACA,yBAAyB,2BAAA,GAA8B,mBAAA;AAAA,IACvD;AAAA,GACF,GAAI,IAAA;AAEJ,EAAA,MAAM,uBAAA,GAA0B;AAAA,IAC9B,GAAG,2BAAA;AAAA,IACH,SAAA,EAAW,uBAAA,CAAwB,2BAAA,EAA6B,UAAU;AAAA,GAC5E;AAEA,EAAA,MAAM,MAAA,GAAS;AAAA,IACb,MAAA,EAAQ,IAAI,YAAA,CAAyC,MAAA,EAAQ;AAAA,MAC3D,aAAA,EAAe,IAAI,uBAAA,EAAwB;AAAA,MAC3C,OAAA,EAAS;AAAA,QACP,GAAG,uBAAA;AAAA,QACH,UAAA,EAAY,OAAO,OAAA,GAAU,OAAA,CAAQ,EAAA,KAAO;AAC1C,UAAA,MAAA,CAAO,OAAA,GAAU,OAAA;AACjB,UAAA,OAAA,GAAU,MAAM,CAAA;AAAA,QAClB,CAAA;AAAA,QACA,YAAA,EAAc,OAAO,SAAA,KAAuB;AAC1C,UAAA,gBAAA,GAAmB,SAAS,CAAA;AAAA,QAC9B,CAAA;AAAA,QACA,QAAA,EAAU,OAAO,KAAA,KAAkB;AACjC,UAAA,OAAA,GAAU,KAAK,CAAA;AAAA,QACjB,CAAA;AAAA,QACA,kBAAA,EAAoB,OAAO,KAAA,KAAU;AACnC,UAAA,wBAAA,GAA2B,KAAK,CAAA;AAAA,QAClC,CAAA;AAAA,QACA,eAAe,YAAY;AACzB,UAAA,OAAO,UAAA;AAAA,QACT;AAAA;AACF,KACD,CAAA;AAAA,IACD,kBAAA,EAAoB,CAAC,YAAA,KAA0B;AAC7C,MAAA,IAAI,iBAAiB,MAAA,EAAW;AAC9B,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,MAAA,CAAO,OAAA,IAAW,OAAA,CAAQ,EAAA,EAAI;AAChC,QAAA,MAAA,CAAO,MAAA,CAAO,OAAA,CAAQ,WAAA,CAAY,YAAY,CAAA;AAAA,MAChD;AAAA,IACF,CAAA;AAAA,IACA,OAAA,EAAS;AAAA,GACX;AAEA,EAAA,MAAA,CAAO,MAAA,CAAO,OAAA,CAAQ,MAAA,CAAO,UAAU,CAAA;AACvC,EAAA,OAAO,MAAA;AACT;AAEO,MAAM,sBAAA,GACX,CAAC,IAAA,KAAkC,CAAC,GAAA,KAAkC;AACpE,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA;AAAA,EACF;AAEA,EAAA,IAAI,wBAAwB,GAAA,EAAK;AAC/B,IAAA,OAAO,IAAI,oBAAoB,CAAA;AAAA,EACjC;AAEA,EAAA,MAAM,aAAa,mBAAA,CAAoB;AAAA,IACrC,MAAA,EAAQ,GAAA;AAAA,IACR,GAAG;AAAA,GACJ,CAAA;AACD,EAAA,MAAA,CAAO,MAAA,CAAO,GAAA,EAAK,EAAE,kBAAA,EAAoB,YAAY,CAAA;AACrD,EAAA,OAAO,UAAA;AACT;;;;"}
1
+ {"version":3,"file":"connectRemoteIframe.mjs","names":[],"sources":["../../../../../src/connection/connectRemoteIframe.ts"],"sourcesContent":["import {\n Version,\n type HostExports,\n type HostToRemoteConnection,\n type NavigationState,\n type RemoteExports,\n type RemoteExtBridgeConnectionApi,\n} from \"@/connection/types\";\nimport { getWithMergedHostConfig } from \"@/ext-bridge/getWithMergedHostConfig\";\nimport { emptyImplementation } from \"@/ext-bridge/implementation\";\nimport { FlowThreadSerialization } from \"@/serialization/FlowThreadSerialization\";\nimport { type HostConfig } from \"@mittwald/flow-core\";\nimport type { RemoteConnection } from \"@mittwald/remote-dom-core/elements\";\nimport { ThreadIframe } from \"@quilted/threads\";\n\ninterface Options {\n connection: RemoteConnection;\n iframe: HTMLIFrameElement;\n hostConfig: HostConfig;\n onReady?: (connection: HostToRemoteConnection) => void;\n onLoadingChanged?: (isLoading: boolean) => void;\n onError?: (error: string) => void;\n onNavigationStateChanged?: (state: NavigationState) => void;\n extBridgeImplementation?: RemoteExtBridgeConnectionApi;\n}\n\nexport const connectRemoteIframe = (opts: Options): HostToRemoteConnection => {\n const {\n connection,\n iframe,\n onReady,\n onLoadingChanged,\n onError,\n onNavigationStateChanged,\n extBridgeImplementation: extBridgeImplementationProp = emptyImplementation,\n hostConfig,\n } = opts;\n\n const extBridgeImplementation = {\n ...extBridgeImplementationProp,\n getConfig: getWithMergedHostConfig(extBridgeImplementationProp, hostConfig),\n };\n\n const result = {\n thread: new ThreadIframe<RemoteExports, HostExports>(iframe, {\n serialization: new FlowThreadSerialization(),\n exports: {\n ...extBridgeImplementation,\n setIsReady: async (version = Version.v1) => {\n result.version = version;\n onReady?.(result);\n },\n setIsLoading: async (isLoading: boolean) => {\n onLoadingChanged?.(isLoading);\n },\n setError: async (error: string) => {\n onError?.(error);\n },\n setNavigationState: async (state) => {\n onNavigationStateChanged?.(state);\n },\n getHostConfig: async () => {\n return hostConfig;\n },\n },\n }),\n updateHostPathname: (hostPathname?: string) => {\n if (hostPathname === undefined) {\n return;\n }\n\n if (result.version >= Version.v2) {\n result.thread.imports.setPathname(hostPathname);\n }\n },\n version: 0,\n };\n\n result.thread.imports.render(connection);\n return result;\n};\n\nexport const connectRemoteIframeRef =\n (opts: Omit<Options, \"iframe\">) => (ref: HTMLIFrameElement | null) => {\n if (!ref) {\n return;\n }\n\n if (\"__remoteConnection\" in ref) {\n return ref[\"__remoteConnection\"] as HostToRemoteConnection;\n }\n\n const connection = connectRemoteIframe({\n iframe: ref,\n ...opts,\n });\n Object.assign(ref, { __remoteConnection: connection });\n return connection;\n };\n"],"mappings":";;;;;;;AA0BA,IAAa,uBAAuB,SAA0C;CAC5E,MAAM,EACJ,YACA,QACA,SACA,kBACA,SACA,0BACA,yBAAyB,8BAA8B,qBACvD,eACE;CAEJ,MAAM,0BAA0B;EAC9B,GAAG;EACH,WAAW,wBAAwB,6BAA6B,UAAU;CAC5E;CAEA,MAAM,SAAS;EACb,QAAQ,IAAI,aAAyC,QAAQ;GAC3D,eAAe,IAAI,wBAAwB;GAC3C,SAAS;IACP,GAAG;IACH,YAAY,OAAO,UAAU,QAAQ,OAAO;KAC1C,OAAO,UAAU;KACjB,UAAU,MAAM;IAClB;IACA,cAAc,OAAO,cAAuB;KAC1C,mBAAmB,SAAS;IAC9B;IACA,UAAU,OAAO,UAAkB;KACjC,UAAU,KAAK;IACjB;IACA,oBAAoB,OAAO,UAAU;KACnC,2BAA2B,KAAK;IAClC;IACA,eAAe,YAAY;KACzB,OAAO;IACT;GACF;EACF,CAAC;EACD,qBAAqB,iBAA0B;GAC7C,IAAI,iBAAiB,KAAA,GACnB;GAGF,IAAI,OAAO,WAAW,QAAQ,IAC5B,OAAO,OAAO,QAAQ,YAAY,YAAY;EAElD;EACA,SAAS;CACX;CAEA,OAAO,OAAO,QAAQ,OAAO,UAAU;CACvC,OAAO;AACT;AAEA,IAAa,0BACV,UAAmC,QAAkC;CACpE,IAAI,CAAC,KACH;CAGF,IAAI,wBAAwB,KAC1B,OAAO,IAAI;CAGb,MAAM,aAAa,oBAAoB;EACrC,QAAQ;EACR,GAAG;CACL,CAAC;CACD,OAAO,OAAO,KAAK,EAAE,oBAAoB,WAAW,CAAC;CACrD,OAAO;AACT"}
@@ -0,0 +1,3 @@
1
+ import "./types.mjs";
2
+ import "./connectHostRenderRoot.mjs";
3
+ import "./connectRemoteIframe.mjs";
@@ -1,10 +1,12 @@
1
- var Version = /* @__PURE__ */ ((Version2) => {
2
- Version2[Version2["vUnknown"] = 0] = "vUnknown";
3
- Version2[Version2["v1"] = 1] = "v1";
4
- Version2[Version2["v2"] = 2] = "v2";
5
- Version2[Version2["v3"] = 3] = "v3";
6
- return Version2;
7
- })(Version || {});
8
-
1
+ //#region src/connection/types.ts
2
+ var Version = /* @__PURE__ */ function(Version) {
3
+ Version[Version["vUnknown"] = 0] = "vUnknown";
4
+ Version[Version["v1"] = 1] = "v1";
5
+ Version[Version["v2"] = 2] = "v2";
6
+ Version[Version["v3"] = 3] = "v3";
7
+ return Version;
8
+ }({});
9
+ //#endregion
9
10
  export { Version };
10
- //# sourceMappingURL=types.mjs.map
11
+
12
+ //# sourceMappingURL=types.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sources":["../../../../../src/connection/types.ts"],"sourcesContent":["import type {\n ExtBridgeConfigInput,\n ExtBridgeConnectionApi,\n} from \"@mittwald/ext-bridge\";\nimport type { HostConfig } from \"@mittwald/flow-core\";\nimport type { RemoteConnection } from \"@mittwald/remote-dom-core\";\nimport type { ThreadIframe, ThreadNestedIframe } from \"@quilted/threads\";\nexport type { RemoteConnection } from \"@mittwald/remote-dom-core\";\n\nexport interface NavigationState {\n pathname: string;\n isPending: boolean;\n}\n\nexport type RemoteExtBridgeConfig = Omit<\n ExtBridgeConfigInput,\n keyof HostConfig\n>;\n\nexport interface RemoteExtBridgeConnectionApi extends Omit<\n ExtBridgeConnectionApi,\n \"getConfig\"\n> {\n getConfig: () => Promise<RemoteExtBridgeConfig>;\n}\n\n/**\n * Breaking Change warning: Do not remove/rename/modify existing properties of\n * this interface, as they might be used by existing extensions.\n *\n * When addding properties, make sure to release the host before all clients.\n */\nexport interface HostExports extends ExtBridgeConnectionApi {\n setIsReady: (version?: Version) => Promise<void>;\n setIsLoading: (isLoading: boolean) => Promise<void>;\n setError: (error: string) => Promise<void>;\n setNavigationState: (state: NavigationState) => Promise<void>;\n getHostConfig: () => Promise<HostConfig>;\n}\n\nexport interface RemoteExports {\n render: (connection: RemoteConnection) => Promise<void>;\n setPathname: (pathname: string) => Promise<void>;\n}\n\nexport type RemoteToHostConnection = ThreadNestedIframe<\n HostExports,\n RemoteExports\n>;\n\nexport interface HostToRemoteConnection {\n version: Version;\n thread: ThreadIframe<RemoteExports, HostExports>;\n updateHostPathname: (hostPathname?: string) => void;\n}\n\nexport enum Version {\n vUnknown = 0,\n v1 = 1,\n v2 = 2,\n v3 = 3,\n}\n"],"names":["Version"],"mappings":"AAwDO,IAAK,OAAA,qBAAAA,QAAAA,KAAL;AACL,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AAJU,EAAA,OAAAA,QAAAA;AAAA,CAAA,EAAA,OAAA,IAAA,EAAA;;;;"}
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../../../../../src/connection/types.ts"],"sourcesContent":["import type {\n ExtBridgeConfigInput,\n ExtBridgeConnectionApi,\n} from \"@mittwald/ext-bridge\";\nimport type { HostConfig } from \"@mittwald/flow-core\";\nimport type { RemoteConnection } from \"@mittwald/remote-dom-core\";\nimport type { ThreadIframe, ThreadNestedIframe } from \"@quilted/threads\";\nexport type { RemoteConnection } from \"@mittwald/remote-dom-core\";\n\nexport interface NavigationState {\n pathname: string;\n isPending: boolean;\n}\n\nexport type RemoteExtBridgeConfig = Omit<\n ExtBridgeConfigInput,\n keyof HostConfig\n>;\n\nexport interface RemoteExtBridgeConnectionApi extends Omit<\n ExtBridgeConnectionApi,\n \"getConfig\"\n> {\n getConfig: () => Promise<RemoteExtBridgeConfig>;\n}\n\n/**\n * Breaking Change warning: Do not remove/rename/modify existing properties of\n * this interface, as they might be used by existing extensions.\n *\n * When addding properties, make sure to release the host before all clients.\n */\nexport interface HostExports extends ExtBridgeConnectionApi {\n setIsReady: (version?: Version) => Promise<void>;\n setIsLoading: (isLoading: boolean) => Promise<void>;\n setError: (error: string) => Promise<void>;\n setNavigationState: (state: NavigationState) => Promise<void>;\n getHostConfig: () => Promise<HostConfig>;\n}\n\nexport interface RemoteExports {\n render: (connection: RemoteConnection) => Promise<void>;\n setPathname: (pathname: string) => Promise<void>;\n}\n\nexport type RemoteToHostConnection = ThreadNestedIframe<\n HostExports,\n RemoteExports\n>;\n\nexport interface HostToRemoteConnection {\n version: Version;\n thread: ThreadIframe<RemoteExports, HostExports>;\n updateHostPathname: (hostPathname?: string) => void;\n}\n\nexport enum Version {\n vUnknown = 0,\n v1 = 1,\n v2 = 2,\n v3 = 3,\n}\n"],"mappings":";AAwDA,IAAY,UAAL,yBAAA,SAAA;CACL,QAAA,QAAA,cAAA,KAAA;CACA,QAAA,QAAA,QAAA,KAAA;CACA,QAAA,QAAA,QAAA,KAAA;CACA,QAAA,QAAA,QAAA,KAAA;;AACF,EAAA,CAAA,CAAA"}
@@ -1,10 +1,12 @@
1
- class RemoteError extends Error {
2
- constructor(message) {
3
- super(message);
4
- this.message = message;
5
- }
6
- }
1
+ //#region src/error.ts
2
+ var RemoteError = class extends Error {
3
+ constructor(message) {
4
+ super(message);
5
+ this.message = message;
6
+ }
7
+ };
7
8
  RemoteError.prototype.name = "RemoteError";
8
-
9
+ //#endregion
9
10
  export { RemoteError };
10
- //# sourceMappingURL=error.mjs.map
11
+
12
+ //# sourceMappingURL=error.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.mjs","sources":["../../../../src/error.ts"],"sourcesContent":["export class RemoteError extends Error {\n constructor(message: string) {\n super(message);\n this.message = message;\n }\n}\n\nRemoteError.prototype.name = \"RemoteError\";\n"],"names":[],"mappings":"AAAO,MAAM,oBAAoB,KAAA,CAAM;AAAA,EACrC,YAAY,OAAA,EAAiB;AAC3B,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AACF;AAEA,WAAA,CAAY,UAAU,IAAA,GAAO,aAAA;;;;"}
1
+ {"version":3,"file":"error.mjs","names":[],"sources":["../../../../src/error.ts"],"sourcesContent":["export class RemoteError extends Error {\n constructor(message: string) {\n super(message);\n this.message = message;\n }\n}\n\nRemoteError.prototype.name = \"RemoteError\";\n"],"mappings":";AAAA,IAAa,cAAb,cAAiC,MAAM;CACrC,YAAY,SAAiB;EAC3B,MAAM,OAAO;EACb,KAAK,UAAU;CACjB;AACF;AAEA,YAAY,UAAU,OAAO"}
@@ -1,10 +1,12 @@
1
- const getWithMergedHostConfig = (extBridgeConnection, hostConfig) => async () => {
2
- const baseConfig = await extBridgeConnection.getConfig();
3
- return {
4
- ...hostConfig,
5
- ...baseConfig
6
- };
1
+ //#region src/ext-bridge/getWithMergedHostConfig.ts
2
+ var getWithMergedHostConfig = (extBridgeConnection, hostConfig) => async () => {
3
+ const baseConfig = await extBridgeConnection.getConfig();
4
+ return {
5
+ ...hostConfig,
6
+ ...baseConfig
7
+ };
7
8
  };
8
-
9
+ //#endregion
9
10
  export { getWithMergedHostConfig };
10
- //# sourceMappingURL=getWithMergedHostConfig.mjs.map
11
+
12
+ //# sourceMappingURL=getWithMergedHostConfig.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"getWithMergedHostConfig.mjs","sources":["../../../../../src/ext-bridge/getWithMergedHostConfig.ts"],"sourcesContent":["import type { RemoteExtBridgeConnectionApi } from \"@/connection\";\nimport type { ExtBridgeConfigInput } from \"@mittwald/ext-bridge\";\nimport type { HostConfig } from \"@mittwald/flow-core\";\n\nexport const getWithMergedHostConfig =\n (extBridgeConnection: RemoteExtBridgeConnectionApi, hostConfig: HostConfig) =>\n async (): Promise<ExtBridgeConfigInput> => {\n const baseConfig = await extBridgeConnection.getConfig();\n\n return {\n ...hostConfig,\n ...baseConfig,\n };\n };\n"],"names":[],"mappings":"AAIO,MAAM,uBAAA,GACX,CAAC,mBAAA,EAAmD,UAAA,KACpD,YAA2C;AACzC,EAAA,MAAM,UAAA,GAAa,MAAM,mBAAA,CAAoB,SAAA,EAAU;AAEvD,EAAA,OAAO;AAAA,IACL,GAAG,UAAA;AAAA,IACH,GAAG;AAAA,GACL;AACF;;;;"}
1
+ {"version":3,"file":"getWithMergedHostConfig.mjs","names":[],"sources":["../../../../../src/ext-bridge/getWithMergedHostConfig.ts"],"sourcesContent":["import type { RemoteExtBridgeConnectionApi } from \"@/connection\";\nimport type { ExtBridgeConfigInput } from \"@mittwald/ext-bridge\";\nimport type { HostConfig } from \"@mittwald/flow-core\";\n\nexport const getWithMergedHostConfig =\n (extBridgeConnection: RemoteExtBridgeConnectionApi, hostConfig: HostConfig) =>\n async (): Promise<ExtBridgeConfigInput> => {\n const baseConfig = await extBridgeConnection.getConfig();\n\n return {\n ...hostConfig,\n ...baseConfig,\n };\n };\n"],"mappings":";AAIA,IAAa,2BACV,qBAAmD,eACpD,YAA2C;CACzC,MAAM,aAAa,MAAM,oBAAoB,UAAU;CAEvD,OAAO;EACL,GAAG;EACH,GAAG;CACL;AACF"}
@@ -1,13 +1,9 @@
1
- import { RemoteError } from '../error.mjs';
2
-
3
- const emptyImplementation = new Proxy(
4
- {},
5
- {
6
- get() {
7
- throw new RemoteError("Missing implementation for mittwald.extBridge");
8
- }
9
- }
10
- );
11
-
1
+ import { RemoteError } from "../error.mjs";
2
+ //#region src/ext-bridge/implementation.ts
3
+ var emptyImplementation = new Proxy({}, { get() {
4
+ throw new RemoteError("Missing implementation for mittwald.extBridge");
5
+ } });
6
+ //#endregion
12
7
  export { emptyImplementation };
13
- //# sourceMappingURL=implementation.mjs.map
8
+
9
+ //# sourceMappingURL=implementation.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"implementation.mjs","sources":["../../../../../src/ext-bridge/implementation.ts"],"sourcesContent":["import { RemoteError } from \"@/error\";\nimport type { ExtBridgeConnectionApi } from \"@mittwald/ext-bridge\";\n\nexport const emptyImplementation = new Proxy(\n {},\n {\n get() {\n throw new RemoteError(\"Missing implementation for mittwald.extBridge\");\n },\n },\n) as ExtBridgeConnectionApi;\n"],"names":[],"mappings":";;AAGO,MAAM,sBAAsB,IAAI,KAAA;AAAA,EACrC,EAAC;AAAA,EACD;AAAA,IACE,GAAA,GAAM;AACJ,MAAA,MAAM,IAAI,YAAY,+CAA+C,CAAA;AAAA,IACvE;AAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"implementation.mjs","names":[],"sources":["../../../../../src/ext-bridge/implementation.ts"],"sourcesContent":["import { RemoteError } from \"@/error\";\nimport type { ExtBridgeConnectionApi } from \"@mittwald/ext-bridge\";\n\nexport const emptyImplementation = new Proxy(\n {},\n {\n get() {\n throw new RemoteError(\"Missing implementation for mittwald.extBridge\");\n },\n },\n) as ExtBridgeConnectionApi;\n"],"mappings":";;AAGA,IAAa,sBAAsB,IAAI,MACrC,CAAC,GACD,EACE,MAAM;CACJ,MAAM,IAAI,YAAY,+CAA+C;AACvE,EACF,CACF"}