@farm.js/core 0.1.0-beta.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 (549) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +11 -0
  3. package/dist/after.cjs +227 -0
  4. package/dist/after.cjs.map +1 -0
  5. package/dist/after.d.mts +25 -0
  6. package/dist/after.d.ts +25 -0
  7. package/dist/after.mjs +14 -0
  8. package/dist/after.mjs.map +1 -0
  9. package/dist/agent-runtime.cjs +2379 -0
  10. package/dist/agent-runtime.cjs.map +1 -0
  11. package/dist/agent-runtime.d.mts +93 -0
  12. package/dist/agent-runtime.d.ts +93 -0
  13. package/dist/agent-runtime.mjs +479 -0
  14. package/dist/agent-runtime.mjs.map +1 -0
  15. package/dist/api/route-manager.cjs +1196 -0
  16. package/dist/api/route-manager.cjs.map +1 -0
  17. package/dist/api/route-manager.d.mts +64 -0
  18. package/dist/api/route-manager.d.ts +64 -0
  19. package/dist/api/route-manager.mjs +34 -0
  20. package/dist/api/route-manager.mjs.map +1 -0
  21. package/dist/api/runtime.cjs +272 -0
  22. package/dist/api/runtime.cjs.map +1 -0
  23. package/dist/api/runtime.d.mts +16 -0
  24. package/dist/api/runtime.d.ts +16 -0
  25. package/dist/api/runtime.mjs +16 -0
  26. package/dist/api/runtime.mjs.map +1 -0
  27. package/dist/api.cjs +3199 -0
  28. package/dist/api.cjs.map +1 -0
  29. package/dist/api.d.mts +190 -0
  30. package/dist/api.d.ts +190 -0
  31. package/dist/api.mjs +63 -0
  32. package/dist/api.mjs.map +1 -0
  33. package/dist/app-BiX4qb-d.d.mts +265 -0
  34. package/dist/app-CFRNJXP1.d.ts +265 -0
  35. package/dist/app-markdown.cjs +220 -0
  36. package/dist/app-markdown.cjs.map +1 -0
  37. package/dist/app-markdown.d.mts +21 -0
  38. package/dist/app-markdown.d.ts +21 -0
  39. package/dist/app-markdown.mjs +26 -0
  40. package/dist/app-markdown.mjs.map +1 -0
  41. package/dist/cache.cjs +543 -0
  42. package/dist/cache.cjs.map +1 -0
  43. package/dist/cache.d.mts +78 -0
  44. package/dist/cache.d.ts +78 -0
  45. package/dist/cache.mjs +38 -0
  46. package/dist/cache.mjs.map +1 -0
  47. package/dist/chunk-25D7G34K.mjs +142 -0
  48. package/dist/chunk-25D7G34K.mjs.map +1 -0
  49. package/dist/chunk-3QJO55ZF.mjs +3548 -0
  50. package/dist/chunk-3QJO55ZF.mjs.map +1 -0
  51. package/dist/chunk-3XNTL3FQ.mjs +452 -0
  52. package/dist/chunk-3XNTL3FQ.mjs.map +1 -0
  53. package/dist/chunk-44ZCFSKE.mjs +84 -0
  54. package/dist/chunk-44ZCFSKE.mjs.map +1 -0
  55. package/dist/chunk-4PTK6KT4.mjs +364 -0
  56. package/dist/chunk-4PTK6KT4.mjs.map +1 -0
  57. package/dist/chunk-4S3ORGFA.mjs +44 -0
  58. package/dist/chunk-4S3ORGFA.mjs.map +1 -0
  59. package/dist/chunk-5BY76U2M.mjs +1 -0
  60. package/dist/chunk-5BY76U2M.mjs.map +1 -0
  61. package/dist/chunk-5ZGPRGWV.mjs +136 -0
  62. package/dist/chunk-5ZGPRGWV.mjs.map +1 -0
  63. package/dist/chunk-6XDUHOEM.mjs +157 -0
  64. package/dist/chunk-6XDUHOEM.mjs.map +1 -0
  65. package/dist/chunk-74YTBPTY.mjs +450 -0
  66. package/dist/chunk-74YTBPTY.mjs.map +1 -0
  67. package/dist/chunk-7HO6AEOP.mjs +74 -0
  68. package/dist/chunk-7HO6AEOP.mjs.map +1 -0
  69. package/dist/chunk-7MABZJIM.mjs +29 -0
  70. package/dist/chunk-7MABZJIM.mjs.map +1 -0
  71. package/dist/chunk-7ZY5AIJO.mjs +161 -0
  72. package/dist/chunk-7ZY5AIJO.mjs.map +1 -0
  73. package/dist/chunk-AGS7UJ52.mjs +446 -0
  74. package/dist/chunk-AGS7UJ52.mjs.map +1 -0
  75. package/dist/chunk-AZ7YUVNR.mjs +65 -0
  76. package/dist/chunk-AZ7YUVNR.mjs.map +1 -0
  77. package/dist/chunk-B232I2GP.mjs +163 -0
  78. package/dist/chunk-B232I2GP.mjs.map +1 -0
  79. package/dist/chunk-B6N4ZB2H.mjs +718 -0
  80. package/dist/chunk-B6N4ZB2H.mjs.map +1 -0
  81. package/dist/chunk-BHG3LVHH.mjs +176 -0
  82. package/dist/chunk-BHG3LVHH.mjs.map +1 -0
  83. package/dist/chunk-C3DLZMBU.mjs +597 -0
  84. package/dist/chunk-C3DLZMBU.mjs.map +1 -0
  85. package/dist/chunk-CGILA3WO.mjs +14 -0
  86. package/dist/chunk-CGILA3WO.mjs.map +1 -0
  87. package/dist/chunk-CHFHNEMO.mjs +7088 -0
  88. package/dist/chunk-CHFHNEMO.mjs.map +1 -0
  89. package/dist/chunk-E2MPIBRE.mjs +149 -0
  90. package/dist/chunk-E2MPIBRE.mjs.map +1 -0
  91. package/dist/chunk-E6EPN5BT.mjs +203 -0
  92. package/dist/chunk-E6EPN5BT.mjs.map +1 -0
  93. package/dist/chunk-EVGBEZDF.mjs +215 -0
  94. package/dist/chunk-EVGBEZDF.mjs.map +1 -0
  95. package/dist/chunk-FQYDHKKU.mjs +128 -0
  96. package/dist/chunk-FQYDHKKU.mjs.map +1 -0
  97. package/dist/chunk-G3B5BRDY.mjs +5763 -0
  98. package/dist/chunk-G3B5BRDY.mjs.map +1 -0
  99. package/dist/chunk-GN72QAIH.mjs +146 -0
  100. package/dist/chunk-GN72QAIH.mjs.map +1 -0
  101. package/dist/chunk-GS6K5OCM.mjs +407 -0
  102. package/dist/chunk-GS6K5OCM.mjs.map +1 -0
  103. package/dist/chunk-GY2STC2S.mjs +180 -0
  104. package/dist/chunk-GY2STC2S.mjs.map +1 -0
  105. package/dist/chunk-GZP5W4K3.mjs +158 -0
  106. package/dist/chunk-GZP5W4K3.mjs.map +1 -0
  107. package/dist/chunk-H2FA2SBS.mjs +51 -0
  108. package/dist/chunk-H2FA2SBS.mjs.map +1 -0
  109. package/dist/chunk-HXP3ZSPC.mjs +211 -0
  110. package/dist/chunk-HXP3ZSPC.mjs.map +1 -0
  111. package/dist/chunk-ITN462YM.mjs +98 -0
  112. package/dist/chunk-ITN462YM.mjs.map +1 -0
  113. package/dist/chunk-J23HNLFY.mjs +72 -0
  114. package/dist/chunk-J23HNLFY.mjs.map +1 -0
  115. package/dist/chunk-J4FNJ5IU.mjs +179 -0
  116. package/dist/chunk-J4FNJ5IU.mjs.map +1 -0
  117. package/dist/chunk-JK25YEN6.mjs +219 -0
  118. package/dist/chunk-JK25YEN6.mjs.map +1 -0
  119. package/dist/chunk-JLWMCADZ.mjs +204 -0
  120. package/dist/chunk-JLWMCADZ.mjs.map +1 -0
  121. package/dist/chunk-JN3UU635.mjs +622 -0
  122. package/dist/chunk-JN3UU635.mjs.map +1 -0
  123. package/dist/chunk-K4667E2Q.mjs +1916 -0
  124. package/dist/chunk-K4667E2Q.mjs.map +1 -0
  125. package/dist/chunk-LGHEOHBU.mjs +218 -0
  126. package/dist/chunk-LGHEOHBU.mjs.map +1 -0
  127. package/dist/chunk-LLC7BNXW.mjs +275 -0
  128. package/dist/chunk-LLC7BNXW.mjs.map +1 -0
  129. package/dist/chunk-LM2YNO4U.mjs +24 -0
  130. package/dist/chunk-LM2YNO4U.mjs.map +1 -0
  131. package/dist/chunk-NNLCAVB6.mjs +391 -0
  132. package/dist/chunk-NNLCAVB6.mjs.map +1 -0
  133. package/dist/chunk-O3HADRW6.mjs +639 -0
  134. package/dist/chunk-O3HADRW6.mjs.map +1 -0
  135. package/dist/chunk-OYXO65LI.mjs +119 -0
  136. package/dist/chunk-OYXO65LI.mjs.map +1 -0
  137. package/dist/chunk-P7QDS5AT.mjs +191 -0
  138. package/dist/chunk-P7QDS5AT.mjs.map +1 -0
  139. package/dist/chunk-PRNYWD7K.mjs +599 -0
  140. package/dist/chunk-PRNYWD7K.mjs.map +1 -0
  141. package/dist/chunk-QF4PHCMA.mjs +422 -0
  142. package/dist/chunk-QF4PHCMA.mjs.map +1 -0
  143. package/dist/chunk-QFQRHRZS.mjs +1224 -0
  144. package/dist/chunk-QFQRHRZS.mjs.map +1 -0
  145. package/dist/chunk-QGOHVJ6J.mjs +63 -0
  146. package/dist/chunk-QGOHVJ6J.mjs.map +1 -0
  147. package/dist/chunk-QKVUNGAH.mjs +39 -0
  148. package/dist/chunk-QKVUNGAH.mjs.map +1 -0
  149. package/dist/chunk-QM6VV26B.mjs +149 -0
  150. package/dist/chunk-QM6VV26B.mjs.map +1 -0
  151. package/dist/chunk-RHIFZZUI.mjs +69 -0
  152. package/dist/chunk-RHIFZZUI.mjs.map +1 -0
  153. package/dist/chunk-RKI6TN3A.mjs +49 -0
  154. package/dist/chunk-RKI6TN3A.mjs.map +1 -0
  155. package/dist/chunk-RSKVYESE.mjs +187 -0
  156. package/dist/chunk-RSKVYESE.mjs.map +1 -0
  157. package/dist/chunk-S2XHZS7W.mjs +180 -0
  158. package/dist/chunk-S2XHZS7W.mjs.map +1 -0
  159. package/dist/chunk-SCFX4UTD.mjs +28 -0
  160. package/dist/chunk-SCFX4UTD.mjs.map +1 -0
  161. package/dist/chunk-SL6HTIOK.mjs +66 -0
  162. package/dist/chunk-SL6HTIOK.mjs.map +1 -0
  163. package/dist/chunk-SOU3Q3ZA.mjs +173 -0
  164. package/dist/chunk-SOU3Q3ZA.mjs.map +1 -0
  165. package/dist/chunk-SPBBQLXI.mjs +207 -0
  166. package/dist/chunk-SPBBQLXI.mjs.map +1 -0
  167. package/dist/chunk-SXZTEK3V.mjs +396 -0
  168. package/dist/chunk-SXZTEK3V.mjs.map +1 -0
  169. package/dist/chunk-T4QJQK76.mjs +459 -0
  170. package/dist/chunk-T4QJQK76.mjs.map +1 -0
  171. package/dist/chunk-TRORP7E4.mjs +41 -0
  172. package/dist/chunk-TRORP7E4.mjs.map +1 -0
  173. package/dist/chunk-TU4YJICB.mjs +728 -0
  174. package/dist/chunk-TU4YJICB.mjs.map +1 -0
  175. package/dist/chunk-TXCFGOHW.mjs +42 -0
  176. package/dist/chunk-TXCFGOHW.mjs.map +1 -0
  177. package/dist/chunk-UHE2TTLK.mjs +466 -0
  178. package/dist/chunk-UHE2TTLK.mjs.map +1 -0
  179. package/dist/chunk-UREJA4GZ.mjs +364 -0
  180. package/dist/chunk-UREJA4GZ.mjs.map +1 -0
  181. package/dist/chunk-USWZZUEH.mjs +25 -0
  182. package/dist/chunk-USWZZUEH.mjs.map +1 -0
  183. package/dist/chunk-UVCIEUJC.mjs +16 -0
  184. package/dist/chunk-UVCIEUJC.mjs.map +1 -0
  185. package/dist/chunk-V6WE6JSZ.mjs +352 -0
  186. package/dist/chunk-V6WE6JSZ.mjs.map +1 -0
  187. package/dist/chunk-V7RBCSDJ.mjs +170 -0
  188. package/dist/chunk-V7RBCSDJ.mjs.map +1 -0
  189. package/dist/chunk-VCANOYFI.mjs +588 -0
  190. package/dist/chunk-VCANOYFI.mjs.map +1 -0
  191. package/dist/chunk-WZ5QFROO.mjs +23 -0
  192. package/dist/chunk-WZ5QFROO.mjs.map +1 -0
  193. package/dist/chunk-Y2OJJD7R.mjs +543 -0
  194. package/dist/chunk-Y2OJJD7R.mjs.map +1 -0
  195. package/dist/chunk-Y7A27276.mjs +538 -0
  196. package/dist/chunk-Y7A27276.mjs.map +1 -0
  197. package/dist/chunk-YHU7SS6L.mjs +365 -0
  198. package/dist/chunk-YHU7SS6L.mjs.map +1 -0
  199. package/dist/chunk-ZBE6MLHL.mjs +230 -0
  200. package/dist/chunk-ZBE6MLHL.mjs.map +1 -0
  201. package/dist/chunk-ZJQNATYV.mjs +299 -0
  202. package/dist/chunk-ZJQNATYV.mjs.map +1 -0
  203. package/dist/client-D_yUjVhe.d.mts +402 -0
  204. package/dist/client-Dkc03WP8.d.ts +402 -0
  205. package/dist/client-cache-CIlyBlmx.d.ts +6 -0
  206. package/dist/client-cache-D-EZ7XVW.d.mts +6 -0
  207. package/dist/client-plugins-BZnpeTGA.d.ts +1848 -0
  208. package/dist/client-plugins-g4bzuCmo.d.mts +1848 -0
  209. package/dist/client-plugins.cjs +415 -0
  210. package/dist/client-plugins.cjs.map +1 -0
  211. package/dist/client-plugins.d.mts +21 -0
  212. package/dist/client-plugins.d.ts +21 -0
  213. package/dist/client-plugins.mjs +10 -0
  214. package/dist/client-plugins.mjs.map +1 -0
  215. package/dist/client.cjs +4571 -0
  216. package/dist/client.cjs.map +1 -0
  217. package/dist/client.d.mts +329 -0
  218. package/dist/client.d.ts +329 -0
  219. package/dist/client.mjs +103 -0
  220. package/dist/client.mjs.map +1 -0
  221. package/dist/config.cjs +38 -0
  222. package/dist/config.cjs.map +1 -0
  223. package/dist/config.d.mts +28 -0
  224. package/dist/config.d.ts +28 -0
  225. package/dist/config.mjs +10 -0
  226. package/dist/config.mjs.map +1 -0
  227. package/dist/cron.cjs +406 -0
  228. package/dist/cron.cjs.map +1 -0
  229. package/dist/cron.d.mts +78 -0
  230. package/dist/cron.d.ts +78 -0
  231. package/dist/cron.mjs +30 -0
  232. package/dist/cron.mjs.map +1 -0
  233. package/dist/deferred.cjs +438 -0
  234. package/dist/deferred.cjs.map +1 -0
  235. package/dist/deferred.d.mts +42 -0
  236. package/dist/deferred.d.ts +42 -0
  237. package/dist/deferred.mjs +28 -0
  238. package/dist/deferred.mjs.map +1 -0
  239. package/dist/deployment.cjs +199 -0
  240. package/dist/deployment.cjs.map +1 -0
  241. package/dist/deployment.d.mts +34 -0
  242. package/dist/deployment.d.ts +34 -0
  243. package/dist/deployment.mjs +38 -0
  244. package/dist/deployment.mjs.map +1 -0
  245. package/dist/devtools-AE4RVXCM.mjs +370 -0
  246. package/dist/devtools-AE4RVXCM.mjs.map +1 -0
  247. package/dist/devtools-client-6WPY2AQU.mjs +225 -0
  248. package/dist/devtools-client-6WPY2AQU.mjs.map +1 -0
  249. package/dist/devtools-ui-NJKFORTG.mjs +1349 -0
  250. package/dist/devtools-ui-NJKFORTG.mjs.map +1 -0
  251. package/dist/docs.cjs +5541 -0
  252. package/dist/docs.cjs.map +1 -0
  253. package/dist/docs.d.mts +69 -0
  254. package/dist/docs.d.ts +69 -0
  255. package/dist/docs.mjs +46 -0
  256. package/dist/docs.mjs.map +1 -0
  257. package/dist/env-types.cjs +223 -0
  258. package/dist/env-types.cjs.map +1 -0
  259. package/dist/env-types.d.mts +11 -0
  260. package/dist/env-types.d.ts +11 -0
  261. package/dist/env-types.mjs +9 -0
  262. package/dist/env-types.mjs.map +1 -0
  263. package/dist/env.cjs +215 -0
  264. package/dist/env.cjs.map +1 -0
  265. package/dist/env.d.mts +45 -0
  266. package/dist/env.d.ts +45 -0
  267. package/dist/env.mjs +22 -0
  268. package/dist/env.mjs.map +1 -0
  269. package/dist/environment/vite.cjs +374 -0
  270. package/dist/environment/vite.cjs.map +1 -0
  271. package/dist/environment/vite.d.mts +22 -0
  272. package/dist/environment/vite.d.ts +22 -0
  273. package/dist/environment/vite.mjs +10 -0
  274. package/dist/environment/vite.mjs.map +1 -0
  275. package/dist/environment.cjs +96 -0
  276. package/dist/environment.cjs.map +1 -0
  277. package/dist/environment.d.mts +18 -0
  278. package/dist/environment.d.ts +18 -0
  279. package/dist/environment.mjs +14 -0
  280. package/dist/environment.mjs.map +1 -0
  281. package/dist/headers.cjs +126 -0
  282. package/dist/headers.cjs.map +1 -0
  283. package/dist/headers.d.mts +22 -0
  284. package/dist/headers.d.ts +22 -0
  285. package/dist/headers.mjs +12 -0
  286. package/dist/headers.mjs.map +1 -0
  287. package/dist/i18n/client.cjs +283 -0
  288. package/dist/i18n/client.cjs.map +1 -0
  289. package/dist/i18n/client.d.mts +32 -0
  290. package/dist/i18n/client.d.ts +32 -0
  291. package/dist/i18n/client.mjs +121 -0
  292. package/dist/i18n/client.mjs.map +1 -0
  293. package/dist/i18n/index.cjs +130 -0
  294. package/dist/i18n/index.cjs.map +1 -0
  295. package/dist/i18n/index.d.mts +20 -0
  296. package/dist/i18n/index.d.ts +20 -0
  297. package/dist/i18n/index.mjs +22 -0
  298. package/dist/i18n/index.mjs.map +1 -0
  299. package/dist/i18n/server.cjs +637 -0
  300. package/dist/i18n/server.cjs.map +1 -0
  301. package/dist/i18n/server.d.mts +30 -0
  302. package/dist/i18n/server.d.ts +30 -0
  303. package/dist/i18n/server.mjs +32 -0
  304. package/dist/i18n/server.mjs.map +1 -0
  305. package/dist/image/server.cjs +477 -0
  306. package/dist/image/server.cjs.map +1 -0
  307. package/dist/image/server.d.mts +37 -0
  308. package/dist/image/server.d.ts +37 -0
  309. package/dist/image/server.mjs +16 -0
  310. package/dist/image/server.mjs.map +1 -0
  311. package/dist/image/sharp.cjs +135 -0
  312. package/dist/image/sharp.cjs.map +1 -0
  313. package/dist/image/sharp.d.mts +7 -0
  314. package/dist/image/sharp.d.ts +7 -0
  315. package/dist/image/sharp.mjs +75 -0
  316. package/dist/image/sharp.mjs.map +1 -0
  317. package/dist/image-config-Duob7wER.d.mts +50 -0
  318. package/dist/image-config-Duob7wER.d.ts +50 -0
  319. package/dist/image.cjs +209 -0
  320. package/dist/image.cjs.map +1 -0
  321. package/dist/image.d.mts +39 -0
  322. package/dist/image.d.ts +39 -0
  323. package/dist/image.mjs +165 -0
  324. package/dist/image.mjs.map +1 -0
  325. package/dist/index.cjs +39433 -0
  326. package/dist/index.cjs.map +1 -0
  327. package/dist/index.d.mts +451 -0
  328. package/dist/index.d.ts +451 -0
  329. package/dist/index.mjs +930 -0
  330. package/dist/index.mjs.map +1 -0
  331. package/dist/integration-api-CHT2OKAf.d.mts +93 -0
  332. package/dist/integration-api-CHT2OKAf.d.ts +93 -0
  333. package/dist/integration-orm-GQLGU66X.mjs +13 -0
  334. package/dist/integration-orm-GQLGU66X.mjs.map +1 -0
  335. package/dist/integrations.cjs +2820 -0
  336. package/dist/integrations.cjs.map +1 -0
  337. package/dist/integrations.d.mts +21 -0
  338. package/dist/integrations.d.ts +21 -0
  339. package/dist/integrations.mjs +51 -0
  340. package/dist/integrations.mjs.map +1 -0
  341. package/dist/internal/build-runtime.cjs +31340 -0
  342. package/dist/internal/build-runtime.cjs.map +1 -0
  343. package/dist/internal/build-runtime.d.mts +38 -0
  344. package/dist/internal/build-runtime.d.ts +38 -0
  345. package/dist/internal/build-runtime.mjs +73 -0
  346. package/dist/internal/build-runtime.mjs.map +1 -0
  347. package/dist/internal/client-runtime.cjs +579 -0
  348. package/dist/internal/client-runtime.cjs.map +1 -0
  349. package/dist/internal/client-runtime.d.mts +2 -0
  350. package/dist/internal/client-runtime.d.ts +2 -0
  351. package/dist/internal/client-runtime.mjs +12 -0
  352. package/dist/internal/client-runtime.mjs.map +1 -0
  353. package/dist/internal/config-runtime.cjs +4172 -0
  354. package/dist/internal/config-runtime.cjs.map +1 -0
  355. package/dist/internal/config-runtime.d.mts +38 -0
  356. package/dist/internal/config-runtime.d.ts +38 -0
  357. package/dist/internal/config-runtime.mjs +38 -0
  358. package/dist/internal/config-runtime.mjs.map +1 -0
  359. package/dist/internal/production-node-env.cjs +65 -0
  360. package/dist/internal/production-node-env.cjs.map +1 -0
  361. package/dist/internal/production-node-env.d.mts +12 -0
  362. package/dist/internal/production-node-env.d.ts +12 -0
  363. package/dist/internal/production-node-env.mjs +8 -0
  364. package/dist/internal/production-node-env.mjs.map +1 -0
  365. package/dist/internal/production-runtime.cjs +1896 -0
  366. package/dist/internal/production-runtime.cjs.map +1 -0
  367. package/dist/internal/production-runtime.d.mts +39 -0
  368. package/dist/internal/production-runtime.d.ts +39 -0
  369. package/dist/internal/production-runtime.mjs +79 -0
  370. package/dist/internal/production-runtime.mjs.map +1 -0
  371. package/dist/layers-VWVDTPUZ.mjs +16 -0
  372. package/dist/layers-VWVDTPUZ.mjs.map +1 -0
  373. package/dist/manager-THKFTOFE.mjs +10 -0
  374. package/dist/manager-THKFTOFE.mjs.map +1 -0
  375. package/dist/markdown.cjs +299 -0
  376. package/dist/markdown.cjs.map +1 -0
  377. package/dist/markdown.d.mts +43 -0
  378. package/dist/markdown.d.ts +43 -0
  379. package/dist/markdown.mjs +14 -0
  380. package/dist/markdown.mjs.map +1 -0
  381. package/dist/metadata-C9NZxMDW.d.mts +22 -0
  382. package/dist/metadata-DAXRaOHx.d.ts +22 -0
  383. package/dist/middleware.cjs +2148 -0
  384. package/dist/middleware.cjs.map +1 -0
  385. package/dist/middleware.d.mts +163 -0
  386. package/dist/middleware.d.ts +163 -0
  387. package/dist/middleware.mjs +49 -0
  388. package/dist/middleware.mjs.map +1 -0
  389. package/dist/navigation-errors-Dvwpzaer.d.mts +13 -0
  390. package/dist/navigation-errors-Dvwpzaer.d.ts +13 -0
  391. package/dist/navigation.cjs +1304 -0
  392. package/dist/navigation.cjs.map +1 -0
  393. package/dist/navigation.d.mts +14 -0
  394. package/dist/navigation.d.ts +14 -0
  395. package/dist/navigation.mjs +33 -0
  396. package/dist/navigation.mjs.map +1 -0
  397. package/dist/nitro-KME62MWG.mjs +691 -0
  398. package/dist/nitro-KME62MWG.mjs.map +1 -0
  399. package/dist/observability.cjs +186 -0
  400. package/dist/observability.cjs.map +1 -0
  401. package/dist/observability.d.mts +335 -0
  402. package/dist/observability.d.ts +335 -0
  403. package/dist/observability.mjs +16 -0
  404. package/dist/observability.mjs.map +1 -0
  405. package/dist/params-BALtrRim.d.ts +15 -0
  406. package/dist/params-ry-lxqmy.d.mts +15 -0
  407. package/dist/plugin-BJDf43dc.d.mts +165 -0
  408. package/dist/plugin-BJDf43dc.d.ts +165 -0
  409. package/dist/plugin.cjs +22285 -0
  410. package/dist/plugin.cjs.map +1 -0
  411. package/dist/plugin.d.mts +21 -0
  412. package/dist/plugin.d.ts +21 -0
  413. package/dist/plugin.mjs +60 -0
  414. package/dist/plugin.mjs.map +1 -0
  415. package/dist/production-runtime-C_B79w2P.d.mts +28 -0
  416. package/dist/production-runtime-DDEM1D2q.d.ts +28 -0
  417. package/dist/production-runtime-DRkCHUvJ.d.ts +79 -0
  418. package/dist/production-runtime-flrjp_nC.d.mts +79 -0
  419. package/dist/query/client.cjs +560 -0
  420. package/dist/query/client.cjs.map +1 -0
  421. package/dist/query/client.d.mts +61 -0
  422. package/dist/query/client.d.ts +61 -0
  423. package/dist/query/client.mjs +364 -0
  424. package/dist/query/client.mjs.map +1 -0
  425. package/dist/query/index.cjs +226 -0
  426. package/dist/query/index.cjs.map +1 -0
  427. package/dist/query/index.d.mts +90 -0
  428. package/dist/query/index.d.ts +90 -0
  429. package/dist/query/index.mjs +31 -0
  430. package/dist/query/index.mjs.map +1 -0
  431. package/dist/query/parsers.cjs +178 -0
  432. package/dist/query/parsers.cjs.map +1 -0
  433. package/dist/query/parsers.d.mts +25 -0
  434. package/dist/query/parsers.d.ts +25 -0
  435. package/dist/query/parsers.mjs +24 -0
  436. package/dist/query/parsers.mjs.map +1 -0
  437. package/dist/query/server.cjs +301 -0
  438. package/dist/query/server.cjs.map +1 -0
  439. package/dist/query/server.d.mts +55 -0
  440. package/dist/query/server.d.ts +55 -0
  441. package/dist/query/server.mjs +105 -0
  442. package/dist/query/server.mjs.map +1 -0
  443. package/dist/request-BrFBuc8G.d.mts +6 -0
  444. package/dist/request-BslSZIRz.d.ts +6 -0
  445. package/dist/request.cjs +71 -0
  446. package/dist/request.cjs.map +1 -0
  447. package/dist/request.d.mts +2 -0
  448. package/dist/request.d.ts +2 -0
  449. package/dist/request.mjs +9 -0
  450. package/dist/request.mjs.map +1 -0
  451. package/dist/resolver-C6iecsDV.d.ts +14 -0
  452. package/dist/resolver-DlOPpjkB.d.mts +14 -0
  453. package/dist/route-runtime-DoOHzCAD.d.mts +38 -0
  454. package/dist/route-runtime-DoOHzCAD.d.ts +38 -0
  455. package/dist/router.cjs +254 -0
  456. package/dist/router.cjs.map +1 -0
  457. package/dist/router.d.mts +36 -0
  458. package/dist/router.d.ts +36 -0
  459. package/dist/router.mjs +14 -0
  460. package/dist/router.mjs.map +1 -0
  461. package/dist/routes.cjs +1213 -0
  462. package/dist/routes.cjs.map +1 -0
  463. package/dist/routes.d.mts +224 -0
  464. package/dist/routes.d.ts +224 -0
  465. package/dist/routes.mjs +52 -0
  466. package/dist/routes.mjs.map +1 -0
  467. package/dist/runtime-B6GvwDS1.d.ts +27 -0
  468. package/dist/runtime-DeAAZ6gO.d.mts +27 -0
  469. package/dist/search-client-6OXIBNYQ.mjs +14 -0
  470. package/dist/search-client-6OXIBNYQ.mjs.map +1 -0
  471. package/dist/server-action-security.cjs +492 -0
  472. package/dist/server-action-security.cjs.map +1 -0
  473. package/dist/server-action-security.d.mts +42 -0
  474. package/dist/server-action-security.d.ts +42 -0
  475. package/dist/server-action-security.mjs +29 -0
  476. package/dist/server-action-security.mjs.map +1 -0
  477. package/dist/server-fn-client.cjs +180 -0
  478. package/dist/server-fn-client.cjs.map +1 -0
  479. package/dist/server-fn-client.d.mts +31 -0
  480. package/dist/server-fn-client.d.ts +31 -0
  481. package/dist/server-fn-client.mjs +9 -0
  482. package/dist/server-fn-client.mjs.map +1 -0
  483. package/dist/server-fn.cjs +284 -0
  484. package/dist/server-fn.cjs.map +1 -0
  485. package/dist/server-fn.d.mts +84 -0
  486. package/dist/server-fn.d.ts +84 -0
  487. package/dist/server-fn.mjs +17 -0
  488. package/dist/server-fn.mjs.map +1 -0
  489. package/dist/server-plugins.cjs +235 -0
  490. package/dist/server-plugins.cjs.map +1 -0
  491. package/dist/server-plugins.d.mts +54 -0
  492. package/dist/server-plugins.d.ts +54 -0
  493. package/dist/server-plugins.mjs +18 -0
  494. package/dist/server-plugins.mjs.map +1 -0
  495. package/dist/server-query-client.cjs +792 -0
  496. package/dist/server-query-client.cjs.map +1 -0
  497. package/dist/server-query-client.d.mts +50 -0
  498. package/dist/server-query-client.d.ts +50 -0
  499. package/dist/server-query-client.mjs +23 -0
  500. package/dist/server-query-client.mjs.map +1 -0
  501. package/dist/server-query.cjs +804 -0
  502. package/dist/server-query.cjs.map +1 -0
  503. package/dist/server-query.d.mts +36 -0
  504. package/dist/server-query.d.ts +36 -0
  505. package/dist/server-query.mjs +18 -0
  506. package/dist/server-query.mjs.map +1 -0
  507. package/dist/server.cjs +25739 -0
  508. package/dist/server.cjs.map +1 -0
  509. package/dist/server.d.mts +47 -0
  510. package/dist/server.d.ts +47 -0
  511. package/dist/server.mjs +511 -0
  512. package/dist/server.mjs.map +1 -0
  513. package/dist/storage.cjs +515 -0
  514. package/dist/storage.cjs.map +1 -0
  515. package/dist/storage.d.mts +52 -0
  516. package/dist/storage.d.ts +52 -0
  517. package/dist/storage.mjs +58 -0
  518. package/dist/storage.mjs.map +1 -0
  519. package/dist/testing.cjs +1882 -0
  520. package/dist/testing.cjs.map +1 -0
  521. package/dist/testing.d.mts +100 -0
  522. package/dist/testing.d.ts +100 -0
  523. package/dist/testing.mjs +324 -0
  524. package/dist/testing.mjs.map +1 -0
  525. package/dist/types-BH1lhg5G.d.mts +81 -0
  526. package/dist/types-BH1lhg5G.d.ts +81 -0
  527. package/dist/types-C9N-nk5R.d.mts +53 -0
  528. package/dist/types-C9N-nk5R.d.ts +53 -0
  529. package/dist/types-D1A6-XvH.d.mts +73 -0
  530. package/dist/types-D1A6-XvH.d.ts +73 -0
  531. package/dist/utils-DA1yo54_.d.ts +23 -0
  532. package/dist/utils-DOXXivjL.d.mts +23 -0
  533. package/dist/vite.cjs +22684 -0
  534. package/dist/vite.cjs.map +1 -0
  535. package/dist/vite.d.mts +21 -0
  536. package/dist/vite.d.ts +21 -0
  537. package/dist/vite.mjs +59 -0
  538. package/dist/vite.mjs.map +1 -0
  539. package/dist/workflows.cjs +586 -0
  540. package/dist/workflows.cjs.map +1 -0
  541. package/dist/workflows.d.mts +110 -0
  542. package/dist/workflows.d.ts +110 -0
  543. package/dist/workflows.mjs +32 -0
  544. package/dist/workflows.mjs.map +1 -0
  545. package/package.json +523 -0
  546. package/types/api.d.ts +88 -0
  547. package/types/client.d.ts +1171 -0
  548. package/types/index.d.ts +17 -0
  549. package/types/middleware.d.ts +266 -0
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/query/index.ts
22
+ var query_exports = {};
23
+ __export(query_exports, {
24
+ asArrayOf: () => asArrayOf,
25
+ asBoolean: () => asBoolean,
26
+ asFloat: () => asFloat,
27
+ asInteger: () => asInteger,
28
+ asIsoDate: () => asIsoDate,
29
+ asIsoDateTime: () => asIsoDateTime,
30
+ asJson: () => asJson,
31
+ asString: () => asString,
32
+ createParser: () => createParser,
33
+ loadRouteParams: () => loadRouteParams,
34
+ parseRouteParams: () => parseRouteParams
35
+ });
36
+ module.exports = __toCommonJS(query_exports);
37
+
38
+ // src/query/parsers.ts
39
+ var asString = {
40
+ parse: /* @__PURE__ */ __name((value) => value && value.trim() || null, "parse"),
41
+ serialize: /* @__PURE__ */ __name((value) => value, "serialize"),
42
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
43
+ parse: /* @__PURE__ */ __name((value) => value && value.trim() || defaultValue, "parse"),
44
+ serialize: /* @__PURE__ */ __name((value) => value || defaultValue, "serialize")
45
+ }), "withDefault")
46
+ };
47
+ var asInteger = {
48
+ parse: /* @__PURE__ */ __name((value) => {
49
+ const parsed = Number.parseInt(value, 10);
50
+ return isNaN(parsed) ? null : parsed;
51
+ }, "parse"),
52
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize"),
53
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
54
+ parse: /* @__PURE__ */ __name((value) => {
55
+ const parsed = Number.parseInt(value, 10);
56
+ return isNaN(parsed) ? defaultValue : parsed;
57
+ }, "parse"),
58
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize")
59
+ }), "withDefault")
60
+ };
61
+ var asFloat = {
62
+ parse: /* @__PURE__ */ __name((value) => {
63
+ const parsed = Number.parseFloat(value);
64
+ return isNaN(parsed) ? null : parsed;
65
+ }, "parse"),
66
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize"),
67
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
68
+ parse: /* @__PURE__ */ __name((value) => {
69
+ const parsed = Number.parseFloat(value);
70
+ return isNaN(parsed) ? defaultValue : parsed;
71
+ }, "parse"),
72
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize")
73
+ }), "withDefault")
74
+ };
75
+ var asBoolean = {
76
+ parse: /* @__PURE__ */ __name((value) => {
77
+ if (value === "true") return true;
78
+ if (value === "false") return false;
79
+ return null;
80
+ }, "parse"),
81
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize"),
82
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
83
+ parse: /* @__PURE__ */ __name((value) => {
84
+ if (value === "true") return true;
85
+ if (value === "false") return false;
86
+ return defaultValue;
87
+ }, "parse"),
88
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize")
89
+ }), "withDefault")
90
+ };
91
+ function asArrayOf(itemParser) {
92
+ return {
93
+ parse: /* @__PURE__ */ __name((value) => {
94
+ if (!value) return null;
95
+ return value.split(",").filter(Boolean).map((item) => itemParser.parse(item.trim())).filter((item) => item !== null);
96
+ }, "parse"),
97
+ serialize: /* @__PURE__ */ __name((value) => value.map((item) => itemParser.serialize(item)).join(","), "serialize"),
98
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
99
+ parse: /* @__PURE__ */ __name((value) => {
100
+ if (!value) return defaultValue;
101
+ return value.split(",").filter(Boolean).map((item) => itemParser.parse(item.trim())).filter((item) => item !== null);
102
+ }, "parse"),
103
+ serialize: /* @__PURE__ */ __name((value) => value.map((item) => itemParser.serialize(item)).join(","), "serialize")
104
+ }), "withDefault")
105
+ };
106
+ }
107
+ __name(asArrayOf, "asArrayOf");
108
+ function asJson() {
109
+ return {
110
+ parse: /* @__PURE__ */ __name((value) => {
111
+ try {
112
+ return JSON.parse(value);
113
+ } catch {
114
+ return null;
115
+ }
116
+ }, "parse"),
117
+ serialize: /* @__PURE__ */ __name((value) => JSON.stringify(value), "serialize"),
118
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
119
+ parse: /* @__PURE__ */ __name((value) => {
120
+ try {
121
+ return JSON.parse(value);
122
+ } catch {
123
+ return defaultValue;
124
+ }
125
+ }, "parse"),
126
+ serialize: /* @__PURE__ */ __name((value) => JSON.stringify(value), "serialize")
127
+ }), "withDefault")
128
+ };
129
+ }
130
+ __name(asJson, "asJson");
131
+ var asIsoDate = {
132
+ parse: /* @__PURE__ */ __name((value) => {
133
+ const date = new Date(value);
134
+ return isNaN(date.getTime()) ? null : date;
135
+ }, "parse"),
136
+ serialize: /* @__PURE__ */ __name((value) => value.toISOString(), "serialize"),
137
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
138
+ parse: /* @__PURE__ */ __name((value) => {
139
+ const date = new Date(value);
140
+ return isNaN(date.getTime()) ? defaultValue : date;
141
+ }, "parse"),
142
+ serialize: /* @__PURE__ */ __name((value) => value.toISOString(), "serialize")
143
+ }), "withDefault")
144
+ };
145
+ var asIsoDateTime = {
146
+ parse: /* @__PURE__ */ __name((value) => {
147
+ const date = new Date(value);
148
+ return isNaN(date.getTime()) ? null : date;
149
+ }, "parse"),
150
+ serialize: /* @__PURE__ */ __name((value) => value.toISOString(), "serialize"),
151
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
152
+ parse: /* @__PURE__ */ __name((value) => {
153
+ const date = new Date(value);
154
+ return isNaN(date.getTime()) ? defaultValue : date;
155
+ }, "parse"),
156
+ serialize: /* @__PURE__ */ __name((value) => value.toISOString(), "serialize")
157
+ }), "withDefault")
158
+ };
159
+ function createParser(config) {
160
+ return {
161
+ parse: config.parse,
162
+ serialize: config.serialize,
163
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
164
+ parse: /* @__PURE__ */ __name((value) => config.parse(value) ?? defaultValue, "parse"),
165
+ serialize: config.serialize
166
+ }), "withDefault")
167
+ };
168
+ }
169
+ __name(createParser, "createParser");
170
+
171
+ // src/query/params.ts
172
+ function normalizeParams(input) {
173
+ if (input instanceof URLSearchParams) {
174
+ const params = {};
175
+ input.forEach((value, key) => {
176
+ params[key] = value;
177
+ });
178
+ return params;
179
+ }
180
+ return input;
181
+ }
182
+ __name(normalizeParams, "normalizeParams");
183
+ async function loadRouteParams(input, parsers, options = {}) {
184
+ const resolved = await Promise.resolve(input);
185
+ const params = normalizeParams(resolved);
186
+ const result = {};
187
+ for (const [key, parser] of Object.entries(parsers)) {
188
+ const raw = params[key] ?? "";
189
+ const parsed = parser.parse(raw);
190
+ if (parsed === null && options.strict) {
191
+ throw new Error(`Failed to parse route param "${key}" with value "${raw}"`);
192
+ }
193
+ result[key] = parsed;
194
+ }
195
+ return result;
196
+ }
197
+ __name(loadRouteParams, "loadRouteParams");
198
+ function parseRouteParams(input, parsers, options = {}) {
199
+ const params = normalizeParams(input);
200
+ const result = {};
201
+ for (const [key, parser] of Object.entries(parsers)) {
202
+ const raw = params[key] ?? "";
203
+ const parsed = parser.parse(raw);
204
+ if (parsed === null && options.strict) {
205
+ throw new Error(`Failed to parse route param "${key}" with value "${raw}"`);
206
+ }
207
+ result[key] = parsed;
208
+ }
209
+ return result;
210
+ }
211
+ __name(parseRouteParams, "parseRouteParams");
212
+ // Annotate the CommonJS export names for ESM import in node:
213
+ 0 && (module.exports = {
214
+ asArrayOf,
215
+ asBoolean,
216
+ asFloat,
217
+ asInteger,
218
+ asIsoDate,
219
+ asIsoDateTime,
220
+ asJson,
221
+ asString,
222
+ createParser,
223
+ loadRouteParams,
224
+ parseRouteParams
225
+ });
226
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/query/index.ts","../../src/query/parsers.ts","../../src/query/params.ts"],"sourcesContent":["/**\n * Farm.js Query State Management\n *\n * Type-safe URL search parameter state management\n * Provides useState-like API for managing URL query parameters\n *\n * This module exports shared parsers and types that can be used in both client and server contexts.\n * For client-specific hooks, use 'farm/query/client'\n * For server-specific utilities, use 'farm/query/server'\n */\n\n// Re-export shared parsers that work in both client and server\nexport {\n asString,\n asInteger,\n asFloat,\n asBoolean,\n asArrayOf,\n asJson,\n asIsoDate,\n asIsoDateTime,\n createParser,\n type Parser,\n type inferParserType,\n} from \"./parsers\";\nexport { parseRouteParams, loadRouteParams, type RouteParamsInput } from \"./params\";\n\n// Re-export types\nexport type {\n PagePropsSafe,\n LayoutPropsSafe,\n QueryStateConfig,\n FarmQueryStateContext,\n QueryStateProvider,\n} from \"./types\";\n","/**\n * Farm.js Query State Parsers\n *\n * Shared parsers that can be used in both client and server contexts\n */\n\nexport interface Parser<T> {\n parse: (value: string) => T | null;\n serialize: (value: T) => string;\n withDefault?: (defaultValue: T) => Parser<T>;\n}\n\n// String parser\nexport const asString: Parser<string> = {\n parse: (value: string) => (value && value.trim()) || null,\n serialize: (value: string) => value,\n withDefault: (defaultValue: string) => ({\n parse: (value: string) => (value && value.trim()) || defaultValue,\n serialize: (value: string) => value || defaultValue,\n }),\n};\n\n// Integer parser\nexport const asInteger: Parser<number> = {\n parse: (value: string) => {\n const parsed = Number.parseInt(value, 10);\n return isNaN(parsed) ? null : parsed;\n },\n serialize: (value: number) => value.toString(),\n withDefault: (defaultValue: number) => ({\n parse: (value: string) => {\n const parsed = Number.parseInt(value, 10);\n return isNaN(parsed) ? defaultValue : parsed;\n },\n serialize: (value: number) => value.toString(),\n }),\n};\n\n// Float parser\nexport const asFloat: Parser<number> = {\n parse: (value: string) => {\n const parsed = Number.parseFloat(value);\n return isNaN(parsed) ? null : parsed;\n },\n serialize: (value: number) => value.toString(),\n withDefault: (defaultValue: number) => ({\n parse: (value: string) => {\n const parsed = Number.parseFloat(value);\n return isNaN(parsed) ? defaultValue : parsed;\n },\n serialize: (value: number) => value.toString(),\n }),\n};\n\n// Boolean parser\nexport const asBoolean: Parser<boolean> = {\n parse: (value: string) => {\n if (value === \"true\") return true;\n if (value === \"false\") return false;\n return null;\n },\n serialize: (value: boolean) => value.toString(),\n withDefault: (defaultValue: boolean) => ({\n parse: (value: string) => {\n if (value === \"true\") return true;\n if (value === \"false\") return false;\n return defaultValue;\n },\n serialize: (value: boolean) => value.toString(),\n }),\n};\n\n// Array parser\nexport function asArrayOf<T>(itemParser: Parser<T>): Parser<T[]> {\n return {\n parse: (value: string) => {\n if (!value) return null;\n return value\n .split(\",\")\n .filter(Boolean)\n .map((item) => itemParser.parse(item.trim()))\n .filter((item) => item !== null) as T[];\n },\n serialize: (value: T[]) => value.map((item) => itemParser.serialize(item)).join(\",\"),\n withDefault: (defaultValue: T[]) => ({\n parse: (value: string) => {\n if (!value) return defaultValue;\n return value\n .split(\",\")\n .filter(Boolean)\n .map((item) => itemParser.parse(item.trim()))\n .filter((item) => item !== null) as T[];\n },\n serialize: (value: T[]) => value.map((item) => itemParser.serialize(item)).join(\",\"),\n }),\n };\n}\n\n// JSON parser\nexport function asJson<T>(): Parser<T> {\n return {\n parse: (value: string) => {\n try {\n return JSON.parse(value);\n } catch {\n return null;\n }\n },\n serialize: (value: T) => JSON.stringify(value),\n withDefault: (defaultValue: T) => ({\n parse: (value: string) => {\n try {\n return JSON.parse(value);\n } catch {\n return defaultValue;\n }\n },\n serialize: (value: T) => JSON.stringify(value),\n }),\n };\n}\n\n// ISO Date parser\nexport const asIsoDate: Parser<Date> = {\n parse: (value: string) => {\n const date = new Date(value);\n return isNaN(date.getTime()) ? null : date;\n },\n serialize: (value: Date) => value.toISOString(),\n withDefault: (defaultValue: Date) => ({\n parse: (value: string) => {\n const date = new Date(value);\n return isNaN(date.getTime()) ? defaultValue : date;\n },\n serialize: (value: Date) => value.toISOString(),\n }),\n};\n\n// ISO DateTime parser\nexport const asIsoDateTime: Parser<Date> = {\n parse: (value: string) => {\n const date = new Date(value);\n return isNaN(date.getTime()) ? null : date;\n },\n serialize: (value: Date) => value.toISOString(),\n withDefault: (defaultValue: Date) => ({\n parse: (value: string) => {\n const date = new Date(value);\n return isNaN(date.getTime()) ? defaultValue : date;\n },\n serialize: (value: Date) => value.toISOString(),\n }),\n};\n\n// Custom parser creator\nexport function createParser<T>(config: {\n parse: (value: string) => T | null;\n serialize: (value: T) => string;\n}): Parser<T> {\n return {\n parse: config.parse,\n serialize: config.serialize,\n withDefault: (defaultValue: T) => ({\n parse: (value: string) => config.parse(value) ?? defaultValue,\n serialize: config.serialize,\n }),\n };\n}\n\n// Type inference helper\nexport type inferParserType<T> = T extends Parser<infer U> ? U : never;\n","import type { Parser } from \"./parsers\";\n\nexport type RouteParamsInput =\n | Record<string, string | undefined>\n | URLSearchParams\n | Promise<Record<string, string | undefined> | URLSearchParams>;\n\nfunction normalizeParams(input: Record<string, string | undefined> | URLSearchParams) {\n if (input instanceof URLSearchParams) {\n const params: Record<string, string | undefined> = {};\n input.forEach((value, key) => {\n params[key] = value;\n });\n return params;\n }\n return input;\n}\n\nexport async function loadRouteParams<T extends Record<string, Parser<any>>>(\n input: RouteParamsInput,\n parsers: T,\n options: { strict?: boolean } = {},\n): Promise<{ [K in keyof T]: ReturnType<T[K][\"parse\"]> }> {\n const resolved = await Promise.resolve(input);\n const params = normalizeParams(resolved);\n const result = {} as { [K in keyof T]: ReturnType<T[K][\"parse\"]> };\n\n for (const [key, parser] of Object.entries(parsers)) {\n const raw = params[key] ?? \"\";\n const parsed = parser.parse(raw);\n if (parsed === null && options.strict) {\n throw new Error(`Failed to parse route param \"${key}\" with value \"${raw}\"`);\n }\n result[key as keyof T] = parsed as ReturnType<T[typeof key][\"parse\"]>;\n }\n\n return result;\n}\n\nexport function parseRouteParams<T extends Record<string, Parser<any>>>(\n input: Record<string, string | undefined> | URLSearchParams,\n parsers: T,\n options: { strict?: boolean } = {},\n): { [K in keyof T]: ReturnType<T[K][\"parse\"]> } {\n const params = normalizeParams(input);\n const result = {} as { [K in keyof T]: ReturnType<T[K][\"parse\"]> };\n\n for (const [key, parser] of Object.entries(parsers)) {\n const raw = params[key] ?? \"\";\n const parsed = parser.parse(raw);\n if (parsed === null && options.strict) {\n throw new Error(`Failed to parse route param \"${key}\" with value \"${raw}\"`);\n }\n result[key as keyof T] = parsed as ReturnType<T[typeof key][\"parse\"]>;\n }\n\n return result;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,90 @@
1
+ export { Parser, asArrayOf, asBoolean, asFloat, asInteger, asIsoDate, asIsoDateTime, asJson, asString, createParser, inferParserType } from './parsers.mjs';
2
+ export { R as RouteParamsInput, l as loadRouteParams, p as parseRouteParams } from '../params-ry-lxqmy.mjs';
3
+ import { ReactNode, ComponentType } from 'react';
4
+
5
+ /**
6
+ * Farm.js Query State Types
7
+ */
8
+
9
+ /**
10
+ * Props for Farm.js page components with search params
11
+ */
12
+ /**
13
+ * Props for Farm.js layout components
14
+ */
15
+ interface LayoutPropsSafe {
16
+ children: ReactNode;
17
+ params: Record<string, string>;
18
+ }
19
+ interface PagePropsSafe {
20
+ params: Record<string, string>;
21
+ searchParams: Promise<URLSearchParams | Record<string, string | string[] | undefined>>;
22
+ }
23
+ /**
24
+ * Query state configuration for Farm.js
25
+ */
26
+ interface QueryStateConfig {
27
+ /**
28
+ * Default history method for URL updates
29
+ * @default 'push'
30
+ */
31
+ defaultHistoryMethod?: "push" | "replace";
32
+ /**
33
+ * Default shallow routing behavior
34
+ * @default true
35
+ */
36
+ shallow?: boolean;
37
+ /**
38
+ * Default scroll behavior
39
+ * @default true
40
+ */
41
+ scroll?: boolean;
42
+ /**
43
+ * Custom serialization options
44
+ */
45
+ serialization?: {
46
+ /**
47
+ * Custom URL key mappings
48
+ */
49
+ urlKeys?: Record<string, string>;
50
+ /**
51
+ * Custom base URL for serialization
52
+ */
53
+ baseUrl?: string;
54
+ };
55
+ }
56
+ /**
57
+ * Farm.js specific query state context
58
+ */
59
+ interface FarmQueryStateContext {
60
+ /**
61
+ * Current search parameters
62
+ */
63
+ searchParams: URLSearchParams;
64
+ /**
65
+ * Current pathname
66
+ */
67
+ pathname: string;
68
+ /**
69
+ * Update URL with new search parameters
70
+ */
71
+ updateUrl: (params: Record<string, any>, options?: {
72
+ method?: "push" | "replace";
73
+ shallow?: boolean;
74
+ scroll?: boolean;
75
+ }) => void;
76
+ /**
77
+ * Clear all search parameters
78
+ */
79
+ clearParams: () => void;
80
+ }
81
+ /**
82
+ * Higher-order component for providing query state context
83
+ */
84
+ type QueryStateProvider = ComponentType<{
85
+ children: ReactNode;
86
+ searchParams?: URLSearchParams;
87
+ pathname?: string;
88
+ }>;
89
+
90
+ export type { FarmQueryStateContext, LayoutPropsSafe, PagePropsSafe, QueryStateConfig, QueryStateProvider };
@@ -0,0 +1,90 @@
1
+ export { Parser, asArrayOf, asBoolean, asFloat, asInteger, asIsoDate, asIsoDateTime, asJson, asString, createParser, inferParserType } from './parsers.js';
2
+ export { R as RouteParamsInput, l as loadRouteParams, p as parseRouteParams } from '../params-BALtrRim.js';
3
+ import { ReactNode, ComponentType } from 'react';
4
+
5
+ /**
6
+ * Farm.js Query State Types
7
+ */
8
+
9
+ /**
10
+ * Props for Farm.js page components with search params
11
+ */
12
+ /**
13
+ * Props for Farm.js layout components
14
+ */
15
+ interface LayoutPropsSafe {
16
+ children: ReactNode;
17
+ params: Record<string, string>;
18
+ }
19
+ interface PagePropsSafe {
20
+ params: Record<string, string>;
21
+ searchParams: Promise<URLSearchParams | Record<string, string | string[] | undefined>>;
22
+ }
23
+ /**
24
+ * Query state configuration for Farm.js
25
+ */
26
+ interface QueryStateConfig {
27
+ /**
28
+ * Default history method for URL updates
29
+ * @default 'push'
30
+ */
31
+ defaultHistoryMethod?: "push" | "replace";
32
+ /**
33
+ * Default shallow routing behavior
34
+ * @default true
35
+ */
36
+ shallow?: boolean;
37
+ /**
38
+ * Default scroll behavior
39
+ * @default true
40
+ */
41
+ scroll?: boolean;
42
+ /**
43
+ * Custom serialization options
44
+ */
45
+ serialization?: {
46
+ /**
47
+ * Custom URL key mappings
48
+ */
49
+ urlKeys?: Record<string, string>;
50
+ /**
51
+ * Custom base URL for serialization
52
+ */
53
+ baseUrl?: string;
54
+ };
55
+ }
56
+ /**
57
+ * Farm.js specific query state context
58
+ */
59
+ interface FarmQueryStateContext {
60
+ /**
61
+ * Current search parameters
62
+ */
63
+ searchParams: URLSearchParams;
64
+ /**
65
+ * Current pathname
66
+ */
67
+ pathname: string;
68
+ /**
69
+ * Update URL with new search parameters
70
+ */
71
+ updateUrl: (params: Record<string, any>, options?: {
72
+ method?: "push" | "replace";
73
+ shallow?: boolean;
74
+ scroll?: boolean;
75
+ }) => void;
76
+ /**
77
+ * Clear all search parameters
78
+ */
79
+ clearParams: () => void;
80
+ }
81
+ /**
82
+ * Higher-order component for providing query state context
83
+ */
84
+ type QueryStateProvider = ComponentType<{
85
+ children: ReactNode;
86
+ searchParams?: URLSearchParams;
87
+ pathname?: string;
88
+ }>;
89
+
90
+ export type { FarmQueryStateContext, LayoutPropsSafe, PagePropsSafe, QueryStateConfig, QueryStateProvider };
@@ -0,0 +1,31 @@
1
+ import "../chunk-5BY76U2M.mjs";
2
+ import {
3
+ loadRouteParams,
4
+ parseRouteParams
5
+ } from "../chunk-H2FA2SBS.mjs";
6
+ import {
7
+ asArrayOf,
8
+ asBoolean,
9
+ asFloat,
10
+ asInteger,
11
+ asIsoDate,
12
+ asIsoDateTime,
13
+ asJson,
14
+ asString,
15
+ createParser
16
+ } from "../chunk-E2MPIBRE.mjs";
17
+ import "../chunk-CGILA3WO.mjs";
18
+ export {
19
+ asArrayOf,
20
+ asBoolean,
21
+ asFloat,
22
+ asInteger,
23
+ asIsoDate,
24
+ asIsoDateTime,
25
+ asJson,
26
+ asString,
27
+ createParser,
28
+ loadRouteParams,
29
+ parseRouteParams
30
+ };
31
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/query/parsers.ts
22
+ var parsers_exports = {};
23
+ __export(parsers_exports, {
24
+ asArrayOf: () => asArrayOf,
25
+ asBoolean: () => asBoolean,
26
+ asFloat: () => asFloat,
27
+ asInteger: () => asInteger,
28
+ asIsoDate: () => asIsoDate,
29
+ asIsoDateTime: () => asIsoDateTime,
30
+ asJson: () => asJson,
31
+ asString: () => asString,
32
+ createParser: () => createParser
33
+ });
34
+ module.exports = __toCommonJS(parsers_exports);
35
+ var asString = {
36
+ parse: /* @__PURE__ */ __name((value) => value && value.trim() || null, "parse"),
37
+ serialize: /* @__PURE__ */ __name((value) => value, "serialize"),
38
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
39
+ parse: /* @__PURE__ */ __name((value) => value && value.trim() || defaultValue, "parse"),
40
+ serialize: /* @__PURE__ */ __name((value) => value || defaultValue, "serialize")
41
+ }), "withDefault")
42
+ };
43
+ var asInteger = {
44
+ parse: /* @__PURE__ */ __name((value) => {
45
+ const parsed = Number.parseInt(value, 10);
46
+ return isNaN(parsed) ? null : parsed;
47
+ }, "parse"),
48
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize"),
49
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
50
+ parse: /* @__PURE__ */ __name((value) => {
51
+ const parsed = Number.parseInt(value, 10);
52
+ return isNaN(parsed) ? defaultValue : parsed;
53
+ }, "parse"),
54
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize")
55
+ }), "withDefault")
56
+ };
57
+ var asFloat = {
58
+ parse: /* @__PURE__ */ __name((value) => {
59
+ const parsed = Number.parseFloat(value);
60
+ return isNaN(parsed) ? null : parsed;
61
+ }, "parse"),
62
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize"),
63
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
64
+ parse: /* @__PURE__ */ __name((value) => {
65
+ const parsed = Number.parseFloat(value);
66
+ return isNaN(parsed) ? defaultValue : parsed;
67
+ }, "parse"),
68
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize")
69
+ }), "withDefault")
70
+ };
71
+ var asBoolean = {
72
+ parse: /* @__PURE__ */ __name((value) => {
73
+ if (value === "true") return true;
74
+ if (value === "false") return false;
75
+ return null;
76
+ }, "parse"),
77
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize"),
78
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
79
+ parse: /* @__PURE__ */ __name((value) => {
80
+ if (value === "true") return true;
81
+ if (value === "false") return false;
82
+ return defaultValue;
83
+ }, "parse"),
84
+ serialize: /* @__PURE__ */ __name((value) => value.toString(), "serialize")
85
+ }), "withDefault")
86
+ };
87
+ function asArrayOf(itemParser) {
88
+ return {
89
+ parse: /* @__PURE__ */ __name((value) => {
90
+ if (!value) return null;
91
+ return value.split(",").filter(Boolean).map((item) => itemParser.parse(item.trim())).filter((item) => item !== null);
92
+ }, "parse"),
93
+ serialize: /* @__PURE__ */ __name((value) => value.map((item) => itemParser.serialize(item)).join(","), "serialize"),
94
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
95
+ parse: /* @__PURE__ */ __name((value) => {
96
+ if (!value) return defaultValue;
97
+ return value.split(",").filter(Boolean).map((item) => itemParser.parse(item.trim())).filter((item) => item !== null);
98
+ }, "parse"),
99
+ serialize: /* @__PURE__ */ __name((value) => value.map((item) => itemParser.serialize(item)).join(","), "serialize")
100
+ }), "withDefault")
101
+ };
102
+ }
103
+ __name(asArrayOf, "asArrayOf");
104
+ function asJson() {
105
+ return {
106
+ parse: /* @__PURE__ */ __name((value) => {
107
+ try {
108
+ return JSON.parse(value);
109
+ } catch {
110
+ return null;
111
+ }
112
+ }, "parse"),
113
+ serialize: /* @__PURE__ */ __name((value) => JSON.stringify(value), "serialize"),
114
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
115
+ parse: /* @__PURE__ */ __name((value) => {
116
+ try {
117
+ return JSON.parse(value);
118
+ } catch {
119
+ return defaultValue;
120
+ }
121
+ }, "parse"),
122
+ serialize: /* @__PURE__ */ __name((value) => JSON.stringify(value), "serialize")
123
+ }), "withDefault")
124
+ };
125
+ }
126
+ __name(asJson, "asJson");
127
+ var asIsoDate = {
128
+ parse: /* @__PURE__ */ __name((value) => {
129
+ const date = new Date(value);
130
+ return isNaN(date.getTime()) ? null : date;
131
+ }, "parse"),
132
+ serialize: /* @__PURE__ */ __name((value) => value.toISOString(), "serialize"),
133
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
134
+ parse: /* @__PURE__ */ __name((value) => {
135
+ const date = new Date(value);
136
+ return isNaN(date.getTime()) ? defaultValue : date;
137
+ }, "parse"),
138
+ serialize: /* @__PURE__ */ __name((value) => value.toISOString(), "serialize")
139
+ }), "withDefault")
140
+ };
141
+ var asIsoDateTime = {
142
+ parse: /* @__PURE__ */ __name((value) => {
143
+ const date = new Date(value);
144
+ return isNaN(date.getTime()) ? null : date;
145
+ }, "parse"),
146
+ serialize: /* @__PURE__ */ __name((value) => value.toISOString(), "serialize"),
147
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
148
+ parse: /* @__PURE__ */ __name((value) => {
149
+ const date = new Date(value);
150
+ return isNaN(date.getTime()) ? defaultValue : date;
151
+ }, "parse"),
152
+ serialize: /* @__PURE__ */ __name((value) => value.toISOString(), "serialize")
153
+ }), "withDefault")
154
+ };
155
+ function createParser(config) {
156
+ return {
157
+ parse: config.parse,
158
+ serialize: config.serialize,
159
+ withDefault: /* @__PURE__ */ __name((defaultValue) => ({
160
+ parse: /* @__PURE__ */ __name((value) => config.parse(value) ?? defaultValue, "parse"),
161
+ serialize: config.serialize
162
+ }), "withDefault")
163
+ };
164
+ }
165
+ __name(createParser, "createParser");
166
+ // Annotate the CommonJS export names for ESM import in node:
167
+ 0 && (module.exports = {
168
+ asArrayOf,
169
+ asBoolean,
170
+ asFloat,
171
+ asInteger,
172
+ asIsoDate,
173
+ asIsoDateTime,
174
+ asJson,
175
+ asString,
176
+ createParser
177
+ });
178
+ //# sourceMappingURL=parsers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/query/parsers.ts"],"sourcesContent":["/**\n * Farm.js Query State Parsers\n *\n * Shared parsers that can be used in both client and server contexts\n */\n\nexport interface Parser<T> {\n parse: (value: string) => T | null;\n serialize: (value: T) => string;\n withDefault?: (defaultValue: T) => Parser<T>;\n}\n\n// String parser\nexport const asString: Parser<string> = {\n parse: (value: string) => (value && value.trim()) || null,\n serialize: (value: string) => value,\n withDefault: (defaultValue: string) => ({\n parse: (value: string) => (value && value.trim()) || defaultValue,\n serialize: (value: string) => value || defaultValue,\n }),\n};\n\n// Integer parser\nexport const asInteger: Parser<number> = {\n parse: (value: string) => {\n const parsed = Number.parseInt(value, 10);\n return isNaN(parsed) ? null : parsed;\n },\n serialize: (value: number) => value.toString(),\n withDefault: (defaultValue: number) => ({\n parse: (value: string) => {\n const parsed = Number.parseInt(value, 10);\n return isNaN(parsed) ? defaultValue : parsed;\n },\n serialize: (value: number) => value.toString(),\n }),\n};\n\n// Float parser\nexport const asFloat: Parser<number> = {\n parse: (value: string) => {\n const parsed = Number.parseFloat(value);\n return isNaN(parsed) ? null : parsed;\n },\n serialize: (value: number) => value.toString(),\n withDefault: (defaultValue: number) => ({\n parse: (value: string) => {\n const parsed = Number.parseFloat(value);\n return isNaN(parsed) ? defaultValue : parsed;\n },\n serialize: (value: number) => value.toString(),\n }),\n};\n\n// Boolean parser\nexport const asBoolean: Parser<boolean> = {\n parse: (value: string) => {\n if (value === \"true\") return true;\n if (value === \"false\") return false;\n return null;\n },\n serialize: (value: boolean) => value.toString(),\n withDefault: (defaultValue: boolean) => ({\n parse: (value: string) => {\n if (value === \"true\") return true;\n if (value === \"false\") return false;\n return defaultValue;\n },\n serialize: (value: boolean) => value.toString(),\n }),\n};\n\n// Array parser\nexport function asArrayOf<T>(itemParser: Parser<T>): Parser<T[]> {\n return {\n parse: (value: string) => {\n if (!value) return null;\n return value\n .split(\",\")\n .filter(Boolean)\n .map((item) => itemParser.parse(item.trim()))\n .filter((item) => item !== null) as T[];\n },\n serialize: (value: T[]) => value.map((item) => itemParser.serialize(item)).join(\",\"),\n withDefault: (defaultValue: T[]) => ({\n parse: (value: string) => {\n if (!value) return defaultValue;\n return value\n .split(\",\")\n .filter(Boolean)\n .map((item) => itemParser.parse(item.trim()))\n .filter((item) => item !== null) as T[];\n },\n serialize: (value: T[]) => value.map((item) => itemParser.serialize(item)).join(\",\"),\n }),\n };\n}\n\n// JSON parser\nexport function asJson<T>(): Parser<T> {\n return {\n parse: (value: string) => {\n try {\n return JSON.parse(value);\n } catch {\n return null;\n }\n },\n serialize: (value: T) => JSON.stringify(value),\n withDefault: (defaultValue: T) => ({\n parse: (value: string) => {\n try {\n return JSON.parse(value);\n } catch {\n return defaultValue;\n }\n },\n serialize: (value: T) => JSON.stringify(value),\n }),\n };\n}\n\n// ISO Date parser\nexport const asIsoDate: Parser<Date> = {\n parse: (value: string) => {\n const date = new Date(value);\n return isNaN(date.getTime()) ? null : date;\n },\n serialize: (value: Date) => value.toISOString(),\n withDefault: (defaultValue: Date) => ({\n parse: (value: string) => {\n const date = new Date(value);\n return isNaN(date.getTime()) ? defaultValue : date;\n },\n serialize: (value: Date) => value.toISOString(),\n }),\n};\n\n// ISO DateTime parser\nexport const asIsoDateTime: Parser<Date> = {\n parse: (value: string) => {\n const date = new Date(value);\n return isNaN(date.getTime()) ? null : date;\n },\n serialize: (value: Date) => value.toISOString(),\n withDefault: (defaultValue: Date) => ({\n parse: (value: string) => {\n const date = new Date(value);\n return isNaN(date.getTime()) ? defaultValue : date;\n },\n serialize: (value: Date) => value.toISOString(),\n }),\n};\n\n// Custom parser creator\nexport function createParser<T>(config: {\n parse: (value: string) => T | null;\n serialize: (value: T) => string;\n}): Parser<T> {\n return {\n parse: config.parse,\n serialize: config.serialize,\n withDefault: (defaultValue: T) => ({\n parse: (value: string) => config.parse(value) ?? defaultValue,\n serialize: config.serialize,\n }),\n };\n}\n\n// Type inference helper\nexport type inferParserType<T> = T extends Parser<infer U> ? U : never;\n"],"mappings":"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","names":[]}