@sanurb/ringi 0.2.1 → 0.3.1

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 (418) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cli.mjs +505 -114
  3. package/dist/cli.mjs.map +1 -1
  4. package/dist/mcp.mjs +35 -39
  5. package/dist/mcp.mjs.map +1 -1
  6. package/dist/runtime.mjs +569 -428
  7. package/dist/runtime.mjs.map +1 -1
  8. package/package.json +13 -13
  9. package/server/nitro.json +17 -0
  10. package/server/public/assets/ClientOnly-QdfAxyFs.js +1 -0
  11. package/server/public/assets/_reviewId-CmXHvWLn.js +1 -0
  12. package/server/public/assets/_reviewId-DdOpDx4U.js +1 -0
  13. package/server/public/assets/abap-B1dkBSPn.js +1 -0
  14. package/server/public/assets/action-bar-DLRNvLjj.js +45 -0
  15. package/server/public/assets/actionscript-3-BT4ibYlP.js +1 -0
  16. package/server/public/assets/ada-CD92zeps.js +1 -0
  17. package/server/public/assets/andromeeda-DqSmgxi0.js +1 -0
  18. package/server/public/assets/angular-html-BDC0PfKr.js +1 -0
  19. package/server/public/assets/angular-ts-B9yoQMtj.js +1 -0
  20. package/server/public/assets/apache-D5suuoa_.js +1 -0
  21. package/server/public/assets/apex-BL-m4VHy.js +1 -0
  22. package/server/public/assets/apl-CldhY0Pn.js +1 -0
  23. package/server/public/assets/applescript-CLiBqvKT.js +1 -0
  24. package/server/public/assets/ara-LdDF8cmv.js +1 -0
  25. package/server/public/assets/asciidoc-2DZ9hC2N.js +1 -0
  26. package/server/public/assets/asm-0ZPGRSUy.js +1 -0
  27. package/server/public/assets/astro-DR6labZJ.js +1 -0
  28. package/server/public/assets/aurora-x-Da7Zfvbg.js +1 -0
  29. package/server/public/assets/awk-Bn0gn_B_.js +1 -0
  30. package/server/public/assets/ayu-dark-bqYKoqpM.js +1 -0
  31. package/server/public/assets/ayu-light-C45jTIzZ.js +1 -0
  32. package/server/public/assets/ayu-mirage-BV_FCTQi.js +1 -0
  33. package/server/public/assets/ballerina-D2nw_w8Q.js +1 -0
  34. package/server/public/assets/bat-ByUBN5gS.js +1 -0
  35. package/server/public/assets/beancount-BTb2W6Mp.js +1 -0
  36. package/server/public/assets/berry-5SO2uITG.js +1 -0
  37. package/server/public/assets/bibtex-CDBTNfUI.js +1 -0
  38. package/server/public/assets/bicep-fgxG_4rP.js +1 -0
  39. package/server/public/assets/bird2-BCwzDhwX.js +1 -0
  40. package/server/public/assets/blade-BBTRu2-g.js +1 -0
  41. package/server/public/assets/bsl-CG-fq4sc.js +1 -0
  42. package/server/public/assets/c-CEvNj7xl.js +1 -0
  43. package/server/public/assets/c3-Dlaci63_.js +1 -0
  44. package/server/public/assets/cadence-DHbRuEmm.js +1 -0
  45. package/server/public/assets/cairo-Ds0kTeYT.js +1 -0
  46. package/server/public/assets/catppuccin-frappe-DrL1fUuH.js +1 -0
  47. package/server/public/assets/catppuccin-latte-C0REgVjl.js +1 -0
  48. package/server/public/assets/catppuccin-macchiato-ChQpylWO.js +1 -0
  49. package/server/public/assets/catppuccin-mocha-Dd0JU1T0.js +1 -0
  50. package/server/public/assets/clarity-DMoTOm4G.js +1 -0
  51. package/server/public/assets/clojure-DBhE3PpS.js +1 -0
  52. package/server/public/assets/cmake-DwMc40Or.js +1 -0
  53. package/server/public/assets/cobol-BdNJSMRt.js +1 -0
  54. package/server/public/assets/codeowners-1lVr8wqV.js +1 -0
  55. package/server/public/assets/codeql-DWflolvo.js +1 -0
  56. package/server/public/assets/coffee-RA4xA24H.js +1 -0
  57. package/server/public/assets/common-lisp-CrVQ5xT-.js +1 -0
  58. package/server/public/assets/compiler-runtime-DZXZ41-q.js +1 -0
  59. package/server/public/assets/coq-CjfoyYSh.js +1 -0
  60. package/server/public/assets/cpp-BoW7e2Ow.js +1 -0
  61. package/server/public/assets/createServerFn-DTk395iP.js +9 -0
  62. package/server/public/assets/crystal-CYKRo3F9.js +1 -0
  63. package/server/public/assets/csharp-C7bIWP5y.js +1 -0
  64. package/server/public/assets/css-Ck2tii2d.js +1 -0
  65. package/server/public/assets/csv-DsAkDVtA.js +1 -0
  66. package/server/public/assets/cue-BWmQgbOB.js +1 -0
  67. package/server/public/assets/cypher-D-jVC50Q.js +1 -0
  68. package/server/public/assets/d-CaviyOrm.js +1 -0
  69. package/server/public/assets/dark-plus-DIrnwZt9.js +1 -0
  70. package/server/public/assets/dart-CZEi7JgC.js +1 -0
  71. package/server/public/assets/dax-BK-8zffy.js +1 -0
  72. package/server/public/assets/desktop-D3cjbL4D.js +1 -0
  73. package/server/public/assets/diff-sHAzLvlp.js +1 -0
  74. package/server/public/assets/docker--xs2Ng3w.js +1 -0
  75. package/server/public/assets/dotenv-Cm4nwcJ7.js +1 -0
  76. package/server/public/assets/dracula-CAUSusef.js +1 -0
  77. package/server/public/assets/dracula-soft-cjNkMFza.js +1 -0
  78. package/server/public/assets/dream-maker-fjmWTFCO.js +1 -0
  79. package/server/public/assets/edge-DxycC9wl.js +1 -0
  80. package/server/public/assets/elixir-B-50Er3p.js +1 -0
  81. package/server/public/assets/elm-B4-ygIVo.js +1 -0
  82. package/server/public/assets/emacs-lisp-CJzqStIa.js +1 -0
  83. package/server/public/assets/erb-DJvYE1L1.js +1 -0
  84. package/server/public/assets/erlang-C-m_88FN.js +1 -0
  85. package/server/public/assets/everforest-dark-DBpaSMx1.js +1 -0
  86. package/server/public/assets/everforest-light-CiGrXwia.js +1 -0
  87. package/server/public/assets/fennel-DRaXF7k8.js +1 -0
  88. package/server/public/assets/file-tree-CI3Xwwid.js +1907 -0
  89. package/server/public/assets/fish-Bn-Yh3Jj.js +1 -0
  90. package/server/public/assets/fluent-DF5F8Ks_.js +1 -0
  91. package/server/public/assets/fortran-fixed-form-Cx1lv7HN.js +1 -0
  92. package/server/public/assets/fortran-free-form-hCQHRqew.js +1 -0
  93. package/server/public/assets/fsharp-DC5k9sy2.js +1 -0
  94. package/server/public/assets/gdresource-D0EsKdgH.js +1 -0
  95. package/server/public/assets/gdscript-_C9_Hi_w.js +1 -0
  96. package/server/public/assets/gdshader-BW7b1X1Y.js +1 -0
  97. package/server/public/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2 +0 -0
  98. package/server/public/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2 +0 -0
  99. package/server/public/assets/geist-latin-wght-normal-Dm3htQBi.woff2 +0 -0
  100. package/server/public/assets/genie-Ch_6TCHd.js +1 -0
  101. package/server/public/assets/gherkin-CaNUsmTq.js +1 -0
  102. package/server/public/assets/git-commit-BcFsuO5E.js +1 -0
  103. package/server/public/assets/git-rebase-ChGA-z50.js +1 -0
  104. package/server/public/assets/github-dark-B9ygjgg6.js +1 -0
  105. package/server/public/assets/github-dark-default-Br2bgYSx.js +1 -0
  106. package/server/public/assets/github-dark-dimmed-CmtqpPJ-.js +1 -0
  107. package/server/public/assets/github-dark-high-contrast-fSfmrZcC.js +1 -0
  108. package/server/public/assets/github-light-BZjUqfZl.js +1 -0
  109. package/server/public/assets/github-light-default-lIytXXhR.js +1 -0
  110. package/server/public/assets/github-light-high-contrast-BRrjFb7n.js +1 -0
  111. package/server/public/assets/gleam-DALMDpNs.js +1 -0
  112. package/server/public/assets/glimmer-js-maLb6ysA.js +1 -0
  113. package/server/public/assets/glimmer-ts-DGNr-OBA.js +1 -0
  114. package/server/public/assets/glsl-CmplqyQ1.js +1 -0
  115. package/server/public/assets/gn-DGjqrYN9.js +1 -0
  116. package/server/public/assets/gnuplot-BYckvgQI.js +1 -0
  117. package/server/public/assets/go-JycvP538.js +1 -0
  118. package/server/public/assets/graphql-VhP7n4--.js +1 -0
  119. package/server/public/assets/groovy-D5qMRONT.js +1 -0
  120. package/server/public/assets/gruvbox-dark-hard-M1dj1e6V.js +1 -0
  121. package/server/public/assets/gruvbox-dark-medium-cqq_ncQu.js +1 -0
  122. package/server/public/assets/gruvbox-dark-soft-B4QwL2a9.js +1 -0
  123. package/server/public/assets/gruvbox-light-hard-DLayMKOQ.js +1 -0
  124. package/server/public/assets/gruvbox-light-medium-D52XgPKf.js +1 -0
  125. package/server/public/assets/gruvbox-light-soft-Dola3KdD.js +1 -0
  126. package/server/public/assets/hack-BVSQ2bxM.js +1 -0
  127. package/server/public/assets/haml-CwTtRHoj.js +1 -0
  128. package/server/public/assets/handlebars-CcO01SVo.js +1 -0
  129. package/server/public/assets/haskell-ys7wPPEd.js +1 -0
  130. package/server/public/assets/haxe-94kiChn7.js +1 -0
  131. package/server/public/assets/hcl-DmHt_-wq.js +1 -0
  132. package/server/public/assets/hjson-xMmoJ0Gx.js +1 -0
  133. package/server/public/assets/hlsl-b-Pskdze.js +1 -0
  134. package/server/public/assets/horizon-BKMqttiR.js +1 -0
  135. package/server/public/assets/horizon-bright-HNkBlnm5.js +1 -0
  136. package/server/public/assets/houston-BkBSBSOQ.js +1 -0
  137. package/server/public/assets/html-derivative-Cz-cKMi2.js +1 -0
  138. package/server/public/assets/html-zQbUS8Is.js +1 -0
  139. package/server/public/assets/http-CaGQ9BgA.js +1 -0
  140. package/server/public/assets/hurl-BBoki9bg.js +1 -0
  141. package/server/public/assets/hxml-iQTOTWpM.js +1 -0
  142. package/server/public/assets/hy-DKl1XhBq.js +1 -0
  143. package/server/public/assets/imba-DPxkOTAg.js +1 -0
  144. package/server/public/assets/ini-lkLGq_1x.js +1 -0
  145. package/server/public/assets/java-LAx6oszV.js +1 -0
  146. package/server/public/assets/javascript-COqx-gKX.js +1 -0
  147. package/server/public/assets/jinja-x-G_qSCP.js +1 -0
  148. package/server/public/assets/jison-7oSeVkKJ.js +1 -0
  149. package/server/public/assets/json-sTLOVXhc.js +1 -0
  150. package/server/public/assets/json5-Cy6ypJuJ.js +1 -0
  151. package/server/public/assets/jsonc-Cw2ugYAK.js +1 -0
  152. package/server/public/assets/jsonl-Dp5_qBVH.js +1 -0
  153. package/server/public/assets/jsonnet-BTbmg_-u.js +1 -0
  154. package/server/public/assets/jssm-CnT7nPea.js +1 -0
  155. package/server/public/assets/jsx-zXeIBQLI.js +1 -0
  156. package/server/public/assets/julia-E-6Xm9nd.js +1 -0
  157. package/server/public/assets/just-D9n74gZy.js +1 -0
  158. package/server/public/assets/kanagawa-dragon-CxsBnuhV.js +1 -0
  159. package/server/public/assets/kanagawa-lotus-vHdxDDOS.js +1 -0
  160. package/server/public/assets/kanagawa-wave-CIkfTKWk.js +1 -0
  161. package/server/public/assets/kdl-BwK60g80.js +1 -0
  162. package/server/public/assets/kotlin-Dbd9Vi-v.js +1 -0
  163. package/server/public/assets/kusto-BuTk9usc.js +1 -0
  164. package/server/public/assets/laserwave-C0wf_d3o.js +1 -0
  165. package/server/public/assets/latex-D0t4RtEU.js +1 -0
  166. package/server/public/assets/lean-CYAW8bRN.js +1 -0
  167. package/server/public/assets/less-D4uen21c.js +1 -0
  168. package/server/public/assets/light-plus-oqYyWKEE.js +1 -0
  169. package/server/public/assets/liquid-BzXN12F6.js +1 -0
  170. package/server/public/assets/llvm-Z1xJzteV.js +1 -0
  171. package/server/public/assets/log-BGUxlsk3.js +1 -0
  172. package/server/public/assets/logo-wVUhvQ1b.js +1 -0
  173. package/server/public/assets/lua-B0Cg8RP4.js +1 -0
  174. package/server/public/assets/luau-rPFZzCmq.js +1 -0
  175. package/server/public/assets/main-FvxVz-kD.js +15 -0
  176. package/server/public/assets/make-BmPf6m0P.js +1 -0
  177. package/server/public/assets/markdown-AseU6zcW.js +1 -0
  178. package/server/public/assets/marko-BlRPXWOe.js +1 -0
  179. package/server/public/assets/material-theme-6_W6rQhR.js +1 -0
  180. package/server/public/assets/material-theme-darker-VPEo3Sem.js +1 -0
  181. package/server/public/assets/material-theme-lighter-CUhzCcZ9.js +1 -0
  182. package/server/public/assets/material-theme-ocean-B2JdsaGb.js +1 -0
  183. package/server/public/assets/material-theme-palenight-DhY-sklA.js +1 -0
  184. package/server/public/assets/matlab-BOj_BDQv.js +1 -0
  185. package/server/public/assets/mdc-FiVDZSZ4.js +1 -0
  186. package/server/public/assets/mdx-Cm6cDkDI.js +1 -0
  187. package/server/public/assets/mermaid-DLO-R4hv.js +1 -0
  188. package/server/public/assets/min-dark-D34a_pX7.js +1 -0
  189. package/server/public/assets/min-light-Cdd4KORE.js +1 -0
  190. package/server/public/assets/mipsasm-DYpHF-GA.js +1 -0
  191. package/server/public/assets/mojo-DqYVFv_G.js +1 -0
  192. package/server/public/assets/monokai-CDR4sQ2n.js +1 -0
  193. package/server/public/assets/moonbit-DRKee9wk.js +1 -0
  194. package/server/public/assets/move-DbRk6Vn9.js +1 -0
  195. package/server/public/assets/narrat-IOfmaXfb.js +1 -0
  196. package/server/public/assets/new-DOyplRwM.js +1 -0
  197. package/server/public/assets/nextflow-D-Ec_bsY.js +1 -0
  198. package/server/public/assets/nextflow-groovy-EYl0c2BQ.js +1 -0
  199. package/server/public/assets/nginx-3JLAqmJa.js +1 -0
  200. package/server/public/assets/night-owl-light-Bedht9b4.js +1 -0
  201. package/server/public/assets/night-owl-yQJ3-I0I.js +1 -0
  202. package/server/public/assets/nim-DyjFVMzT.js +1 -0
  203. package/server/public/assets/nix-C2IovEl2.js +1 -0
  204. package/server/public/assets/nord-BjZ63GNL.js +1 -0
  205. package/server/public/assets/nushell-BflTrRB5.js +1 -0
  206. package/server/public/assets/objective-c-GRClK1S7.js +1 -0
  207. package/server/public/assets/objective-cpp-l3qYw-v5.js +1 -0
  208. package/server/public/assets/ocaml-BBDyhyMH.js +1 -0
  209. package/server/public/assets/odin-jCJ7Js99.js +1 -0
  210. package/server/public/assets/one-dark-pro-PIx2Diul.js +1 -0
  211. package/server/public/assets/one-light-BFMEz49S.js +1 -0
  212. package/server/public/assets/openscad-Drf0LgCX.js +1 -0
  213. package/server/public/assets/pascal-BT2XAUTl.js +1 -0
  214. package/server/public/assets/perl-Dr47G_2Q.js +1 -0
  215. package/server/public/assets/php-BhBDWTJe.js +1 -0
  216. package/server/public/assets/pierre-dark-CTXzTLfO.js +1 -0
  217. package/server/public/assets/pierre-light-C_5rlJRo.js +1 -0
  218. package/server/public/assets/pkl-ML-dWShO.js +1 -0
  219. package/server/public/assets/plastic-BFI-Z5Z2.js +1 -0
  220. package/server/public/assets/plsql-0vd5cLro.js +1 -0
  221. package/server/public/assets/po-CbZ_uqQA.js +1 -0
  222. package/server/public/assets/poimandres-Cayhd01L.js +1 -0
  223. package/server/public/assets/polar-C4hfV8Nc.js +1 -0
  224. package/server/public/assets/postcss-osFUbTLw.js +1 -0
  225. package/server/public/assets/powerquery-CTlGUQPj.js +1 -0
  226. package/server/public/assets/powershell-DyZsOmuq.js +1 -0
  227. package/server/public/assets/preload-helper-D7oT-Xwl.js +20 -0
  228. package/server/public/assets/prisma-SS92PO_I.js +1 -0
  229. package/server/public/assets/prolog-B1O1NNVC.js +1 -0
  230. package/server/public/assets/proto-BWu3eZTs.js +1 -0
  231. package/server/public/assets/pug-Dij_IK5w.js +1 -0
  232. package/server/public/assets/puppet-tvtRVdr6.js +1 -0
  233. package/server/public/assets/purescript-Dtbpb7D-.js +1 -0
  234. package/server/public/assets/python-Dlk0Acio.js +1 -0
  235. package/server/public/assets/qml-qUwk3nhh.js +1 -0
  236. package/server/public/assets/qmldir-B-iEOngH.js +1 -0
  237. package/server/public/assets/qss-Ba0p-aHw.js +1 -0
  238. package/server/public/assets/r-WmtNicKM.js +1 -0
  239. package/server/public/assets/racket-BXDsxf2U.js +1 -0
  240. package/server/public/assets/raku-Dw1WWFXK.js +1 -0
  241. package/server/public/assets/razor-DaqiVx3Q.js +1 -0
  242. package/server/public/assets/red-BC3Ds49b.js +1 -0
  243. package/server/public/assets/reg-DXFHGaM4.js +1 -0
  244. package/server/public/assets/regexp-CiSWN5Ne.js +1 -0
  245. package/server/public/assets/rel-Dc5_Ytx2.js +1 -0
  246. package/server/public/assets/reviews-CJvVXRLH.js +1 -0
  247. package/server/public/assets/reviews-CfbuF6ib.js +1 -0
  248. package/server/public/assets/riscv-ZgswiWij.js +1 -0
  249. package/server/public/assets/ron-YghabWAH.js +1 -0
  250. package/server/public/assets/rose-pine-ByWLnVr3.js +1 -0
  251. package/server/public/assets/rose-pine-dawn-DBmeySrz.js +1 -0
  252. package/server/public/assets/rose-pine-moon-B9J-N3nK.js +1 -0
  253. package/server/public/assets/rosmsg-DTKmAsVH.js +1 -0
  254. package/server/public/assets/routes-DNxq1Fba.js +1 -0
  255. package/server/public/assets/routes-Dp0ODZ55.js +2 -0
  256. package/server/public/assets/rst-CP6xOYlY.js +1 -0
  257. package/server/public/assets/ruby-BXYLc1CM.js +1 -0
  258. package/server/public/assets/rust-nfXwuE6F.js +1 -0
  259. package/server/public/assets/sas-CFdtZutF.js +1 -0
  260. package/server/public/assets/sass-CbRjkld3.js +1 -0
  261. package/server/public/assets/scala-BzD3eypx.js +1 -0
  262. package/server/public/assets/scheme-D4d1PV1y.js +1 -0
  263. package/server/public/assets/scss-D8KhdObH.js +1 -0
  264. package/server/public/assets/sdbl-Cf-Ydnvx.js +1 -0
  265. package/server/public/assets/shaderlab-DGohHMiF.js +1 -0
  266. package/server/public/assets/shellscript-BHdEbumI.js +1 -0
  267. package/server/public/assets/shellsession-Dh-bxrap.js +1 -0
  268. package/server/public/assets/slack-dark-MszIyPZ2.js +1 -0
  269. package/server/public/assets/slack-ochin-tQ3Q0gE9.js +1 -0
  270. package/server/public/assets/smalltalk-_uWoArwn.js +1 -0
  271. package/server/public/assets/snazzy-light-9sniMEk5.js +1 -0
  272. package/server/public/assets/solarized-dark-CdD0Hxzv.js +1 -0
  273. package/server/public/assets/solarized-light-C-nsEdqF.js +1 -0
  274. package/server/public/assets/solidity-D6uC-xwP.js +1 -0
  275. package/server/public/assets/soy-cDuODfbT.js +1 -0
  276. package/server/public/assets/sparql-BgU2QITA.js +1 -0
  277. package/server/public/assets/splunk-LQYHRu14.js +1 -0
  278. package/server/public/assets/sql-CKZpK620.js +1 -0
  279. package/server/public/assets/ssh-config-B7BUl8Rd.js +1 -0
  280. package/server/public/assets/stata-BLJTbKOO.js +1 -0
  281. package/server/public/assets/styles-UDowwF7S.css +2 -0
  282. package/server/public/assets/stylus-Byjxdx_q.js +1 -0
  283. package/server/public/assets/surrealql-C96KvYaj.js +1 -0
  284. package/server/public/assets/svelte-Qnbj2GWx.js +1 -0
  285. package/server/public/assets/swift-BexLlMrU.js +1 -0
  286. package/server/public/assets/synthwave-84-BxMBwQMS.js +1 -0
  287. package/server/public/assets/system-verilog-DVGwm0mw.js +1 -0
  288. package/server/public/assets/systemd-H2IT3-p5.js +1 -0
  289. package/server/public/assets/talonscript-mKZIGM8n.js +1 -0
  290. package/server/public/assets/tasl-B7he_Ugr.js +1 -0
  291. package/server/public/assets/tcl-5mT3RxHH.js +1 -0
  292. package/server/public/assets/templ-CQPDll3D.js +1 -0
  293. package/server/public/assets/terraform-BZP0GLsT.js +1 -0
  294. package/server/public/assets/test-D7JRfog1.js +1 -0
  295. package/server/public/assets/tex-97QNLoBJ.js +1 -0
  296. package/server/public/assets/tokyo-night-CTPVdZt9.js +1 -0
  297. package/server/public/assets/toml-CTFA98he.js +1 -0
  298. package/server/public/assets/ts-tags-B8zlXe2n.js +1 -0
  299. package/server/public/assets/tsv-BayJtYdY.js +1 -0
  300. package/server/public/assets/tsx-VqRU8NCz.js +1 -0
  301. package/server/public/assets/turtle-TVCBh_kY.js +1 -0
  302. package/server/public/assets/twig-FTTF8rVk.js +1 -0
  303. package/server/public/assets/typescript-CuX0hIVY.js +1 -0
  304. package/server/public/assets/typespec-BUvaJDLF.js +1 -0
  305. package/server/public/assets/typst-8NBaY7Ec.js +1 -0
  306. package/server/public/assets/useStore-M3H8PB1v.js +1 -0
  307. package/server/public/assets/utils-DElCu2hq.js +1 -0
  308. package/server/public/assets/v-VihyTigi.js +1 -0
  309. package/server/public/assets/vala-DyFAPyX6.js +1 -0
  310. package/server/public/assets/vb-Dg1Iqi4J.js +1 -0
  311. package/server/public/assets/verilog-D2Xc-vhD.js +1 -0
  312. package/server/public/assets/vesper-DJbtqYNr.js +1 -0
  313. package/server/public/assets/vhdl-CU3BVeE7.js +1 -0
  314. package/server/public/assets/viml-hG2shuOW.js +1 -0
  315. package/server/public/assets/vitesse-black-DbG2gsc0.js +1 -0
  316. package/server/public/assets/vitesse-dark-B6WV4xXH.js +1 -0
  317. package/server/public/assets/vitesse-light-DC1pdD02.js +1 -0
  318. package/server/public/assets/vue-DXwaEU0U.js +1 -0
  319. package/server/public/assets/vue-html-QD7AJ6JJ.js +1 -0
  320. package/server/public/assets/vue-vine-Bh2m1D2Z.js +1 -0
  321. package/server/public/assets/vyper-C1wojIuk.js +1 -0
  322. package/server/public/assets/wasm-C6Y0s02M.js +1 -0
  323. package/server/public/assets/wasm-qTvCOSHz.js +1 -0
  324. package/server/public/assets/wenyan-BG5vPQF0.js +1 -0
  325. package/server/public/assets/wgsl-DrVb-Cub.js +1 -0
  326. package/server/public/assets/wikitext-PRC4s8sH.js +1 -0
  327. package/server/public/assets/wit-ChW5qvg_.js +1 -0
  328. package/server/public/assets/wolfram-B8mKuZSQ.js +1 -0
  329. package/server/public/assets/xml-BK-rcb5a.js +1 -0
  330. package/server/public/assets/xsl-dt-d2R7p.js +1 -0
  331. package/server/public/assets/yaml-UiXU3hGj.js +1 -0
  332. package/server/public/assets/zenscript-C-jEPC9j.js +1 -0
  333. package/server/public/assets/zig-EbnRGjcz.js +1 -0
  334. package/server/public/favicon.ico +0 -0
  335. package/server/public/logo192.png +0 -0
  336. package/server/public/logo512.png +0 -0
  337. package/server/public/manifest.json +25 -0
  338. package/server/public/robots.txt +3 -0
  339. package/server/public/tanstack-circle-logo.png +0 -0
  340. package/server/public/tanstack-word-logo-white.svg +1 -0
  341. package/server/server/_chunks/ssr-renderer.mjs +15 -0
  342. package/server/server/_libs/@floating-ui/core+[...].mjs +698 -0
  343. package/server/server/_libs/@floating-ui/dom+[...].mjs +644 -0
  344. package/server/server/_libs/@floating-ui/react-dom+[...].mjs +839 -0
  345. package/server/server/_libs/@pierre/diffs+[...].mjs +18578 -0
  346. package/server/server/_libs/@radix-ui/react-arrow+[...].mjs +174 -0
  347. package/server/server/_libs/@radix-ui/react-collection+[...].mjs +162 -0
  348. package/server/server/_libs/@radix-ui/react-dialog+[...].mjs +1666 -0
  349. package/server/server/_libs/@radix-ui/react-popper+[...].mjs +289 -0
  350. package/server/server/_libs/@radix-ui/react-radio-group+[...].mjs +420 -0
  351. package/server/server/_libs/@radix-ui/react-select+[...].mjs +990 -0
  352. package/server/server/_libs/@tanstack/react-router+[...].mjs +14113 -0
  353. package/server/server/_libs/_.mjs +2 -0
  354. package/server/server/_libs/chokidar+readdirp.mjs +1599 -0
  355. package/server/server/_libs/class-variance-authority+clsx.mjs +69 -0
  356. package/server/server/_libs/effect+[...].mjs +34047 -0
  357. package/server/server/_libs/h3+rou3+srvx.mjs +1195 -0
  358. package/server/server/_libs/hookable.mjs +41 -0
  359. package/server/server/_libs/lucide-react.mjs +298 -0
  360. package/server/server/_libs/pierre__theme.mjs +2668 -0
  361. package/server/server/_libs/radix-ui__number.mjs +6 -0
  362. package/server/server/_libs/radix-ui__primitive.mjs +9 -0
  363. package/server/server/_libs/radix-ui__react-direction.mjs +11 -0
  364. package/server/server/_libs/shiki.mjs +16 -0
  365. package/server/server/_libs/shikijs__langs.mjs +1355 -0
  366. package/server/server/_libs/shikijs__themes.mjs +262 -0
  367. package/server/server/_libs/tailwind-merge.mjs +1962 -0
  368. package/server/server/_libs/tanstack__history.mjs +342 -0
  369. package/server/server/_libs/tanstack__router-core.mjs +6 -0
  370. package/server/server/_libs/ufo.mjs +64 -0
  371. package/server/server/_reviewId-AWnOGz5k.mjs +33 -0
  372. package/server/server/_reviewId-Com4yOlc.mjs +29 -0
  373. package/server/server/_reviewId-DAhmekJ2.mjs +277 -0
  374. package/server/server/_reviewId-p9mhYVwa.mjs +18 -0
  375. package/server/server/_runtime.mjs +35 -0
  376. package/server/server/_ssr/action-bar-C68xGnWW.mjs +592 -0
  377. package/server/server/_ssr/api-handler-CstW2n82.mjs +189 -0
  378. package/server/server/_ssr/client-runtime-BoPuAEoA.mjs +245 -0
  379. package/server/server/_ssr/createServerRpc--0mcGlWK.mjs +12 -0
  380. package/server/server/_ssr/createSsrRpc-AwdiLXmF.mjs +16 -0
  381. package/server/server/_ssr/domain-rpc-3Ds9DPr0.mjs +287 -0
  382. package/server/server/_ssr/file-tree-CQ5w2GHh.mjs +1951 -0
  383. package/server/server/_ssr/load-scoped-diff-NL2XAcdz.mjs +45 -0
  384. package/server/server/_ssr/new-BKl_G2Ks.mjs +37 -0
  385. package/server/server/_ssr/new-BREdMFAM.mjs +12 -0
  386. package/server/server/_ssr/new-DCz5eHkb.mjs +137 -0
  387. package/server/server/_ssr/reviews-BL5Nsgst.mjs +7 -0
  388. package/server/server/_ssr/reviews-BoaEgGKs.mjs +100 -0
  389. package/server/server/_ssr/reviews-C7_NIhY8.mjs +19 -0
  390. package/server/server/_ssr/reviews-Dd69YBDa.mjs +12 -0
  391. package/server/server/_ssr/router-DLxN8FOm.mjs +415 -0
  392. package/server/server/_ssr/routes-D25G8OuS.mjs +80 -0
  393. package/server/server/_ssr/routes-lz0AN75A.mjs +929 -0
  394. package/server/server/_ssr/runtime-D9IbnMlF.mjs +1401 -0
  395. package/server/server/_ssr/server-runtime-D99qpmma.mjs +12 -0
  396. package/server/server/_ssr/ssr.mjs +5318 -0
  397. package/server/server/_ssr/start-BIQfOZtj.mjs +4 -0
  398. package/server/server/_ssr/test-CQdMYlqa.mjs +6 -0
  399. package/server/server/_ssr/todo-m_uUvxca.mjs +88 -0
  400. package/server/server/_ssr/use-keyboard-shortcuts-D5b1Mxpq.mjs +25 -0
  401. package/server/server/_ssr/utils-BuOt9_LA.mjs +8 -0
  402. package/server/server/_tanstack-start-manifest_v-CnL10NRH.mjs +71 -0
  403. package/server/server/index.mjs +2615 -0
  404. package/server/server/node_modules/detect-libc/lib/detect-libc.js +313 -0
  405. package/server/server/node_modules/detect-libc/lib/elf.js +39 -0
  406. package/server/server/node_modules/detect-libc/lib/filesystem.js +51 -0
  407. package/server/server/node_modules/detect-libc/lib/process.js +24 -0
  408. package/server/server/node_modules/detect-libc/package.json +44 -0
  409. package/server/server/node_modules/msgpackr-extract/index.js +1 -0
  410. package/server/server/node_modules/msgpackr-extract/package.json +50 -0
  411. package/server/server/node_modules/node-gyp-build-optional-packages/index.js +6 -0
  412. package/server/server/node_modules/node-gyp-build-optional-packages/node-gyp-build.js +236 -0
  413. package/server/server/node_modules/node-gyp-build-optional-packages/package.json +32 -0
  414. package/server/server/node_modules/tslib/modules/index.js +70 -0
  415. package/server/server/node_modules/tslib/modules/package.json +3 -0
  416. package/server/server/node_modules/tslib/package.json +47 -0
  417. package/server/server/node_modules/tslib/tslib.js +484 -0
  418. package/server/server/package.json +12 -0
@@ -0,0 +1,342 @@
1
+ //#region ../../node_modules/.pnpm/@tanstack+history@1.161.6/node_modules/@tanstack/history/dist/esm/index.js
2
+ var stateIndexKey = "__TSR_index";
3
+ var popStateEvent = "popstate";
4
+ var beforeUnloadEvent = "beforeunload";
5
+ function createHistory(opts) {
6
+ let location = opts.getLocation();
7
+ const subscribers = /* @__PURE__ */ new Set();
8
+ const notify = (action) => {
9
+ location = opts.getLocation();
10
+ subscribers.forEach((subscriber) => subscriber({
11
+ location,
12
+ action
13
+ }));
14
+ };
15
+ const handleIndexChange = (action) => {
16
+ if (opts.notifyOnIndexChange ?? true) notify(action);
17
+ else location = opts.getLocation();
18
+ };
19
+ const tryNavigation = async ({ task, navigateOpts, ...actionInfo }) => {
20
+ if (navigateOpts?.ignoreBlocker ?? false) {
21
+ task();
22
+ return;
23
+ }
24
+ const blockers = opts.getBlockers?.() ?? [];
25
+ const isPushOrReplace = actionInfo.type === "PUSH" || actionInfo.type === "REPLACE";
26
+ if (typeof document !== "undefined" && blockers.length && isPushOrReplace) for (const blocker of blockers) {
27
+ const nextLocation = parseHref(actionInfo.path, actionInfo.state);
28
+ if (await blocker.blockerFn({
29
+ currentLocation: location,
30
+ nextLocation,
31
+ action: actionInfo.type
32
+ })) {
33
+ opts.onBlocked?.();
34
+ return;
35
+ }
36
+ }
37
+ task();
38
+ };
39
+ return {
40
+ get location() {
41
+ return location;
42
+ },
43
+ get length() {
44
+ return opts.getLength();
45
+ },
46
+ subscribers,
47
+ subscribe: (cb) => {
48
+ subscribers.add(cb);
49
+ return () => {
50
+ subscribers.delete(cb);
51
+ };
52
+ },
53
+ push: (path, state, navigateOpts) => {
54
+ const currentIndex = location.state[stateIndexKey];
55
+ state = assignKeyAndIndex(currentIndex + 1, state);
56
+ tryNavigation({
57
+ task: () => {
58
+ opts.pushState(path, state);
59
+ notify({ type: "PUSH" });
60
+ },
61
+ navigateOpts,
62
+ type: "PUSH",
63
+ path,
64
+ state
65
+ });
66
+ },
67
+ replace: (path, state, navigateOpts) => {
68
+ const currentIndex = location.state[stateIndexKey];
69
+ state = assignKeyAndIndex(currentIndex, state);
70
+ tryNavigation({
71
+ task: () => {
72
+ opts.replaceState(path, state);
73
+ notify({ type: "REPLACE" });
74
+ },
75
+ navigateOpts,
76
+ type: "REPLACE",
77
+ path,
78
+ state
79
+ });
80
+ },
81
+ go: (index, navigateOpts) => {
82
+ tryNavigation({
83
+ task: () => {
84
+ opts.go(index);
85
+ handleIndexChange({
86
+ type: "GO",
87
+ index
88
+ });
89
+ },
90
+ navigateOpts,
91
+ type: "GO"
92
+ });
93
+ },
94
+ back: (navigateOpts) => {
95
+ tryNavigation({
96
+ task: () => {
97
+ opts.back(navigateOpts?.ignoreBlocker ?? false);
98
+ handleIndexChange({ type: "BACK" });
99
+ },
100
+ navigateOpts,
101
+ type: "BACK"
102
+ });
103
+ },
104
+ forward: (navigateOpts) => {
105
+ tryNavigation({
106
+ task: () => {
107
+ opts.forward(navigateOpts?.ignoreBlocker ?? false);
108
+ handleIndexChange({ type: "FORWARD" });
109
+ },
110
+ navigateOpts,
111
+ type: "FORWARD"
112
+ });
113
+ },
114
+ canGoBack: () => location.state[stateIndexKey] !== 0,
115
+ createHref: (str) => opts.createHref(str),
116
+ block: (blocker) => {
117
+ if (!opts.setBlockers) return () => {};
118
+ const blockers = opts.getBlockers?.() ?? [];
119
+ opts.setBlockers([...blockers, blocker]);
120
+ return () => {
121
+ const blockers = opts.getBlockers?.() ?? [];
122
+ opts.setBlockers?.(blockers.filter((b) => b !== blocker));
123
+ };
124
+ },
125
+ flush: () => opts.flush?.(),
126
+ destroy: () => opts.destroy?.(),
127
+ notify
128
+ };
129
+ }
130
+ function assignKeyAndIndex(index, state) {
131
+ if (!state) state = {};
132
+ const key = createRandomKey();
133
+ return {
134
+ ...state,
135
+ key,
136
+ __TSR_key: key,
137
+ [stateIndexKey]: index
138
+ };
139
+ }
140
+ /**
141
+ * Creates a history object that can be used to interact with the browser's
142
+ * navigation. This is a lightweight API wrapping the browser's native methods.
143
+ * It is designed to work with TanStack Router, but could be used as a standalone API as well.
144
+ * IMPORTANT: This API implements history throttling via a microtask to prevent
145
+ * excessive calls to the history API. In some browsers, calling history.pushState or
146
+ * history.replaceState in quick succession can cause the browser to ignore subsequent
147
+ * calls. This API smooths out those differences and ensures that your application
148
+ * state will *eventually* match the browser state. In most cases, this is not a problem,
149
+ * but if you need to ensure that the browser state is up to date, you can use the
150
+ * `history.flush` method to immediately flush all pending state changes to the browser URL.
151
+ * @param opts
152
+ * @param opts.getHref A function that returns the current href (path + search + hash)
153
+ * @param opts.createHref A function that takes a path and returns a href (path + search + hash)
154
+ * @returns A history instance
155
+ */
156
+ function createBrowserHistory(opts) {
157
+ const win = opts?.window ?? (typeof document !== "undefined" ? window : void 0);
158
+ const originalPushState = win.history.pushState;
159
+ const originalReplaceState = win.history.replaceState;
160
+ let blockers = [];
161
+ const _getBlockers = () => blockers;
162
+ const _setBlockers = (newBlockers) => blockers = newBlockers;
163
+ const createHref = opts?.createHref ?? ((path) => path);
164
+ const parseLocation = opts?.parseLocation ?? (() => parseHref(`${win.location.pathname}${win.location.search}${win.location.hash}`, win.history.state));
165
+ if (!win.history.state?.__TSR_key && !win.history.state?.key) {
166
+ const addedKey = createRandomKey();
167
+ win.history.replaceState({
168
+ [stateIndexKey]: 0,
169
+ key: addedKey,
170
+ __TSR_key: addedKey
171
+ }, "");
172
+ }
173
+ let currentLocation = parseLocation();
174
+ let rollbackLocation;
175
+ let nextPopIsGo = false;
176
+ let ignoreNextPop = false;
177
+ let skipBlockerNextPop = false;
178
+ let ignoreNextBeforeUnload = false;
179
+ const getLocation = () => currentLocation;
180
+ let next;
181
+ let scheduled;
182
+ const flush = () => {
183
+ if (!next) return;
184
+ history._ignoreSubscribers = true;
185
+ (next.isPush ? win.history.pushState : win.history.replaceState)(next.state, "", next.href);
186
+ history._ignoreSubscribers = false;
187
+ next = void 0;
188
+ scheduled = void 0;
189
+ rollbackLocation = void 0;
190
+ };
191
+ const queueHistoryAction = (type, destHref, state) => {
192
+ const href = createHref(destHref);
193
+ if (!scheduled) rollbackLocation = currentLocation;
194
+ currentLocation = parseHref(destHref, state);
195
+ next = {
196
+ href,
197
+ state,
198
+ isPush: next?.isPush || type === "push"
199
+ };
200
+ if (!scheduled) scheduled = Promise.resolve().then(() => flush());
201
+ };
202
+ const onPushPop = (type) => {
203
+ currentLocation = parseLocation();
204
+ history.notify({ type });
205
+ };
206
+ const onPushPopEvent = async () => {
207
+ if (ignoreNextPop) {
208
+ ignoreNextPop = false;
209
+ return;
210
+ }
211
+ const nextLocation = parseLocation();
212
+ const delta = nextLocation.state[stateIndexKey] - currentLocation.state[stateIndexKey];
213
+ const isForward = delta === 1;
214
+ const isBack = delta === -1;
215
+ const isGo = !isForward && !isBack || nextPopIsGo;
216
+ nextPopIsGo = false;
217
+ const action = isGo ? "GO" : isBack ? "BACK" : "FORWARD";
218
+ const notify = isGo ? {
219
+ type: "GO",
220
+ index: delta
221
+ } : { type: isBack ? "BACK" : "FORWARD" };
222
+ if (skipBlockerNextPop) skipBlockerNextPop = false;
223
+ else {
224
+ const blockers = _getBlockers();
225
+ if (typeof document !== "undefined" && blockers.length) {
226
+ for (const blocker of blockers) if (await blocker.blockerFn({
227
+ currentLocation,
228
+ nextLocation,
229
+ action
230
+ })) {
231
+ ignoreNextPop = true;
232
+ win.history.go(1);
233
+ history.notify(notify);
234
+ return;
235
+ }
236
+ }
237
+ }
238
+ currentLocation = parseLocation();
239
+ history.notify(notify);
240
+ };
241
+ const onBeforeUnload = (e) => {
242
+ if (ignoreNextBeforeUnload) {
243
+ ignoreNextBeforeUnload = false;
244
+ return;
245
+ }
246
+ let shouldBlock = false;
247
+ const blockers = _getBlockers();
248
+ if (typeof document !== "undefined" && blockers.length) for (const blocker of blockers) {
249
+ const shouldHaveBeforeUnload = blocker.enableBeforeUnload ?? true;
250
+ if (shouldHaveBeforeUnload === true) {
251
+ shouldBlock = true;
252
+ break;
253
+ }
254
+ if (typeof shouldHaveBeforeUnload === "function" && shouldHaveBeforeUnload() === true) {
255
+ shouldBlock = true;
256
+ break;
257
+ }
258
+ }
259
+ if (shouldBlock) {
260
+ e.preventDefault();
261
+ return e.returnValue = "";
262
+ }
263
+ };
264
+ const history = createHistory({
265
+ getLocation,
266
+ getLength: () => win.history.length,
267
+ pushState: (href, state) => queueHistoryAction("push", href, state),
268
+ replaceState: (href, state) => queueHistoryAction("replace", href, state),
269
+ back: (ignoreBlocker) => {
270
+ if (ignoreBlocker) skipBlockerNextPop = true;
271
+ ignoreNextBeforeUnload = true;
272
+ return win.history.back();
273
+ },
274
+ forward: (ignoreBlocker) => {
275
+ if (ignoreBlocker) skipBlockerNextPop = true;
276
+ ignoreNextBeforeUnload = true;
277
+ win.history.forward();
278
+ },
279
+ go: (n) => {
280
+ nextPopIsGo = true;
281
+ win.history.go(n);
282
+ },
283
+ createHref: (href) => createHref(href),
284
+ flush,
285
+ destroy: () => {
286
+ win.history.pushState = originalPushState;
287
+ win.history.replaceState = originalReplaceState;
288
+ win.removeEventListener(beforeUnloadEvent, onBeforeUnload, { capture: true });
289
+ win.removeEventListener(popStateEvent, onPushPopEvent);
290
+ },
291
+ onBlocked: () => {
292
+ if (rollbackLocation && currentLocation !== rollbackLocation) currentLocation = rollbackLocation;
293
+ },
294
+ getBlockers: _getBlockers,
295
+ setBlockers: _setBlockers,
296
+ notifyOnIndexChange: false
297
+ });
298
+ win.addEventListener(beforeUnloadEvent, onBeforeUnload, { capture: true });
299
+ win.addEventListener(popStateEvent, onPushPopEvent);
300
+ win.history.pushState = function(...args) {
301
+ const res = originalPushState.apply(win.history, args);
302
+ if (!history._ignoreSubscribers) onPushPop("PUSH");
303
+ return res;
304
+ };
305
+ win.history.replaceState = function(...args) {
306
+ const res = originalReplaceState.apply(win.history, args);
307
+ if (!history._ignoreSubscribers) onPushPop("REPLACE");
308
+ return res;
309
+ };
310
+ return history;
311
+ }
312
+ /**
313
+ * Sanitize a path to prevent open redirect vulnerabilities.
314
+ * Removes control characters and collapses leading double slashes.
315
+ */
316
+ function sanitizePath(path) {
317
+ let sanitized = path.replace(/[\x00-\x1f\x7f]/g, "");
318
+ if (sanitized.startsWith("//")) sanitized = "/" + sanitized.replace(/^\/+/, "");
319
+ return sanitized;
320
+ }
321
+ function parseHref(href, state) {
322
+ const sanitizedHref = sanitizePath(href);
323
+ const hashIndex = sanitizedHref.indexOf("#");
324
+ const searchIndex = sanitizedHref.indexOf("?");
325
+ const addedKey = createRandomKey();
326
+ return {
327
+ href: sanitizedHref,
328
+ pathname: sanitizedHref.substring(0, hashIndex > 0 ? searchIndex > 0 ? Math.min(hashIndex, searchIndex) : hashIndex : searchIndex > 0 ? searchIndex : sanitizedHref.length),
329
+ hash: hashIndex > -1 ? sanitizedHref.substring(hashIndex) : "",
330
+ search: searchIndex > -1 ? sanitizedHref.slice(searchIndex, hashIndex === -1 ? void 0 : hashIndex) : "",
331
+ state: state || {
332
+ [stateIndexKey]: 0,
333
+ key: addedKey,
334
+ __TSR_key: addedKey
335
+ }
336
+ };
337
+ }
338
+ function createRandomKey() {
339
+ return (Math.random() + 1).toString(36).substring(7);
340
+ }
341
+ //#endregion
342
+ export { parseHref as n, createBrowserHistory as t };
@@ -0,0 +1,6 @@
1
+ //#region ../../node_modules/.pnpm/@tanstack+router-core@1.168.4/node_modules/@tanstack/router-core/dist/esm/ssr/handlerCallback.js
2
+ function defineHandlerCallback(handler) {
3
+ return handler;
4
+ }
5
+ //#endregion
6
+ export { defineHandlerCallback as t };
@@ -0,0 +1,64 @@
1
+ String.fromCharCode;
2
+ var ENC_SLASH_RE = /%2f/gi;
3
+ function decode(text = "") {
4
+ try {
5
+ return decodeURIComponent("" + text);
6
+ } catch {
7
+ return "" + text;
8
+ }
9
+ }
10
+ function decodePath(text) {
11
+ return decode(text.replace(ENC_SLASH_RE, "%252F"));
12
+ }
13
+ var TRAILING_SLASH_RE = /\/$|\/\?|\/#/;
14
+ var JOIN_LEADING_SLASH_RE = /^\.?\//;
15
+ function hasTrailingSlash(input = "", respectQueryAndFragment) {
16
+ if (!respectQueryAndFragment) return input.endsWith("/");
17
+ return TRAILING_SLASH_RE.test(input);
18
+ }
19
+ function withoutTrailingSlash(input = "", respectQueryAndFragment) {
20
+ if (!respectQueryAndFragment) return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || "/";
21
+ if (!hasTrailingSlash(input, true)) return input || "/";
22
+ let path = input;
23
+ let fragment = "";
24
+ const fragmentIndex = input.indexOf("#");
25
+ if (fragmentIndex !== -1) {
26
+ path = input.slice(0, fragmentIndex);
27
+ fragment = input.slice(fragmentIndex);
28
+ }
29
+ const [s0, ...s] = path.split("?");
30
+ return ((s0.endsWith("/") ? s0.slice(0, -1) : s0) || "/") + (s.length > 0 ? `?${s.join("?")}` : "") + fragment;
31
+ }
32
+ function withTrailingSlash(input = "", respectQueryAndFragment) {
33
+ if (!respectQueryAndFragment) return input.endsWith("/") ? input : input + "/";
34
+ if (hasTrailingSlash(input, true)) return input || "/";
35
+ let path = input;
36
+ let fragment = "";
37
+ const fragmentIndex = input.indexOf("#");
38
+ if (fragmentIndex !== -1) {
39
+ path = input.slice(0, fragmentIndex);
40
+ fragment = input.slice(fragmentIndex);
41
+ if (!path) return fragment;
42
+ }
43
+ const [s0, ...s] = path.split("?");
44
+ return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "") + fragment;
45
+ }
46
+ function hasLeadingSlash(input = "") {
47
+ return input.startsWith("/");
48
+ }
49
+ function withLeadingSlash(input = "") {
50
+ return hasLeadingSlash(input) ? input : "/" + input;
51
+ }
52
+ function isNonEmptyURL(url) {
53
+ return url && url !== "/";
54
+ }
55
+ function joinURL(base, ...input) {
56
+ let url = base || "";
57
+ for (const segment of input.filter((url2) => isNonEmptyURL(url2))) if (url) {
58
+ const _segment = segment.replace(JOIN_LEADING_SLASH_RE, "");
59
+ url = withTrailingSlash(url) + _segment;
60
+ } else url = segment;
61
+ return url;
62
+ }
63
+ //#endregion
64
+ export { withoutTrailingSlash as i, joinURL as n, withLeadingSlash as r, decodePath as t };
@@ -0,0 +1,33 @@
1
+ import { r as createServerFn } from "./_ssr/ssr.mjs";
2
+ import { t as createServerRpc } from "./_ssr/createServerRpc--0mcGlWK.mjs";
3
+ import { dt as gen } from "./_libs/effect+[...].mjs";
4
+ import { o as ReviewService, t as CommentService } from "./_ssr/runtime-D9IbnMlF.mjs";
5
+ import { serverRuntime } from "./_ssr/server-runtime-D99qpmma.mjs";
6
+ //#region node_modules/.nitro/vite/services/ssr/assets/_reviewId-AWnOGz5k.js
7
+ var loadReview_createServerFn_handler = createServerRpc({
8
+ id: "d17f62149492ac39d233ae8a98fd9e6f8cb42fca22b195a215054e1e2ad0ea53",
9
+ name: "loadReview",
10
+ filename: "src/routes/reviews/$reviewId.tsx"
11
+ }, (opts) => loadReview.__executeServer(opts));
12
+ var loadReview = createServerFn({ method: "GET" }).inputValidator((d) => {
13
+ const obj = d;
14
+ if (typeof obj?.reviewId !== "string") throw new TypeError("reviewId required");
15
+ return { reviewId: obj.reviewId };
16
+ }).handler(loadReview_createServerFn_handler, async ({ data }) => {
17
+ const id = data.reviewId;
18
+ const result = await serverRuntime.runPromise(gen(function* result() {
19
+ const reviewSvc = yield* ReviewService;
20
+ const commentSvc = yield* CommentService;
21
+ const review = yield* reviewSvc.getById(id);
22
+ const comments = yield* commentSvc.getByReview(id);
23
+ const commentStats = yield* commentSvc.getStats(id);
24
+ return {
25
+ ...review,
26
+ commentStats,
27
+ comments
28
+ };
29
+ }));
30
+ return JSON.parse(JSON.stringify(result));
31
+ });
32
+ //#endregion
33
+ export { loadReview_createServerFn_handler };
@@ -0,0 +1,29 @@
1
+ import { n as require_jsx_runtime } from "./_libs/@pierre/diffs+[...].mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/_reviewId-Com4yOlc.js
3
+ var import_jsx_runtime = require_jsx_runtime();
4
+ function ReviewError({ error }) {
5
+ const message = error instanceof Error ? error.message : "Review not found";
6
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7
+ className: "flex h-full items-center justify-center",
8
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
9
+ className: "rounded-sm border border-border-default bg-surface-elevated p-8 text-center",
10
+ children: [
11
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
12
+ className: "text-sm font-medium text-status-error",
13
+ children: "Error"
14
+ }),
15
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
16
+ className: "mt-2 text-xs text-text-secondary",
17
+ children: message
18
+ }),
19
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", {
20
+ href: "/reviews",
21
+ className: "mt-4 inline-block text-xs text-text-link hover:underline",
22
+ children: "← Back to reviews"
23
+ })
24
+ ]
25
+ })
26
+ });
27
+ }
28
+ //#endregion
29
+ export { ReviewError as errorComponent };