@mittwald/flow-remote-core 0.2.0-alpha.102 → 0.2.0-alpha.1021

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 (125) hide show
  1. package/README.md +2 -2
  2. package/dist/js/index-node.mjs +17 -0
  3. package/dist/js/index-node.mjs.map +1 -0
  4. package/dist/js/index.mjs +16 -0
  5. package/dist/js/index.mjs.map +1 -0
  6. package/dist/js/node_modules/.pnpm/@quilted_events@2.1.5/node_modules/@quilted/events/build/esm/abort/NestedAbortController.mjs +38 -0
  7. package/dist/js/node_modules/.pnpm/@quilted_events@2.1.5/node_modules/@quilted/events/build/esm/abort/NestedAbortController.mjs.map +1 -0
  8. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/Thread.mjs +231 -0
  9. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/Thread.mjs.map +1 -0
  10. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/constants.mjs +10 -0
  11. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/constants.mjs.map +1 -0
  12. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/errors.mjs +8 -0
  13. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/errors.mjs.map +1 -0
  14. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/functions/ThreadFunctionsAutomatic.mjs +69 -0
  15. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/functions/ThreadFunctionsAutomatic.mjs.map +1 -0
  16. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/nanoid.mjs +11 -0
  17. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/nanoid.mjs.map +1 -0
  18. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/serialization/ThreadSerializationStructuredClone.mjs +212 -0
  19. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/serialization/ThreadSerializationStructuredClone.mjs.map +1 -0
  20. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/serialization/shared.mjs +11 -0
  21. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/serialization/shared.mjs.map +1 -0
  22. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/threads/ThreadIframe.mjs +161 -0
  23. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/threads/ThreadIframe.mjs.map +1 -0
  24. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/threads/ThreadNestedIframe.mjs +86 -0
  25. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/threads/ThreadNestedIframe.mjs.map +1 -0
  26. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/threads/window/ThreadNestedWindow.mjs +140 -0
  27. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/threads/window/ThreadNestedWindow.mjs.map +1 -0
  28. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/threads/window/ThreadWindow.mjs +211 -0
  29. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/threads/window/ThreadWindow.mjs.map +1 -0
  30. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/threads/window/shared.mjs +5 -0
  31. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/threads/window/shared.mjs.map +1 -0
  32. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/transfer.mjs +17 -0
  33. package/dist/js/node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/transfer.mjs.map +1 -0
  34. package/dist/js/packages/remote-core/src/connection/connectHostRenderRoot.mjs +64 -0
  35. package/dist/js/packages/remote-core/src/connection/connectHostRenderRoot.mjs.map +1 -0
  36. package/dist/js/packages/remote-core/src/connection/connectRemoteIframe.mjs +105 -0
  37. package/dist/js/packages/remote-core/src/connection/connectRemoteIframe.mjs.map +1 -0
  38. package/dist/js/packages/remote-core/src/connection/types.mjs +12 -0
  39. package/dist/js/packages/remote-core/src/connection/types.mjs.map +1 -0
  40. package/dist/js/packages/remote-core/src/error.mjs +10 -0
  41. package/dist/js/packages/remote-core/src/error.mjs.map +1 -0
  42. package/dist/js/packages/remote-core/src/events/remoteEvents.mjs +19 -0
  43. package/dist/js/packages/remote-core/src/events/remoteEvents.mjs.map +1 -0
  44. package/dist/js/packages/remote-core/src/ext-bridge/getWithMergedHostConfig.mjs +10 -0
  45. package/dist/js/packages/remote-core/src/ext-bridge/getWithMergedHostConfig.mjs.map +1 -0
  46. package/dist/js/packages/remote-core/src/ext-bridge/implementation.mjs +13 -0
  47. package/dist/js/packages/remote-core/src/ext-bridge/implementation.mjs.map +1 -0
  48. package/dist/js/packages/remote-core/src/serialization/FlowThreadSerialization.mjs +62 -0
  49. package/dist/js/packages/remote-core/src/serialization/FlowThreadSerialization.mjs.map +1 -0
  50. package/dist/js/packages/remote-core/src/serialization/Serializer.mjs +32 -0
  51. package/dist/js/packages/remote-core/src/serialization/Serializer.mjs.map +1 -0
  52. package/dist/js/packages/remote-core/src/serialization/serializers/dataTransferText.mjs +23 -0
  53. package/dist/js/packages/remote-core/src/serialization/serializers/dataTransferText.mjs.map +1 -0
  54. package/dist/js/packages/remote-core/src/serialization/serializers/date.mjs +16 -0
  55. package/dist/js/packages/remote-core/src/serialization/serializers/date.mjs.map +1 -0
  56. package/dist/js/packages/remote-core/src/serialization/serializers/file.mjs +33 -0
  57. package/dist/js/packages/remote-core/src/serialization/serializers/file.mjs.map +1 -0
  58. package/dist/js/packages/remote-core/src/serialization/serializers/fileList.mjs +24 -0
  59. package/dist/js/packages/remote-core/src/serialization/serializers/fileList.mjs.map +1 -0
  60. package/dist/js/packages/remote-core/src/serialization/serializers/formData.mjs +36 -0
  61. package/dist/js/packages/remote-core/src/serialization/serializers/formData.mjs.map +1 -0
  62. package/dist/js/packages/remote-core/src/serialization/serializers/index.mjs +7 -0
  63. package/dist/js/packages/remote-core/src/serialization/serializers/index.mjs.map +1 -0
  64. package/dist/js/packages/remote-core/src/serialization/serializers/passwordPolicy.mjs +16 -0
  65. package/dist/js/packages/remote-core/src/serialization/serializers/passwordPolicy.mjs.map +1 -0
  66. package/dist/js/packages/remote-core/src/shim.mjs +16 -0
  67. package/dist/js/packages/remote-core/src/shim.mjs.map +1 -0
  68. package/dist/types/connection/connectHostRenderRoot.d.ts +12 -6
  69. package/dist/types/connection/connectHostRenderRoot.d.ts.map +1 -1
  70. package/dist/types/connection/connectRemoteIframe.d.ts +15 -9
  71. package/dist/types/connection/connectRemoteIframe.d.ts.map +1 -1
  72. package/dist/types/connection/index.d.ts +4 -0
  73. package/dist/types/connection/index.d.ts.map +1 -0
  74. package/dist/types/connection/types.d.ts +58 -0
  75. package/dist/types/connection/types.d.ts.map +1 -0
  76. package/dist/types/error.d.ts +4 -0
  77. package/dist/types/error.d.ts.map +1 -0
  78. package/dist/types/events/remoteEvents.d.ts +17 -0
  79. package/dist/types/events/remoteEvents.d.ts.map +1 -0
  80. package/dist/types/events/remoteEvents.test.d.ts +2 -0
  81. package/dist/types/events/remoteEvents.test.d.ts.map +1 -0
  82. package/dist/types/ext-bridge/getWithMergedHostConfig.d.ts +4 -0
  83. package/dist/types/ext-bridge/getWithMergedHostConfig.d.ts.map +1 -0
  84. package/dist/types/ext-bridge/implementation.d.ts +3 -0
  85. package/dist/types/ext-bridge/implementation.d.ts.map +1 -0
  86. package/dist/types/index-node.d.ts +2 -0
  87. package/dist/types/index-node.d.ts.map +1 -0
  88. package/dist/types/index.d.ts +6 -6
  89. package/dist/types/index.d.ts.map +1 -1
  90. package/dist/types/serialization/FlowThreadSerialization.d.ts +7 -0
  91. package/dist/types/serialization/FlowThreadSerialization.d.ts.map +1 -0
  92. package/dist/types/serialization/FlowThreadSerialization.test.d.ts +2 -0
  93. package/dist/types/serialization/FlowThreadSerialization.test.d.ts.map +1 -0
  94. package/dist/types/serialization/Serialization.test.d.ts +2 -0
  95. package/dist/types/serialization/Serialization.test.d.ts.map +1 -0
  96. package/dist/types/serialization/Serializer.d.ts +28 -0
  97. package/dist/types/serialization/Serializer.d.ts.map +1 -0
  98. package/dist/types/serialization/index.d.ts +4 -0
  99. package/dist/types/serialization/index.d.ts.map +1 -0
  100. package/dist/types/serialization/serializers/dataTransferText.d.ts +3 -0
  101. package/dist/types/serialization/serializers/dataTransferText.d.ts.map +1 -0
  102. package/dist/types/serialization/serializers/date.d.ts +4 -0
  103. package/dist/types/serialization/serializers/date.d.ts.map +1 -0
  104. package/dist/types/serialization/serializers/file.d.ts +12 -0
  105. package/dist/types/serialization/serializers/file.d.ts.map +1 -0
  106. package/dist/types/serialization/serializers/fileList.d.ts +4 -0
  107. package/dist/types/serialization/serializers/fileList.d.ts.map +1 -0
  108. package/dist/types/serialization/serializers/formData.d.ts +7 -0
  109. package/dist/types/serialization/serializers/formData.d.ts.map +1 -0
  110. package/dist/types/serialization/serializers/index.d.ts +7 -0
  111. package/dist/types/serialization/serializers/index.d.ts.map +1 -0
  112. package/dist/types/serialization/serializers/passwordPolicy.d.ts +4 -0
  113. package/dist/types/serialization/serializers/passwordPolicy.d.ts.map +1 -0
  114. package/dist/types/shim.d.ts +2 -0
  115. package/dist/types/shim.d.ts.map +1 -0
  116. package/dist/types/tests/utils.d.ts +2 -0
  117. package/dist/types/tests/utils.d.ts.map +1 -0
  118. package/package.json +38 -20
  119. package/dist/index.js +0 -48
  120. package/dist/types/events/FlowRemoteEvent.d.ts +0 -4
  121. package/dist/types/events/FlowRemoteEvent.d.ts.map +0 -1
  122. package/dist/types/events/index.d.ts +0 -5
  123. package/dist/types/events/index.d.ts.map +0 -1
  124. package/dist/types/events/serializers.d.ts +0 -5
  125. package/dist/types/events/serializers.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowThreadSerialization.mjs","sources":["../../../../../../src/serialization/FlowThreadSerialization.ts"],"sourcesContent":["import {\n ThreadSerializationStructuredClone,\n type ThreadSerializationOptions,\n TRANSFERABLE,\n} from \"@quilted/threads\";\nimport * as serializerModules from \"./serializers\";\nimport { isObjectType } from \"remeda\";\nimport { Serializer } from \"@/serialization/Serializer\";\n\nconst serializers = Object.values(serializerModules).filter(\n (val) => val instanceof Serializer,\n);\n\nexport class FlowThreadSerialization extends ThreadSerializationStructuredClone {\n public constructor() {\n const options: ThreadSerializationOptions = {\n serialize: async (val, serialize) => {\n try {\n if (this.isSerializableByBase(val)) {\n return;\n }\n if (this.omitSerialization(val)) {\n return null;\n }\n for (const serializer of serializers) {\n const serialization = await serializer.serialize(val);\n\n if (serialization.applied) {\n return await serialize(serialization.result);\n }\n }\n\n if (isObjectType(val)) {\n return await serialize({ ...val });\n }\n\n return undefined;\n } catch (error) {\n console.error(\"Error while serializing\", error);\n throw error;\n }\n },\n\n deserialize: async (val, deserialize) => {\n try {\n for (const serializer of serializers) {\n const deserialization = await serializer.deserialize(val);\n\n if (deserialization.applied) {\n return deserialization.result.value;\n }\n }\n\n return await deserialize(val);\n } catch (error) {\n console.error(\"Error while deserializing\", error);\n throw error;\n }\n },\n };\n\n super(options);\n }\n\n private isSerializableByBase(val: unknown) {\n return (\n val instanceof Map ||\n val instanceof Set ||\n Array.isArray(val) ||\n typeof val === \"function\" ||\n (isObjectType(val) && TRANSFERABLE in val)\n );\n }\n\n private omitSerialization(val: unknown) {\n return val instanceof HTMLElement || val === window;\n }\n}\n"],"names":["serializerModules"],"mappings":";;;;;;AASA,MAAM,WAAA,GAAc,MAAA,CAAO,MAAA,CAAOA,KAAiB,CAAA,CAAE,MAAA;AAAA,EACnD,CAAC,QAAQ,GAAA,YAAe;AAC1B,CAAA;AAEO,MAAM,gCAAgC,kCAAA,CAAmC;AAAA,EACvE,WAAA,GAAc;AACnB,IAAA,MAAM,OAAA,GAAsC;AAAA,MAC1C,SAAA,EAAW,OAAO,GAAA,EAAK,SAAA,KAAc;AACnC,QAAA,IAAI;AACF,UAAA,IAAI,IAAA,CAAK,oBAAA,CAAqB,GAAG,CAAA,EAAG;AAClC,YAAA;AAAA,UACF;AACA,UAAA,IAAI,IAAA,CAAK,iBAAA,CAAkB,GAAG,CAAA,EAAG;AAC/B,YAAA,OAAO,IAAA;AAAA,UACT;AACA,UAAA,KAAA,MAAW,cAAc,WAAA,EAAa;AACpC,YAAA,MAAM,aAAA,GAAgB,MAAM,UAAA,CAAW,SAAA,CAAU,GAAG,CAAA;AAEpD,YAAA,IAAI,cAAc,OAAA,EAAS;AACzB,cAAA,OAAO,MAAM,SAAA,CAAU,aAAA,CAAc,MAAM,CAAA;AAAA,YAC7C;AAAA,UACF;AAEA,UAAA,IAAI,YAAA,CAAa,GAAG,CAAA,EAAG;AACrB,YAAA,OAAO,MAAM,SAAA,CAAU,EAAE,GAAG,KAAK,CAAA;AAAA,UACnC;AAEA,UAAA,OAAO,KAAA,CAAA;AAAA,QACT,SAAS,KAAA,EAAO;AACd,UAAA,OAAA,CAAQ,KAAA,CAAM,2BAA2B,KAAK,CAAA;AAC9C,UAAA,MAAM,KAAA;AAAA,QACR;AAAA,MACF,CAAA;AAAA,MAEA,WAAA,EAAa,OAAO,GAAA,EAAK,WAAA,KAAgB;AACvC,QAAA,IAAI;AACF,UAAA,KAAA,MAAW,cAAc,WAAA,EAAa;AACpC,YAAA,MAAM,eAAA,GAAkB,MAAM,UAAA,CAAW,WAAA,CAAY,GAAG,CAAA;AAExD,YAAA,IAAI,gBAAgB,OAAA,EAAS;AAC3B,cAAA,OAAO,gBAAgB,MAAA,CAAO,KAAA;AAAA,YAChC;AAAA,UACF;AAEA,UAAA,OAAO,MAAM,YAAY,GAAG,CAAA;AAAA,QAC9B,SAAS,KAAA,EAAO;AACd,UAAA,OAAA,CAAQ,KAAA,CAAM,6BAA6B,KAAK,CAAA;AAChD,UAAA,MAAM,KAAA;AAAA,QACR;AAAA,MACF;AAAA,KACF;AAEA,IAAA,KAAA,CAAM,OAAO,CAAA;AAAA,EACf;AAAA,EAEQ,qBAAqB,GAAA,EAAc;AACzC,IAAA,OACE,GAAA,YAAe,GAAA,IACf,GAAA,YAAe,GAAA,IACf,MAAM,OAAA,CAAQ,GAAG,CAAA,IACjB,OAAO,GAAA,KAAQ,UAAA,IACd,YAAA,CAAa,GAAG,KAAK,YAAA,IAAgB,GAAA;AAAA,EAE1C;AAAA,EAEQ,kBAAkB,GAAA,EAAc;AACtC,IAAA,OAAO,GAAA,YAAe,eAAe,GAAA,KAAQ,MAAA;AAAA,EAC/C;AACF;;;;"}
@@ -0,0 +1,32 @@
1
+ const Key = "mittwald.flow-remote-core.serializer.name";
2
+ class Serializer {
3
+ constructor(options) {
4
+ this.options = options;
5
+ }
6
+ options;
7
+ async apply(val, strategy) {
8
+ if (!strategy.isApplicable(val)) {
9
+ return { applied: false };
10
+ }
11
+ const resolved = await strategy.apply(val);
12
+ return {
13
+ applied: true,
14
+ result: {
15
+ [Key]: this.options.name,
16
+ value: resolved
17
+ }
18
+ };
19
+ }
20
+ async serialize(val) {
21
+ return this.apply(val, this.options.serialize);
22
+ }
23
+ async deserialize(val) {
24
+ return this.apply(val, {
25
+ isApplicable: (candidate) => !!candidate && typeof candidate === "object" && Key in candidate && candidate[Key] === this.options.name,
26
+ apply: (serialization) => this.options.deserialize.apply(serialization.value)
27
+ });
28
+ }
29
+ }
30
+
31
+ export { Serializer };
32
+ //# sourceMappingURL=Serializer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Serializer.mjs","sources":["../../../../../../src/serialization/Serializer.ts"],"sourcesContent":["interface SerializationStrategy<TIn, TOut> {\n isApplicable: (val: unknown) => val is TIn;\n apply: (val: TIn) => TOut | Promise<TOut>;\n}\n\nconst Key = \"mittwald.flow-remote-core.serializer.name\";\n\nexport interface SuccessfulSerializationResult<T> {\n value: T;\n [Key]: string;\n}\n\nexport type SerializationResult<T> =\n | { applied: true; result: SuccessfulSerializationResult<T> }\n | { applied: false };\n\nexport class Serializer<TIn, TOut> {\n public constructor(\n private options: {\n name: string;\n serialize: SerializationStrategy<TIn, TOut>;\n deserialize: Pick<SerializationStrategy<TOut, TIn>, \"apply\">;\n },\n ) {}\n\n private async apply<TIn, TOut>(\n val: unknown,\n strategy: SerializationStrategy<TIn, TOut>,\n ): Promise<SerializationResult<TOut>> {\n if (!strategy.isApplicable(val)) {\n return { applied: false };\n }\n\n const resolved = await strategy.apply(val);\n\n return {\n applied: true,\n result: {\n [Key]: this.options.name,\n value: resolved,\n },\n };\n }\n\n public async serialize(val: unknown): Promise<SerializationResult<TOut>> {\n return this.apply<TIn, TOut>(val, this.options.serialize);\n }\n\n public async deserialize(val: unknown): Promise<SerializationResult<TIn>> {\n return this.apply(val, {\n isApplicable: (\n candidate,\n ): candidate is SuccessfulSerializationResult<TOut> =>\n !!candidate &&\n typeof candidate === \"object\" &&\n Key in candidate &&\n (candidate as never)[Key] === this.options.name,\n apply: (serialization) =>\n this.options.deserialize.apply(serialization.value),\n });\n }\n}\n"],"names":[],"mappings":"AAKA,MAAM,GAAA,GAAM,2CAAA;AAWL,MAAM,UAAA,CAAsB;AAAA,EAC1B,YACG,OAAA,EAKR;AALQ,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAAA,EAKP;AAAA,EALO,OAAA;AAAA,EAOV,MAAc,KAAA,CACZ,GAAA,EACA,QAAA,EACoC;AACpC,IAAA,IAAI,CAAC,QAAA,CAAS,YAAA,CAAa,GAAG,CAAA,EAAG;AAC/B,MAAA,OAAO,EAAE,SAAS,KAAA,EAAM;AAAA,IAC1B;AAEA,IAAA,MAAM,QAAA,GAAW,MAAM,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA;AAEzC,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,MAAA,EAAQ;AAAA,QACN,CAAC,GAAG,GAAG,IAAA,CAAK,OAAA,CAAQ,IAAA;AAAA,QACpB,KAAA,EAAO;AAAA;AACT,KACF;AAAA,EACF;AAAA,EAEA,MAAa,UAAU,GAAA,EAAkD;AACvE,IAAA,OAAO,IAAA,CAAK,KAAA,CAAiB,GAAA,EAAK,IAAA,CAAK,QAAQ,SAAS,CAAA;AAAA,EAC1D;AAAA,EAEA,MAAa,YAAY,GAAA,EAAiD;AACxE,IAAA,OAAO,IAAA,CAAK,MAAM,GAAA,EAAK;AAAA,MACrB,YAAA,EAAc,CACZ,SAAA,KAEA,CAAC,CAAC,SAAA,IACF,OAAO,SAAA,KAAc,QAAA,IACrB,OAAO,SAAA,IACN,SAAA,CAAoB,GAAG,CAAA,KAAM,KAAK,OAAA,CAAQ,IAAA;AAAA,MAC7C,KAAA,EAAO,CAAC,aAAA,KACN,IAAA,CAAK,QAAQ,WAAA,CAAY,KAAA,CAAM,cAAc,KAAK;AAAA,KACrD,CAAA;AAAA,EACH;AACF;;;;"}
@@ -0,0 +1,23 @@
1
+ import { Serializer } from '../Serializer.mjs';
2
+
3
+ const dataTransferTextSerializer = new Serializer({
4
+ name: "DataTransferText",
5
+ serialize: {
6
+ isApplicable: (val) => {
7
+ return val instanceof DataTransfer && val.types.every((type) => type === "text/plain");
8
+ },
9
+ apply: (dataTransfer) => {
10
+ return dataTransfer.getData("text") || dataTransfer.getData("text/plain");
11
+ }
12
+ },
13
+ deserialize: {
14
+ apply: (asString) => {
15
+ const dataTransfer = new DataTransfer();
16
+ dataTransfer.setData("text", asString);
17
+ return dataTransfer;
18
+ }
19
+ }
20
+ });
21
+
22
+ export { dataTransferTextSerializer };
23
+ //# sourceMappingURL=dataTransferText.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataTransferText.mjs","sources":["../../../../../../../src/serialization/serializers/dataTransferText.ts"],"sourcesContent":["import { Serializer } from \"@/serialization/Serializer\";\n\nexport const dataTransferTextSerializer = new Serializer<DataTransfer, string>({\n name: \"DataTransferText\",\n serialize: {\n isApplicable: (val): val is DataTransfer => {\n return (\n val instanceof DataTransfer &&\n val.types.every((type) => type === \"text/plain\")\n );\n },\n apply: (dataTransfer) => {\n return dataTransfer.getData(\"text\") || dataTransfer.getData(\"text/plain\");\n },\n },\n deserialize: {\n apply: (asString) => {\n const dataTransfer = new DataTransfer();\n dataTransfer.setData(\"text\", asString);\n return dataTransfer;\n },\n },\n});\n"],"names":[],"mappings":";;AAEO,MAAM,0BAAA,GAA6B,IAAI,UAAA,CAAiC;AAAA,EAC7E,IAAA,EAAM,kBAAA;AAAA,EACN,SAAA,EAAW;AAAA,IACT,YAAA,EAAc,CAAC,GAAA,KAA6B;AAC1C,MAAA,OACE,GAAA,YAAe,gBACf,GAAA,CAAI,KAAA,CAAM,MAAM,CAAC,IAAA,KAAS,SAAS,YAAY,CAAA;AAAA,IAEnD,CAAA;AAAA,IACA,KAAA,EAAO,CAAC,YAAA,KAAiB;AACvB,MAAA,OAAO,aAAa,OAAA,CAAQ,MAAM,CAAA,IAAK,YAAA,CAAa,QAAQ,YAAY,CAAA;AAAA,IAC1E;AAAA,GACF;AAAA,EACA,WAAA,EAAa;AAAA,IACX,KAAA,EAAO,CAAC,QAAA,KAAa;AACnB,MAAA,MAAM,YAAA,GAAe,IAAI,YAAA,EAAa;AACtC,MAAA,YAAA,CAAa,OAAA,CAAQ,QAAQ,QAAQ,CAAA;AACrC,MAAA,OAAO,YAAA;AAAA,IACT;AAAA;AAEJ,CAAC;;;;"}
@@ -0,0 +1,16 @@
1
+ import { parseDate, CalendarDate } from '@internationalized/date';
2
+ import { Serializer } from '../Serializer.mjs';
3
+
4
+ const calendarDateSerializer = new Serializer({
5
+ name: "CalendarDate",
6
+ serialize: {
7
+ isApplicable: (val) => val instanceof CalendarDate,
8
+ apply: (date) => date.toString()
9
+ },
10
+ deserialize: {
11
+ apply: (asString) => parseDate(asString)
12
+ }
13
+ });
14
+
15
+ export { calendarDateSerializer };
16
+ //# sourceMappingURL=date.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.mjs","sources":["../../../../../../../src/serialization/serializers/date.ts"],"sourcesContent":["import { CalendarDate } from \"@internationalized/date\";\nimport { parseDate } from \"@internationalized/date\";\nimport { Serializer } from \"@/serialization/Serializer\";\n\nexport const calendarDateSerializer = new Serializer<CalendarDate, string>({\n name: \"CalendarDate\",\n serialize: {\n isApplicable: (val) => val instanceof CalendarDate,\n apply: (date) => date.toString(),\n },\n deserialize: {\n apply: (asString) => parseDate(asString),\n },\n});\n"],"names":[],"mappings":";;;AAIO,MAAM,sBAAA,GAAyB,IAAI,UAAA,CAAiC;AAAA,EACzE,IAAA,EAAM,cAAA;AAAA,EACN,SAAA,EAAW;AAAA,IACT,YAAA,EAAc,CAAC,GAAA,KAAQ,GAAA,YAAe,YAAA;AAAA,IACtC,KAAA,EAAO,CAAC,IAAA,KAAS,IAAA,CAAK,QAAA;AAAS,GACjC;AAAA,EACA,WAAA,EAAa;AAAA,IACX,KAAA,EAAO,CAAC,QAAA,KAAa,SAAA,CAAU,QAAQ;AAAA;AAE3C,CAAC;;;;"}
@@ -0,0 +1,33 @@
1
+ import { Serializer } from '../Serializer.mjs';
2
+ import { markAsTransferable } from '../../../../../node_modules/.pnpm/@quilted_threads@3.3.1_patch_hash_df15ead5d86def314ee16ab6a48f9e4faa765b52aa161b10d2848_aa11bff1669c76d0bae25976909ea4eb/node_modules/@quilted/threads/build/esm/transfer.mjs';
3
+
4
+ const isSerializedFile = (value) => {
5
+ return !!(value && typeof value === "object" && "name" in value && "type" in value && "lastModified" in value && "content" in value);
6
+ };
7
+ const fileSerialize = async (file) => {
8
+ return {
9
+ name: file.name,
10
+ type: file.type,
11
+ lastModified: file.lastModified,
12
+ content: markAsTransferable(await file.arrayBuffer())
13
+ };
14
+ };
15
+ const fileDeSerialize = (file) => {
16
+ return new File([file.content], file.name, {
17
+ lastModified: file.lastModified,
18
+ type: file.type
19
+ });
20
+ };
21
+ const fileSerializer = new Serializer({
22
+ name: "File",
23
+ serialize: {
24
+ isApplicable: (something) => something instanceof File,
25
+ apply: fileSerialize
26
+ },
27
+ deserialize: {
28
+ apply: fileDeSerialize
29
+ }
30
+ });
31
+
32
+ export { fileDeSerialize, fileSerialize, fileSerializer, isSerializedFile };
33
+ //# sourceMappingURL=file.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.mjs","sources":["../../../../../../../src/serialization/serializers/file.ts"],"sourcesContent":["import { markAsTransferable } from \"@quilted/threads\";\nimport { Serializer } from \"@/serialization/Serializer\";\n\nexport interface SerializedFile {\n name: string;\n type: string;\n lastModified: number;\n content: ArrayBuffer;\n}\n\nexport const isSerializedFile = (value: unknown): value is SerializedFile => {\n return !!(\n value &&\n typeof value === \"object\" &&\n \"name\" in value &&\n \"type\" in value &&\n \"lastModified\" in value &&\n \"content\" in value\n );\n};\n\nexport const fileSerialize = async (file: File): Promise<SerializedFile> => {\n return {\n name: file.name,\n type: file.type,\n lastModified: file.lastModified,\n content: markAsTransferable(await file.arrayBuffer()),\n };\n};\n\nexport const fileDeSerialize = (file: SerializedFile) => {\n return new File([file.content], file.name, {\n lastModified: file.lastModified,\n type: file.type,\n });\n};\n\nexport const fileSerializer = new Serializer<File, SerializedFile>({\n name: \"File\",\n serialize: {\n isApplicable: (something) => something instanceof File,\n apply: fileSerialize,\n },\n deserialize: {\n apply: fileDeSerialize,\n },\n});\n"],"names":[],"mappings":";;;AAUO,MAAM,gBAAA,GAAmB,CAAC,KAAA,KAA4C;AAC3E,EAAA,OAAO,CAAC,EACN,KAAA,IACA,OAAO,KAAA,KAAU,QAAA,IACjB,MAAA,IAAU,KAAA,IACV,MAAA,IAAU,KAAA,IACV,cAAA,IAAkB,KAAA,IAClB,SAAA,IAAa,KAAA,CAAA;AAEjB;AAEO,MAAM,aAAA,GAAgB,OAAO,IAAA,KAAwC;AAC1E,EAAA,OAAO;AAAA,IACL,MAAM,IAAA,CAAK,IAAA;AAAA,IACX,MAAM,IAAA,CAAK,IAAA;AAAA,IACX,cAAc,IAAA,CAAK,YAAA;AAAA,IACnB,OAAA,EAAS,kBAAA,CAAmB,MAAM,IAAA,CAAK,aAAa;AAAA,GACtD;AACF;AAEO,MAAM,eAAA,GAAkB,CAAC,IAAA,KAAyB;AACvD,EAAA,OAAO,IAAI,IAAA,CAAK,CAAC,KAAK,OAAO,CAAA,EAAG,KAAK,IAAA,EAAM;AAAA,IACzC,cAAc,IAAA,CAAK,YAAA;AAAA,IACnB,MAAM,IAAA,CAAK;AAAA,GACZ,CAAA;AACH;AAEO,MAAM,cAAA,GAAiB,IAAI,UAAA,CAAiC;AAAA,EACjE,IAAA,EAAM,MAAA;AAAA,EACN,SAAA,EAAW;AAAA,IACT,YAAA,EAAc,CAAC,SAAA,KAAc,SAAA,YAAqB,IAAA;AAAA,IAClD,KAAA,EAAO;AAAA,GACT;AAAA,EACA,WAAA,EAAa;AAAA,IACX,KAAA,EAAO;AAAA;AAEX,CAAC;;;;"}
@@ -0,0 +1,24 @@
1
+ import { Serializer } from '../Serializer.mjs';
2
+ import '@internationalized/date';
3
+ import { fileDeSerialize, fileSerialize } from './file.mjs';
4
+ import '@mittwald/flow-react-components/mittwald-password-tools-js';
5
+
6
+ const fileListSerializer = new Serializer({
7
+ name: "FileList",
8
+ serialize: {
9
+ isApplicable: (something) => something instanceof FileList,
10
+ apply: async (fileList) => await Promise.all(Array.from(fileList, fileSerialize))
11
+ },
12
+ deserialize: {
13
+ apply: (arrayFiles) => {
14
+ const dataTransfer = new DataTransfer();
15
+ for (const file of arrayFiles) {
16
+ dataTransfer.items.add(fileDeSerialize(file));
17
+ }
18
+ return dataTransfer.files;
19
+ }
20
+ }
21
+ });
22
+
23
+ export { fileListSerializer };
24
+ //# sourceMappingURL=fileList.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileList.mjs","sources":["../../../../../../../src/serialization/serializers/fileList.ts"],"sourcesContent":["import { Serializer } from \"@/serialization/Serializer\";\nimport {\n fileDeSerialize,\n fileSerialize,\n type SerializedFile,\n} from \"@/serialization/serializers\";\n\nexport const fileListSerializer = new Serializer<FileList, SerializedFile[]>({\n name: \"FileList\",\n serialize: {\n isApplicable: (something): something is FileList =>\n something instanceof FileList,\n apply: async (fileList) =>\n await Promise.all(Array.from(fileList, fileSerialize)),\n },\n deserialize: {\n apply: (arrayFiles) => {\n const dataTransfer = new DataTransfer();\n for (const file of arrayFiles) {\n dataTransfer.items.add(fileDeSerialize(file));\n }\n return dataTransfer.files;\n },\n },\n});\n"],"names":[],"mappings":";;;;;AAOO,MAAM,kBAAA,GAAqB,IAAI,UAAA,CAAuC;AAAA,EAC3E,IAAA,EAAM,UAAA;AAAA,EACN,SAAA,EAAW;AAAA,IACT,YAAA,EAAc,CAAC,SAAA,KACb,SAAA,YAAqB,QAAA;AAAA,IACvB,KAAA,EAAO,OAAO,QAAA,KACZ,MAAM,OAAA,CAAQ,IAAI,KAAA,CAAM,IAAA,CAAK,QAAA,EAAU,aAAa,CAAC;AAAA,GACzD;AAAA,EACA,WAAA,EAAa;AAAA,IACX,KAAA,EAAO,CAAC,UAAA,KAAe;AACrB,MAAA,MAAM,YAAA,GAAe,IAAI,YAAA,EAAa;AACtC,MAAA,KAAA,MAAW,QAAQ,UAAA,EAAY;AAC7B,QAAA,YAAA,CAAa,KAAA,CAAM,GAAA,CAAI,eAAA,CAAgB,IAAI,CAAC,CAAA;AAAA,MAC9C;AACA,MAAA,OAAO,YAAA,CAAa,KAAA;AAAA,IACtB;AAAA;AAEJ,CAAC;;;;"}
@@ -0,0 +1,36 @@
1
+ import { Serializer } from '../Serializer.mjs';
2
+ import '@internationalized/date';
3
+ import { isSerializedFile, fileDeSerialize, fileSerialize } from './file.mjs';
4
+ import '@mittwald/flow-react-components/mittwald-password-tools-js';
5
+
6
+ const formDataSerializer = new Serializer({
7
+ name: "FormData",
8
+ serialize: {
9
+ isApplicable: (val) => {
10
+ return val instanceof FormData;
11
+ },
12
+ apply: async (formData) => {
13
+ const out = [];
14
+ for (const [fieldName, fieldValue] of formData.entries()) {
15
+ out.push([
16
+ fieldName,
17
+ fieldValue instanceof File ? await fileSerialize(fieldValue) : fieldValue
18
+ ]);
19
+ }
20
+ return out;
21
+ }
22
+ },
23
+ deserialize: {
24
+ apply: (array) => {
25
+ const formData = new FormData();
26
+ for (const [name, value] of array) {
27
+ const deserializedValue = isSerializedFile(value) ? fileDeSerialize(value) : value;
28
+ formData.append(name, deserializedValue);
29
+ }
30
+ return formData;
31
+ }
32
+ }
33
+ });
34
+
35
+ export { formDataSerializer };
36
+ //# sourceMappingURL=formData.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formData.mjs","sources":["../../../../../../../src/serialization/serializers/formData.ts"],"sourcesContent":["import { Serializer } from \"@/serialization/Serializer\";\nimport {\n fileDeSerialize,\n fileSerialize,\n isSerializedFile,\n} from \"@/serialization/serializers\";\n\ntype SerializedFormDataValue =\n | FormDataEntryValue\n | Awaited<ReturnType<typeof fileSerialize>>;\ntype SerializedFormDataEntries = [string, SerializedFormDataValue][];\n\nexport const formDataSerializer = new Serializer<\n FormData,\n SerializedFormDataEntries\n>({\n name: \"FormData\",\n serialize: {\n isApplicable: (val) => {\n return val instanceof FormData;\n },\n apply: async (formData) => {\n const out: SerializedFormDataEntries = [];\n\n for (const [fieldName, fieldValue] of formData.entries()) {\n out.push([\n fieldName,\n fieldValue instanceof File\n ? await fileSerialize(fieldValue)\n : fieldValue,\n ]);\n }\n\n return out;\n },\n },\n deserialize: {\n apply: (array) => {\n const formData = new FormData();\n\n for (const [name, value] of array) {\n const deserializedValue = isSerializedFile(value)\n ? fileDeSerialize(value)\n : value;\n\n formData.append(name, deserializedValue);\n }\n\n return formData;\n },\n },\n});\n"],"names":[],"mappings":";;;;;AAYO,MAAM,kBAAA,GAAqB,IAAI,UAAA,CAGpC;AAAA,EACA,IAAA,EAAM,UAAA;AAAA,EACN,SAAA,EAAW;AAAA,IACT,YAAA,EAAc,CAAC,GAAA,KAAQ;AACrB,MAAA,OAAO,GAAA,YAAe,QAAA;AAAA,IACxB,CAAA;AAAA,IACA,KAAA,EAAO,OAAO,QAAA,KAAa;AACzB,MAAA,MAAM,MAAiC,EAAC;AAExC,MAAA,KAAA,MAAW,CAAC,SAAA,EAAW,UAAU,CAAA,IAAK,QAAA,CAAS,SAAQ,EAAG;AACxD,QAAA,GAAA,CAAI,IAAA,CAAK;AAAA,UACP,SAAA;AAAA,UACA,UAAA,YAAsB,IAAA,GAClB,MAAM,aAAA,CAAc,UAAU,CAAA,GAC9B;AAAA,SACL,CAAA;AAAA,MACH;AAEA,MAAA,OAAO,GAAA;AAAA,IACT;AAAA,GACF;AAAA,EACA,WAAA,EAAa;AAAA,IACX,KAAA,EAAO,CAAC,KAAA,KAAU;AAChB,MAAA,MAAM,QAAA,GAAW,IAAI,QAAA,EAAS;AAE9B,MAAA,KAAA,MAAW,CAAC,IAAA,EAAM,KAAK,CAAA,IAAK,KAAA,EAAO;AACjC,QAAA,MAAM,oBAAoB,gBAAA,CAAiB,KAAK,CAAA,GAC5C,eAAA,CAAgB,KAAK,CAAA,GACrB,KAAA;AAEJ,QAAA,QAAA,CAAS,MAAA,CAAO,MAAM,iBAAiB,CAAA;AAAA,MACzC;AAEA,MAAA,OAAO,QAAA;AAAA,IACT;AAAA;AAEJ,CAAC;;;;"}
@@ -0,0 +1,7 @@
1
+ export { calendarDateSerializer } from './date.mjs';
2
+ export { fileDeSerialize, fileSerialize, fileSerializer, isSerializedFile } from './file.mjs';
3
+ export { fileListSerializer } from './fileList.mjs';
4
+ export { dataTransferTextSerializer } from './dataTransferText.mjs';
5
+ export { formDataSerializer } from './formData.mjs';
6
+ export { passwordPolicySerializer } from './passwordPolicy.mjs';
7
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,16 @@
1
+ import { Serializer } from '../Serializer.mjs';
2
+ import { Policy } from '@mittwald/flow-react-components/mittwald-password-tools-js';
3
+
4
+ const passwordPolicySerializer = new Serializer({
5
+ name: "PasswordPolicy",
6
+ serialize: {
7
+ isApplicable: (val) => Policy.isPolicy(val),
8
+ apply: (policy) => policy.toDeclaration()
9
+ },
10
+ deserialize: {
11
+ apply: (policyDeclaration) => Policy.fromDeclaration(policyDeclaration)
12
+ }
13
+ });
14
+
15
+ export { passwordPolicySerializer };
16
+ //# sourceMappingURL=passwordPolicy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passwordPolicy.mjs","sources":["../../../../../../../src/serialization/serializers/passwordPolicy.ts"],"sourcesContent":["import { Serializer } from \"@/serialization/Serializer\";\nimport {\n Policy,\n type PolicyDeclaration,\n} from \"@mittwald/flow-react-components/mittwald-password-tools-js\";\n\nexport const passwordPolicySerializer = new Serializer<\n Policy,\n PolicyDeclaration\n>({\n name: \"PasswordPolicy\",\n serialize: {\n isApplicable: (val) => Policy.isPolicy(val),\n apply: (policy) => policy.toDeclaration(),\n },\n deserialize: {\n apply: (policyDeclaration) => Policy.fromDeclaration(policyDeclaration),\n },\n});\n"],"names":[],"mappings":";;;AAMO,MAAM,wBAAA,GAA2B,IAAI,UAAA,CAG1C;AAAA,EACA,IAAA,EAAM,gBAAA;AAAA,EACN,SAAA,EAAW;AAAA,IACT,YAAA,EAAc,CAAC,GAAA,KAAQ,MAAA,CAAO,SAAS,GAAG,CAAA;AAAA,IAC1C,KAAA,EAAO,CAAC,MAAA,KAAW,MAAA,CAAO,aAAA;AAAc,GAC1C;AAAA,EACA,WAAA,EAAa;AAAA,IACX,KAAA,EAAO,CAAC,iBAAA,KAAsB,MAAA,CAAO,gBAAgB,iBAAiB;AAAA;AAE1E,CAAC;;;;"}
@@ -0,0 +1,16 @@
1
+ import { HTMLElement, customElements } from '@lit-labs/ssr-dom-shim';
2
+
3
+ globalThis.HTMLElement = HTMLElement;
4
+ globalThis.customElements = customElements;
5
+ globalThis.MutationObserver = class MutationObserver {
6
+ constructor() {
7
+ }
8
+ disconnect() {
9
+ }
10
+ observe() {
11
+ }
12
+ takeRecords() {
13
+ return [];
14
+ }
15
+ };
16
+ //# sourceMappingURL=shim.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shim.mjs","sources":["../../../../../src/shim.ts"],"sourcesContent":["import { HTMLElement, customElements } from \"@lit-labs/ssr-dom-shim\";\n\nglobalThis.HTMLElement = HTMLElement;\nglobalThis.customElements = customElements;\nglobalThis.MutationObserver = class MutationObserver {\n public constructor() {\n // mocked\n }\n public disconnect() {\n // mocked\n }\n public observe() {\n // mocked\n }\n public takeRecords() {\n return [];\n }\n};\n"],"names":[],"mappings":";;AAEA,UAAA,CAAW,WAAA,GAAc,WAAA;AACzB,UAAA,CAAW,cAAA,GAAiB,cAAA;AAC5B,UAAA,CAAW,gBAAA,GAAmB,MAAM,gBAAA,CAAiB;AAAA,EAC5C,WAAA,GAAc;AAAA,EAErB;AAAA,EACO,UAAA,GAAa;AAAA,EAEpB;AAAA,EACO,OAAA,GAAU;AAAA,EAEjB;AAAA,EACO,WAAA,GAAc;AACnB,IAAA,OAAO,EAAC;AAAA,EACV;AACF,CAAA"}
@@ -1,7 +1,13 @@
1
- import { RemoteConnection } from '@mfalkenberg/remote-dom-core/elements';
2
- import { ThreadNestedIframe } from '@quilted/threads';
3
- export declare const connectHostRenderRoot: (div: HTMLDivElement) => ThreadNestedIframe<Record<string, never>, {
4
- render: (connection: RemoteConnection) => void;
5
- }>;
6
- export declare const connectHostRenderRootRef: (ref: HTMLDivElement | null) => void;
1
+ import { RemoteToHostConnection } from './types';
2
+ import { RemoteConnection } from '@mittwald/remote-dom-core/elements';
3
+ interface Options {
4
+ root: HTMLDivElement;
5
+ onPathnameChanged?: (pathname: string) => void;
6
+ onHostError?: (error: string) => void;
7
+ packageVersion?: string;
8
+ }
9
+ export declare const connectRemoteReceiver: (root: HTMLDivElement, receiverConnection: RemoteConnection) => Promise<void>;
10
+ export declare const connectHostRenderRoot: (options: Options) => Promise<RemoteToHostConnection>;
11
+ export declare const connectHostRenderRootRef: (opts: Omit<Options, "root">) => (ref: HTMLDivElement | null) => Promise<RemoteToHostConnection> | undefined;
12
+ export {};
7
13
  //# sourceMappingURL=connectHostRenderRoot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connectHostRenderRoot.d.ts","sourceRoot":"","sources":["../../../src/connection/connectHostRenderRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,eAAO,MAAM,qBAAqB,GAAI,KAAK,cAAc;yBAG9B,gBAAgB;EAU1C,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,KAAK,cAAc,GAAG,IAAI,SAMlE,CAAC"}
1
+ {"version":3,"file":"connectHostRenderRoot.d.ts","sourceRoot":"","sources":["../../../src/connection/connectHostRenderRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,UAAU,OAAO;IACf,IAAI,EAAE,cAAc,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,eAAO,MAAM,qBAAqB,GAChC,MAAM,cAAc,EACpB,oBAAoB,gBAAgB,kBAOnC,CAAC;AAEJ,eAAO,MAAM,qBAAqB,GAChC,SAAS,OAAO,KACf,OAAO,CAAC,sBAAsB,CA0ChC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAClC,MAAM,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,cAAc,GAAG,IAAI,gDAc3D,CAAC"}
@@ -1,14 +1,20 @@
1
- import { RemoteConnection } from '@mfalkenberg/remote-dom-core/elements';
2
- import { ThreadIframe } from '@quilted/threads';
3
- export type HostData = Record<string, unknown>;
4
- interface Opts {
1
+ import { HostToRemoteConnection, HostToRemoteConnectionReadyEvent, NavigationState, RemoteExtBridgeConnectionApi } from './types';
2
+ import { ReportedEvent } from '../events/remoteEvents';
3
+ import { HostConfig } from '@mittwald/ext-bridge';
4
+ import { RemoteConnection } from '@mittwald/remote-dom-core/elements';
5
+ interface Options {
5
6
  connection: RemoteConnection;
6
7
  iframe: HTMLIFrameElement;
8
+ hostConfig: HostConfig;
9
+ onReady?: (event: HostToRemoteConnectionReadyEvent) => void;
10
+ onLoadingChanged?: (isLoading: boolean) => void;
11
+ onError?: (error: string) => void;
12
+ onNavigationStateChanged?: (state: NavigationState) => void;
13
+ onDeprecation?: (message: string) => void;
14
+ onEvent?: (event: ReportedEvent) => void;
15
+ extBridgeImplementation?: RemoteExtBridgeConnectionApi;
7
16
  }
8
- interface ThreadIframeTarget {
9
- render: (connection: RemoteConnection) => AsyncIterator<unknown>;
10
- }
11
- export declare const connectRemoteIframe: (opts: Opts) => ThreadIframe<ThreadIframeTarget, Record<string, never>>;
12
- export declare const connectRemoteIframeRef: (connection: RemoteConnection) => (ref: HTMLIFrameElement | null) => void;
17
+ export declare const connectRemoteIframe: (opts: Options) => HostToRemoteConnection;
18
+ export declare const connectRemoteIframeRef: (opts: Omit<Options, "iframe">) => (ref: HTMLIFrameElement | null) => HostToRemoteConnection | undefined;
13
19
  export {};
14
20
  //# sourceMappingURL=connectRemoteIframe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connectRemoteIframe.d.ts","sourceRoot":"","sources":["../../../src/connection/connectRemoteIframe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE/C,UAAU,IAAI;IACZ,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC;CAClE;AAED,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,4DAI7C,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAChC,YAAY,gBAAgB,MAAM,KAAK,iBAAiB,GAAG,IAAI,SAc/D,CAAC"}
1
+ {"version":3,"file":"connectRemoteIframe.d.ts","sourceRoot":"","sources":["../../../src/connection/connectRemoteIframe.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,eAAe,EAEpB,KAAK,4BAA4B,EAGlC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,UAAU,OAAO;IACf,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;IAC5D,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,uBAAuB,CAAC,EAAE,4BAA4B,CAAC;CACxD;AAkBD,eAAO,MAAM,mBAAmB,GAAI,MAAM,OAAO,KAAG,sBA0EnD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAChC,MAAM,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,KAAK,iBAAiB,GAAG,IAAI,uCAehE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './connectHostRenderRoot';
2
+ export * from './connectRemoteIframe';
3
+ export * from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { ExtBridgeConfigInput, ExtBridgeConnectionApi, HostConfig } from '@mittwald/ext-bridge';
2
+ import { ReportedEvent } from '../events/remoteEvents';
3
+ import { RemoteConnection } from '@mittwald/remote-dom-core';
4
+ import { ThreadIframe, ThreadNestedIframe } from '@quilted/threads';
5
+ export type { RemoteConnection } from '@mittwald/remote-dom-core';
6
+ export interface NavigationState {
7
+ pathname: string;
8
+ isPending: boolean;
9
+ }
10
+ export interface RemoteReadyEvent {
11
+ version: Version;
12
+ packageVersion?: string;
13
+ }
14
+ export type RemoteReadyEventInput = Version | RemoteReadyEvent;
15
+ export type RemoteExtBridgeConfig = Omit<ExtBridgeConfigInput, keyof HostConfig>;
16
+ export interface RemoteExtBridgeConnectionApi extends Omit<ExtBridgeConnectionApi, "getConfig"> {
17
+ getConfig: () => Promise<RemoteExtBridgeConfig>;
18
+ }
19
+ /**
20
+ * Breaking Change warning: Do not remove/rename/modify existing properties of
21
+ * this interface, as they might be used by existing extensions.
22
+ *
23
+ * When addding properties, make sure to release the host before all clients.
24
+ */
25
+ export interface HostExports extends ExtBridgeConnectionApi {
26
+ setIsReady: (event?: RemoteReadyEventInput) => Promise<void>;
27
+ setIsLoading: (isLoading: boolean) => Promise<void>;
28
+ setError: (error: string) => Promise<void>;
29
+ setNavigationState: (state: NavigationState) => Promise<void>;
30
+ getHostConfig: () => Promise<HostConfig>;
31
+ reportDeprecation: (message: string) => Promise<void>;
32
+ reportEvent: (event: ReportedEvent) => Promise<void>;
33
+ }
34
+ export interface RemoteExports {
35
+ render: (connection: RemoteConnection) => Promise<void>;
36
+ setPathname: (pathname: string) => Promise<void>;
37
+ setHostError: (error: string) => Promise<void>;
38
+ }
39
+ export type RemoteToHostConnection = ThreadNestedIframe<HostExports, RemoteExports>;
40
+ export interface HostToRemoteConnection {
41
+ version: Version;
42
+ thread: ThreadIframe<RemoteExports, HostExports>;
43
+ updateHostPathname: (hostPathname?: string) => void;
44
+ reportHostError: (error: string) => Promise<void>;
45
+ }
46
+ export interface HostToRemoteConnectionReadyEvent {
47
+ connection: HostToRemoteConnection;
48
+ remoteReadyEvent: RemoteReadyEvent;
49
+ }
50
+ export declare enum Version {
51
+ vUnknown = 0,
52
+ v1 = 1,
53
+ v2 = 2,
54
+ v3 = 3,
55
+ v4 = 4,
56
+ v5 = 5
57
+ }
58
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/connection/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAE/D,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,oBAAoB,EACpB,MAAM,UAAU,CACjB,CAAC;AAEF,MAAM,WAAW,4BAA6B,SAAQ,IAAI,CACxD,sBAAsB,EACtB,WAAW,CACZ;IACC,SAAS,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACjD;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAY,SAAQ,sBAAsB;IACzD,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,kBAAkB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,aAAa,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,WAAW,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CACrD,WAAW,EACX,aAAa,CACd,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACjD,kBAAkB,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,sBAAsB,CAAC;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,oBAAY,OAAO;IACjB,QAAQ,IAAI;IACZ,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;CACP"}
@@ -0,0 +1,4 @@
1
+ export declare class RemoteError extends Error {
2
+ constructor(message: string);
3
+ }
4
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ export declare const componentRenderedEventSchema: z.ZodObject<{
3
+ event: z.ZodLiteral<"ComponentRendered">;
4
+ data: z.ZodObject<{
5
+ component: z.ZodString;
6
+ }, z.core.$strip>;
7
+ }, z.core.$strip>;
8
+ export declare const reportedEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
9
+ event: z.ZodLiteral<"ComponentRendered">;
10
+ data: z.ZodObject<{
11
+ component: z.ZodString;
12
+ }, z.core.$strip>;
13
+ }, z.core.$strip>], "event">;
14
+ export type ComponentRenderedEvent = z.infer<typeof componentRenderedEventSchema>;
15
+ export type ReportedEvent = z.infer<typeof reportedEventSchema>;
16
+ export declare const parseReportedEvent: (event: unknown) => ReportedEvent | undefined;
17
+ //# sourceMappingURL=remoteEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteEvents.d.ts","sourceRoot":"","sources":["../../../src/events/remoteEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,4BAA4B;;;;;iBAMvC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;4BAE9B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,KACb,aAAa,GAAG,SAGlB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=remoteEvents.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteEvents.test.d.ts","sourceRoot":"","sources":["../../../src/events/remoteEvents.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { RemoteExtBridgeConnectionApi } from '../connection';
2
+ import { ExtBridgeConfigInput, HostConfig } from '@mittwald/ext-bridge';
3
+ export declare const getWithMergedHostConfig: (extBridgeConnection: RemoteExtBridgeConnectionApi, hostConfig: HostConfig) => () => Promise<ExtBridgeConfigInput>;
4
+ //# sourceMappingURL=getWithMergedHostConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWithMergedHostConfig.d.ts","sourceRoot":"","sources":["../../../src/ext-bridge/getWithMergedHostConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7E,eAAO,MAAM,uBAAuB,GACjC,qBAAqB,4BAA4B,EAAE,YAAY,UAAU,WAChE,OAAO,CAAC,oBAAoB,CAOrC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ExtBridgeConnectionApi } from '@mittwald/ext-bridge';
2
+ export declare const emptyImplementation: ExtBridgeConnectionApi;
3
+ //# sourceMappingURL=implementation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../../src/ext-bridge/implementation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,eAAO,MAAM,mBAAmB,EAO3B,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './index';
2
+ //# sourceMappingURL=index-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-node.d.ts","sourceRoot":"","sources":["../../src/index-node.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC;AAChB,cAAc,SAAS,CAAC"}
@@ -1,7 +1,7 @@
1
- export { RemoteElement, RemoteEvent, type RemoteElementConstructor, } from '@mfalkenberg/remote-dom-core/elements';
2
- export * from './connection/connectHostRenderRoot';
3
- export * from './connection/connectRemoteIframe';
4
- export * from './events';
5
- export * from './events/FlowRemoteEvent';
6
- export * from './events/serializers';
1
+ export { RemoteReceiver } from '@mittwald/remote-dom-core/receivers';
2
+ export { RemoteElement, RemoteEvent, type RemoteElementConstructor, } from '@mittwald/remote-dom-core/elements';
3
+ export * from './serialization';
4
+ export * from './connection';
5
+ export * from './error';
6
+ export * from './events/remoteEvents';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,wBAAwB,GAC9B,MAAM,uCAAuC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,wBAAwB,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ThreadSerializationStructuredClone } from '@quilted/threads';
2
+ export declare class FlowThreadSerialization extends ThreadSerializationStructuredClone {
3
+ constructor();
4
+ private isSerializableByBase;
5
+ private omitSerialization;
6
+ }
7
+ //# sourceMappingURL=FlowThreadSerialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowThreadSerialization.d.ts","sourceRoot":"","sources":["../../../src/serialization/FlowThreadSerialization.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAGnC,MAAM,kBAAkB,CAAC;AAS1B,qBAAa,uBAAwB,SAAQ,kCAAkC;;IAmD7E,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,iBAAiB;CAG1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FlowThreadSerialization.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowThreadSerialization.test.d.ts","sourceRoot":"","sources":["../../../src/serialization/FlowThreadSerialization.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Serialization.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Serialization.test.d.ts","sourceRoot":"","sources":["../../../src/serialization/Serialization.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ interface SerializationStrategy<TIn, TOut> {
2
+ isApplicable: (val: unknown) => val is TIn;
3
+ apply: (val: TIn) => TOut | Promise<TOut>;
4
+ }
5
+ declare const Key = "mittwald.flow-remote-core.serializer.name";
6
+ export interface SuccessfulSerializationResult<T> {
7
+ value: T;
8
+ [Key]: string;
9
+ }
10
+ export type SerializationResult<T> = {
11
+ applied: true;
12
+ result: SuccessfulSerializationResult<T>;
13
+ } | {
14
+ applied: false;
15
+ };
16
+ export declare class Serializer<TIn, TOut> {
17
+ private options;
18
+ constructor(options: {
19
+ name: string;
20
+ serialize: SerializationStrategy<TIn, TOut>;
21
+ deserialize: Pick<SerializationStrategy<TOut, TIn>, "apply">;
22
+ });
23
+ private apply;
24
+ serialize(val: unknown): Promise<SerializationResult<TOut>>;
25
+ deserialize(val: unknown): Promise<SerializationResult<TIn>>;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=Serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Serializer.d.ts","sourceRoot":"","sources":["../../../src/serialization/Serializer.ts"],"names":[],"mappings":"AAAA,UAAU,qBAAqB,CAAC,GAAG,EAAE,IAAI;IACvC,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,GAAG,CAAC;IAC3C,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,QAAA,MAAM,GAAG,8CAA8C,CAAC;AAExD,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC;IACT,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAC7B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAA;CAAE,GAC3D;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;AAEvB,qBAAa,UAAU,CAAC,GAAG,EAAE,IAAI;IAE7B,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5C,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;KAC9D;YAGW,KAAK;IAmBN,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAI3D,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;CAa1E"}
@@ -0,0 +1,4 @@
1
+ export * from './serializers';
2
+ export * from './FlowThreadSerialization';
3
+ export * from './Serializer';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Serializer } from '../Serializer';
2
+ export declare const dataTransferTextSerializer: Serializer<DataTransfer, string>;
3
+ //# sourceMappingURL=dataTransferText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataTransferText.d.ts","sourceRoot":"","sources":["../../../../src/serialization/serializers/dataTransferText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,eAAO,MAAM,0BAA0B,kCAoBrC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { CalendarDate } from '@internationalized/date';
2
+ import { Serializer } from '../Serializer';
3
+ export declare const calendarDateSerializer: Serializer<CalendarDate, string>;
4
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../src/serialization/serializers/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,eAAO,MAAM,sBAAsB,kCASjC,CAAC"}