@makeswift/runtime 0.24.9-canary.0 → 0.25.0-canary.2

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 (250) hide show
  1. package/dist/cjs/api/site-version.js +8 -2
  2. package/dist/cjs/api/site-version.js.map +1 -1
  3. package/dist/cjs/api-handler/cookies.js +38 -0
  4. package/dist/cjs/api-handler/cookies.js.map +1 -0
  5. package/dist/cjs/api-handler/cors.js +48 -0
  6. package/dist/cjs/api-handler/cors.js.map +1 -0
  7. package/dist/cjs/api-handler/handlers/clear-draft.js +41 -0
  8. package/dist/cjs/api-handler/handlers/clear-draft.js.map +1 -0
  9. package/dist/cjs/api-handler/handlers/element-tree.js +41 -0
  10. package/dist/cjs/api-handler/handlers/element-tree.js.map +1 -0
  11. package/dist/cjs/{next/api-handler → api-handler}/handlers/fonts.js +9 -9
  12. package/dist/cjs/api-handler/handlers/fonts.js.map +1 -0
  13. package/dist/cjs/api-handler/handlers/manifest.js +50 -0
  14. package/dist/cjs/api-handler/handlers/manifest.js.map +1 -0
  15. package/dist/cjs/api-handler/handlers/merge-translated-data.js +41 -0
  16. package/dist/cjs/api-handler/handlers/merge-translated-data.js.map +1 -0
  17. package/dist/cjs/api-handler/handlers/revalidate.js +60 -0
  18. package/dist/cjs/api-handler/handlers/revalidate.js.map +1 -0
  19. package/dist/cjs/api-handler/handlers/translatable-data.js +42 -0
  20. package/dist/cjs/api-handler/handlers/translatable-data.js.map +1 -0
  21. package/dist/cjs/{next/api-handler → api-handler}/handlers/webhook/index.js +16 -23
  22. package/dist/cjs/api-handler/handlers/webhook/index.js.map +1 -0
  23. package/dist/cjs/{next/api-handler → api-handler}/handlers/webhook/site-published.js +2 -4
  24. package/dist/cjs/api-handler/handlers/webhook/site-published.js.map +1 -0
  25. package/dist/cjs/api-handler/handlers/webhook/types.js.map +1 -0
  26. package/dist/cjs/api-handler/index.js +116 -0
  27. package/dist/cjs/api-handler/index.js.map +1 -0
  28. package/dist/cjs/api-handler/request-response.js +43 -0
  29. package/dist/cjs/api-handler/request-response.js.map +1 -0
  30. package/dist/cjs/next/api-handler/config/app-router.js +65 -0
  31. package/dist/cjs/next/api-handler/config/app-router.js.map +1 -0
  32. package/dist/cjs/next/api-handler/config/base.js +39 -0
  33. package/dist/cjs/next/api-handler/config/base.js.map +1 -0
  34. package/dist/cjs/next/api-handler/config/pages-router.js +123 -0
  35. package/dist/cjs/next/api-handler/config/pages-router.js.map +1 -0
  36. package/dist/cjs/next/api-handler/{handlers/utils/draft.js → draft.js} +2 -14
  37. package/dist/cjs/next/api-handler/draft.js.map +1 -0
  38. package/dist/cjs/next/api-handler/handlers/redirect-draft.js +8 -17
  39. package/dist/cjs/next/api-handler/handlers/redirect-draft.js.map +1 -1
  40. package/dist/cjs/next/api-handler/handlers/redirect-preview.js +12 -19
  41. package/dist/cjs/next/api-handler/handlers/redirect-preview.js.map +1 -1
  42. package/dist/cjs/next/api-handler/index.js +19 -154
  43. package/dist/cjs/next/api-handler/index.js.map +1 -1
  44. package/dist/cjs/next/middleware/request-utils.js +1 -1
  45. package/dist/cjs/next/middleware/request-utils.js.map +1 -1
  46. package/dist/cjs/next/server.js.map +1 -1
  47. package/dist/cjs/next/tests/__fixtures__/element-tree.js +1776 -0
  48. package/dist/cjs/next/tests/__fixtures__/element-tree.js.map +1 -0
  49. package/dist/cjs/next/tests/__fixtures__/resources.js +99 -0
  50. package/dist/cjs/next/tests/__fixtures__/resources.js.map +1 -0
  51. package/dist/cjs/next/tests/__fixtures__/translated-data.js +83 -0
  52. package/dist/cjs/next/tests/__fixtures__/translated-data.js.map +1 -0
  53. package/dist/cjs/next/tests/test-utils.js +98 -23
  54. package/dist/cjs/next/tests/test-utils.js.map +1 -1
  55. package/dist/esm/api/site-version.js +6 -1
  56. package/dist/esm/api/site-version.js.map +1 -1
  57. package/dist/esm/api-handler/cookies.js +13 -0
  58. package/dist/esm/api-handler/cookies.js.map +1 -0
  59. package/dist/esm/api-handler/cors.js +24 -0
  60. package/dist/esm/api-handler/cors.js.map +1 -0
  61. package/dist/esm/api-handler/handlers/clear-draft.js +17 -0
  62. package/dist/esm/api-handler/handlers/clear-draft.js.map +1 -0
  63. package/dist/esm/api-handler/handlers/element-tree.js +17 -0
  64. package/dist/esm/api-handler/handlers/element-tree.js.map +1 -0
  65. package/dist/esm/api-handler/handlers/fonts.js +9 -0
  66. package/dist/esm/api-handler/handlers/fonts.js.map +1 -0
  67. package/dist/esm/api-handler/handlers/manifest.js +29 -0
  68. package/dist/esm/api-handler/handlers/manifest.js.map +1 -0
  69. package/dist/esm/api-handler/handlers/merge-translated-data.js +17 -0
  70. package/dist/esm/api-handler/handlers/merge-translated-data.js.map +1 -0
  71. package/dist/esm/api-handler/handlers/revalidate.js +29 -0
  72. package/dist/esm/api-handler/handlers/revalidate.js.map +1 -0
  73. package/dist/esm/api-handler/handlers/translatable-data.js +18 -0
  74. package/dist/esm/api-handler/handlers/translatable-data.js.map +1 -0
  75. package/dist/esm/api-handler/handlers/webhook/index.js +30 -0
  76. package/dist/esm/api-handler/handlers/webhook/index.js.map +1 -0
  77. package/dist/esm/api-handler/handlers/webhook/site-published.js +13 -0
  78. package/dist/esm/api-handler/handlers/webhook/site-published.js.map +1 -0
  79. package/dist/esm/api-handler/handlers/webhook/types.js.map +1 -0
  80. package/dist/esm/api-handler/index.js +95 -0
  81. package/dist/esm/api-handler/index.js.map +1 -0
  82. package/dist/esm/api-handler/request-response.js +18 -0
  83. package/dist/esm/api-handler/request-response.js.map +1 -0
  84. package/dist/esm/next/api-handler/config/app-router.js +40 -0
  85. package/dist/esm/next/api-handler/config/app-router.js.map +1 -0
  86. package/dist/esm/next/api-handler/config/base.js +15 -0
  87. package/dist/esm/next/api-handler/config/base.js.map +1 -0
  88. package/dist/esm/next/api-handler/config/pages-router.js +98 -0
  89. package/dist/esm/next/api-handler/config/pages-router.js.map +1 -0
  90. package/dist/esm/next/api-handler/{handlers/utils/draft.js → draft.js} +1 -11
  91. package/dist/esm/next/api-handler/draft.js.map +1 -0
  92. package/dist/esm/next/api-handler/handlers/redirect-draft.js +5 -21
  93. package/dist/esm/next/api-handler/handlers/redirect-draft.js.map +1 -1
  94. package/dist/esm/next/api-handler/handlers/redirect-preview.js +4 -21
  95. package/dist/esm/next/api-handler/handlers/redirect-preview.js.map +1 -1
  96. package/dist/esm/next/api-handler/index.js +20 -159
  97. package/dist/esm/next/api-handler/index.js.map +1 -1
  98. package/dist/esm/next/middleware/request-utils.js +1 -4
  99. package/dist/esm/next/middleware/request-utils.js.map +1 -1
  100. package/dist/esm/next/server.js.map +1 -1
  101. package/dist/esm/next/tests/__fixtures__/element-tree.js +1752 -0
  102. package/dist/esm/next/tests/__fixtures__/element-tree.js.map +1 -0
  103. package/dist/esm/next/tests/__fixtures__/resources.js +69 -0
  104. package/dist/esm/next/tests/__fixtures__/resources.js.map +1 -0
  105. package/dist/esm/next/tests/__fixtures__/translated-data.js +59 -0
  106. package/dist/esm/next/tests/__fixtures__/translated-data.js.map +1 -0
  107. package/dist/esm/next/tests/test-utils.js +98 -23
  108. package/dist/esm/next/tests/test-utils.js.map +1 -1
  109. package/dist/types/api/site-version.d.ts +1 -0
  110. package/dist/types/api/site-version.d.ts.map +1 -1
  111. package/dist/types/api-handler/cookies.d.ts +9 -0
  112. package/dist/types/api-handler/cookies.d.ts.map +1 -0
  113. package/dist/types/api-handler/cors.d.ts +10 -0
  114. package/dist/types/api-handler/cors.d.ts.map +1 -0
  115. package/dist/types/api-handler/handlers/clear-draft.d.ts +7 -0
  116. package/dist/types/api-handler/handlers/clear-draft.d.ts.map +1 -0
  117. package/dist/types/api-handler/handlers/element-tree.d.ts +9 -0
  118. package/dist/types/api-handler/handlers/element-tree.d.ts.map +1 -0
  119. package/dist/types/api-handler/handlers/fonts.d.ts +18 -0
  120. package/dist/types/api-handler/handlers/fonts.d.ts.map +1 -0
  121. package/dist/types/api-handler/handlers/manifest.d.ts +20 -0
  122. package/dist/types/api-handler/handlers/manifest.d.ts.map +1 -0
  123. package/dist/types/api-handler/handlers/merge-translated-data.d.ts +11 -0
  124. package/dist/types/api-handler/handlers/merge-translated-data.d.ts.map +1 -0
  125. package/dist/types/api-handler/handlers/revalidate.d.ts +10 -0
  126. package/dist/types/api-handler/handlers/revalidate.d.ts.map +1 -0
  127. package/dist/types/api-handler/handlers/translatable-data.d.ts +15 -0
  128. package/dist/types/api-handler/handlers/translatable-data.d.ts.map +1 -0
  129. package/dist/types/api-handler/handlers/webhook/index.d.ts +12 -0
  130. package/dist/types/api-handler/handlers/webhook/index.d.ts.map +1 -0
  131. package/dist/types/{next/api-handler → api-handler}/handlers/webhook/site-published.d.ts +2 -1
  132. package/dist/types/api-handler/handlers/webhook/site-published.d.ts.map +1 -0
  133. package/dist/types/{next/api-handler → api-handler}/handlers/webhook/types.d.ts +2 -4
  134. package/dist/types/api-handler/handlers/webhook/types.d.ts.map +1 -0
  135. package/dist/types/api-handler/index.d.ts +35 -0
  136. package/dist/types/api-handler/index.d.ts.map +1 -0
  137. package/dist/types/api-handler/request-response.d.ts +12 -0
  138. package/dist/types/api-handler/request-response.d.ts.map +1 -0
  139. package/dist/types/next/api-handler/config/app-router.d.ts +16 -0
  140. package/dist/types/next/api-handler/config/app-router.d.ts.map +1 -0
  141. package/dist/types/next/api-handler/config/base.d.ts +15 -0
  142. package/dist/types/next/api-handler/config/base.d.ts.map +1 -0
  143. package/dist/types/next/api-handler/config/pages-router.d.ts +10 -0
  144. package/dist/types/next/api-handler/config/pages-router.d.ts.map +1 -0
  145. package/dist/types/next/api-handler/{handlers/utils/draft.d.ts → draft.d.ts} +0 -8
  146. package/dist/types/next/api-handler/draft.d.ts.map +1 -0
  147. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts +3 -16
  148. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts.map +1 -1
  149. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts +1 -14
  150. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts.map +1 -1
  151. package/dist/types/next/api-handler/index.d.ts +10 -36
  152. package/dist/types/next/api-handler/index.d.ts.map +1 -1
  153. package/dist/types/next/middleware/request-utils.d.ts.map +1 -1
  154. package/dist/types/next/server.d.ts +2 -1
  155. package/dist/types/next/server.d.ts.map +1 -1
  156. package/dist/types/next/tests/__fixtures__/element-tree.d.ts +3 -0
  157. package/dist/types/next/tests/__fixtures__/element-tree.d.ts.map +1 -0
  158. package/dist/types/next/tests/__fixtures__/resources.d.ts +9 -0
  159. package/dist/types/next/tests/__fixtures__/resources.d.ts.map +1 -0
  160. package/dist/types/next/tests/__fixtures__/translated-data.d.ts +56 -0
  161. package/dist/types/next/tests/__fixtures__/translated-data.d.ts.map +1 -0
  162. package/dist/types/next/tests/server.api-handler-clear-draft.test.d.ts +2 -0
  163. package/dist/types/next/tests/server.api-handler-clear-draft.test.d.ts.map +1 -0
  164. package/dist/types/next/tests/server.api-handler-cors.test.d.ts +2 -0
  165. package/dist/types/next/tests/server.api-handler-cors.test.d.ts.map +1 -0
  166. package/dist/types/next/tests/server.api-handler-element-tree.test.d.ts +2 -0
  167. package/dist/types/next/tests/server.api-handler-element-tree.test.d.ts.map +1 -0
  168. package/dist/types/next/tests/server.api-handler-error-handling.test.d.ts +2 -0
  169. package/dist/types/next/tests/server.api-handler-error-handling.test.d.ts.map +1 -0
  170. package/dist/types/next/tests/server.api-handler-fonts.test.d.ts +2 -0
  171. package/dist/types/next/tests/server.api-handler-fonts.test.d.ts.map +1 -0
  172. package/dist/types/next/tests/server.api-handler-manifest.test.d.ts +2 -0
  173. package/dist/types/next/tests/server.api-handler-manifest.test.d.ts.map +1 -0
  174. package/dist/types/next/tests/server.api-handler-merge-translated-data.test.d.ts +2 -0
  175. package/dist/types/next/tests/server.api-handler-merge-translated-data.test.d.ts.map +1 -0
  176. package/dist/types/next/tests/server.api-handler-redirect-draft.test.d.ts +2 -0
  177. package/dist/types/next/tests/server.api-handler-redirect-draft.test.d.ts.map +1 -0
  178. package/dist/types/next/tests/server.api-handler-redirect-preview.test.d.ts +2 -0
  179. package/dist/types/next/tests/server.api-handler-redirect-preview.test.d.ts.map +1 -0
  180. package/dist/types/next/tests/server.api-handler-resources.test.d.ts +2 -0
  181. package/dist/types/next/tests/server.api-handler-resources.test.d.ts.map +1 -0
  182. package/dist/types/next/tests/server.api-handler-revalidate.test.d.ts +2 -0
  183. package/dist/types/next/tests/server.api-handler-revalidate.test.d.ts.map +1 -0
  184. package/dist/types/next/tests/server.api-handler-translatable-data.test.d.ts +2 -0
  185. package/dist/types/next/tests/server.api-handler-translatable-data.test.d.ts.map +1 -0
  186. package/dist/types/next/tests/server.api-handler-webhook.test.d.ts +2 -0
  187. package/dist/types/next/tests/server.api-handler-webhook.test.d.ts.map +1 -0
  188. package/dist/types/next/tests/test-utils.d.ts +37 -4
  189. package/dist/types/next/tests/test-utils.d.ts.map +1 -1
  190. package/package.json +3 -3
  191. package/dist/cjs/next/api-handler/handlers/clear-draft.js +0 -64
  192. package/dist/cjs/next/api-handler/handlers/clear-draft.js.map +0 -1
  193. package/dist/cjs/next/api-handler/handlers/element-tree.js +0 -47
  194. package/dist/cjs/next/api-handler/handlers/element-tree.js.map +0 -1
  195. package/dist/cjs/next/api-handler/handlers/fonts.js.map +0 -1
  196. package/dist/cjs/next/api-handler/handlers/manifest.js +0 -55
  197. package/dist/cjs/next/api-handler/handlers/manifest.js.map +0 -1
  198. package/dist/cjs/next/api-handler/handlers/merge-translated-data.js +0 -47
  199. package/dist/cjs/next/api-handler/handlers/merge-translated-data.js.map +0 -1
  200. package/dist/cjs/next/api-handler/handlers/revalidate.js +0 -74
  201. package/dist/cjs/next/api-handler/handlers/revalidate.js.map +0 -1
  202. package/dist/cjs/next/api-handler/handlers/translatable-data.js +0 -47
  203. package/dist/cjs/next/api-handler/handlers/translatable-data.js.map +0 -1
  204. package/dist/cjs/next/api-handler/handlers/utils/draft.js.map +0 -1
  205. package/dist/cjs/next/api-handler/handlers/webhook/index.js.map +0 -1
  206. package/dist/cjs/next/api-handler/handlers/webhook/site-published.js.map +0 -1
  207. package/dist/cjs/next/api-handler/handlers/webhook/types.js.map +0 -1
  208. package/dist/esm/next/api-handler/handlers/clear-draft.js +0 -50
  209. package/dist/esm/next/api-handler/handlers/clear-draft.js.map +0 -1
  210. package/dist/esm/next/api-handler/handlers/element-tree.js +0 -27
  211. package/dist/esm/next/api-handler/handlers/element-tree.js.map +0 -1
  212. package/dist/esm/next/api-handler/handlers/fonts.js +0 -13
  213. package/dist/esm/next/api-handler/handlers/fonts.js.map +0 -1
  214. package/dist/esm/next/api-handler/handlers/manifest.js +0 -35
  215. package/dist/esm/next/api-handler/handlers/manifest.js.map +0 -1
  216. package/dist/esm/next/api-handler/handlers/merge-translated-data.js +0 -27
  217. package/dist/esm/next/api-handler/handlers/merge-translated-data.js.map +0 -1
  218. package/dist/esm/next/api-handler/handlers/revalidate.js +0 -40
  219. package/dist/esm/next/api-handler/handlers/revalidate.js.map +0 -1
  220. package/dist/esm/next/api-handler/handlers/translatable-data.js +0 -27
  221. package/dist/esm/next/api-handler/handlers/translatable-data.js.map +0 -1
  222. package/dist/esm/next/api-handler/handlers/utils/draft.js.map +0 -1
  223. package/dist/esm/next/api-handler/handlers/webhook/index.js +0 -41
  224. package/dist/esm/next/api-handler/handlers/webhook/index.js.map +0 -1
  225. package/dist/esm/next/api-handler/handlers/webhook/site-published.js +0 -15
  226. package/dist/esm/next/api-handler/handlers/webhook/site-published.js.map +0 -1
  227. package/dist/esm/next/api-handler/handlers/webhook/types.js.map +0 -1
  228. package/dist/types/next/api-handler/handlers/clear-draft.d.ts +0 -20
  229. package/dist/types/next/api-handler/handlers/clear-draft.d.ts.map +0 -1
  230. package/dist/types/next/api-handler/handlers/element-tree.d.ts +0 -20
  231. package/dist/types/next/api-handler/handlers/element-tree.d.ts.map +0 -1
  232. package/dist/types/next/api-handler/handlers/fonts.d.ts +0 -28
  233. package/dist/types/next/api-handler/handlers/fonts.d.ts.map +0 -1
  234. package/dist/types/next/api-handler/handlers/manifest.d.ts +0 -32
  235. package/dist/types/next/api-handler/handlers/manifest.d.ts.map +0 -1
  236. package/dist/types/next/api-handler/handlers/merge-translated-data.d.ts +0 -20
  237. package/dist/types/next/api-handler/handlers/merge-translated-data.d.ts.map +0 -1
  238. package/dist/types/next/api-handler/handlers/revalidate.d.ts +0 -22
  239. package/dist/types/next/api-handler/handlers/revalidate.d.ts.map +0 -1
  240. package/dist/types/next/api-handler/handlers/translatable-data.d.ts +0 -20
  241. package/dist/types/next/api-handler/handlers/translatable-data.d.ts.map +0 -1
  242. package/dist/types/next/api-handler/handlers/utils/draft.d.ts.map +0 -1
  243. package/dist/types/next/api-handler/handlers/webhook/index.d.ts +0 -19
  244. package/dist/types/next/api-handler/handlers/webhook/index.d.ts.map +0 -1
  245. package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts.map +0 -1
  246. package/dist/types/next/api-handler/handlers/webhook/types.d.ts.map +0 -1
  247. package/dist/types/next/tests/server.makeswift-api-handler.test.d.ts +0 -2
  248. package/dist/types/next/tests/server.makeswift-api-handler.test.d.ts.map +0 -1
  249. /package/dist/cjs/{next/api-handler → api-handler}/handlers/webhook/types.js +0 -0
  250. /package/dist/esm/{next/api-handler → api-handler}/handlers/webhook/types.js +0 -0
@@ -20,17 +20,23 @@ var site_version_exports = {};
20
20
  __export(site_version_exports, {
21
21
  API_HANDLER_SITE_VERSION_HEADER: () => API_HANDLER_SITE_VERSION_HEADER,
22
22
  MakeswiftSiteVersion: () => MakeswiftSiteVersion,
23
- makeswiftSiteVersionSchema: () => makeswiftSiteVersionSchema
23
+ makeswiftSiteVersionSchema: () => makeswiftSiteVersionSchema,
24
+ parseSiteVersion: () => parseSiteVersion
24
25
  });
25
26
  module.exports = __toCommonJS(site_version_exports);
26
27
  var import_zod = require("zod");
27
28
  const makeswiftSiteVersionSchema = import_zod.z.enum(["Live", "Working"]);
28
29
  const MakeswiftSiteVersion = makeswiftSiteVersionSchema.Enum;
29
30
  const API_HANDLER_SITE_VERSION_HEADER = "X-Makeswift-Site-Version";
31
+ function parseSiteVersion(version) {
32
+ const parsed = makeswiftSiteVersionSchema.safeParse(version);
33
+ return parsed.success ? parsed.data : MakeswiftSiteVersion.Live;
34
+ }
30
35
  // Annotate the CommonJS export names for ESM import in node:
31
36
  0 && (module.exports = {
32
37
  API_HANDLER_SITE_VERSION_HEADER,
33
38
  MakeswiftSiteVersion,
34
- makeswiftSiteVersionSchema
39
+ makeswiftSiteVersionSchema,
40
+ parseSiteVersion
35
41
  });
36
42
  //# sourceMappingURL=site-version.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/site-version.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const makeswiftSiteVersionSchema = z.enum(['Live', 'Working'])\nexport const MakeswiftSiteVersion = makeswiftSiteVersionSchema.Enum\nexport type MakeswiftSiteVersion = z.infer<typeof makeswiftSiteVersionSchema>\n\nexport const API_HANDLER_SITE_VERSION_HEADER = 'X-Makeswift-Site-Version'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAEX,MAAM,6BAA6B,aAAE,KAAK,CAAC,QAAQ,SAAS,CAAC;AAC7D,MAAM,uBAAuB,2BAA2B;AAGxD,MAAM,kCAAkC;","names":[]}
1
+ {"version":3,"sources":["../../../src/api/site-version.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const makeswiftSiteVersionSchema = z.enum(['Live', 'Working'])\n\nexport const MakeswiftSiteVersion = makeswiftSiteVersionSchema.Enum\nexport type MakeswiftSiteVersion = z.infer<typeof makeswiftSiteVersionSchema>\n\nexport const API_HANDLER_SITE_VERSION_HEADER = 'X-Makeswift-Site-Version'\n\nexport function parseSiteVersion(version: unknown): MakeswiftSiteVersion {\n const parsed = makeswiftSiteVersionSchema.safeParse(version)\n return parsed.success ? parsed.data : MakeswiftSiteVersion.Live\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAEX,MAAM,6BAA6B,aAAE,KAAK,CAAC,QAAQ,SAAS,CAAC;AAE7D,MAAM,uBAAuB,2BAA2B;AAGxD,MAAM,kCAAkC;AAExC,SAAS,iBAAiB,SAAwC;AACvE,QAAM,SAAS,2BAA2B,UAAU,OAAO;AAC3D,SAAO,OAAO,UAAU,OAAO,OAAO,qBAAqB;AAC7D;","names":[]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var cookies_exports = {};
20
+ __export(cookies_exports, {
21
+ SET_COOKIE_HEADER: () => SET_COOKIE_HEADER,
22
+ cookieSettingOptions: () => cookieSettingOptions
23
+ });
24
+ module.exports = __toCommonJS(cookies_exports);
25
+ const SET_COOKIE_HEADER = "set-cookie";
26
+ const cookieSettingOptions = {
27
+ path: "/",
28
+ sameSite: "none",
29
+ secure: true,
30
+ httpOnly: true,
31
+ partitioned: true
32
+ };
33
+ // Annotate the CommonJS export names for ESM import in node:
34
+ 0 && (module.exports = {
35
+ SET_COOKIE_HEADER,
36
+ cookieSettingOptions
37
+ });
38
+ //# sourceMappingURL=cookies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/api-handler/cookies.ts"],"sourcesContent":["export const SET_COOKIE_HEADER = 'set-cookie'\n\nexport const cookieSettingOptions = {\n path: '/',\n sameSite: 'none',\n secure: true,\n httpOnly: true,\n partitioned: true,\n} as const\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,oBAAoB;AAE1B,MAAM,uBAAuB;AAAA,EAClC,MAAM;AAAA,EACN,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa;AACf;","names":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var cors_exports = {};
20
+ __export(cors_exports, {
21
+ applyCorsHeaders: () => applyCorsHeaders
22
+ });
23
+ module.exports = __toCommonJS(cors_exports);
24
+ function applyCorsHeaders(headers, options) {
25
+ const {
26
+ origin = "*",
27
+ methods = ["GET", "HEAD", "PUT", "POST", "DELETE", "PATCH", "OPTIONS"],
28
+ allowedHeaders = ["Content-Type"],
29
+ exposedHeaders,
30
+ credentials,
31
+ maxAge
32
+ } = options;
33
+ headers.append("Access-Control-Allow-Origin", origin);
34
+ headers.append("Access-Control-Allow-Methods", methods.join(", ").toUpperCase());
35
+ if (allowedHeaders)
36
+ headers.append("Access-Control-Allow-Headers", allowedHeaders.join(", "));
37
+ if (exposedHeaders)
38
+ headers.append("Access-Control-Expose-Headers", exposedHeaders.join(", "));
39
+ if (credentials)
40
+ headers.append("Access-Control-Allow-Credentials", "true");
41
+ if (maxAge != null)
42
+ headers.append("Access-Control-Max-Age", `${maxAge}`);
43
+ }
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ applyCorsHeaders
47
+ });
48
+ //# sourceMappingURL=cors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/api-handler/cors.ts"],"sourcesContent":["// loosely based on https://github.com/tinyhttp/cors\n\nexport type CorsOptions = {\n origin?: string\n methods?: string[]\n allowedHeaders?: string[]\n exposedHeaders?: string[]\n credentials?: boolean\n maxAge?: number\n}\n\nexport function applyCorsHeaders(headers: Headers, options: CorsOptions) {\n const {\n origin = '*',\n methods = ['GET', 'HEAD', 'PUT', 'POST', 'DELETE', 'PATCH', 'OPTIONS'],\n allowedHeaders = ['Content-Type'],\n exposedHeaders,\n credentials,\n maxAge,\n } = options\n\n headers.append('Access-Control-Allow-Origin', origin)\n headers.append('Access-Control-Allow-Methods', methods.join(', ').toUpperCase())\n\n if (allowedHeaders) headers.append('Access-Control-Allow-Headers', allowedHeaders.join(', '))\n if (exposedHeaders) headers.append('Access-Control-Expose-Headers', exposedHeaders.join(', '))\n if (credentials) headers.append('Access-Control-Allow-Credentials', 'true')\n if (maxAge != null) headers.append('Access-Control-Max-Age', `${maxAge}`)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAWO,SAAS,iBAAiB,SAAkB,SAAsB;AACvE,QAAM;AAAA,IACJ,SAAS;AAAA,IACT,UAAU,CAAC,OAAO,QAAQ,OAAO,QAAQ,UAAU,SAAS,SAAS;AAAA,IACrE,iBAAiB,CAAC,cAAc;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,UAAQ,OAAO,+BAA+B,MAAM;AACpD,UAAQ,OAAO,gCAAgC,QAAQ,KAAK,IAAI,EAAE,YAAY,CAAC;AAE/E,MAAI;AAAgB,YAAQ,OAAO,gCAAgC,eAAe,KAAK,IAAI,CAAC;AAC5F,MAAI;AAAgB,YAAQ,OAAO,iCAAiC,eAAe,KAAK,IAAI,CAAC;AAC7F,MAAI;AAAa,YAAQ,OAAO,oCAAoC,MAAM;AAC1E,MAAI,UAAU;AAAM,YAAQ,OAAO,0BAA0B,GAAG,MAAM,EAAE;AAC1E;","names":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var clear_draft_exports = {};
20
+ __export(clear_draft_exports, {
21
+ clearDraftHandler: () => clearDraftHandler
22
+ });
23
+ module.exports = __toCommonJS(clear_draft_exports);
24
+ var import_cookie = require("cookie");
25
+ var import_request_response = require("../request-response");
26
+ var import_cookies = require("../cookies");
27
+ async function clearDraftHandler(_req, { draftCookieNames }) {
28
+ const headers = new Headers();
29
+ draftCookieNames.forEach((name) => {
30
+ headers.append(
31
+ import_cookies.SET_COOKIE_HEADER,
32
+ (0, import_cookie.serialize)(name, "", { ...import_cookies.cookieSettingOptions, expires: /* @__PURE__ */ new Date(0) })
33
+ );
34
+ });
35
+ return import_request_response.ApiResponse.json({ cleared: true }, { headers });
36
+ }
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ clearDraftHandler
40
+ });
41
+ //# sourceMappingURL=clear-draft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/api-handler/handlers/clear-draft.ts"],"sourcesContent":["import { serialize as serializeCookie } from 'cookie'\nimport { type ApiRequest, ApiResponse } from '../request-response'\nimport { SET_COOKIE_HEADER, cookieSettingOptions } from '../cookies'\n\nexport async function clearDraftHandler(\n _req: ApiRequest,\n { draftCookieNames }: { draftCookieNames: string[] },\n): Promise<ApiResponse<{ cleared: boolean }>> {\n const headers = new Headers()\n\n draftCookieNames.forEach(name => {\n headers.append(\n SET_COOKIE_HEADER,\n serializeCookie(name, '', { ...cookieSettingOptions, expires: new Date(0) }),\n )\n })\n\n return ApiResponse.json({ cleared: true }, { headers })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA6C;AAC7C,8BAA6C;AAC7C,qBAAwD;AAExD,eAAsB,kBACpB,MACA,EAAE,iBAAiB,GACyB;AAC5C,QAAM,UAAU,IAAI,QAAQ;AAE5B,mBAAiB,QAAQ,UAAQ;AAC/B,YAAQ;AAAA,MACN;AAAA,UACA,cAAAA,WAAgB,MAAM,IAAI,EAAE,GAAG,qCAAsB,SAAS,oBAAI,KAAK,CAAC,EAAE,CAAC;AAAA,IAC7E;AAAA,EACF,CAAC;AAED,SAAO,oCAAY,KAAK,EAAE,SAAS,KAAK,GAAG,EAAE,QAAQ,CAAC;AACxD;","names":["serializeCookie"]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var element_tree_exports = {};
20
+ __export(element_tree_exports, {
21
+ elementTreeHandler: () => elementTreeHandler
22
+ });
23
+ module.exports = __toCommonJS(element_tree_exports);
24
+ var import_request_response = require("../request-response");
25
+ async function elementTreeHandler(req, { runtime }) {
26
+ const body = await req.json();
27
+ const { elementTree, replacementContext } = body;
28
+ if (elementTree == null) {
29
+ return import_request_response.ApiResponse.json({ message: "elementTree must be defined" }, { status: 400 });
30
+ }
31
+ if (replacementContext == null) {
32
+ return import_request_response.ApiResponse.json({ message: "replacementContext must be defined" }, { status: 400 });
33
+ }
34
+ const generatedElementTree = runtime.copyElementTree(elementTree, replacementContext);
35
+ return import_request_response.ApiResponse.json({ elementTree: generatedElementTree });
36
+ }
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ elementTreeHandler
40
+ });
41
+ //# sourceMappingURL=element-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/api-handler/handlers/element-tree.ts"],"sourcesContent":["import { ReactRuntime } from '../../react'\nimport { type Element } from '../../state/react-page'\nimport { type ApiRequest, ApiResponse, type ErrorResponseBody } from '../request-response'\n\nexport async function elementTreeHandler(\n req: ApiRequest,\n { runtime }: { runtime: ReactRuntime },\n): Promise<ApiResponse<{ elementTree: Element } | ErrorResponseBody>> {\n const body = await req.json()\n const { elementTree, replacementContext } = body\n\n if (elementTree == null) {\n return ApiResponse.json({ message: 'elementTree must be defined' }, { status: 400 })\n }\n\n if (replacementContext == null) {\n return ApiResponse.json({ message: 'replacementContext must be defined' }, { status: 400 })\n }\n\n const generatedElementTree = runtime.copyElementTree(elementTree, replacementContext)\n return ApiResponse.json({ elementTree: generatedElementTree })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,8BAAqE;AAErE,eAAsB,mBACpB,KACA,EAAE,QAAQ,GAC0D;AACpE,QAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,QAAM,EAAE,aAAa,mBAAmB,IAAI;AAE5C,MAAI,eAAe,MAAM;AACvB,WAAO,oCAAY,KAAK,EAAE,SAAS,8BAA8B,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EACrF;AAEA,MAAI,sBAAsB,MAAM;AAC9B,WAAO,oCAAY,KAAK,EAAE,SAAS,qCAAqC,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EAC5F;AAEA,QAAM,uBAAuB,QAAQ,gBAAgB,aAAa,kBAAkB;AACpF,SAAO,oCAAY,KAAK,EAAE,aAAa,qBAAqB,CAAC;AAC/D;","names":[]}
@@ -18,16 +18,16 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var fonts_exports = {};
20
20
  __export(fonts_exports, {
21
- default: () => fonts
21
+ fontsHandler: () => fontsHandler
22
22
  });
23
23
  module.exports = __toCommonJS(fonts_exports);
24
- var import_server = require("next/server");
25
- var import_ts_pattern = require("ts-pattern");
26
- const routeHandlerPattern = [import_ts_pattern.P.instanceOf(Request), import_ts_pattern.P.any, import_ts_pattern.P.any];
27
- const apiRoutePattern = [import_ts_pattern.P.any, import_ts_pattern.P.any, import_ts_pattern.P.any];
28
- async function fonts(...args) {
29
- const [, , { getFonts }] = args;
30
- const fonts2 = await getFonts?.() ?? [];
31
- return (0, import_ts_pattern.match)(args).with(routeHandlerPattern, () => import_server.NextResponse.json(fonts2)).with(apiRoutePattern, ([, res]) => res.json(fonts2)).exhaustive();
24
+ var import_request_response = require("../request-response");
25
+ async function fontsHandler(_req, { getFonts }) {
26
+ const fonts = await getFonts?.() ?? [];
27
+ return import_request_response.ApiResponse.json(fonts);
32
28
  }
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ fontsHandler
32
+ });
33
33
  //# sourceMappingURL=fonts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/api-handler/handlers/fonts.ts"],"sourcesContent":["import { type ApiRequest, ApiResponse } from '../request-response'\n\ntype FontVariant = { weight: string; style: 'italic' | 'normal'; src?: string }\n\nexport type Font = {\n family: string\n label?: string\n variants: FontVariant[]\n}\n\ntype Fonts = Font[]\n\nexport type GetFonts = () => Fonts | Promise<Fonts>\n\nexport async function fontsHandler(\n _req: ApiRequest,\n { getFonts }: { getFonts?: GetFonts },\n): Promise<ApiResponse<Fonts>> {\n const fonts = (await getFonts?.()) ?? []\n\n return ApiResponse.json(fonts)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAA6C;AAc7C,eAAsB,aACpB,MACA,EAAE,SAAS,GACkB;AAC7B,QAAM,QAAS,MAAM,WAAW,KAAM,CAAC;AAEvC,SAAO,oCAAY,KAAK,KAAK;AAC/B;","names":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var manifest_exports = {};
20
+ __export(manifest_exports, {
21
+ manifestHandler: () => manifestHandler
22
+ });
23
+ module.exports = __toCommonJS(manifest_exports);
24
+ var import_request_response = require("../request-response");
25
+ async function manifestHandler(req, { apiKey, manifest }) {
26
+ const secret = (0, import_request_response.searchParams)(req).get("secret");
27
+ if (secret !== apiKey) {
28
+ return import_request_response.ApiResponse.json({ message: "Unauthorized" }, { status: 401 });
29
+ }
30
+ return import_request_response.ApiResponse.json({
31
+ version: "0.25.0-canary.2",
32
+ previewMode: false,
33
+ draftMode: false,
34
+ interactionMode: true,
35
+ clientSideNavigation: false,
36
+ elementFromPoint: false,
37
+ customBreakpoints: true,
38
+ siteVersions: true,
39
+ unstable_siteVersions: true,
40
+ localizedPageSSR: true,
41
+ webhook: true,
42
+ localizedPagesOnlineByDefault: true,
43
+ ...manifest
44
+ });
45
+ }
46
+ // Annotate the CommonJS export names for ESM import in node:
47
+ 0 && (module.exports = {
48
+ manifestHandler
49
+ });
50
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/api-handler/handlers/manifest.ts"],"sourcesContent":["import {\n type ApiRequest,\n type ErrorResponseBody,\n ApiResponse,\n searchParams,\n} from '../request-response'\n\nexport type Manifest = {\n version: string\n previewMode: boolean\n draftMode: boolean\n interactionMode: boolean\n clientSideNavigation: boolean\n elementFromPoint: boolean\n customBreakpoints: boolean\n siteVersions: boolean\n unstable_siteVersions: boolean\n localizedPageSSR: boolean\n webhook: boolean\n localizedPagesOnlineByDefault: boolean\n}\n\nexport async function manifestHandler(\n req: ApiRequest,\n { apiKey, manifest }: { apiKey: string; manifest: Partial<Manifest> },\n): Promise<ApiResponse<Manifest | ErrorResponseBody>> {\n const secret = searchParams(req).get('secret')\n\n if (secret !== apiKey) {\n return ApiResponse.json({ message: 'Unauthorized' }, { status: 401 })\n }\n\n return ApiResponse.json({\n version: PACKAGE_VERSION,\n previewMode: false,\n draftMode: false,\n interactionMode: true,\n clientSideNavigation: false,\n elementFromPoint: false,\n customBreakpoints: true,\n siteVersions: true,\n unstable_siteVersions: true,\n localizedPageSSR: true,\n webhook: true,\n localizedPagesOnlineByDefault: true,\n ...manifest,\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAKO;AAiBP,eAAsB,gBACpB,KACA,EAAE,QAAQ,SAAS,GACiC;AACpD,QAAM,aAAS,sCAAa,GAAG,EAAE,IAAI,QAAQ;AAE7C,MAAI,WAAW,QAAQ;AACrB,WAAO,oCAAY,KAAK,EAAE,SAAS,eAAe,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EACtE;AAEA,SAAO,oCAAY,KAAK;AAAA,IACtB,SAAS;AAAA,IACT,aAAa;AAAA,IACb,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd,uBAAuB;AAAA,IACvB,kBAAkB;AAAA,IAClB,SAAS;AAAA,IACT,+BAA+B;AAAA,IAC/B,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var merge_translated_data_exports = {};
20
+ __export(merge_translated_data_exports, {
21
+ mergeTranslatedDataHandler: () => mergeTranslatedDataHandler
22
+ });
23
+ module.exports = __toCommonJS(merge_translated_data_exports);
24
+ var import_request_response = require("../request-response");
25
+ async function mergeTranslatedDataHandler(req, { client }) {
26
+ const body = await req.json();
27
+ const { translatedData, elementTree } = body;
28
+ if (translatedData == null) {
29
+ return import_request_response.ApiResponse.json({ message: "translatedData must be defined" }, { status: 400 });
30
+ }
31
+ if (elementTree == null) {
32
+ return import_request_response.ApiResponse.json({ message: "elementTree must be defined" }, { status: 400 });
33
+ }
34
+ const translatedElementTree = client.mergeTranslatedData(elementTree, translatedData);
35
+ return import_request_response.ApiResponse.json({ elementTree: translatedElementTree });
36
+ }
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ mergeTranslatedDataHandler
40
+ });
41
+ //# sourceMappingURL=merge-translated-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/api-handler/handlers/merge-translated-data.ts"],"sourcesContent":["import { type Element } from '../../state/react-page'\nimport { MakeswiftClient } from '../../client'\nimport { type ApiRequest, ApiResponse, type ErrorResponseBody } from '../request-response'\n\ntype TranslatedData = { elementTree: Element }\n\nexport async function mergeTranslatedDataHandler(\n req: ApiRequest,\n { client }: { client: MakeswiftClient },\n): Promise<ApiResponse<TranslatedData | ErrorResponseBody>> {\n const body = await req.json()\n const { translatedData, elementTree } = body\n\n if (translatedData == null) {\n return ApiResponse.json({ message: 'translatedData must be defined' }, { status: 400 })\n }\n\n if (elementTree == null) {\n return ApiResponse.json({ message: 'elementTree must be defined' }, { status: 400 })\n }\n\n const translatedElementTree = client.mergeTranslatedData(elementTree, translatedData)\n return ApiResponse.json({ elementTree: translatedElementTree })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,8BAAqE;AAIrE,eAAsB,2BACpB,KACA,EAAE,OAAO,GACiD;AAC1D,QAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,QAAM,EAAE,gBAAgB,YAAY,IAAI;AAExC,MAAI,kBAAkB,MAAM;AAC1B,WAAO,oCAAY,KAAK,EAAE,SAAS,iCAAiC,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EACxF;AAEA,MAAI,eAAe,MAAM;AACvB,WAAO,oCAAY,KAAK,EAAE,SAAS,8BAA8B,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EACrF;AAEA,QAAM,wBAAwB,OAAO,oBAAoB,aAAa,cAAc;AACpF,SAAO,oCAAY,KAAK,EAAE,aAAa,sBAAsB,CAAC;AAChE;","names":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var revalidate_exports = {};
30
+ __export(revalidate_exports, {
31
+ revalidateHandler: () => revalidateHandler
32
+ });
33
+ module.exports = __toCommonJS(revalidate_exports);
34
+ var import_isErrorWithMessage = __toESM(require("../../utils/isErrorWithMessage"));
35
+ var import_request_response = require("../request-response");
36
+ async function revalidateHandler(req, { apiKey, revalidatePath }) {
37
+ const params = (0, import_request_response.searchParams)(req);
38
+ const secret = params.get("secret");
39
+ if (secret !== apiKey) {
40
+ return import_request_response.ApiResponse.json({ message: "Unauthorized" }, { status: 401 });
41
+ }
42
+ const path = params.get("path");
43
+ if (typeof path !== "string") {
44
+ return import_request_response.ApiResponse.json({ message: "Bad Request" }, { status: 400 });
45
+ }
46
+ try {
47
+ await revalidatePath(path);
48
+ return import_request_response.ApiResponse.json({ revalidated: true });
49
+ } catch (error) {
50
+ if ((0, import_isErrorWithMessage.default)(error)) {
51
+ return import_request_response.ApiResponse.json({ message: error.message }, { status: 500 });
52
+ }
53
+ return import_request_response.ApiResponse.json({ message: "Error Revalidating" }, { status: 500 });
54
+ }
55
+ }
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ revalidateHandler
59
+ });
60
+ //# sourceMappingURL=revalidate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/api-handler/handlers/revalidate.ts"],"sourcesContent":["import isErrorWithMessage from '../../utils/isErrorWithMessage'\nimport {\n type ApiRequest,\n type ErrorResponseBody,\n ApiResponse,\n searchParams,\n} from '../request-response'\n\ntype RevalidationResult = { revalidated: boolean }\n\nexport async function revalidateHandler(\n req: ApiRequest,\n { apiKey, revalidatePath }: { apiKey: string; revalidatePath: (path: string) => Promise<void> },\n): Promise<ApiResponse<RevalidationResult | ErrorResponseBody>> {\n const params = searchParams(req)\n\n const secret = params.get('secret')\n if (secret !== apiKey) {\n return ApiResponse.json({ message: 'Unauthorized' }, { status: 401 })\n }\n\n const path = params.get('path')\n if (typeof path !== 'string') {\n return ApiResponse.json({ message: 'Bad Request' }, { status: 400 })\n }\n\n try {\n await revalidatePath(path)\n return ApiResponse.json({ revalidated: true })\n } catch (error) {\n if (isErrorWithMessage(error)) {\n return ApiResponse.json({ message: error.message }, { status: 500 })\n }\n\n return ApiResponse.json({ message: 'Error Revalidating' }, { status: 500 })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAA+B;AAC/B,8BAKO;AAIP,eAAsB,kBACpB,KACA,EAAE,QAAQ,eAAe,GACqC;AAC9D,QAAM,aAAS,sCAAa,GAAG;AAE/B,QAAM,SAAS,OAAO,IAAI,QAAQ;AAClC,MAAI,WAAW,QAAQ;AACrB,WAAO,oCAAY,KAAK,EAAE,SAAS,eAAe,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EACtE;AAEA,QAAM,OAAO,OAAO,IAAI,MAAM;AAC9B,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,oCAAY,KAAK,EAAE,SAAS,cAAc,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EACrE;AAEA,MAAI;AACF,UAAM,eAAe,IAAI;AACzB,WAAO,oCAAY,KAAK,EAAE,aAAa,KAAK,CAAC;AAAA,EAC/C,SAAS,OAAO;AACd,YAAI,0BAAAA,SAAmB,KAAK,GAAG;AAC7B,aAAO,oCAAY,KAAK,EAAE,SAAS,MAAM,QAAQ,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,IACrE;AAEA,WAAO,oCAAY,KAAK,EAAE,SAAS,qBAAqB,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EAC5E;AACF;","names":["isErrorWithMessage"]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var translatable_data_exports = {};
20
+ __export(translatable_data_exports, {
21
+ translatableDataHandler: () => translatableDataHandler
22
+ });
23
+ module.exports = __toCommonJS(translatable_data_exports);
24
+ var import_request_response = require("../request-response");
25
+ async function translatableDataHandler(req, { client }) {
26
+ const body = await req.json();
27
+ const { elementTree } = body;
28
+ if (elementTree == null) {
29
+ return import_request_response.ApiResponse.json({ message: "elementTree must be defined." }, { status: 400 });
30
+ }
31
+ try {
32
+ let translatableData = client.getTranslatableData(elementTree);
33
+ return import_request_response.ApiResponse.json({ translatableData });
34
+ } catch (error) {
35
+ return import_request_response.ApiResponse.json({ message: "Failed to get translatable data." }, { status: 500 });
36
+ }
37
+ }
38
+ // Annotate the CommonJS export names for ESM import in node:
39
+ 0 && (module.exports = {
40
+ translatableDataHandler
41
+ });
42
+ //# sourceMappingURL=translatable-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/api-handler/handlers/translatable-data.ts"],"sourcesContent":["import { type Data } from '../../state/react-page'\nimport { MakeswiftClient } from '../../client'\nimport { type ApiRequest, ApiResponse } from '../request-response'\n\ntype TranslatableDataResult = { translatableData: Record<string, Data> }\ntype TranslatableDataError = { message: string }\n\nexport type TranslatableDataResponse = TranslatableDataResult | TranslatableDataError\n\nexport async function translatableDataHandler(\n req: ApiRequest,\n { client }: { client: MakeswiftClient },\n): Promise<ApiResponse> {\n const body = await req.json()\n\n const { elementTree } = body\n\n if (elementTree == null) {\n return ApiResponse.json({ message: 'elementTree must be defined.' }, { status: 400 })\n }\n\n try {\n let translatableData = client.getTranslatableData(elementTree)\n return ApiResponse.json({ translatableData })\n } catch (error) {\n return ApiResponse.json({ message: 'Failed to get translatable data.' }, { status: 500 })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,8BAA6C;AAO7C,eAAsB,wBACpB,KACA,EAAE,OAAO,GACa;AACtB,QAAM,OAAO,MAAM,IAAI,KAAK;AAE5B,QAAM,EAAE,YAAY,IAAI;AAExB,MAAI,eAAe,MAAM;AACvB,WAAO,oCAAY,KAAK,EAAE,SAAS,+BAA+B,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EACtF;AAEA,MAAI;AACF,QAAI,mBAAmB,OAAO,oBAAoB,WAAW;AAC7D,WAAO,oCAAY,KAAK,EAAE,iBAAiB,CAAC;AAAA,EAC9C,SAAS,OAAO;AACd,WAAO,oCAAY,KAAK,EAAE,SAAS,mCAAmC,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EAC1F;AACF;","names":[]}
@@ -18,41 +18,34 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var webhook_exports = {};
20
20
  __export(webhook_exports, {
21
- default: () => handler
21
+ webhookHandler: () => webhookHandler
22
22
  });
23
23
  module.exports = __toCommonJS(webhook_exports);
24
- var import_server = require("next/server");
25
24
  var import_ts_pattern = require("ts-pattern");
26
- var import_site_published = require("./site-published");
25
+ var import_request_response = require("../../request-response");
27
26
  var import_types = require("./types");
28
- const routeHandlerPattern = [import_ts_pattern.P.instanceOf(Request), import_ts_pattern.P.any, import_ts_pattern.P.any];
29
- const apiRoutePattern = [import_ts_pattern.P.any, import_ts_pattern.P.any, import_ts_pattern.P.any];
30
- function getSecret(args) {
31
- return (0, import_ts_pattern.match)(args).with(routeHandlerPattern, ([request]) => request.nextUrl.searchParams.get("secret")).with(apiRoutePattern, ([req]) => req.query.secret).exhaustive();
32
- }
33
- function getRequestBody(args) {
34
- return (0, import_ts_pattern.match)(args).with(routeHandlerPattern, ([request]) => request.json()).with(apiRoutePattern, ([req]) => req.body).exhaustive();
35
- }
36
- function respond(args, response, status) {
37
- return (0, import_ts_pattern.match)(args).with(routeHandlerPattern, () => import_server.NextResponse.json(response, { status })).with(apiRoutePattern, ([, res]) => res.status(status ?? 200).json(response)).exhaustive();
38
- }
39
- async function handler(...args) {
40
- const [, , { apiKey, events }] = args;
41
- const secret = getSecret(args);
42
- if (secret !== apiKey)
43
- return respond(args, { message: "Unauthorized" }, 401);
27
+ var import_site_published = require("./site-published");
28
+ async function webhookHandler(req, { apiKey, events, revalidate }) {
29
+ const secret = (0, import_request_response.searchParams)(req).get("secret");
30
+ if (secret !== apiKey) {
31
+ return import_request_response.ApiResponse.json({ message: "Unauthorized" }, { status: 401 });
32
+ }
44
33
  let payload;
45
34
  try {
46
- const body = await getRequestBody(args);
35
+ const body = await req.json();
47
36
  payload = import_types.sitePublishedWebhookPayloadSchema.parse(body);
48
37
  } catch (error) {
49
38
  console.error(error);
50
- return respond(args, { message: "Invalid request body" }, 400);
39
+ return import_request_response.ApiResponse.json({ message: "Invalid request body" }, { status: 400 });
51
40
  }
52
41
  const result = await (0, import_ts_pattern.match)(payload.type).with(
53
42
  import_types.WebhookEventType.SITE_PUBLISHED,
54
- () => (0, import_site_published.handleSitePublished)(payload, { onPublish: events?.onPublish })
43
+ () => (0, import_site_published.handleSitePublished)(payload, { onPublish: events?.onPublish, revalidate })
55
44
  ).exhaustive();
56
- return respond(args, result.body, result.status);
45
+ return import_request_response.ApiResponse.json(result.body, { status: result.status });
57
46
  }
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ webhookHandler
50
+ });
58
51
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/api-handler/handlers/webhook/index.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport { type ApiRequest, ApiResponse, searchParams } from '../../request-response'\n\nimport {\n type OnPublish,\n type WebhookPayloadSchema,\n type WebhookResponseBody,\n sitePublishedWebhookPayloadSchema,\n WebhookEventType,\n} from './types'\n\nimport { handleSitePublished } from './site-published'\n\ntype WebhookParams = {\n apiKey: string\n events?: { onPublish?: OnPublish }\n revalidate: () => void\n}\n\nexport async function webhookHandler(\n req: ApiRequest,\n { apiKey, events, revalidate }: WebhookParams,\n): Promise<ApiResponse<WebhookResponseBody>> {\n const secret = searchParams(req).get('secret')\n if (secret !== apiKey) {\n return ApiResponse.json({ message: 'Unauthorized' }, { status: 401 })\n }\n\n let payload: WebhookPayloadSchema\n\n try {\n const body = await req.json()\n payload = sitePublishedWebhookPayloadSchema.parse(body)\n } catch (error) {\n console.error(error)\n return ApiResponse.json({ message: 'Invalid request body' }, { status: 400 })\n }\n\n const result = await match(payload.type)\n .with(WebhookEventType.SITE_PUBLISHED, () =>\n handleSitePublished(payload, { onPublish: events?.onPublish, revalidate }),\n )\n .exhaustive()\n\n return ApiResponse.json(result.body, { status: result.status })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsB;AACtB,8BAA2D;AAE3D,mBAMO;AAEP,4BAAoC;AAQpC,eAAsB,eACpB,KACA,EAAE,QAAQ,QAAQ,WAAW,GACc;AAC3C,QAAM,aAAS,sCAAa,GAAG,EAAE,IAAI,QAAQ;AAC7C,MAAI,WAAW,QAAQ;AACrB,WAAO,oCAAY,KAAK,EAAE,SAAS,eAAe,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EACtE;AAEA,MAAI;AAEJ,MAAI;AACF,UAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,cAAU,+CAAkC,MAAM,IAAI;AAAA,EACxD,SAAS,OAAO;AACd,YAAQ,MAAM,KAAK;AACnB,WAAO,oCAAY,KAAK,EAAE,SAAS,uBAAuB,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EAC9E;AAEA,QAAM,SAAS,UAAM,yBAAM,QAAQ,IAAI,EACpC;AAAA,IAAK,8BAAiB;AAAA,IAAgB,UACrC,2CAAoB,SAAS,EAAE,WAAW,QAAQ,WAAW,WAAW,CAAC;AAAA,EAC3E,EACC,WAAW;AAEd,SAAO,oCAAY,KAAK,OAAO,MAAM,EAAE,QAAQ,OAAO,OAAO,CAAC;AAChE;","names":[]}
@@ -21,10 +21,8 @@ __export(site_published_exports, {
21
21
  handleSitePublished: () => handleSitePublished
22
22
  });
23
23
  module.exports = __toCommonJS(site_published_exports);
24
- var import_cache = require("next/cache");
25
- var import_cache2 = require("../../../cache");
26
- async function handleSitePublished(_payload, { onPublish }) {
27
- (0, import_cache.revalidateTag)(import_cache2.MAKESWIFT_CACHE_TAG);
24
+ async function handleSitePublished(_payload, { onPublish, revalidate }) {
25
+ revalidate();
28
26
  try {
29
27
  await onPublish?.();
30
28
  } catch (error) {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/api-handler/handlers/webhook/site-published.ts"],"sourcesContent":["import {\n type OnPublish,\n type SitePublishedWebhookPayload,\n type WebhookHandlerResult,\n} from './types'\n\ntype SitePublishedParams = {\n onPublish?: OnPublish\n revalidate: () => void\n}\n\nexport async function handleSitePublished(\n _payload: SitePublishedWebhookPayload,\n { onPublish, revalidate }: SitePublishedParams,\n): Promise<WebhookHandlerResult> {\n revalidate()\n\n try {\n await onPublish?.()\n } catch (error) {\n // log and ignore any error in user-provided onPublish\n console.error(\"Unhandled exception in the 'onPublish' callback:\", error)\n }\n\n return { body: { success: true }, status: 200 }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,eAAsB,oBACpB,UACA,EAAE,WAAW,WAAW,GACO;AAC/B,aAAW;AAEX,MAAI;AACF,UAAM,YAAY;AAAA,EACpB,SAAS,OAAO;AAEd,YAAQ,MAAM,oDAAoD,KAAK;AAAA,EACzE;AAEA,SAAO,EAAE,MAAM,EAAE,SAAS,KAAK,GAAG,QAAQ,IAAI;AAChD;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/api-handler/handlers/webhook/types.ts"],"sourcesContent":["import { z } from 'zod'\n\nimport { type ErrorResponseBody } from '../../request-response'\n\nexport const WebhookEventType = {\n SITE_PUBLISHED: 'site.published',\n} as const\n\nexport const sitePublishedWebhookPayloadSchema = z.object({\n type: z.literal(WebhookEventType.SITE_PUBLISHED),\n data: z.object({\n siteId: z.string().uuid(),\n publish: z.object({\n from: z.string().uuid().nullable(),\n to: z.string().uuid(),\n }),\n at: z.number(),\n }),\n})\n\nexport type SitePublishedWebhookPayload = z.infer<typeof sitePublishedWebhookPayloadSchema>\n\nconst webhookPayloadSchema = sitePublishedWebhookPayloadSchema\n\nexport type WebhookPayloadSchema = z.infer<typeof webhookPayloadSchema>\n\ntype WebhookSuccessBody = { success: true }\n\nexport type WebhookResponseBody = WebhookSuccessBody | ErrorResponseBody\n\nexport type WebhookHandlerResult = {\n body: WebhookResponseBody\n status: 200\n}\n\nexport type OnPublish = () => void | Promise<void>\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAIX,MAAM,mBAAmB;AAAA,EAC9B,gBAAgB;AAClB;AAEO,MAAM,oCAAoC,aAAE,OAAO;AAAA,EACxD,MAAM,aAAE,QAAQ,iBAAiB,cAAc;AAAA,EAC/C,MAAM,aAAE,OAAO;AAAA,IACb,QAAQ,aAAE,OAAO,EAAE,KAAK;AAAA,IACxB,SAAS,aAAE,OAAO;AAAA,MAChB,MAAM,aAAE,OAAO,EAAE,KAAK,EAAE,SAAS;AAAA,MACjC,IAAI,aAAE,OAAO,EAAE,KAAK;AAAA,IACtB,CAAC;AAAA,IACD,IAAI,aAAE,OAAO;AAAA,EACf,CAAC;AACH,CAAC;AAID,MAAM,uBAAuB;","names":[]}