mongoku 2.0.4 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/README.md +14 -2
  2. package/build/client/_app/immutable/assets/0.egX7ddQL.css +1 -0
  3. package/build/client/_app/immutable/assets/0.egX7ddQL.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.egX7ddQL.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/10.59aTjJn9.css +1 -0
  6. package/build/client/_app/immutable/assets/10.59aTjJn9.css.br +0 -0
  7. package/build/client/_app/immutable/assets/10.59aTjJn9.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/11.CEtFGlZU.css +1 -0
  9. package/build/client/_app/immutable/assets/11.CEtFGlZU.css.br +1 -0
  10. package/build/client/_app/immutable/assets/11.CEtFGlZU.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/12.BdCOhvz0.css +1 -0
  12. package/build/client/_app/immutable/assets/12.BdCOhvz0.css.br +0 -0
  13. package/build/client/_app/immutable/assets/12.BdCOhvz0.css.gz +0 -0
  14. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css +1 -0
  15. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css.br +0 -0
  16. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css.gz +0 -0
  17. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css +1 -0
  18. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css.br +0 -0
  19. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css.gz +0 -0
  20. package/build/client/_app/immutable/assets/Panel.B3aWupye.css +1 -0
  21. package/build/client/_app/immutable/assets/Panel.B3aWupye.css.br +0 -0
  22. package/build/client/_app/immutable/assets/Panel.B3aWupye.css.gz +0 -0
  23. package/build/client/_app/immutable/chunks/7rjwS0Fa.js +1 -0
  24. package/build/client/_app/immutable/chunks/7rjwS0Fa.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/7rjwS0Fa.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/BLDrwdCC.js +1 -0
  27. package/build/client/_app/immutable/chunks/BLDrwdCC.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/BLDrwdCC.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/BNpv6iz_.js +1 -0
  30. package/build/client/_app/immutable/chunks/BNpv6iz_.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/BNpv6iz_.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/BY7rCWFm.js +1 -0
  33. package/build/client/_app/immutable/chunks/BY7rCWFm.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/BY7rCWFm.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/BirzSxMb.js +2 -0
  36. package/build/client/_app/immutable/chunks/BirzSxMb.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/BirzSxMb.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/BsxVnnsB.js +1 -0
  39. package/build/client/_app/immutable/chunks/BsxVnnsB.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/BsxVnnsB.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/BtVcRw28.js +29 -0
  42. package/build/client/_app/immutable/chunks/BtVcRw28.js.br +0 -0
  43. package/build/client/_app/immutable/chunks/BtVcRw28.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/CdQ4HxbR.js +2 -0
  45. package/build/client/_app/immutable/chunks/CdQ4HxbR.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/CdQ4HxbR.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/CeUVbZ2h.js +1 -0
  48. package/build/client/_app/immutable/chunks/CeUVbZ2h.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/CeUVbZ2h.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/CsO4V9Pl.js +1 -0
  51. package/build/client/_app/immutable/chunks/CsO4V9Pl.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/CsO4V9Pl.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/Cy5AtpEx.js +1 -0
  54. package/build/client/_app/immutable/chunks/Cy5AtpEx.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/Cy5AtpEx.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/DD3Ma7mI.js +1 -0
  57. package/build/client/_app/immutable/chunks/DD3Ma7mI.js.br +1 -0
  58. package/build/client/_app/immutable/chunks/DD3Ma7mI.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/DDOxwa8G.js +1 -0
  60. package/build/client/_app/immutable/chunks/DDOxwa8G.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/DDOxwa8G.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/DPilZ31q.js +4 -0
  63. package/build/client/_app/immutable/chunks/DPilZ31q.js.br +0 -0
  64. package/build/client/_app/immutable/chunks/DPilZ31q.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/DkcM24tw.js +1 -0
  66. package/build/client/_app/immutable/chunks/DkcM24tw.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/DkcM24tw.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/{ChWB6xnu.js → DzIzGsAN.js} +1 -1
  69. package/build/client/_app/immutable/chunks/DzIzGsAN.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/DzIzGsAN.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/Dzn375RV.js +1 -0
  72. package/build/client/_app/immutable/chunks/Dzn375RV.js.br +0 -0
  73. package/build/client/_app/immutable/chunks/Dzn375RV.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/hzkOq89z.js +1 -0
  75. package/build/client/_app/immutable/chunks/hzkOq89z.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/hzkOq89z.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/myWOS8Ad.js +1 -0
  78. package/build/client/_app/immutable/chunks/myWOS8Ad.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/myWOS8Ad.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/{DQkpHJGc.js → pwiEVMhR.js} +1 -1
  81. package/build/client/_app/immutable/chunks/pwiEVMhR.js.br +0 -0
  82. package/build/client/_app/immutable/chunks/pwiEVMhR.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/woTmcqT7.js +1 -0
  84. package/build/client/_app/immutable/chunks/woTmcqT7.js.br +0 -0
  85. package/build/client/_app/immutable/chunks/woTmcqT7.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/zDi6mm3o.js +1 -0
  87. package/build/client/_app/immutable/chunks/zDi6mm3o.js.br +0 -0
  88. package/build/client/_app/immutable/chunks/zDi6mm3o.js.gz +0 -0
  89. package/build/client/_app/immutable/entry/app.CxQNYOR7.js +2 -0
  90. package/build/client/_app/immutable/entry/app.CxQNYOR7.js.br +0 -0
  91. package/build/client/_app/immutable/entry/app.CxQNYOR7.js.gz +0 -0
  92. package/build/client/_app/immutable/entry/start.CUo1ZpWZ.js +1 -0
  93. package/build/client/_app/immutable/entry/start.CUo1ZpWZ.js.br +2 -0
  94. package/build/client/_app/immutable/entry/start.CUo1ZpWZ.js.gz +0 -0
  95. package/build/client/_app/immutable/nodes/0.NM9sLghd.js +5 -0
  96. package/build/client/_app/immutable/nodes/0.NM9sLghd.js.br +0 -0
  97. package/build/client/_app/immutable/nodes/0.NM9sLghd.js.gz +0 -0
  98. package/build/client/_app/immutable/nodes/1.DbC3260o.js +1 -0
  99. package/build/client/_app/immutable/nodes/1.DbC3260o.js.br +2 -0
  100. package/build/client/_app/immutable/nodes/1.DbC3260o.js.gz +0 -0
  101. package/build/client/_app/immutable/nodes/10.BVQvX3m0.js +2 -0
  102. package/build/client/_app/immutable/nodes/10.BVQvX3m0.js.br +0 -0
  103. package/build/client/_app/immutable/nodes/10.BVQvX3m0.js.gz +0 -0
  104. package/build/client/_app/immutable/nodes/11.Bxvf_-yk.js +1 -0
  105. package/build/client/_app/immutable/nodes/11.Bxvf_-yk.js.br +0 -0
  106. package/build/client/_app/immutable/nodes/11.Bxvf_-yk.js.gz +0 -0
  107. package/build/client/_app/immutable/nodes/12.Prhpx9Ma.js +1 -0
  108. package/build/client/_app/immutable/nodes/12.Prhpx9Ma.js.br +0 -0
  109. package/build/client/_app/immutable/nodes/12.Prhpx9Ma.js.gz +0 -0
  110. package/build/client/_app/immutable/nodes/13.Bgj5oOSN.js +66 -0
  111. package/build/client/_app/immutable/nodes/13.Bgj5oOSN.js.br +0 -0
  112. package/build/client/_app/immutable/nodes/13.Bgj5oOSN.js.gz +0 -0
  113. package/build/client/_app/immutable/nodes/2.UoL1FlSn.js +1 -0
  114. package/build/client/_app/immutable/nodes/2.UoL1FlSn.js.br +1 -0
  115. package/build/client/_app/immutable/nodes/2.UoL1FlSn.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/3.oJ7_29Md.js +1 -0
  117. package/build/client/_app/immutable/nodes/3.oJ7_29Md.js.br +0 -0
  118. package/build/client/_app/immutable/nodes/3.oJ7_29Md.js.gz +0 -0
  119. package/build/client/_app/immutable/nodes/4.BbmkM0ZH.js +1 -0
  120. package/build/client/_app/immutable/nodes/4.BbmkM0ZH.js.br +0 -0
  121. package/build/client/_app/immutable/nodes/4.BbmkM0ZH.js.gz +0 -0
  122. package/build/client/_app/immutable/nodes/5.CUeb6mKm.js +1 -0
  123. package/build/client/_app/immutable/nodes/5.CUeb6mKm.js.br +0 -0
  124. package/build/client/_app/immutable/nodes/5.CUeb6mKm.js.gz +0 -0
  125. package/build/client/_app/immutable/nodes/7.BiyUd38g.js +1 -0
  126. package/build/client/_app/immutable/nodes/7.BiyUd38g.js.br +0 -0
  127. package/build/client/_app/immutable/nodes/7.BiyUd38g.js.gz +0 -0
  128. package/build/client/_app/immutable/nodes/8.DhezXfEp.js +1 -0
  129. package/build/client/_app/immutable/nodes/8.DhezXfEp.js.br +0 -0
  130. package/build/client/_app/immutable/nodes/8.DhezXfEp.js.gz +0 -0
  131. package/build/client/_app/immutable/nodes/9.tIbM6W_7.js +2 -0
  132. package/build/client/_app/immutable/nodes/9.tIbM6W_7.js.br +0 -0
  133. package/build/client/_app/immutable/nodes/9.tIbM6W_7.js.gz +0 -0
  134. package/build/client/_app/version.json +1 -1
  135. package/build/client/_app/version.json.br +0 -0
  136. package/build/client/_app/version.json.gz +0 -0
  137. package/build/handler.js +14 -0
  138. package/build/server/chunks/{0-Cb5ytlMI.js → 0-Xn_28PLT.js} +7 -6
  139. package/build/server/chunks/0-Xn_28PLT.js.map +1 -0
  140. package/build/server/chunks/1-CBgVE2FQ.js +9 -0
  141. package/build/server/chunks/1-CBgVE2FQ.js.map +1 -0
  142. package/build/server/chunks/10-nsD-CCn7.js +212 -0
  143. package/build/server/chunks/10-nsD-CCn7.js.map +1 -0
  144. package/build/server/chunks/11-BmqLuLNb.js +41 -0
  145. package/build/server/chunks/11-BmqLuLNb.js.map +1 -0
  146. package/build/server/chunks/12-PgTuaplb.js +101 -0
  147. package/build/server/chunks/12-PgTuaplb.js.map +1 -0
  148. package/build/server/chunks/13-BSGYMCpC.js +51 -0
  149. package/build/server/chunks/13-BSGYMCpC.js.map +1 -0
  150. package/build/server/chunks/2-BJxJqjul.js +24 -0
  151. package/build/server/chunks/2-BJxJqjul.js.map +1 -0
  152. package/build/server/chunks/3-D2ftoQkX.js +25 -0
  153. package/build/server/chunks/3-D2ftoQkX.js.map +1 -0
  154. package/build/server/chunks/4-CdkZadEU.js +25 -0
  155. package/build/server/chunks/4-CdkZadEU.js.map +1 -0
  156. package/build/server/chunks/5-ClD9AjJX.js +25 -0
  157. package/build/server/chunks/5-ClD9AjJX.js.map +1 -0
  158. package/build/server/chunks/{2-B39zPvzn.js → 6-ifXBeMPA.js} +2 -2
  159. package/build/server/chunks/{2-B39zPvzn.js.map → 6-ifXBeMPA.js.map} +1 -1
  160. package/build/server/chunks/7-D0jTAIl_.js +81 -0
  161. package/build/server/chunks/7-D0jTAIl_.js.map +1 -0
  162. package/build/server/chunks/{4-DzHoLo__.js → 8-CgDL2fiA.js} +18 -10
  163. package/build/server/chunks/8-CgDL2fiA.js.map +1 -0
  164. package/build/server/chunks/{5-CCWbCDpk.js → 9-Dn6eMY6x.js} +6 -8
  165. package/build/server/chunks/9-Dn6eMY6x.js.map +1 -0
  166. package/build/server/chunks/JsonValue-DjUulYwg.js +290 -0
  167. package/build/server/chunks/JsonValue-DjUulYwg.js.map +1 -0
  168. package/build/server/chunks/Modal-zVnoAfFx.js +36 -0
  169. package/build/server/chunks/Modal-zVnoAfFx.js.map +1 -0
  170. package/build/server/chunks/{Panel-Bz0b85EW.js → Panel-BM545RWK.js} +4 -3
  171. package/build/server/chunks/Panel-BM545RWK.js.map +1 -0
  172. package/build/server/chunks/PrettyJson-CVemKT9n.js +137 -0
  173. package/build/server/chunks/PrettyJson-CVemKT9n.js.map +1 -0
  174. package/build/server/chunks/Tooltip-ByN2a8nn.js +38 -0
  175. package/build/server/chunks/Tooltip-ByN2a8nn.js.map +1 -0
  176. package/build/server/chunks/TooltipTable-CftpgkMV.js +60 -0
  177. package/build/server/chunks/TooltipTable-CftpgkMV.js.map +1 -0
  178. package/build/server/chunks/_layout.svelte-D8Erqrch.js +163 -0
  179. package/build/server/chunks/_layout.svelte-D8Erqrch.js.map +1 -0
  180. package/build/server/chunks/{_page.svelte-w9cxGvUf.js → _page.svelte-BZL67-Tl.js} +32 -13
  181. package/build/server/chunks/_page.svelte-BZL67-Tl.js.map +1 -0
  182. package/build/server/chunks/{_page.svelte-FIp-IsOo.js → _page.svelte-BwdDcghe.js} +63 -13
  183. package/build/server/chunks/_page.svelte-BwdDcghe.js.map +1 -0
  184. package/build/server/chunks/{_page.svelte-jxFKbZdN.js → _page.svelte-CwGhs70Z.js} +9 -6
  185. package/build/server/chunks/_page.svelte-CwGhs70Z.js.map +1 -0
  186. package/build/server/chunks/_page.svelte-DI3cZxuK.js +197 -0
  187. package/build/server/chunks/_page.svelte-DI3cZxuK.js.map +1 -0
  188. package/build/server/chunks/_page.svelte-DPUr13fG.js +203 -0
  189. package/build/server/chunks/_page.svelte-DPUr13fG.js.map +1 -0
  190. package/build/server/chunks/{_page.svelte-FLzHOuyK.js → _page.svelte-mO3b8YSb.js} +37 -20
  191. package/build/server/chunks/_page.svelte-mO3b8YSb.js.map +1 -0
  192. package/build/server/chunks/{_page.svelte-k8avSQW1.js → _page.svelte-mPOsEew6.js} +105 -30
  193. package/build/server/chunks/_page.svelte-mPOsEew6.js.map +1 -0
  194. package/build/server/chunks/_server.ts-06lGoPp8.js +8 -0
  195. package/build/server/chunks/_server.ts-06lGoPp8.js.map +1 -0
  196. package/build/server/chunks/async-lVJA8xJZ.js +9 -0
  197. package/build/server/chunks/async-lVJA8xJZ.js.map +1 -0
  198. package/build/server/chunks/client-BFlyU7ZU.js +7 -0
  199. package/build/server/chunks/{client-bj7sePQc.js.map → client-BFlyU7ZU.js.map} +1 -1
  200. package/build/server/chunks/{client2-BX4-xbM4.js → client2-DYaMKWrc.js} +4 -4
  201. package/build/server/chunks/{client2-BX4-xbM4.js.map → client2-DYaMKWrc.js.map} +1 -1
  202. package/build/server/chunks/{async-BfR0vYHo.js → context-C22hLSHK.js} +2 -8
  203. package/build/server/chunks/context-C22hLSHK.js.map +1 -0
  204. package/build/server/chunks/error.svelte-BENdaVOT.js +19 -0
  205. package/build/server/chunks/error.svelte-BENdaVOT.js.map +1 -0
  206. package/build/server/chunks/event-DVH-6ISX.js.map +1 -1
  207. package/build/server/chunks/{index-EKt9-9bV.js → index-DFXVwu6p.js} +2 -2
  208. package/build/server/chunks/{index-EKt9-9bV.js.map → index-DFXVwu6p.js.map} +1 -1
  209. package/build/server/chunks/index-Djsj11qr.js.map +1 -1
  210. package/build/server/chunks/index-server-Bf-hP5gL.js +5 -0
  211. package/build/server/chunks/index-server-Bf-hP5gL.js.map +1 -0
  212. package/build/server/chunks/{routing-DcR4fCSD.js → index2-d4SCF7oA.js} +4 -88
  213. package/build/server/chunks/index2-d4SCF7oA.js.map +1 -0
  214. package/build/server/chunks/{index3-DquTjlmp.js → index3-CoOO2o9t.js} +6 -6
  215. package/build/server/chunks/index3-CoOO2o9t.js.map +1 -0
  216. package/build/server/chunks/jsonParser-CraFXJs8.js +174 -0
  217. package/build/server/chunks/jsonParser-CraFXJs8.js.map +1 -0
  218. package/build/server/chunks/layout.svelte-CJcHX-Na.js +10 -0
  219. package/build/server/chunks/layout.svelte-CJcHX-Na.js.map +1 -0
  220. package/build/server/chunks/{mongo-dLmCShL_.js → mongo-DMG2RTBR.js} +51 -10
  221. package/build/server/chunks/mongo-DMG2RTBR.js.map +1 -0
  222. package/build/server/chunks/remote-xxtqbu-BUzBKv3P.js +16 -0
  223. package/build/server/chunks/remote-xxtqbu-BUzBKv3P.js.map +1 -0
  224. package/build/server/chunks/routing-e10vGH37.js +81 -0
  225. package/build/server/chunks/routing-e10vGH37.js.map +1 -0
  226. package/build/server/chunks/{server2-BiqGvkCy.js → server2-_mGVuBoG.js} +2 -2
  227. package/build/server/chunks/{server2-BiqGvkCy.js.map → server2-_mGVuBoG.js.map} +1 -1
  228. package/build/server/chunks/servers.remote-DKhy8wTJ.js +678 -0
  229. package/build/server/chunks/servers.remote-DKhy8wTJ.js.map +1 -0
  230. package/build/server/chunks/shared-Buki-xt5.js +506 -0
  231. package/build/server/chunks/shared-Buki-xt5.js.map +1 -0
  232. package/build/server/chunks/{state.svelte-CRHA9yov.js → state.svelte-C8IWmp_n.js} +2 -2
  233. package/build/server/chunks/{state.svelte-CRHA9yov.js.map → state.svelte-C8IWmp_n.js.map} +1 -1
  234. package/build/server/chunks/{utils-DGYJFmnf.js → utils-kjxf7BZO.js} +2 -2
  235. package/build/server/chunks/{utils-DGYJFmnf.js.map → utils-kjxf7BZO.js.map} +1 -1
  236. package/build/server/index.js +188 -609
  237. package/build/server/index.js.map +1 -1
  238. package/build/server/manifest.js +45 -18
  239. package/build/server/manifest.js.map +1 -1
  240. package/package.json +13 -2
  241. package/src/api/servers.remote.ts +369 -20
  242. package/src/app.css +98 -3
  243. package/src/app.html +15 -0
  244. package/src/lib/actions/jsonTextarea.ts +395 -0
  245. package/src/lib/components/Breadcrumbs.svelte +7 -58
  246. package/src/lib/components/JsonValue.svelte +279 -85
  247. package/src/lib/components/Modal.svelte +59 -0
  248. package/src/lib/components/OriginWarning.svelte +109 -0
  249. package/src/lib/components/PageSwitcher.svelte +37 -0
  250. package/src/lib/components/Panel.svelte +1 -1
  251. package/src/lib/components/PrettyJson.svelte +112 -36
  252. package/src/lib/components/SearchBox.svelte +161 -97
  253. package/src/lib/components/ThemeSwitcher.svelte +66 -0
  254. package/src/lib/components/Tooltip.svelte +83 -0
  255. package/src/lib/components/TooltipTable.svelte +45 -102
  256. package/src/lib/server/HostsManager.ts +4 -0
  257. package/src/lib/server/aggregation.ts +62 -0
  258. package/src/lib/server/mongo.ts +75 -13
  259. package/src/lib/types.ts +60 -0
  260. package/src/lib/utils/isEmptyObject.ts +6 -0
  261. package/src/lib/utils/jsonParser.ts +9 -1
  262. package/src/lib/utils/omit.ts +3 -0
  263. package/src/routes/+layout.server.ts +2 -1
  264. package/src/routes/+layout.svelte +11 -2
  265. package/src/routes/favicon.ico/+server.ts +8 -0
  266. package/src/routes/servers/+page.server.ts +22 -10
  267. package/src/routes/servers/+page.svelte +44 -10
  268. package/src/routes/servers/[server]/databases/+layout.ts +8 -0
  269. package/src/routes/servers/[server]/databases/+page.server.ts +14 -4
  270. package/src/routes/servers/[server]/databases/[database]/collections/+layout.ts +9 -0
  271. package/src/routes/servers/[server]/databases/[database]/collections/+page.server.ts +0 -2
  272. package/src/routes/servers/[server]/databases/[database]/collections/+page.svelte +67 -8
  273. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+layout.ts +9 -0
  274. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.server.ts +216 -0
  275. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +337 -0
  276. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.ts +10 -0
  277. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+layout.ts +9 -0
  278. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+page.server.ts +15 -12
  279. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+page.svelte +79 -5
  280. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.server.ts +87 -0
  281. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.svelte +333 -0
  282. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.ts +10 -0
  283. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.server.ts +18 -0
  284. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.svelte +377 -0
  285. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.ts +10 -0
  286. package/src/tests/api/aggregation.test.ts +125 -0
  287. package/build/client/_app/immutable/assets/0.CEsPYTp2.css +0 -1
  288. package/build/client/_app/immutable/assets/0.CEsPYTp2.css.br +0 -0
  289. package/build/client/_app/immutable/assets/0.CEsPYTp2.css.gz +0 -0
  290. package/build/client/_app/immutable/assets/6.DawdmtJd.css +0 -1
  291. package/build/client/_app/immutable/assets/6.DawdmtJd.css.br +0 -2
  292. package/build/client/_app/immutable/assets/6.DawdmtJd.css.gz +0 -0
  293. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css +0 -1
  294. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css.br +0 -0
  295. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css.gz +0 -0
  296. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css +0 -1
  297. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css.br +0 -0
  298. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css.gz +0 -0
  299. package/build/client/_app/immutable/chunks/B2-iEFN3.js +0 -2
  300. package/build/client/_app/immutable/chunks/B2-iEFN3.js.br +0 -0
  301. package/build/client/_app/immutable/chunks/B2-iEFN3.js.gz +0 -0
  302. package/build/client/_app/immutable/chunks/B5y2vsNr.js +0 -1
  303. package/build/client/_app/immutable/chunks/B5y2vsNr.js.br +0 -0
  304. package/build/client/_app/immutable/chunks/B5y2vsNr.js.gz +0 -0
  305. package/build/client/_app/immutable/chunks/BN_N9-2s.js +0 -1
  306. package/build/client/_app/immutable/chunks/BN_N9-2s.js.br +0 -0
  307. package/build/client/_app/immutable/chunks/BN_N9-2s.js.gz +0 -0
  308. package/build/client/_app/immutable/chunks/C1z4TjN7.js +0 -1
  309. package/build/client/_app/immutable/chunks/C1z4TjN7.js.br +0 -0
  310. package/build/client/_app/immutable/chunks/C1z4TjN7.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/CQBaNlA9.js +0 -1
  312. package/build/client/_app/immutable/chunks/CQBaNlA9.js.br +0 -0
  313. package/build/client/_app/immutable/chunks/CQBaNlA9.js.gz +0 -0
  314. package/build/client/_app/immutable/chunks/CVoOGazw.js +0 -4
  315. package/build/client/_app/immutable/chunks/CVoOGazw.js.br +0 -0
  316. package/build/client/_app/immutable/chunks/CVoOGazw.js.gz +0 -0
  317. package/build/client/_app/immutable/chunks/CapOg2jD.js +0 -1
  318. package/build/client/_app/immutable/chunks/CapOg2jD.js.br +0 -0
  319. package/build/client/_app/immutable/chunks/CapOg2jD.js.gz +0 -0
  320. package/build/client/_app/immutable/chunks/ChWB6xnu.js.br +0 -0
  321. package/build/client/_app/immutable/chunks/ChWB6xnu.js.gz +0 -0
  322. package/build/client/_app/immutable/chunks/CqnBT2zJ.js +0 -1
  323. package/build/client/_app/immutable/chunks/CqnBT2zJ.js.br +0 -0
  324. package/build/client/_app/immutable/chunks/CqnBT2zJ.js.gz +0 -0
  325. package/build/client/_app/immutable/chunks/D069mncP.js +0 -1
  326. package/build/client/_app/immutable/chunks/D069mncP.js.br +0 -0
  327. package/build/client/_app/immutable/chunks/D069mncP.js.gz +0 -0
  328. package/build/client/_app/immutable/chunks/DACrOfV_.js +0 -14
  329. package/build/client/_app/immutable/chunks/DACrOfV_.js.br +0 -0
  330. package/build/client/_app/immutable/chunks/DACrOfV_.js.gz +0 -0
  331. package/build/client/_app/immutable/chunks/DQkpHJGc.js.br +0 -0
  332. package/build/client/_app/immutable/chunks/DQkpHJGc.js.gz +0 -0
  333. package/build/client/_app/immutable/chunks/DSDD_hFT.js +0 -1
  334. package/build/client/_app/immutable/chunks/DSDD_hFT.js.br +0 -0
  335. package/build/client/_app/immutable/chunks/DSDD_hFT.js.gz +0 -0
  336. package/build/client/_app/immutable/chunks/D_aTX_ol.js +0 -1
  337. package/build/client/_app/immutable/chunks/D_aTX_ol.js.br +0 -0
  338. package/build/client/_app/immutable/chunks/D_aTX_ol.js.gz +0 -0
  339. package/build/client/_app/immutable/chunks/Dg3qHExF.js +0 -1
  340. package/build/client/_app/immutable/chunks/Dg3qHExF.js.br +0 -0
  341. package/build/client/_app/immutable/chunks/Dg3qHExF.js.gz +0 -0
  342. package/build/client/_app/immutable/chunks/Dt6-JRym.js +0 -2
  343. package/build/client/_app/immutable/chunks/Dt6-JRym.js.br +0 -0
  344. package/build/client/_app/immutable/chunks/Dt6-JRym.js.gz +0 -0
  345. package/build/client/_app/immutable/chunks/QoKxaG0e.js +0 -1
  346. package/build/client/_app/immutable/chunks/QoKxaG0e.js.br +0 -2
  347. package/build/client/_app/immutable/chunks/QoKxaG0e.js.gz +0 -0
  348. package/build/client/_app/immutable/chunks/rtveiEyS.js +0 -1
  349. package/build/client/_app/immutable/chunks/rtveiEyS.js.br +0 -0
  350. package/build/client/_app/immutable/chunks/rtveiEyS.js.gz +0 -0
  351. package/build/client/_app/immutable/entry/app.Cc1FNLNH.js +0 -2
  352. package/build/client/_app/immutable/entry/app.Cc1FNLNH.js.br +0 -0
  353. package/build/client/_app/immutable/entry/app.Cc1FNLNH.js.gz +0 -0
  354. package/build/client/_app/immutable/entry/start.CwqlbFyy.js +0 -1
  355. package/build/client/_app/immutable/entry/start.CwqlbFyy.js.br +0 -2
  356. package/build/client/_app/immutable/entry/start.CwqlbFyy.js.gz +0 -0
  357. package/build/client/_app/immutable/nodes/0.wBQEpdjZ.js +0 -1
  358. package/build/client/_app/immutable/nodes/0.wBQEpdjZ.js.br +0 -0
  359. package/build/client/_app/immutable/nodes/0.wBQEpdjZ.js.gz +0 -0
  360. package/build/client/_app/immutable/nodes/1.K6-n7D0b.js +0 -1
  361. package/build/client/_app/immutable/nodes/1.K6-n7D0b.js.br +0 -0
  362. package/build/client/_app/immutable/nodes/1.K6-n7D0b.js.gz +0 -0
  363. package/build/client/_app/immutable/nodes/3.DkGcIF98.js +0 -1
  364. package/build/client/_app/immutable/nodes/3.DkGcIF98.js.br +0 -0
  365. package/build/client/_app/immutable/nodes/3.DkGcIF98.js.gz +0 -0
  366. package/build/client/_app/immutable/nodes/4.C_NxbT98.js +0 -1
  367. package/build/client/_app/immutable/nodes/4.C_NxbT98.js.br +0 -0
  368. package/build/client/_app/immutable/nodes/4.C_NxbT98.js.gz +0 -0
  369. package/build/client/_app/immutable/nodes/5.CFvfYaLM.js +0 -1
  370. package/build/client/_app/immutable/nodes/5.CFvfYaLM.js.br +0 -0
  371. package/build/client/_app/immutable/nodes/5.CFvfYaLM.js.gz +0 -0
  372. package/build/client/_app/immutable/nodes/6.h34Zyorq.js +0 -1
  373. package/build/client/_app/immutable/nodes/6.h34Zyorq.js.br +0 -0
  374. package/build/client/_app/immutable/nodes/6.h34Zyorq.js.gz +0 -0
  375. package/build/client/_app/immutable/nodes/7.BVJmNbU5.js +0 -1
  376. package/build/client/_app/immutable/nodes/7.BVJmNbU5.js.br +0 -0
  377. package/build/client/_app/immutable/nodes/7.BVJmNbU5.js.gz +0 -0
  378. package/build/server/chunks/0-Cb5ytlMI.js.map +0 -1
  379. package/build/server/chunks/1-Cpb7zRtJ.js +0 -9
  380. package/build/server/chunks/1-Cpb7zRtJ.js.map +0 -1
  381. package/build/server/chunks/3-B_DkgZkc.js +0 -69
  382. package/build/server/chunks/3-B_DkgZkc.js.map +0 -1
  383. package/build/server/chunks/4-DzHoLo__.js.map +0 -1
  384. package/build/server/chunks/5-CCWbCDpk.js.map +0 -1
  385. package/build/server/chunks/6-Dok8svjB.js +0 -202
  386. package/build/server/chunks/6-Dok8svjB.js.map +0 -1
  387. package/build/server/chunks/7-CmgJSG2j.js +0 -42
  388. package/build/server/chunks/7-CmgJSG2j.js.map +0 -1
  389. package/build/server/chunks/Panel-Bz0b85EW.js.map +0 -1
  390. package/build/server/chunks/PrettyJson-CX6-dNsW.js +0 -291
  391. package/build/server/chunks/PrettyJson-CX6-dNsW.js.map +0 -1
  392. package/build/server/chunks/TooltipTable-0z4HkHlH.js +0 -17
  393. package/build/server/chunks/TooltipTable-0z4HkHlH.js.map +0 -1
  394. package/build/server/chunks/_layout.svelte-UiDiCQEz.js +0 -111
  395. package/build/server/chunks/_layout.svelte-UiDiCQEz.js.map +0 -1
  396. package/build/server/chunks/_page.svelte-FIp-IsOo.js.map +0 -1
  397. package/build/server/chunks/_page.svelte-FLzHOuyK.js.map +0 -1
  398. package/build/server/chunks/_page.svelte-jxFKbZdN.js.map +0 -1
  399. package/build/server/chunks/_page.svelte-k8avSQW1.js.map +0 -1
  400. package/build/server/chunks/_page.svelte-w9cxGvUf.js.map +0 -1
  401. package/build/server/chunks/async-BfR0vYHo.js.map +0 -1
  402. package/build/server/chunks/client-bj7sePQc.js +0 -7
  403. package/build/server/chunks/error.svelte-D5sIJv3P.js +0 -18
  404. package/build/server/chunks/error.svelte-D5sIJv3P.js.map +0 -1
  405. package/build/server/chunks/index3-DquTjlmp.js.map +0 -1
  406. package/build/server/chunks/mongo-dLmCShL_.js.map +0 -1
  407. package/build/server/chunks/remote-xxtqbu-BFzaWXy0.js +0 -234
  408. package/build/server/chunks/remote-xxtqbu-BFzaWXy0.js.map +0 -1
  409. package/build/server/chunks/routing-DcR4fCSD.js.map +0 -1
  410. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+page.server.ts +0 -106
  411. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+page.svelte +0 -174
  412. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css → 7.CRKE8WvY.css} +0 -0
  413. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css.br → 7.CRKE8WvY.css.br} +0 -0
  414. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css.gz → 7.CRKE8WvY.css.gz} +0 -0
@@ -0,0 +1,5 @@
1
+ const SvelteSet = globalThis.Set;
2
+ const SvelteURLSearchParams = globalThis.URLSearchParams;
3
+
4
+ export { SvelteSet as S, SvelteURLSearchParams as a };
5
+ //# sourceMappingURL=index-server-Bf-hP5gL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-server-Bf-hP5gL.js","sources":["../../../.svelte-kit/adapter-node/chunks/index-server.js"],"sourcesContent":["const SvelteSet = globalThis.Set;\nconst SvelteURLSearchParams = globalThis.URLSearchParams;\nexport {\n SvelteSet as S,\n SvelteURLSearchParams as a\n};\n"],"names":[],"mappings":"AAAK,MAAC,SAAS,GAAG,UAAU,CAAC;AACxB,MAAC,qBAAqB,GAAG,UAAU,CAAC;;;;"}
@@ -1,19 +1,5 @@
1
- import { m as set_ssr_context, p as ssr_context, q as push, u as pop, a as async_mode_flag, k as escape_html, v as is_promise, n as noop } from './async-BfR0vYHo.js';
2
-
3
- let base = "";
4
- let assets = base;
5
- const app_dir = "_app";
6
- const relative = true;
7
- const initial = { base, assets };
8
- const initial_base = initial.base;
9
- function override(paths) {
10
- base = paths.base;
11
- assets = paths.assets;
12
- }
13
- function reset() {
14
- base = initial.base;
15
- assets = initial.assets;
16
- }
1
+ import { s as set_ssr_context, a as ssr_context, p as push, b as pop, e as escape_html, i as is_promise, n as noop } from './context-C22hLSHK.js';
2
+ import { a as async_mode_flag } from './async-lVJA8xJZ.js';
17
3
 
18
4
  const DERIVED = 1 << 1;
19
5
  const EFFECT = 1 << 2;
@@ -266,11 +252,6 @@ https://svelte.dev/e/html_deprecated`);
266
252
  error.name = "Svelte error";
267
253
  throw error;
268
254
  }
269
- function experimental_async_ssr() {
270
- {
271
- console.warn(`https://svelte.dev/e/experimental_async_ssr`);
272
- }
273
- }
274
255
  class Renderer {
275
256
  /**
276
257
  * The contents of the renderer.
@@ -555,7 +536,6 @@ class Renderer {
555
536
  */
556
537
  (onfulfilled, onrejected) => {
557
538
  if (!async_mode_flag) {
558
- experimental_async_ssr();
559
539
  const result2 = sync ??= Renderer.#render(component, options);
560
540
  const user_result = onfulfilled({
561
541
  head: result2.head,
@@ -856,69 +836,5 @@ function ensure_array_like(array_like_or_iterator) {
856
836
  return [];
857
837
  }
858
838
 
859
- function affects_path(segment) {
860
- return segment !== "" && !/^\([^)]+\)$/.test(segment);
861
- }
862
- function get_route_segments(route) {
863
- return route.slice(1).split("/").filter(affects_path);
864
- }
865
- function exec(match, params, matchers) {
866
- const result = {};
867
- const values = match.slice(1);
868
- const values_needing_match = values.filter((value) => value !== void 0);
869
- let buffered = 0;
870
- for (let i = 0; i < params.length; i += 1) {
871
- const param = params[i];
872
- let value = values[i - buffered];
873
- if (param.chained && param.rest && buffered) {
874
- value = values.slice(i - buffered, i + 1).filter((s) => s).join("/");
875
- buffered = 0;
876
- }
877
- if (value === void 0) {
878
- if (param.rest) result[param.name] = "";
879
- continue;
880
- }
881
- if (!param.matcher || matchers[param.matcher](value)) {
882
- result[param.name] = value;
883
- const next_param = params[i + 1];
884
- const next_value = values[i + 1];
885
- if (next_param && !next_param.rest && next_param.optional && next_value && param.chained) {
886
- buffered = 0;
887
- }
888
- if (!next_param && !next_value && Object.keys(result).length === values_needing_match.length) {
889
- buffered = 0;
890
- }
891
- continue;
892
- }
893
- if (param.optional && param.chained) {
894
- buffered++;
895
- continue;
896
- }
897
- return;
898
- }
899
- if (buffered) return;
900
- return result;
901
- }
902
- const basic_param_pattern = /\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;
903
- function resolve_route(id, params) {
904
- const segments = get_route_segments(id);
905
- const has_id_trailing_slash = id != "/" && id.endsWith("/");
906
- return "/" + segments.map(
907
- (segment) => segment.replace(basic_param_pattern, (_, optional, rest, name) => {
908
- const param_value = params[name];
909
- if (!param_value) {
910
- if (optional) return "";
911
- if (rest && param_value !== void 0) return "";
912
- throw new Error(`Missing parameter '${name}' in route ${id}`);
913
- }
914
- if (param_value.startsWith("/") || param_value.endsWith("/"))
915
- throw new Error(
916
- `Parameter '${name}' in route ${id} cannot start or end with a slash -- this would cause an invalid route like foo//bar`
917
- );
918
- return param_value;
919
- })
920
- ).filter(Boolean).join("/") + (has_id_trailing_slash ? "/" : "");
921
- }
922
-
923
- export { ASYNC as A, BLOCK_EFFECT as B, COMMENT_NODE as C, DERIVED as D, ERROR_VALUE as E, assets as F, relative as G, HYDRATION_START as H, INERT as I, override as J, reset as K, LEGACY_PROPS as L, MAYBE_DIRTY as M, attr as N, ensure_array_like as O, attr_class as P, stringify as Q, RENDER_EFFECT as R, STATE_SYMBOL as S, await_block as T, UNOWNED as U, bind_props as V, attr_style as W, resolve_route as X, initial_base as Y, HYDRATION_ERROR as a, UNINITIALIZED as b, DIRTY as c, CLEAN as d, experimental_async_ssr as e, DISCONNECTED as f, EFFECT as g, BRANCH_EFFECT as h, is_passive_event as i, ROOT_EFFECT as j, DESTROYED as k, REACTION_IS_UPDATING as l, EFFECT_RAN as m, EFFECT_PRESERVED as n, HEAD_EFFECT as o, BOUNDARY_EFFECT as p, EFFECT_TRANSPARENT as q, render as r, INSPECT_EFFECT as s, STALE_REACTION as t, HYDRATION_END as u, HYDRATION_START_ELSE as v, USER_EFFECT as w, base as x, app_dir as y, exec as z };
924
- //# sourceMappingURL=routing-DcR4fCSD.js.map
839
+ export { ASYNC as A, BLOCK_EFFECT as B, COMMENT_NODE as C, DERIVED as D, ERROR_VALUE as E, STALE_REACTION as F, HYDRATION_END as G, HYDRATION_START as H, INERT as I, HYDRATION_START_ELSE as J, USER_EFFECT as K, LEGACY_PROPS as L, MAYBE_DIRTY as M, RENDER_EFFECT as R, STATE_SYMBOL as S, UNOWNED as U, attr as a, attr_class as b, clsx as c, await_block as d, ensure_array_like as e, bind_props as f, attr_style as g, HYDRATION_ERROR as h, UNINITIALIZED as i, DIRTY as j, CLEAN as k, DISCONNECTED as l, EFFECT as m, is_passive_event as n, BRANCH_EFFECT as o, ROOT_EFFECT as p, DESTROYED as q, render as r, stringify as s, REACTION_IS_UPDATING as t, EFFECT_RAN as u, EFFECT_PRESERVED as v, HEAD_EFFECT as w, BOUNDARY_EFFECT as x, EFFECT_TRANSPARENT as y, INSPECT_EFFECT as z };
840
+ //# sourceMappingURL=index2-d4SCF7oA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2-d4SCF7oA.js","sources":["../../../.svelte-kit/adapter-node/chunks/index2.js"],"sourcesContent":["import { e as escape_html, a as set_ssr_context, b as ssr_context, p as push, c as pop } from \"./context.js\";\nimport { k as is_promise, n as noop } from \"./utils2.js\";\nimport { a as async_mode_flag } from \"./async.js\";\nconst DERIVED = 1 << 1;\nconst EFFECT = 1 << 2;\nconst RENDER_EFFECT = 1 << 3;\nconst BLOCK_EFFECT = 1 << 4;\nconst BRANCH_EFFECT = 1 << 5;\nconst ROOT_EFFECT = 1 << 6;\nconst BOUNDARY_EFFECT = 1 << 7;\nconst UNOWNED = 1 << 8;\nconst DISCONNECTED = 1 << 9;\nconst CLEAN = 1 << 10;\nconst DIRTY = 1 << 11;\nconst MAYBE_DIRTY = 1 << 12;\nconst INERT = 1 << 13;\nconst DESTROYED = 1 << 14;\nconst EFFECT_RAN = 1 << 15;\nconst EFFECT_TRANSPARENT = 1 << 16;\nconst INSPECT_EFFECT = 1 << 17;\nconst HEAD_EFFECT = 1 << 18;\nconst EFFECT_PRESERVED = 1 << 19;\nconst USER_EFFECT = 1 << 20;\nconst REACTION_IS_UPDATING = 1 << 21;\nconst ASYNC = 1 << 22;\nconst ERROR_VALUE = 1 << 23;\nconst STATE_SYMBOL = Symbol(\"$state\");\nconst LEGACY_PROPS = Symbol(\"legacy props\");\nconst STALE_REACTION = new class StaleReactionError extends Error {\n name = \"StaleReactionError\";\n message = \"The reaction that called `getAbortSignal()` was re-run or destroyed\";\n}();\nconst COMMENT_NODE = 8;\nconst HYDRATION_START = \"[\";\nconst HYDRATION_START_ELSE = \"[!\";\nconst HYDRATION_END = \"]\";\nconst HYDRATION_ERROR = {};\nconst ELEMENT_IS_NAMESPACED = 1;\nconst ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1;\nconst ELEMENT_IS_INPUT = 1 << 2;\nconst UNINITIALIZED = Symbol();\nconst DOM_BOOLEAN_ATTRIBUTES = [\n \"allowfullscreen\",\n \"async\",\n \"autofocus\",\n \"autoplay\",\n \"checked\",\n \"controls\",\n \"default\",\n \"disabled\",\n \"formnovalidate\",\n \"indeterminate\",\n \"inert\",\n \"ismap\",\n \"loop\",\n \"multiple\",\n \"muted\",\n \"nomodule\",\n \"novalidate\",\n \"open\",\n \"playsinline\",\n \"readonly\",\n \"required\",\n \"reversed\",\n \"seamless\",\n \"selected\",\n \"webkitdirectory\",\n \"defer\",\n \"disablepictureinpicture\",\n \"disableremoteplayback\"\n];\nfunction is_boolean_attribute(name) {\n return DOM_BOOLEAN_ATTRIBUTES.includes(name);\n}\nconst PASSIVE_EVENTS = [\"touchstart\", \"touchmove\"];\nfunction is_passive_event(name) {\n return PASSIVE_EVENTS.includes(name);\n}\nfunction r(e) {\n var t, f, n = \"\";\n if (\"string\" == typeof e || \"number\" == typeof e) n += e;\n else if (\"object\" == typeof e) if (Array.isArray(e)) {\n var o = e.length;\n for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += \" \"), n += f);\n } else for (f in e) e[f] && (n && (n += \" \"), n += f);\n return n;\n}\nfunction clsx$1() {\n for (var e, t, f = 0, n = \"\", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += \" \"), n += t);\n return n;\n}\nconst replacements = {\n translate: /* @__PURE__ */ new Map([\n [true, \"yes\"],\n [false, \"no\"]\n ])\n};\nfunction attr(name, value, is_boolean = false) {\n if (name === \"hidden\" && value !== \"until-found\") {\n is_boolean = true;\n }\n if (value == null || !value && is_boolean) return \"\";\n const normalized = name in replacements && replacements[name].get(value) || value;\n const assignment = is_boolean ? \"\" : `=\"${escape_html(normalized, true)}\"`;\n return ` ${name}${assignment}`;\n}\nfunction clsx(value) {\n if (typeof value === \"object\") {\n return clsx$1(value);\n } else {\n return value ?? \"\";\n }\n}\nconst whitespace = [...\" \t\\n\\r\\f \\v\\uFEFF\"];\nfunction to_class(value, hash, directives) {\n var classname = value == null ? \"\" : \"\" + value;\n if (hash) {\n classname = classname ? classname + \" \" + hash : hash;\n }\n if (directives) {\n for (var key in directives) {\n if (directives[key]) {\n classname = classname ? classname + \" \" + key : key;\n } else if (classname.length) {\n var len = key.length;\n var a = 0;\n while ((a = classname.indexOf(key, a)) >= 0) {\n var b = a + len;\n if ((a === 0 || whitespace.includes(classname[a - 1])) && (b === classname.length || whitespace.includes(classname[b]))) {\n classname = (a === 0 ? \"\" : classname.substring(0, a)) + classname.substring(b + 1);\n } else {\n a = b;\n }\n }\n }\n }\n }\n return classname === \"\" ? null : classname;\n}\nfunction append_styles(styles, important = false) {\n var separator = important ? \" !important;\" : \";\";\n var css = \"\";\n for (var key in styles) {\n var value = styles[key];\n if (value != null && value !== \"\") {\n css += \" \" + key + \": \" + value + separator;\n }\n }\n return css;\n}\nfunction to_css_name(name) {\n if (name[0] !== \"-\" || name[1] !== \"-\") {\n return name.toLowerCase();\n }\n return name;\n}\nfunction to_style(value, styles) {\n if (styles) {\n var new_style = \"\";\n var normal_styles;\n var important_styles;\n if (Array.isArray(styles)) {\n normal_styles = styles[0];\n important_styles = styles[1];\n } else {\n normal_styles = styles;\n }\n if (value) {\n value = String(value).replaceAll(/\\s*\\/\\*.*?\\*\\/\\s*/g, \"\").trim();\n var in_str = false;\n var in_apo = 0;\n var in_comment = false;\n var reserved_names = [];\n if (normal_styles) {\n reserved_names.push(...Object.keys(normal_styles).map(to_css_name));\n }\n if (important_styles) {\n reserved_names.push(...Object.keys(important_styles).map(to_css_name));\n }\n var start_index = 0;\n var name_index = -1;\n const len = value.length;\n for (var i = 0; i < len; i++) {\n var c = value[i];\n if (in_comment) {\n if (c === \"/\" && value[i - 1] === \"*\") {\n in_comment = false;\n }\n } else if (in_str) {\n if (in_str === c) {\n in_str = false;\n }\n } else if (c === \"/\" && value[i + 1] === \"*\") {\n in_comment = true;\n } else if (c === '\"' || c === \"'\") {\n in_str = c;\n } else if (c === \"(\") {\n in_apo++;\n } else if (c === \")\") {\n in_apo--;\n }\n if (!in_comment && in_str === false && in_apo === 0) {\n if (c === \":\" && name_index === -1) {\n name_index = i;\n } else if (c === \";\" || i === len - 1) {\n if (name_index !== -1) {\n var name = to_css_name(value.substring(start_index, name_index).trim());\n if (!reserved_names.includes(name)) {\n if (c !== \";\") {\n i++;\n }\n var property = value.substring(start_index, i).trim();\n new_style += \" \" + property + \";\";\n }\n }\n start_index = i + 1;\n name_index = -1;\n }\n }\n }\n }\n if (normal_styles) {\n new_style += append_styles(normal_styles);\n }\n if (important_styles) {\n new_style += append_styles(important_styles, true);\n }\n new_style = new_style.trim();\n return new_style === \"\" ? null : new_style;\n }\n return value == null ? null : String(value);\n}\nconst BLOCK_OPEN = `<!--${HYDRATION_START}-->`;\nconst BLOCK_OPEN_ELSE = `<!--${HYDRATION_START_ELSE}-->`;\nconst BLOCK_CLOSE = `<!--${HYDRATION_END}-->`;\nlet controller = null;\nfunction abort() {\n controller?.abort(STALE_REACTION);\n controller = null;\n}\nfunction await_invalid() {\n const error = new Error(`await_invalid\nEncountered asynchronous work while rendering synchronously.\nhttps://svelte.dev/e/await_invalid`);\n error.name = \"Svelte error\";\n throw error;\n}\nfunction html_deprecated() {\n const error = new Error(`html_deprecated\nThe \\`html\\` property of server render results has been deprecated. Use \\`body\\` instead.\nhttps://svelte.dev/e/html_deprecated`);\n error.name = \"Svelte error\";\n throw error;\n}\nclass Renderer {\n /**\n * The contents of the renderer.\n * @type {RendererItem[]}\n */\n #out = [];\n /**\n * Any `onDestroy` callbacks registered during execution of this renderer.\n * @type {(() => void)[] | undefined}\n */\n #on_destroy = void 0;\n /**\n * Whether this renderer is a component body.\n * @type {boolean}\n */\n #is_component_body = false;\n /**\n * The type of string content that this renderer is accumulating.\n * @type {RendererType}\n */\n type;\n /** @type {Renderer | undefined} */\n #parent;\n /**\n * Asynchronous work associated with this renderer\n * @type {Promise<void> | undefined}\n */\n promise = void 0;\n /**\n * State which is associated with the content tree as a whole.\n * It will be re-exposed, uncopied, on all children.\n * @type {SSRState}\n * @readonly\n */\n global;\n /**\n * State that is local to the branch it is declared in.\n * It will be shallow-copied to all children.\n *\n * @type {{ select_value: string | undefined }}\n */\n local;\n /**\n * @param {SSRState} global\n * @param {Renderer | undefined} [parent]\n */\n constructor(global, parent) {\n this.#parent = parent;\n this.global = global;\n this.local = parent ? { ...parent.local } : { select_value: void 0 };\n this.type = parent ? parent.type : \"body\";\n }\n /**\n * @param {(renderer: Renderer) => void} fn\n */\n head(fn) {\n const head = new Renderer(this.global, this);\n head.type = \"head\";\n this.#out.push(head);\n head.child(fn);\n }\n /**\n * @param {(renderer: Renderer) => void} fn\n */\n async(fn) {\n this.#out.push(BLOCK_OPEN);\n this.child(fn);\n this.#out.push(BLOCK_CLOSE);\n }\n /**\n * Create a child renderer. The child renderer inherits the state from the parent,\n * but has its own content.\n * @param {(renderer: Renderer) => MaybePromise<void>} fn\n */\n child(fn) {\n const child = new Renderer(this.global, this);\n this.#out.push(child);\n const parent = ssr_context;\n set_ssr_context({\n ...ssr_context,\n p: parent,\n c: null,\n r: child\n });\n const result = fn(child);\n set_ssr_context(parent);\n if (result instanceof Promise) {\n if (child.global.mode === \"sync\") {\n await_invalid();\n }\n result.catch(() => {\n });\n child.promise = result;\n }\n return child;\n }\n /**\n * Create a component renderer. The component renderer inherits the state from the parent,\n * but has its own content. It is treated as an ordering boundary for ondestroy callbacks.\n * @param {(renderer: Renderer) => MaybePromise<void>} fn\n * @param {Function} [component_fn]\n * @returns {void}\n */\n component(fn, component_fn) {\n push();\n const child = this.child(fn);\n child.#is_component_body = true;\n pop();\n }\n /**\n * @param {Record<string, any>} attrs\n * @param {(renderer: Renderer) => void} fn\n * @param {string | undefined} [css_hash]\n * @param {Record<string, boolean> | undefined} [classes]\n * @param {Record<string, string> | undefined} [styles]\n * @param {number | undefined} [flags]\n * @returns {void}\n */\n select(attrs, fn, css_hash, classes, styles, flags) {\n const { value, ...select_attrs } = attrs;\n this.push(`<select${attributes(select_attrs, css_hash, classes, styles, flags)}>`);\n this.child((renderer) => {\n renderer.local.select_value = value;\n fn(renderer);\n });\n this.push(\"</select>\");\n }\n /**\n * @param {Record<string, any>} attrs\n * @param {string | number | boolean | ((renderer: Renderer) => void)} body\n * @param {string | undefined} [css_hash]\n * @param {Record<string, boolean> | undefined} [classes]\n * @param {Record<string, string> | undefined} [styles]\n * @param {number | undefined} [flags]\n */\n option(attrs, body, css_hash, classes, styles, flags) {\n this.#out.push(`<option${attributes(attrs, css_hash, classes, styles, flags)}`);\n const close = (renderer, value, { head, body: body2 }) => {\n if (\"value\" in attrs) {\n value = attrs.value;\n }\n if (value === this.local.select_value) {\n renderer.#out.push(\" selected\");\n }\n renderer.#out.push(`>${body2}</option>`);\n if (head) {\n renderer.head((child) => child.push(head));\n }\n };\n if (typeof body === \"function\") {\n this.child((renderer) => {\n const r2 = new Renderer(this.global, this);\n body(r2);\n if (this.global.mode === \"async\") {\n return r2.#collect_content_async().then((content) => {\n close(renderer, content.body.replaceAll(\"<!---->\", \"\"), content);\n });\n } else {\n const content = r2.#collect_content();\n close(renderer, content.body.replaceAll(\"<!---->\", \"\"), content);\n }\n });\n } else {\n close(this, body, { body });\n }\n }\n /**\n * @param {(renderer: Renderer) => void} fn\n */\n title(fn) {\n const path = this.get_path();\n const close = (head) => {\n this.global.set_title(head, path);\n };\n this.child((renderer) => {\n const r2 = new Renderer(renderer.global, renderer);\n fn(r2);\n if (renderer.global.mode === \"async\") {\n return r2.#collect_content_async().then((content) => {\n close(content.head);\n });\n } else {\n const content = r2.#collect_content();\n close(content.head);\n }\n });\n }\n /**\n * @param {string | (() => Promise<string>)} content\n */\n push(content) {\n if (typeof content === \"function\") {\n this.child(async (renderer) => renderer.push(await content()));\n } else {\n this.#out.push(content);\n }\n }\n /**\n * @param {() => void} fn\n */\n on_destroy(fn) {\n (this.#on_destroy ??= []).push(fn);\n }\n /**\n * @returns {number[]}\n */\n get_path() {\n return this.#parent ? [...this.#parent.get_path(), this.#parent.#out.indexOf(this)] : [];\n }\n /**\n * @deprecated this is needed for legacy component bindings\n */\n copy() {\n const copy = new Renderer(this.global, this.#parent);\n copy.#out = this.#out.map((item) => item instanceof Renderer ? item.copy() : item);\n copy.promise = this.promise;\n return copy;\n }\n /**\n * @param {Renderer} other\n * @deprecated this is needed for legacy component bindings\n */\n subsume(other) {\n if (this.global.mode !== other.global.mode) {\n throw new Error(\n \"invariant: A renderer cannot switch modes. If you're seeing this, there's a compiler bug. File an issue!\"\n );\n }\n this.local = other.local;\n this.#out = other.#out.map((item) => {\n if (item instanceof Renderer) {\n item.subsume(item);\n }\n return item;\n });\n this.promise = other.promise;\n this.type = other.type;\n }\n get length() {\n return this.#out.length;\n }\n /**\n * Only available on the server and when compiling with the `server` option.\n * Takes a component and returns an object with `body` and `head` properties on it, which you can use to populate the HTML when server-rendering your app.\n * @template {Record<string, any>} Props\n * @param {Component<Props>} component\n * @param {{ props?: Omit<Props, '$$slots' | '$$events'>; context?: Map<any, any>; idPrefix?: string }} [options]\n * @returns {RenderOutput}\n */\n static render(component, options = {}) {\n let sync;\n let async;\n const result = (\n /** @type {RenderOutput} */\n {}\n );\n Object.defineProperties(result, {\n html: {\n get: () => {\n return (sync ??= Renderer.#render(component, options)).body;\n }\n },\n head: {\n get: () => {\n return (sync ??= Renderer.#render(component, options)).head;\n }\n },\n body: {\n get: () => {\n return (sync ??= Renderer.#render(component, options)).body;\n }\n },\n then: {\n value: (\n /**\n * this is not type-safe, but honestly it's the best I can do right now, and it's a straightforward function.\n *\n * @template TResult1\n * @template [TResult2=never]\n * @param { (value: SyncRenderOutput) => TResult1 } onfulfilled\n * @param { (reason: unknown) => TResult2 } onrejected\n */\n (onfulfilled, onrejected) => {\n if (!async_mode_flag) {\n const result2 = sync ??= Renderer.#render(component, options);\n const user_result = onfulfilled({\n head: result2.head,\n body: result2.body,\n html: result2.body\n });\n return Promise.resolve(user_result);\n }\n async ??= Renderer.#render_async(component, options);\n return async.then((result2) => {\n Object.defineProperty(result2, \"html\", {\n // eslint-disable-next-line getter-return\n get: () => {\n html_deprecated();\n }\n });\n return onfulfilled(\n /** @type {SyncRenderOutput} */\n result2\n );\n }, onrejected);\n }\n )\n }\n });\n return result;\n }\n /**\n * Collect all of the `onDestroy` callbacks regsitered during rendering. In an async context, this is only safe to call\n * after awaiting `collect_async`.\n *\n * Child renderers are \"porous\" and don't affect execution order, but component body renderers\n * create ordering boundaries. Within a renderer, callbacks run in order until hitting a component boundary.\n * @returns {Iterable<() => void>}\n */\n *#collect_on_destroy() {\n for (const component of this.#traverse_components()) {\n yield* component.#collect_ondestroy();\n }\n }\n /**\n * Performs a depth-first search of renderers, yielding the deepest components first, then additional components as we backtrack up the tree.\n * @returns {Iterable<Renderer>}\n */\n *#traverse_components() {\n for (const child of this.#out) {\n if (typeof child !== \"string\") {\n yield* child.#traverse_components();\n }\n }\n if (this.#is_component_body) {\n yield this;\n }\n }\n /**\n * @returns {Iterable<() => void>}\n */\n *#collect_ondestroy() {\n if (this.#on_destroy) {\n for (const fn of this.#on_destroy) {\n yield fn;\n }\n }\n for (const child of this.#out) {\n if (child instanceof Renderer && !child.#is_component_body) {\n yield* child.#collect_ondestroy();\n }\n }\n }\n /**\n * Render a component. Throws if any of the children are performing asynchronous work.\n *\n * @template {Record<string, any>} Props\n * @param {Component<Props>} component\n * @param {{ props?: Omit<Props, '$$slots' | '$$events'>; context?: Map<any, any>; idPrefix?: string }} options\n * @returns {AccumulatedContent}\n */\n static #render(component, options) {\n var previous_context = ssr_context;\n try {\n const renderer = Renderer.#open_render(\"sync\", component, options);\n const content = renderer.#collect_content();\n return Renderer.#close_render(content, renderer);\n } finally {\n abort();\n set_ssr_context(previous_context);\n }\n }\n /**\n * Render a component.\n *\n * @template {Record<string, any>} Props\n * @param {Component<Props>} component\n * @param {{ props?: Omit<Props, '$$slots' | '$$events'>; context?: Map<any, any>; idPrefix?: string }} options\n * @returns {Promise<AccumulatedContent>}\n */\n static async #render_async(component, options) {\n var previous_context = ssr_context;\n try {\n const renderer = Renderer.#open_render(\"async\", component, options);\n const content = await renderer.#collect_content_async();\n return Renderer.#close_render(content, renderer);\n } finally {\n abort();\n set_ssr_context(previous_context);\n }\n }\n /**\n * Collect all of the code from the `out` array and return it as a string, or a promise resolving to a string.\n * @param {AccumulatedContent} content\n * @returns {AccumulatedContent}\n */\n #collect_content(content = { head: \"\", body: \"\" }) {\n for (const item of this.#out) {\n if (typeof item === \"string\") {\n content[this.type] += item;\n } else if (item instanceof Renderer) {\n item.#collect_content(content);\n }\n }\n return content;\n }\n /**\n * Collect all of the code from the `out` array and return it as a string.\n * @param {AccumulatedContent} content\n * @returns {Promise<AccumulatedContent>}\n */\n async #collect_content_async(content = { head: \"\", body: \"\" }) {\n await this.promise;\n for (const item of this.#out) {\n if (typeof item === \"string\") {\n content[this.type] += item;\n } else if (item instanceof Renderer) {\n await item.#collect_content_async(content);\n }\n }\n return content;\n }\n /**\n * @template {Record<string, any>} Props\n * @param {'sync' | 'async'} mode\n * @param {import('svelte').Component<Props>} component\n * @param {{ props?: Omit<Props, '$$slots' | '$$events'>; context?: Map<any, any>; idPrefix?: string }} options\n * @returns {Renderer}\n */\n static #open_render(mode, component, options) {\n const renderer = new Renderer(\n new SSRState(mode, options.idPrefix ? options.idPrefix + \"-\" : \"\")\n );\n renderer.push(BLOCK_OPEN);\n if (options.context) {\n push();\n ssr_context.c = options.context;\n ssr_context.r = renderer;\n }\n component(renderer, options.props ?? {});\n if (options.context) {\n pop();\n }\n renderer.push(BLOCK_CLOSE);\n return renderer;\n }\n /**\n * @param {AccumulatedContent} content\n * @param {Renderer} renderer\n */\n static #close_render(content, renderer) {\n for (const cleanup of renderer.#collect_on_destroy()) {\n cleanup();\n }\n let head = content.head + renderer.global.get_title();\n let body = content.body;\n for (const { hash, code } of renderer.global.css) {\n head += `<style id=\"${hash}\">${code}</style>`;\n }\n return {\n head,\n body\n };\n }\n}\nclass SSRState {\n /** @readonly @type {'sync' | 'async'} */\n mode;\n /** @readonly @type {() => string} */\n uid;\n /** @readonly @type {Set<{ hash: string; code: string }>} */\n css = /* @__PURE__ */ new Set();\n /** @type {{ path: number[], value: string }} */\n #title = { path: [], value: \"\" };\n /**\n * @param {'sync' | 'async'} mode\n * @param {string} [id_prefix]\n */\n constructor(mode, id_prefix = \"\") {\n this.mode = mode;\n let uid = 1;\n this.uid = () => `${id_prefix}s${uid++}`;\n }\n get_title() {\n return this.#title.value;\n }\n /**\n * Performs a depth-first (lexicographic) comparison using the path. Rejects sets\n * from earlier than or equal to the current value.\n * @param {string} value\n * @param {number[]} path\n */\n set_title(value, path) {\n const current = this.#title.path;\n let i = 0;\n let l = Math.min(path.length, current.length);\n while (i < l && path[i] === current[i]) i += 1;\n if (path[i] === void 0) return;\n if (current[i] === void 0 || path[i] > current[i]) {\n this.#title.path = path;\n this.#title.value = value;\n }\n }\n}\nconst INVALID_ATTR_NAME_CHAR_REGEX = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\nfunction render(component, options = {}) {\n return Renderer.render(\n /** @type {Component<Props>} */\n component,\n options\n );\n}\nfunction attributes(attrs, css_hash, classes, styles, flags = 0) {\n if (styles) {\n attrs.style = to_style(attrs.style, styles);\n }\n if (attrs.class) {\n attrs.class = clsx(attrs.class);\n }\n if (css_hash || classes) {\n attrs.class = to_class(attrs.class, css_hash, classes);\n }\n let attr_str = \"\";\n let name;\n const is_html = (flags & ELEMENT_IS_NAMESPACED) === 0;\n const lowercase = (flags & ELEMENT_PRESERVE_ATTRIBUTE_CASE) === 0;\n const is_input = (flags & ELEMENT_IS_INPUT) !== 0;\n for (name in attrs) {\n if (typeof attrs[name] === \"function\") continue;\n if (name[0] === \"$\" && name[1] === \"$\") continue;\n if (INVALID_ATTR_NAME_CHAR_REGEX.test(name)) continue;\n var value = attrs[name];\n if (lowercase) {\n name = name.toLowerCase();\n }\n if (is_input) {\n if (name === \"defaultvalue\" || name === \"defaultchecked\") {\n name = name === \"defaultvalue\" ? \"value\" : \"checked\";\n if (attrs[name]) continue;\n }\n }\n attr_str += attr(name, value, is_html && is_boolean_attribute(name));\n }\n return attr_str;\n}\nfunction stringify(value) {\n return typeof value === \"string\" ? value : value == null ? \"\" : value + \"\";\n}\nfunction attr_class(value, hash, directives) {\n var result = to_class(value, hash, directives);\n return result ? ` class=\"${escape_html(result, true)}\"` : \"\";\n}\nfunction attr_style(value, directives) {\n var result = to_style(value, directives);\n return result ? ` style=\"${escape_html(result, true)}\"` : \"\";\n}\nfunction bind_props(props_parent, props_now) {\n for (const key in props_now) {\n const initial_value = props_parent[key];\n const value = props_now[key];\n if (initial_value === void 0 && value !== void 0 && Object.getOwnPropertyDescriptor(props_parent, key)?.set) {\n props_parent[key] = value;\n }\n }\n}\nfunction await_block(renderer, promise, pending_fn, then_fn) {\n if (is_promise(promise)) {\n renderer.push(BLOCK_OPEN);\n promise.then(null, noop);\n if (pending_fn !== null) {\n pending_fn();\n }\n } else if (then_fn !== null) {\n renderer.push(BLOCK_OPEN_ELSE);\n then_fn(promise);\n }\n}\nfunction ensure_array_like(array_like_or_iterator) {\n if (array_like_or_iterator) {\n return array_like_or_iterator.length !== void 0 ? array_like_or_iterator : Array.from(array_like_or_iterator);\n }\n return [];\n}\nexport {\n ASYNC as A,\n BOUNDARY_EFFECT as B,\n COMMENT_NODE as C,\n DIRTY as D,\n ERROR_VALUE as E,\n clsx as F,\n await_block as G,\n HYDRATION_ERROR as H,\n INERT as I,\n bind_props as J,\n attr_style as K,\n LEGACY_PROPS as L,\n MAYBE_DIRTY as M,\n RENDER_EFFECT as R,\n STATE_SYMBOL as S,\n UNOWNED as U,\n HYDRATION_END as a,\n HYDRATION_START as b,\n HYDRATION_START_ELSE as c,\n EFFECT_RAN as d,\n CLEAN as e,\n EFFECT as f,\n BLOCK_EFFECT as g,\n BRANCH_EFFECT as h,\n ROOT_EFFECT as i,\n DESTROYED as j,\n DERIVED as k,\n EFFECT_TRANSPARENT as l,\n EFFECT_PRESERVED as m,\n INSPECT_EFFECT as n,\n UNINITIALIZED as o,\n HEAD_EFFECT as p,\n STALE_REACTION as q,\n USER_EFFECT as r,\n DISCONNECTED as s,\n REACTION_IS_UPDATING as t,\n is_passive_event as u,\n render as v,\n ensure_array_like as w,\n attr as x,\n attr_class as y,\n stringify as z\n};\n"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- import './client-bj7sePQc.js';
2
- import { l as getContext } from './async-BfR0vYHo.js';
1
+ import './client-BFlyU7ZU.js';
2
+ import { g as getContext } from './context-C22hLSHK.js';
3
3
 
4
4
  function context() {
5
5
  return getContext("__request__");
6
6
  }
7
7
  const page$1 = {
8
+ get data() {
9
+ return context().page.data;
10
+ },
8
11
  get error() {
9
12
  return context().page.error;
10
13
  },
11
- get params() {
12
- return context().page.params;
13
- },
14
14
  get status() {
15
15
  return context().page.status;
16
16
  },
@@ -21,4 +21,4 @@ const page$1 = {
21
21
  const page = page$1;
22
22
 
23
23
  export { page as p };
24
- //# sourceMappingURL=index3-DquTjlmp.js.map
24
+ //# sourceMappingURL=index3-CoOO2o9t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index3-CoOO2o9t.js","sources":["../../../.svelte-kit/adapter-node/chunks/index3.js"],"sourcesContent":["import \"./client.js\";\nimport { g as getContext } from \"./context.js\";\nfunction context() {\n return getContext(\"__request__\");\n}\nconst page$1 = {\n get data() {\n return context().page.data;\n },\n get error() {\n return context().page.error;\n },\n get status() {\n return context().page.status;\n },\n get url() {\n return context().page.url;\n }\n};\nconst page = page$1;\nexport {\n page as p\n};\n"],"names":[],"mappings":";;;AAEA,SAAS,OAAO,GAAG;AACnB,EAAE,OAAO,UAAU,CAAC,aAAa,CAAC;AAClC;AACA,MAAM,MAAM,GAAG;AACf,EAAE,IAAI,IAAI,GAAG;AACb,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI;AAC9B,EAAE,CAAC;AACH,EAAE,IAAI,KAAK,GAAG;AACd,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC/B,EAAE,CAAC;AACH,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AAChC,EAAE,CAAC;AACH,EAAE,IAAI,GAAG,GAAG;AACZ,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG;AAC7B,EAAE;AACF,CAAC;AACI,MAAC,IAAI,GAAG;;;;"}
@@ -0,0 +1,174 @@
1
+ import { parseScript } from 'esprima';
2
+
3
+ const ALLOWED_AGGREGATION_STAGES = /* @__PURE__ */ new Set([
4
+ "$addFields",
5
+ "$bucket",
6
+ "$bucketAuto",
7
+ "$collStats",
8
+ "$count",
9
+ "$densify",
10
+ "$documents",
11
+ "$facet",
12
+ "$fill",
13
+ "$geoNear",
14
+ "$graphLookup",
15
+ "$group",
16
+ "$indexStats",
17
+ "$limit",
18
+ "$listClusterCatalog",
19
+ "$listSampledQueries",
20
+ "$listSearchIndexes",
21
+ "$listSessions",
22
+ "$lookup",
23
+ "$match",
24
+ "$project",
25
+ "$querySettings",
26
+ "$queryStats",
27
+ "$rankFusion",
28
+ "$redact",
29
+ "$replaceRoot",
30
+ "$replaceWith",
31
+ "$sample",
32
+ "$search",
33
+ "$searchMeta",
34
+ "$set",
35
+ "$setWindowFields",
36
+ "$skip",
37
+ "$sort",
38
+ "$sortByCount",
39
+ "$unionWith",
40
+ "$unset",
41
+ "$unwind",
42
+ "$vectorSearch"
43
+ ]);
44
+ function validateAggregationPipeline(pipeline) {
45
+ for (let i = 0; i < pipeline.length; i++) {
46
+ const stage = pipeline[i];
47
+ if (!stage || typeof stage !== "object") {
48
+ throw new Error(`Invalid stage at index ${i}: must be an object`);
49
+ }
50
+ const stageKeys = Object.keys(stage);
51
+ if (stageKeys.length !== 1) {
52
+ throw new Error(`Invalid stage at index ${i}: must have exactly one key, found ${stageKeys.length}`);
53
+ }
54
+ const stageOperator = stageKeys[0];
55
+ if (!ALLOWED_AGGREGATION_STAGES.has(stageOperator)) {
56
+ throw new Error(
57
+ `Disallowed stage operator at index ${i}: "${stageOperator}". Only allowed stages are permitted, to avoid future write stages like '$merge' or '$out'.`
58
+ );
59
+ }
60
+ }
61
+ }
62
+ function isEmptyObject(obj) {
63
+ for (const key in obj) {
64
+ return false;
65
+ }
66
+ return true;
67
+ }
68
+ function buildObject(node) {
69
+ switch (node.type) {
70
+ case "ObjectExpression": {
71
+ const obj = {};
72
+ for (const prop of node.properties) {
73
+ let name;
74
+ if (prop.type === "SpreadElement") {
75
+ throw new Error(`Expected "Property" but received: ${prop.type}`);
76
+ }
77
+ if (prop.key.type === "Identifier") {
78
+ name = prop.key.name;
79
+ } else if (prop.key.type === "Literal") {
80
+ if (prop.key.value instanceof RegExp || typeof prop.key.value === "bigint" || prop.key.value === false || prop.key.value === null || prop.key.value === true || prop.key.value === void 0) {
81
+ throw new Error(`Expected "Identifier" for object key but received: ${prop.key.type}`);
82
+ }
83
+ name = prop.key.value;
84
+ } else {
85
+ throw new Error(`Expected "Identifier" but received: ${prop.key.type}`);
86
+ }
87
+ obj[name] = buildObject(prop.value);
88
+ }
89
+ return obj;
90
+ }
91
+ case "ArrayExpression": {
92
+ const obj = [];
93
+ for (const prop of node.elements) {
94
+ if (prop === null) {
95
+ throw new Error(`Expected "Expression" but received: ${prop}`);
96
+ }
97
+ obj.push(buildObject(prop));
98
+ }
99
+ return obj;
100
+ }
101
+ case "Literal": {
102
+ if (node.value instanceof RegExp) {
103
+ return {
104
+ $type: "RegExp",
105
+ $value: {
106
+ $pattern: node.value.source,
107
+ $flags: node.value.flags
108
+ }
109
+ };
110
+ }
111
+ return node.value;
112
+ }
113
+ case "UnaryExpression": {
114
+ if (node.operator === "-" && node.argument.type === "Literal" && typeof node.argument.value === "number") {
115
+ return -node.argument.value;
116
+ }
117
+ throw new Error(`${node.type} are not authorized`);
118
+ }
119
+ case "NewExpression":
120
+ case "CallExpression": {
121
+ const authorizedCalls = ["ObjectId", "Date", "RegExp"];
122
+ const callee = node.callee.type === "Identifier" ? node.callee.name : null;
123
+ if (callee && authorizedCalls.includes(callee)) {
124
+ if (callee === "RegExp") {
125
+ const [pattern, flags] = node.arguments.map((arg) => buildObject(arg));
126
+ return {
127
+ $type: "RegExp",
128
+ $value: {
129
+ $pattern: pattern,
130
+ $flags: flags
131
+ }
132
+ };
133
+ }
134
+ return {
135
+ $type: callee,
136
+ $value: buildObject(node.arguments[0])
137
+ };
138
+ } else {
139
+ throw new Error(`Unknown ${node.type}: ${callee}`);
140
+ }
141
+ }
142
+ case "Identifier": {
143
+ if (node.name === "undefined") {
144
+ return void 0;
145
+ }
146
+ if (node.name === "Infinity") {
147
+ return Infinity;
148
+ }
149
+ throw `Unknown identifier: ${node.name}`;
150
+ }
151
+ default:
152
+ throw new Error(`Sorry but ${node.type} are not authorized`);
153
+ }
154
+ }
155
+ function parseJSON(text, opts) {
156
+ const tree = parseScript(`var __JSON__ = ${text};`, {
157
+ tolerant: true
158
+ });
159
+ const varDeclaration = tree.body[0];
160
+ if (varDeclaration.type !== "VariableDeclaration") {
161
+ throw new Error("Expected VariableDeclaration but received: " + varDeclaration.type);
162
+ }
163
+ const objExpression = varDeclaration.declarations[0].init;
164
+ if (opts?.allowArray && objExpression?.type === "ArrayExpression") {
165
+ return buildObject(objExpression);
166
+ }
167
+ if (objExpression?.type !== "ObjectExpression") {
168
+ throw new Error("Expected ObjectExpression but received: " + objExpression?.type);
169
+ }
170
+ return buildObject(objExpression);
171
+ }
172
+
173
+ export { isEmptyObject as i, parseJSON as p, validateAggregationPipeline as v };
174
+ //# sourceMappingURL=jsonParser-CraFXJs8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonParser-CraFXJs8.js","sources":["../../../.svelte-kit/adapter-node/chunks/jsonParser.js"],"sourcesContent":["import { parseScript } from \"esprima\";\nconst ALLOWED_AGGREGATION_STAGES = /* @__PURE__ */ new Set([\n \"$addFields\",\n \"$bucket\",\n \"$bucketAuto\",\n \"$collStats\",\n \"$count\",\n \"$densify\",\n \"$documents\",\n \"$facet\",\n \"$fill\",\n \"$geoNear\",\n \"$graphLookup\",\n \"$group\",\n \"$indexStats\",\n \"$limit\",\n \"$listClusterCatalog\",\n \"$listSampledQueries\",\n \"$listSearchIndexes\",\n \"$listSessions\",\n \"$lookup\",\n \"$match\",\n \"$project\",\n \"$querySettings\",\n \"$queryStats\",\n \"$rankFusion\",\n \"$redact\",\n \"$replaceRoot\",\n \"$replaceWith\",\n \"$sample\",\n \"$search\",\n \"$searchMeta\",\n \"$set\",\n \"$setWindowFields\",\n \"$skip\",\n \"$sort\",\n \"$sortByCount\",\n \"$unionWith\",\n \"$unset\",\n \"$unwind\",\n \"$vectorSearch\"\n]);\nfunction validateAggregationPipeline(pipeline) {\n for (let i = 0; i < pipeline.length; i++) {\n const stage = pipeline[i];\n if (!stage || typeof stage !== \"object\") {\n throw new Error(`Invalid stage at index ${i}: must be an object`);\n }\n const stageKeys = Object.keys(stage);\n if (stageKeys.length !== 1) {\n throw new Error(`Invalid stage at index ${i}: must have exactly one key, found ${stageKeys.length}`);\n }\n const stageOperator = stageKeys[0];\n if (!ALLOWED_AGGREGATION_STAGES.has(stageOperator)) {\n throw new Error(\n `Disallowed stage operator at index ${i}: \"${stageOperator}\". Only allowed stages are permitted, to avoid future write stages like '$merge' or '$out'.`\n );\n }\n }\n}\nfunction isEmptyObject(obj) {\n for (const key in obj) {\n return false;\n }\n return true;\n}\nfunction buildObject(node) {\n switch (node.type) {\n case \"ObjectExpression\": {\n const obj = {};\n for (const prop of node.properties) {\n let name;\n if (prop.type === \"SpreadElement\") {\n throw new Error(`Expected \"Property\" but received: ${prop.type}`);\n }\n if (prop.key.type === \"Identifier\") {\n name = prop.key.name;\n } else if (prop.key.type === \"Literal\") {\n if (prop.key.value instanceof RegExp || typeof prop.key.value === \"bigint\" || prop.key.value === false || prop.key.value === null || prop.key.value === true || prop.key.value === void 0) {\n throw new Error(`Expected \"Identifier\" for object key but received: ${prop.key.type}`);\n }\n name = prop.key.value;\n } else {\n throw new Error(`Expected \"Identifier\" but received: ${prop.key.type}`);\n }\n obj[name] = buildObject(prop.value);\n }\n return obj;\n }\n case \"ArrayExpression\": {\n const obj = [];\n for (const prop of node.elements) {\n if (prop === null) {\n throw new Error(`Expected \"Expression\" but received: ${prop}`);\n }\n obj.push(buildObject(prop));\n }\n return obj;\n }\n case \"Literal\": {\n if (node.value instanceof RegExp) {\n return {\n $type: \"RegExp\",\n $value: {\n $pattern: node.value.source,\n $flags: node.value.flags\n }\n };\n }\n return node.value;\n }\n case \"UnaryExpression\": {\n if (node.operator === \"-\" && node.argument.type === \"Literal\" && typeof node.argument.value === \"number\") {\n return -node.argument.value;\n }\n throw new Error(`${node.type} are not authorized`);\n }\n case \"NewExpression\":\n case \"CallExpression\": {\n const authorizedCalls = [\"ObjectId\", \"Date\", \"RegExp\"];\n const callee = node.callee.type === \"Identifier\" ? node.callee.name : null;\n if (callee && authorizedCalls.includes(callee)) {\n if (callee === \"RegExp\") {\n const [pattern, flags] = node.arguments.map((arg) => buildObject(arg));\n return {\n $type: \"RegExp\",\n $value: {\n $pattern: pattern,\n $flags: flags\n }\n };\n }\n return {\n $type: callee,\n $value: buildObject(node.arguments[0])\n };\n } else {\n throw new Error(`Unknown ${node.type}: ${callee}`);\n }\n }\n case \"Identifier\": {\n if (node.name === \"undefined\") {\n return void 0;\n }\n if (node.name === \"Infinity\") {\n return Infinity;\n }\n throw `Unknown identifier: ${node.name}`;\n }\n default:\n throw new Error(`Sorry but ${node.type} are not authorized`);\n }\n}\nfunction parseJSON(text, opts) {\n const tree = parseScript(`var __JSON__ = ${text};`, {\n tolerant: true\n });\n const varDeclaration = tree.body[0];\n if (varDeclaration.type !== \"VariableDeclaration\") {\n throw new Error(\"Expected VariableDeclaration but received: \" + varDeclaration.type);\n }\n const objExpression = varDeclaration.declarations[0].init;\n if (opts?.allowArray && objExpression?.type === \"ArrayExpression\") {\n return buildObject(objExpression);\n }\n if (objExpression?.type !== \"ObjectExpression\") {\n throw new Error(\"Expected ObjectExpression but received: \" + objExpression?.type);\n }\n return buildObject(objExpression);\n}\nexport {\n isEmptyObject as i,\n parseJSON as p,\n validateAggregationPipeline as v\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import './async-lVJA8xJZ.js';
2
+
3
+ function Layout($$renderer, $$props) {
4
+ let { children } = $$props;
5
+ children($$renderer);
6
+ $$renderer.push(`<!---->`);
7
+ }
8
+
9
+ export { Layout as default };
10
+ //# sourceMappingURL=layout.svelte-CJcHX-Na.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.svelte-CJcHX-Na.js","sources":["../../../.svelte-kit/adapter-node/entries/fallbacks/layout.svelte.js"],"sourcesContent":["import \"../../chunks/async.js\";\nfunction Layout($$renderer, $$props) {\n let { children } = $$props;\n children($$renderer);\n $$renderer.push(`<!---->`);\n}\nexport {\n Layout as default\n};\n"],"names":[],"mappings":";;AACA,SAAS,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE;AACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO;AAC5B,EAAE,QAAQ,CAAC,UAAU,CAAC;AACtB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAC5B;;;;"}
@@ -54,6 +54,9 @@ class HostsManager {
54
54
  async getHosts() {
55
55
  return Array.from(this._hosts).map(([hostPath, id]) => ({ path: hostPath, _id: id }));
56
56
  }
57
+ getHost(name) {
58
+ return this._hosts.get(name);
59
+ }
57
60
  async add(hostPath) {
58
61
  let id = this._hosts.get(hostPath);
59
62
  if (!id) {
@@ -139,6 +142,20 @@ async function getCollectionJson(collection, type) {
139
142
  indexes
140
143
  };
141
144
  }
145
+ class MongoClientWithMappings extends MongoClient {
146
+ mappings = {};
147
+ async getMappings(dbName, collectionName, opts) {
148
+ if (opts?.forceRefresh || !this.mappings[dbName]?.[collectionName]) {
149
+ const mappings = await this.db(dbName).collection("mongoku.mappings").findOne({ _id: collectionName });
150
+ this.mappings[dbName] ??= {};
151
+ this.mappings[dbName][collectionName] = mappings?.mappings ?? {};
152
+ }
153
+ return this.mappings[dbName][collectionName];
154
+ }
155
+ clearMappingsCache(dbName, collectionName) {
156
+ delete this.mappings[dbName][collectionName];
157
+ }
158
+ }
142
159
  class MongoConnections {
143
160
  /**
144
161
  * Todo: better system where we can have mutiple servers with same hostname, and labels for each server that
@@ -148,9 +165,15 @@ class MongoConnections {
148
165
  clientIds = /* @__PURE__ */ new Map();
149
166
  // hostname -> _id
150
167
  hostsManager;
151
- countTimeout = parseInt(process.env.MONGOKU_COUNT_TIMEOUT, 10) || 5e3;
168
+ countTimeout = parseInt(process.env.MONGOKU_COUNT_TIMEOUT, 10) || 3e4;
169
+ queryTimeout = process.env.MONGOKU_QUERY_TIMEOUT ? parseInt(process.env.MONGOKU_QUERY_TIMEOUT, 10) : void 0;
170
+ excludedDatabases;
152
171
  constructor() {
153
172
  this.hostsManager = new HostsManager();
173
+ const excludeEnv = process.env.MONGOKU_EXCLUDE_DATABASES || "";
174
+ this.excludedDatabases = new Set(
175
+ excludeEnv.split(",").map((db) => db.trim()).filter((db) => db.length > 0)
176
+ );
154
177
  }
155
178
  async initialize() {
156
179
  await this.hostsManager.load();
@@ -161,7 +184,7 @@ class MongoConnections {
161
184
  const url = new URL(urlStr);
162
185
  const hostname = url.host || host.path;
163
186
  if (!this.clients.has(hostname)) {
164
- const client = new MongoClient(urlStr);
187
+ const client = new MongoClientWithMappings(urlStr);
165
188
  this.clients.set(hostname, client);
166
189
  this.clientIds.set(hostname, host._id);
167
190
  }
@@ -173,7 +196,7 @@ class MongoConnections {
173
196
  getClient(name) {
174
197
  const client = this.clients.get(name) || this.clients.get(`${name}:27017`);
175
198
  if (!client) {
176
- throw new Error("Server does not exist");
199
+ throw new Error(`Client not found: ${name}`);
177
200
  }
178
201
  return client;
179
202
  }
@@ -184,14 +207,18 @@ class MongoConnections {
184
207
  client
185
208
  }));
186
209
  }
187
- getCollection(serverName, databaseName, collectionName) {
188
- const client = this.getClient(serverName);
189
- const db = client.db(databaseName);
190
- return db.collection(collectionName);
191
- }
192
210
  getCountTimeout() {
193
211
  return this.countTimeout;
194
212
  }
213
+ getQueryTimeout() {
214
+ return this.queryTimeout;
215
+ }
216
+ filterDatabases(databases) {
217
+ if (this.excludedDatabases.size === 0) {
218
+ return databases;
219
+ }
220
+ return databases.filter((db) => !this.excludedDatabases.has(db.name));
221
+ }
195
222
  async addServer(hostPath) {
196
223
  const id = await this.hostsManager.add(hostPath);
197
224
  const urlStr = hostPath.startsWith("mongodb") ? hostPath : `mongodb://${hostPath}`;
@@ -199,7 +226,7 @@ class MongoConnections {
199
226
  const url = new URL(urlStr);
200
227
  const hostname = url.host || hostPath;
201
228
  if (!this.clients.has(hostname)) {
202
- const client = new MongoClient(urlStr);
229
+ const client = new MongoClientWithMappings(urlStr);
203
230
  this.clients.set(hostname, client);
204
231
  this.clientIds.set(hostname, id);
205
232
  }
@@ -210,9 +237,23 @@ class MongoConnections {
210
237
  }
211
238
  async removeServer(name) {
212
239
  await this.hostsManager.remove(name);
240
+ this.clients.get(name)?.close().catch((err) => console.error(`Error closing client ${name}:`, err));
213
241
  this.clients.delete(name);
214
242
  this.clientIds.delete(name);
215
243
  }
244
+ async reconnectClient(name) {
245
+ const connectionString = this.hostsManager.getHost(name);
246
+ if (!connectionString) {
247
+ throw new Error(`Connection string not found for client: ${name}`);
248
+ }
249
+ const oldClient = this.clients.get(name);
250
+ if (oldClient) {
251
+ oldClient.close()?.catch((err) => console.error(`Error closing old client ${name}:`, err));
252
+ }
253
+ const newClient = new MongoClientWithMappings(connectionString);
254
+ this.clients.set(name, newClient);
255
+ await newClient.connect();
256
+ }
216
257
  }
217
258
  let mongoConnections = null;
218
259
  let initPromise = null;
@@ -231,4 +272,4 @@ async function getMongo() {
231
272
  }
232
273
 
233
274
  export { getCollectionJson as a, getMongo as g };
234
- //# sourceMappingURL=mongo-dLmCShL_.js.map
275
+ //# sourceMappingURL=mongo-DMG2RTBR.js.map