@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 @@
1
+ {"version":3,"sources":["../src/integration-api.ts"],"sourcesContent":["export type FarmIntegrationAPIMethod =\n | \"GET\"\n | \"POST\"\n | \"PUT\"\n | \"PATCH\"\n | \"DELETE\"\n | \"OPTIONS\"\n | \"HEAD\";\n\nexport type FarmIntegrationAPIBodyFormat = \"json\" | \"form\" | \"none\";\nexport type FarmIntegrationAPIResponseFormat = \"json\" | \"text\" | \"response\";\n\nexport interface FarmIntegrationAPIOperation<\n TBody = never,\n TQuery = never,\n TResponse = unknown,\n TServer extends boolean = false,\n TMethod extends FarmIntegrationAPIMethod = FarmIntegrationAPIMethod,\n> {\n readonly kind: \"farm-integration-api-operation\";\n path: string;\n method: TMethod;\n bodyFormat?: FarmIntegrationAPIBodyFormat;\n responseFormat?: FarmIntegrationAPIResponseFormat;\n headers?: Record<string, string>;\n credentials?: RequestCredentials;\n isServer?: TServer;\n __pathless?: boolean;\n __types?: {\n body: TBody;\n query: TQuery;\n response: TResponse;\n };\n}\n\nexport type FarmIntegrationAPI = {\n [key: string]: FarmIntegrationAPI | FarmIntegrationAPIOperation<any, any, any, any, any>;\n};\n\nexport type FarmIntegrationRouteOperationCarrier<\n TPath extends string = string,\n TOperation extends FarmIntegrationAPIOperation<any, any, any, any, any> =\n FarmIntegrationAPIOperation<any, any, any, any, any>,\n> = {\n path: TPath;\n __operation: TOperation;\n};\n\ntype IntegrationAPIBuilderOptions<TServer extends boolean = false> = Omit<\n FarmIntegrationAPIOperation<any, any, any, TServer>,\n \"kind\" | \"method\" | \"path\" | \"__pathless\" | \"__types\"\n>;\n\nexport function defineIntegrationAPIOperation<\n TBody = never,\n TQuery = never,\n TResponse = unknown,\n TServer extends boolean = false,\n TMethod extends FarmIntegrationAPIMethod = FarmIntegrationAPIMethod,\n>(\n operation: Omit<\n FarmIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, TMethod>,\n \"kind\" | \"__types\"\n >,\n): FarmIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, TMethod> {\n return {\n kind: \"farm-integration-api-operation\",\n ...operation,\n };\n}\n\nexport function defineIntegrationAPI<TAPI extends FarmIntegrationAPI>(api: TAPI): TAPI {\n return api;\n}\n\nfunction operation<\n TBody = never,\n TQuery = never,\n TResponse = unknown,\n TServer extends boolean = false,\n TMethod extends FarmIntegrationAPIMethod = FarmIntegrationAPIMethod,\n>(\n method: TMethod,\n pathOrOptions?: string | IntegrationAPIBuilderOptions<TServer>,\n maybeOptions: IntegrationAPIBuilderOptions<TServer> = {} as IntegrationAPIBuilderOptions<TServer>,\n): FarmIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, TMethod> {\n const hasExplicitPath = typeof pathOrOptions === \"string\";\n const path = hasExplicitPath ? pathOrOptions : \"\";\n const options = (\n hasExplicitPath\n ? maybeOptions\n : {\n ...maybeOptions,\n ...pathOrOptions,\n }\n ) as IntegrationAPIBuilderOptions<TServer>;\n\n return defineIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, TMethod>({\n path,\n method,\n __pathless: !hasExplicitPath,\n ...options,\n });\n}\n\nfunction get<TResponse = unknown, TServer extends boolean = false>(\n path: string,\n options?: IntegrationAPIBuilderOptions<TServer>,\n): FarmIntegrationAPIOperation<never, never, TResponse, TServer, \"GET\">;\nfunction get<TQuery = never, TResponse = unknown, TServer extends boolean = false>(\n path: string,\n options?: IntegrationAPIBuilderOptions<TServer>,\n): FarmIntegrationAPIOperation<never, TQuery, TResponse, TServer, \"GET\">;\nfunction get<TResponse = unknown, TServer extends boolean = false>(\n options?: IntegrationAPIBuilderOptions<TServer>,\n): FarmIntegrationAPIOperation<never, never, TResponse, TServer, \"GET\">;\nfunction get<TQuery = never, TResponse = unknown, TServer extends boolean = false>(\n options?: IntegrationAPIBuilderOptions<TServer>,\n): FarmIntegrationAPIOperation<never, TQuery, TResponse, TServer, \"GET\">;\nfunction get(\n pathOrOptions?: string | IntegrationAPIBuilderOptions<boolean>,\n maybeOptions: IntegrationAPIBuilderOptions<boolean> = {} as IntegrationAPIBuilderOptions<boolean>,\n) {\n return operation<never, any, any, boolean>(\"GET\", pathOrOptions, maybeOptions);\n}\n\nfunction isOperation(value: unknown): value is FarmIntegrationAPIOperation<any, any, any, any> {\n return (\n !!value &&\n typeof value === \"object\" &&\n (value as FarmIntegrationAPIOperation<any, any, any, any>).kind ===\n \"farm-integration-api-operation\"\n );\n}\n\nfunction bindRoutePath<TAPI extends FarmIntegrationAPI>(path: string, api: TAPI): TAPI {\n const entries = Object.entries(api as Record<string, unknown>).map(([key, value]) => {\n if (isOperation(value)) {\n return [\n key,\n {\n ...value,\n path,\n __pathless: false,\n },\n ];\n }\n\n if (value && typeof value === \"object\") {\n return [key, bindRoutePath(path, value as FarmIntegrationAPI)];\n }\n\n return [key, value];\n });\n\n return Object.fromEntries(entries) as TAPI;\n}\n\ntype RouteOperationsToAPI<\n TOperations extends readonly FarmIntegrationAPIOperation<any, any, any, any, any>[],\n> = {\n [TMethod in Lowercase<TOperations[number][\"method\"] & string>]: Extract<\n TOperations[number],\n { method: Uppercase<TMethod> }\n >;\n};\n\ntype StripRouteClientPrefix<TPath extends string> = TPath extends `/api/${string}/${infer TRest}`\n ? TRest\n : TPath extends `/${string}/${infer TRest}`\n ? TRest\n : TPath extends `/${infer TRest}`\n ? TRest\n : TPath;\n\ntype NormalizeRouteSegment<TSegment extends string> = TSegment extends `[...${infer TName}]`\n ? TName\n : TSegment extends `[${infer TName}]`\n ? TName\n : TSegment extends `${infer TName}(${string}`\n ? TName\n : CamelCaseRouteSegment<TSegment>;\n\ntype CamelCaseRouteSegment<TSegment extends string> =\n TSegment extends `${infer THead}-${infer TTail}`\n ? `${THead}${Capitalize<CamelCaseRouteSegment<TTail>>}`\n : TSegment;\n\ntype RouteNamespaceFromPath<\n TPath extends string,\n TOperation extends FarmIntegrationAPIOperation<any, any, any, any, any>,\n> = TPath extends `${infer THead}/${infer TTail}`\n ? {\n [TKey in NormalizeRouteSegment<THead>]: RouteNamespaceFromPath<TTail, TOperation>;\n }\n : {\n [TKey in NormalizeRouteSegment<TPath>]: {\n [TMethod in Lowercase<TOperation[\"method\"] & string>]: TOperation;\n };\n };\n\ntype UnionToIntersection<TUnion> = (\n TUnion extends unknown ? (value: TUnion) => void : never\n) extends (value: infer TIntersection) => void\n ? TIntersection\n : never;\n\ntype ExpandRecursively<TValue> = TValue extends (...args: any[]) => any\n ? TValue\n : TValue extends object\n ? { [TKey in keyof TValue]: ExpandRecursively<TValue[TKey]> }\n : TValue;\n\ntype RoutesToAPI<TRoutes extends readonly FarmIntegrationRouteOperationCarrier<string, any>[]> =\n ExpandRecursively<\n UnionToIntersection<\n TRoutes[number] extends FarmIntegrationRouteOperationCarrier<infer TPath, infer TOperation>\n ? RouteNamespaceFromPath<StripRouteClientPrefix<TPath>, TOperation>\n : never\n >\n >;\n\nexport type InferIntegrationAPIFromRoutes<\n TRoutes extends readonly FarmIntegrationRouteOperationCarrier<string, any>[],\n> = RoutesToAPI<TRoutes>;\n\nfunction route<TAPI extends FarmIntegrationAPI>(path: string, definition: TAPI): TAPI;\nfunction route<TOperations extends readonly FarmIntegrationAPIOperation<any, any, any, any, any>[]>(\n path: string,\n ...operations: TOperations\n): RouteOperationsToAPI<TOperations>;\nfunction route(\n path: string,\n definitionOrOperation: FarmIntegrationAPI | FarmIntegrationAPIOperation<any, any, any, any, any>,\n ...operations: readonly FarmIntegrationAPIOperation<any, any, any, any, any>[]\n) {\n if (isOperation(definitionOrOperation)) {\n const allOperations = [definitionOrOperation, ...operations];\n return Object.fromEntries(\n allOperations.map((operation) => [\n operation.method.toLowerCase(),\n {\n ...operation,\n path,\n __pathless: false,\n },\n ]),\n );\n }\n\n return bindRoutePath(path, definitionOrOperation as FarmIntegrationAPI);\n}\n\nfunction normalizeRouteSegment(segment: string): string {\n if (!segment) {\n return \"index\";\n }\n\n if (segment.startsWith(\"[...\") && segment.endsWith(\"]\")) {\n return segment.slice(4, -1) || \"index\";\n }\n\n if (segment.startsWith(\"[\") && segment.endsWith(\"]\")) {\n return segment.slice(1, -1) || \"index\";\n }\n\n const matcherIndex = segment.indexOf(\"(\");\n if (matcherIndex > 0) {\n return segment.slice(0, matcherIndex);\n }\n\n return camelCaseRouteSegment(segment);\n}\n\nfunction camelCaseRouteSegment(segment: string): string {\n return segment.replace(/-([a-zA-Z0-9])/g, (_match, value: string) => value.toUpperCase());\n}\n\nfunction getRouteClientSegments(path: string): string[] {\n const segments = path.split(\"/\").filter(Boolean);\n if (segments.length === 0) {\n return [\"index\"];\n }\n\n const stripped =\n segments[0] === \"api\" && segments.length > 2\n ? segments.slice(2)\n : segments.length > 1\n ? segments.slice(1)\n : [segments[segments.length - 1]];\n\n return stripped.map(normalizeRouteSegment).filter(Boolean);\n}\n\nfunction setRouteOperation(\n target: Record<string, unknown>,\n pathSegments: string[],\n operation: FarmIntegrationAPIOperation<any, any, any, any, any>,\n) {\n const [head, ...tail] = pathSegments;\n if (!head) {\n return;\n }\n\n if (tail.length === 0) {\n const leaf = ((target[head] as Record<string, unknown> | undefined) || {}) as Record<\n string,\n unknown\n >;\n leaf[operation.method.toLowerCase()] = {\n ...operation,\n path: operation.path,\n __pathless: false,\n };\n target[head] = leaf;\n return;\n }\n\n const branch = ((target[head] as Record<string, unknown> | undefined) || {}) as Record<\n string,\n unknown\n >;\n target[head] = branch;\n setRouteOperation(branch, tail, operation);\n}\n\nfunction fromRoutes<TRoutes extends readonly FarmIntegrationRouteOperationCarrier<string, any>[]>(\n routes: TRoutes,\n): RoutesToAPI<TRoutes> {\n const definition: Record<string, unknown> = {};\n\n for (const route of routes) {\n if (!isOperation(route.__operation)) {\n continue;\n }\n\n setRouteOperation(definition, getRouteClientSegments(route.path), {\n ...route.__operation,\n path: route.path,\n __pathless: false,\n });\n }\n\n return definition as RoutesToAPI<TRoutes>;\n}\n\nexport const api = {\n get,\n route,\n fromRoutes,\n post<TBody = never, TResponse = unknown, TQuery = never, TServer extends boolean = false>(\n pathOrOptions?: string | IntegrationAPIBuilderOptions<TServer>,\n maybeOptions: IntegrationAPIBuilderOptions<TServer> = {} as IntegrationAPIBuilderOptions<TServer>,\n ): FarmIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, \"POST\"> {\n return operation<TBody, TQuery, TResponse, TServer, \"POST\">(\"POST\", pathOrOptions, {\n bodyFormat: \"json\",\n ...(typeof pathOrOptions === \"string\" ? maybeOptions : pathOrOptions),\n });\n },\n put<TBody = never, TResponse = unknown, TQuery = never, TServer extends boolean = false>(\n pathOrOptions?: string | IntegrationAPIBuilderOptions<TServer>,\n maybeOptions: IntegrationAPIBuilderOptions<TServer> = {} as IntegrationAPIBuilderOptions<TServer>,\n ): FarmIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, \"PUT\"> {\n return operation<TBody, TQuery, TResponse, TServer, \"PUT\">(\"PUT\", pathOrOptions, {\n bodyFormat: \"json\",\n ...(typeof pathOrOptions === \"string\" ? maybeOptions : pathOrOptions),\n });\n },\n patch<TBody = never, TResponse = unknown, TQuery = never, TServer extends boolean = false>(\n pathOrOptions?: string | IntegrationAPIBuilderOptions<TServer>,\n maybeOptions: IntegrationAPIBuilderOptions<TServer> = {} as IntegrationAPIBuilderOptions<TServer>,\n ): FarmIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, \"PATCH\"> {\n return operation<TBody, TQuery, TResponse, TServer, \"PATCH\">(\"PATCH\", pathOrOptions, {\n bodyFormat: \"json\",\n ...(typeof pathOrOptions === \"string\" ? maybeOptions : pathOrOptions),\n });\n },\n delete<TBody = never, TResponse = unknown, TQuery = never, TServer extends boolean = false>(\n pathOrOptions?: string | IntegrationAPIBuilderOptions<TServer>,\n maybeOptions: IntegrationAPIBuilderOptions<TServer> = {} as IntegrationAPIBuilderOptions<TServer>,\n ): FarmIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, \"DELETE\"> {\n return operation<TBody, TQuery, TResponse, TServer, \"DELETE\">(\"DELETE\", pathOrOptions, {\n bodyFormat: \"json\",\n ...(typeof pathOrOptions === \"string\" ? maybeOptions : pathOrOptions),\n });\n },\n options<TResponse = unknown, TQuery = never, TServer extends boolean = false>(\n pathOrOptions?: string | IntegrationAPIBuilderOptions<TServer>,\n maybeOptions: IntegrationAPIBuilderOptions<TServer> = {} as IntegrationAPIBuilderOptions<TServer>,\n ): FarmIntegrationAPIOperation<never, TQuery, TResponse, TServer, \"OPTIONS\"> {\n return operation<never, TQuery, TResponse, TServer, \"OPTIONS\">(\n \"OPTIONS\",\n pathOrOptions,\n maybeOptions,\n );\n },\n head<TResponse = unknown, TQuery = never, TServer extends boolean = false>(\n pathOrOptions?: string | IntegrationAPIBuilderOptions<TServer>,\n maybeOptions: IntegrationAPIBuilderOptions<TServer> = {} as IntegrationAPIBuilderOptions<TServer>,\n ): FarmIntegrationAPIOperation<never, TQuery, TResponse, TServer, \"HEAD\"> {\n return operation<never, TQuery, TResponse, TServer, \"HEAD\">(\n \"HEAD\",\n pathOrOptions,\n maybeOptions,\n );\n },\n form: {\n post<TBody = never, TResponse = unknown, TQuery = never, TServer extends boolean = false>(\n pathOrOptions?: string | IntegrationAPIBuilderOptions<TServer>,\n maybeOptions: IntegrationAPIBuilderOptions<TServer> = {} as IntegrationAPIBuilderOptions<TServer>,\n ): FarmIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, \"POST\"> {\n return operation<TBody, TQuery, TResponse, TServer, \"POST\">(\"POST\", pathOrOptions, {\n bodyFormat: \"form\",\n ...(typeof pathOrOptions === \"string\" ? maybeOptions : pathOrOptions),\n });\n },\n put<TBody = never, TResponse = unknown, TQuery = never, TServer extends boolean = false>(\n pathOrOptions?: string | IntegrationAPIBuilderOptions<TServer>,\n maybeOptions: IntegrationAPIBuilderOptions<TServer> = {} as IntegrationAPIBuilderOptions<TServer>,\n ): FarmIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, \"PUT\"> {\n return operation<TBody, TQuery, TResponse, TServer, \"PUT\">(\"PUT\", pathOrOptions, {\n bodyFormat: \"form\",\n ...(typeof pathOrOptions === \"string\" ? maybeOptions : pathOrOptions),\n });\n },\n patch<TBody = never, TResponse = unknown, TQuery = never, TServer extends boolean = false>(\n pathOrOptions?: string | IntegrationAPIBuilderOptions<TServer>,\n maybeOptions: IntegrationAPIBuilderOptions<TServer> = {} as IntegrationAPIBuilderOptions<TServer>,\n ): FarmIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, \"PATCH\"> {\n return operation<TBody, TQuery, TResponse, TServer, \"PATCH\">(\"PATCH\", pathOrOptions, {\n bodyFormat: \"form\",\n ...(typeof pathOrOptions === \"string\" ? maybeOptions : pathOrOptions),\n });\n },\n delete<TBody = never, TResponse = unknown, TQuery = never, TServer extends boolean = false>(\n pathOrOptions?: string | IntegrationAPIBuilderOptions<TServer>,\n maybeOptions: IntegrationAPIBuilderOptions<TServer> = {} as IntegrationAPIBuilderOptions<TServer>,\n ): FarmIntegrationAPIOperation<TBody, TQuery, TResponse, TServer, \"DELETE\"> {\n return operation<TBody, TQuery, TResponse, TServer, \"DELETE\">(\"DELETE\", pathOrOptions, {\n bodyFormat: \"form\",\n ...(typeof pathOrOptions === \"string\" ? maybeOptions : pathOrOptions),\n });\n },\n },\n};\n\nexport const endpoint = api;\n"],"mappings":"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","names":["operation","api","route"]}
@@ -0,0 +1,204 @@
1
+ import {
2
+ getServerActionExecutionContext,
3
+ getServerActionSignal
4
+ } from "./chunk-AGS7UJ52.mjs";
5
+ import {
6
+ _resolveCurrentRequest
7
+ } from "./chunk-LM2YNO4U.mjs";
8
+ import {
9
+ __name
10
+ } from "./chunk-CGILA3WO.mjs";
11
+
12
+ // src/server-fn.ts
13
+ var FARM_SERVER_FN_SYMBOL = /* @__PURE__ */ Symbol.for("farm.server-fn");
14
+ var UNSAFE_FORM_KEYS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
15
+ function createServerMiddleware(options) {
16
+ if (!options || typeof options.handler !== "function") {
17
+ throw new TypeError("createServerMiddleware requires a handler function");
18
+ }
19
+ const middleware = Object.freeze([...options.middleware ?? []]);
20
+ for (const entry of middleware) {
21
+ assertServerFnMiddleware(entry);
22
+ }
23
+ return Object.freeze({
24
+ __farmServerFnMiddleware: true,
25
+ middleware,
26
+ handler: options.handler
27
+ });
28
+ }
29
+ __name(createServerMiddleware, "createServerMiddleware");
30
+ function createServerFn(options) {
31
+ if (!options || typeof options.handler !== "function") {
32
+ throw new TypeError("createServerFn requires a handler function");
33
+ }
34
+ const middleware = resolveServerFnMiddleware(options.middleware);
35
+ const serverFn = /* @__PURE__ */ __name(async (value) => {
36
+ const formData = isFormData(value) ? value : void 0;
37
+ const rawInput = formData ? formDataToObject(formData) : value;
38
+ const input = await _parseServerFnSchema(options.input, rawInput, "input");
39
+ const executionContext = getServerActionExecutionContext();
40
+ const request = executionContext?.request ?? _resolveCurrentRequest();
41
+ const signal = executionContext?.signal ?? request?.signal ?? getServerActionSignal();
42
+ const handlerContext = {
43
+ input,
44
+ rawInput,
45
+ formData,
46
+ request,
47
+ signal
48
+ };
49
+ const result = await runServerFnMiddleware(middleware, handlerContext, options.handler);
50
+ return _parseServerFnSchema(options.output, result, "output");
51
+ }, "serverFn");
52
+ Object.defineProperties(serverFn, {
53
+ [FARM_SERVER_FN_SYMBOL]: {
54
+ value: true,
55
+ enumerable: false
56
+ },
57
+ __farmServerFn: {
58
+ value: true,
59
+ enumerable: false
60
+ },
61
+ __farmServerFnInput: {
62
+ value: options.input,
63
+ enumerable: false
64
+ },
65
+ __farmServerFnOutput: {
66
+ value: options.output,
67
+ enumerable: false
68
+ },
69
+ __farmServerFnMiddleware: {
70
+ value: middleware,
71
+ enumerable: false
72
+ }
73
+ });
74
+ return serverFn;
75
+ }
76
+ __name(createServerFn, "createServerFn");
77
+ async function runServerFnMiddleware(middleware, handlerContext, handler) {
78
+ const dispatch = /* @__PURE__ */ __name(async (index, context) => {
79
+ const current = middleware[index];
80
+ if (!current) {
81
+ return handler({ ...handlerContext, context });
82
+ }
83
+ let nextCalled = false;
84
+ const result = await current.handler({
85
+ ...handlerContext,
86
+ context,
87
+ next: /* @__PURE__ */ __name(async (nextOptions) => {
88
+ if (nextCalled) {
89
+ throw new Error("Server function middleware next() can only be called once");
90
+ }
91
+ nextCalled = true;
92
+ return dispatch(index + 1, mergeServerFnContext(context, nextOptions?.context));
93
+ }, "next")
94
+ });
95
+ if (!nextCalled) {
96
+ throw new Error("Server function middleware must call next()");
97
+ }
98
+ return result;
99
+ }, "dispatch");
100
+ return dispatch(0, Object.freeze(/* @__PURE__ */ Object.create(null)));
101
+ }
102
+ __name(runServerFnMiddleware, "runServerFnMiddleware");
103
+ function resolveServerFnMiddleware(middleware) {
104
+ const resolved = [];
105
+ const seen = /* @__PURE__ */ new Set();
106
+ const visiting = /* @__PURE__ */ new Set();
107
+ const visit = /* @__PURE__ */ __name((entry) => {
108
+ assertServerFnMiddleware(entry);
109
+ if (seen.has(entry)) return;
110
+ if (visiting.has(entry)) {
111
+ throw new Error("Server function middleware dependencies cannot contain a cycle");
112
+ }
113
+ visiting.add(entry);
114
+ for (const dependency of entry.middleware) {
115
+ visit(dependency);
116
+ }
117
+ visiting.delete(entry);
118
+ seen.add(entry);
119
+ resolved.push(entry);
120
+ }, "visit");
121
+ for (const entry of middleware ?? []) {
122
+ visit(entry);
123
+ }
124
+ return Object.freeze(resolved);
125
+ }
126
+ __name(resolveServerFnMiddleware, "resolveServerFnMiddleware");
127
+ function assertServerFnMiddleware(value) {
128
+ if (!value || typeof value !== "object" || value.__farmServerFnMiddleware !== true || typeof value.handler !== "function" || !Array.isArray(value.middleware)) {
129
+ throw new TypeError("createServerFn middleware must be created with createServerMiddleware");
130
+ }
131
+ }
132
+ __name(assertServerFnMiddleware, "assertServerFnMiddleware");
133
+ function mergeServerFnContext(current, added) {
134
+ if (added !== void 0 && (added === null || typeof added !== "object" || Array.isArray(added))) {
135
+ throw new TypeError("Server function middleware context must be an object");
136
+ }
137
+ return Object.freeze(Object.assign(/* @__PURE__ */ Object.create(null), current, added));
138
+ }
139
+ __name(mergeServerFnContext, "mergeServerFnContext");
140
+ async function _parseServerFnSchema(schema, value, contract, owner = "createServerFn") {
141
+ if (!schema) return value;
142
+ if (typeof schema.safeParseAsync === "function") {
143
+ const result = await schema.safeParseAsync(value);
144
+ return unwrapSafeParseResult(result);
145
+ }
146
+ if (typeof schema.safeParse === "function") {
147
+ const result = schema.safeParse(value);
148
+ return unwrapSafeParseResult(await result);
149
+ }
150
+ if (typeof schema.parseAsync === "function") {
151
+ return schema.parseAsync(value);
152
+ }
153
+ if (typeof schema.parse === "function") {
154
+ return schema.parse(value);
155
+ }
156
+ throw new TypeError(`${owner} ${contract} must provide parse, parseAsync, or safeParse`);
157
+ }
158
+ __name(_parseServerFnSchema, "_parseServerFnSchema");
159
+ function unwrapSafeParseResult(result) {
160
+ if (result && typeof result === "object" && "success" in result && result.success === false) {
161
+ throw result.error;
162
+ }
163
+ if (result && typeof result === "object" && "success" in result && result.success === true) {
164
+ return result.data;
165
+ }
166
+ return result;
167
+ }
168
+ __name(unwrapSafeParseResult, "unwrapSafeParseResult");
169
+ function formDataToObject(formData) {
170
+ const output = /* @__PURE__ */ Object.create(null);
171
+ for (const [key, value] of formData.entries()) {
172
+ if (!isSafeFormKey(key)) continue;
173
+ const existing = output[key];
174
+ if (existing === void 0) {
175
+ output[key] = value;
176
+ } else if (Array.isArray(existing)) {
177
+ existing.push(value);
178
+ } else {
179
+ output[key] = [existing, value];
180
+ }
181
+ }
182
+ return output;
183
+ }
184
+ __name(formDataToObject, "formDataToObject");
185
+ function isSafeFormKey(key) {
186
+ return !key.startsWith("$ACTION_") && !UNSAFE_FORM_KEYS.has(key);
187
+ }
188
+ __name(isSafeFormKey, "isSafeFormKey");
189
+ function isFormData(value) {
190
+ if (!value || typeof value !== "object") return false;
191
+ if (typeof FormData !== "undefined" && value instanceof FormData) {
192
+ return true;
193
+ }
194
+ return Object.prototype.toString.call(value) === "[object FormData]" && typeof value.entries === "function";
195
+ }
196
+ __name(isFormData, "isFormData");
197
+
198
+ export {
199
+ FARM_SERVER_FN_SYMBOL,
200
+ createServerMiddleware,
201
+ createServerFn,
202
+ _parseServerFnSchema
203
+ };
204
+ //# sourceMappingURL=chunk-JLWMCADZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server-fn.ts"],"sourcesContent":["import { getServerActionExecutionContext, getServerActionSignal } from \"./server-action-security\";\nimport { _resolveCurrentRequest } from \"./server/request-bridge\";\n\ntype MaybePromise<T> = T | Promise<T>;\n\n// Generic schema type that works with Zod v3/v4 and similar validator APIs.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type ServerFnSchema = {\n _input?: any;\n _output?: any;\n parse?: (data: unknown) => any;\n parseAsync?: (data: unknown) => Promise<any>;\n safeParse?: (data: unknown) => any;\n safeParseAsync?: (data: unknown) => Promise<any>;\n};\n\nexport type InferServerFnSchemaInput<T> = T extends { _input: infer I } ? I : unknown;\nexport type InferServerFnSchemaOutput<T> = T extends { _output: infer O }\n ? O\n : T extends { parse: (data: unknown) => infer R }\n ? R\n : unknown;\n\nexport type ServerFnFormInput = FormData;\n\ntype Simplify<T> = { [TKey in keyof T]: T[TKey] } & {};\ntype AssignContext<TCurrent extends object, TNext extends object> = Simplify<\n Omit<TCurrent, keyof TNext> & TNext\n>;\ntype MiddlewareContext<TMiddleware> =\n TMiddleware extends ServerFnMiddleware<infer TContext> ? TContext : {};\n\nexport type ServerFnMiddlewareContext<\n TMiddlewares extends readonly AnyServerFnMiddleware[],\n TContext extends object = {},\n> = TMiddlewares extends readonly [infer TMiddleware, ...infer TRest]\n ? TMiddleware extends AnyServerFnMiddleware\n ? TRest extends readonly AnyServerFnMiddleware[]\n ? ServerFnMiddlewareContext<TRest, AssignContext<TContext, MiddlewareContext<TMiddleware>>>\n : TContext\n : TContext\n : number extends TMiddlewares[\"length\"]\n ? Simplify<TContext & MiddlewareContext<TMiddlewares[number]>>\n : Simplify<TContext>;\n\ndeclare const SERVER_FN_MIDDLEWARE_CONTEXT: unique symbol;\n\nexport type ServerFnMiddlewareContinuation<TContext extends object = {}> = {\n readonly [SERVER_FN_MIDDLEWARE_CONTEXT]: TContext;\n};\n\nexport type ServerFnMiddlewareNext = <TContext extends object = {}>(options?: {\n context?: TContext;\n}) => Promise<ServerFnMiddlewareContinuation<TContext>>;\n\nexport type ServerFnContext<TInput, TContext extends object = {}> = {\n input: TInput;\n rawInput: unknown;\n formData?: FormData;\n /** The action request when invoked across the network. Undefined for direct server calls. */\n request?: Request;\n /** Aborts when the underlying action request is cancelled. */\n signal: AbortSignal;\n /** Context produced by this server function's middleware chain. */\n context: Readonly<TContext>;\n};\n\nexport type ServerFnHandler<TInput, TResult, TContext extends object = {}> = (\n ctx: ServerFnContext<TInput, TContext>,\n) => MaybePromise<TResult>;\n\nexport type ServerFnMiddlewareHandlerContext<TContext extends object = {}> = ServerFnContext<\n unknown,\n TContext\n> & {\n next: ServerFnMiddlewareNext;\n};\n\nexport type ServerFnMiddlewareHandler<\n TContext extends object = {},\n TProvidedContext extends object = {},\n> = (\n ctx: ServerFnMiddlewareHandlerContext<TContext>,\n) => MaybePromise<ServerFnMiddlewareContinuation<TProvidedContext>>;\n\nexport type ServerFnMiddleware<TContext extends object = {}> = {\n readonly __farmServerFnMiddleware: true;\n readonly __farmServerFnMiddlewareContext?: TContext;\n readonly middleware: readonly AnyServerFnMiddleware[];\n readonly handler: ServerFnMiddlewareHandler<any, any>;\n};\n\nexport type AnyServerFnMiddleware = ServerFnMiddleware<any>;\n\nexport type ServerFnMiddlewareOptions<\n TMiddlewares extends readonly AnyServerFnMiddleware[],\n TProvidedContext extends object,\n> = {\n middleware?: TMiddlewares;\n handler: ServerFnMiddlewareHandler<ServerFnMiddlewareContext<TMiddlewares>, TProvidedContext>;\n};\n\nexport type ServerFnOptions<\n TSchema extends ServerFnSchema | undefined,\n TResult,\n TMiddlewares extends readonly AnyServerFnMiddleware[] = readonly [],\n> = {\n input?: TSchema;\n output?: undefined;\n middleware?: TMiddlewares;\n handler: ServerFnHandler<\n TSchema extends ServerFnSchema ? InferServerFnSchemaOutput<TSchema> : unknown,\n TResult,\n ServerFnMiddlewareContext<TMiddlewares>\n >;\n};\n\nexport type ServerFnOutputOptions<\n TInputSchema extends ServerFnSchema | undefined,\n TOutputSchema extends ServerFnSchema,\n TMiddlewares extends readonly AnyServerFnMiddleware[] = readonly [],\n> = {\n input?: TInputSchema;\n output: TOutputSchema;\n middleware?: TMiddlewares;\n handler: ServerFnHandler<\n TInputSchema extends ServerFnSchema ? InferServerFnSchemaOutput<TInputSchema> : unknown,\n unknown,\n ServerFnMiddlewareContext<TMiddlewares>\n >;\n};\n\nexport type ServerFn<TInput, TResult> = ([unknown] extends [TInput]\n ? (input?: TInput | FormData) => Promise<TResult>\n : (input: TInput | FormData) => Promise<TResult>) & {\n readonly __farmServerFn: true;\n readonly __farmServerFnInput?: unknown;\n readonly __farmServerFnOutput?: unknown;\n};\n\nexport const FARM_SERVER_FN_SYMBOL = Symbol.for(\"farm.server-fn\");\n\nconst UNSAFE_FORM_KEYS = new Set([\"__proto__\", \"constructor\", \"prototype\"]);\n\nexport function createServerMiddleware<\n const TMiddlewares extends readonly AnyServerFnMiddleware[] = readonly [],\n TProvidedContext extends object = {},\n>(\n options: ServerFnMiddlewareOptions<TMiddlewares, TProvidedContext>,\n): ServerFnMiddleware<AssignContext<ServerFnMiddlewareContext<TMiddlewares>, TProvidedContext>>;\nexport function createServerMiddleware(options: {\n middleware?: readonly AnyServerFnMiddleware[];\n handler: ServerFnMiddlewareHandler<any, any>;\n}): ServerFnMiddleware<any> {\n if (!options || typeof options.handler !== \"function\") {\n throw new TypeError(\"createServerMiddleware requires a handler function\");\n }\n\n const middleware = Object.freeze([...(options.middleware ?? [])]);\n for (const entry of middleware) {\n assertServerFnMiddleware(entry);\n }\n\n return Object.freeze({\n __farmServerFnMiddleware: true as const,\n middleware,\n handler: options.handler,\n });\n}\n\nexport function createServerFn<\n TInputSchema extends ServerFnSchema,\n TOutputSchema extends ServerFnSchema,\n const TMiddlewares extends readonly AnyServerFnMiddleware[] = readonly [],\n>(\n options: ServerFnOutputOptions<TInputSchema, TOutputSchema, TMiddlewares>,\n): ServerFn<\n InferServerFnSchemaInput<TInputSchema>,\n Awaited<InferServerFnSchemaOutput<TOutputSchema>>\n>;\nexport function createServerFn<\n TOutputSchema extends ServerFnSchema,\n const TMiddlewares extends readonly AnyServerFnMiddleware[] = readonly [],\n>(\n options: ServerFnOutputOptions<undefined, TOutputSchema, TMiddlewares>,\n): ServerFn<unknown, Awaited<InferServerFnSchemaOutput<TOutputSchema>>>;\nexport function createServerFn<\n TSchema extends ServerFnSchema,\n TResult,\n const TMiddlewares extends readonly AnyServerFnMiddleware[] = readonly [],\n>(\n options: ServerFnOptions<TSchema, TResult, TMiddlewares>,\n): ServerFn<InferServerFnSchemaInput<TSchema>, Awaited<TResult>>;\nexport function createServerFn<\n TResult,\n const TMiddlewares extends readonly AnyServerFnMiddleware[] = readonly [],\n>(options: ServerFnOptions<undefined, TResult, TMiddlewares>): ServerFn<unknown, Awaited<TResult>>;\nexport function createServerFn(options: {\n input?: ServerFnSchema;\n output?: ServerFnSchema;\n middleware?: readonly AnyServerFnMiddleware[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handler: ServerFnHandler<any, any, any>;\n}) {\n if (!options || typeof options.handler !== \"function\") {\n throw new TypeError(\"createServerFn requires a handler function\");\n }\n\n const middleware = resolveServerFnMiddleware(options.middleware);\n const serverFn = async (value: unknown) => {\n const formData = isFormData(value) ? value : undefined;\n const rawInput = formData ? formDataToObject(formData) : value;\n const input = await _parseServerFnSchema(options.input, rawInput, \"input\");\n const executionContext = getServerActionExecutionContext();\n const request = executionContext?.request ?? _resolveCurrentRequest();\n const signal = executionContext?.signal ?? request?.signal ?? getServerActionSignal();\n const handlerContext = {\n input,\n rawInput,\n formData,\n request,\n signal,\n };\n const result = await runServerFnMiddleware(middleware, handlerContext, options.handler);\n\n return _parseServerFnSchema(options.output, result, \"output\");\n };\n\n Object.defineProperties(serverFn, {\n [FARM_SERVER_FN_SYMBOL]: {\n value: true,\n enumerable: false,\n },\n __farmServerFn: {\n value: true,\n enumerable: false,\n },\n __farmServerFnInput: {\n value: options.input,\n enumerable: false,\n },\n __farmServerFnOutput: {\n value: options.output,\n enumerable: false,\n },\n __farmServerFnMiddleware: {\n value: middleware,\n enumerable: false,\n },\n });\n\n return serverFn as ServerFn<unknown, unknown>;\n}\n\ntype ServerFnBaseContext = Omit<ServerFnContext<unknown, {}>, \"context\">;\n\nasync function runServerFnMiddleware(\n middleware: readonly AnyServerFnMiddleware[],\n handlerContext: ServerFnBaseContext,\n handler: ServerFnHandler<any, any, any>,\n) {\n const dispatch = async (index: number, context: Readonly<object>): Promise<unknown> => {\n const current = middleware[index];\n if (!current) {\n return handler({ ...handlerContext, context });\n }\n\n let nextCalled = false;\n const result = await current.handler({\n ...handlerContext,\n context,\n next: async (nextOptions) => {\n if (nextCalled) {\n throw new Error(\"Server function middleware next() can only be called once\");\n }\n nextCalled = true;\n\n return dispatch(index + 1, mergeServerFnContext(context, nextOptions?.context)) as Promise<\n ServerFnMiddlewareContinuation<any>\n >;\n },\n });\n\n if (!nextCalled) {\n throw new Error(\"Server function middleware must call next()\");\n }\n\n return result;\n };\n\n return dispatch(0, Object.freeze(Object.create(null)));\n}\n\nfunction resolveServerFnMiddleware(\n middleware: readonly AnyServerFnMiddleware[] | undefined,\n): readonly AnyServerFnMiddleware[] {\n const resolved: AnyServerFnMiddleware[] = [];\n const seen = new Set<AnyServerFnMiddleware>();\n const visiting = new Set<AnyServerFnMiddleware>();\n\n const visit = (entry: AnyServerFnMiddleware) => {\n assertServerFnMiddleware(entry);\n if (seen.has(entry)) return;\n if (visiting.has(entry)) {\n throw new Error(\"Server function middleware dependencies cannot contain a cycle\");\n }\n\n visiting.add(entry);\n for (const dependency of entry.middleware) {\n visit(dependency);\n }\n visiting.delete(entry);\n seen.add(entry);\n resolved.push(entry);\n };\n\n for (const entry of middleware ?? []) {\n visit(entry);\n }\n\n return Object.freeze(resolved);\n}\n\nfunction assertServerFnMiddleware(value: unknown): asserts value is AnyServerFnMiddleware {\n if (\n !value ||\n typeof value !== \"object\" ||\n (value as { __farmServerFnMiddleware?: unknown }).__farmServerFnMiddleware !== true ||\n typeof (value as { handler?: unknown }).handler !== \"function\" ||\n !Array.isArray((value as { middleware?: unknown }).middleware)\n ) {\n throw new TypeError(\"createServerFn middleware must be created with createServerMiddleware\");\n }\n}\n\nfunction mergeServerFnContext(current: Readonly<object>, added: object | undefined) {\n if (\n added !== undefined &&\n (added === null || typeof added !== \"object\" || Array.isArray(added))\n ) {\n throw new TypeError(\"Server function middleware context must be an object\");\n }\n\n return Object.freeze(Object.assign(Object.create(null), current, added));\n}\n\nexport async function _parseServerFnSchema(\n schema: ServerFnSchema | undefined,\n value: unknown,\n contract: \"input\" | \"output\",\n owner = \"createServerFn\",\n) {\n if (!schema) return value;\n\n if (typeof schema.safeParseAsync === \"function\") {\n const result = await schema.safeParseAsync(value);\n return unwrapSafeParseResult(result);\n }\n\n if (typeof schema.safeParse === \"function\") {\n const result = schema.safeParse(value);\n return unwrapSafeParseResult(await result);\n }\n\n if (typeof schema.parseAsync === \"function\") {\n return schema.parseAsync(value);\n }\n\n if (typeof schema.parse === \"function\") {\n return schema.parse(value);\n }\n\n throw new TypeError(`${owner} ${contract} must provide parse, parseAsync, or safeParse`);\n}\n\nfunction unwrapSafeParseResult(result: unknown) {\n if (\n result &&\n typeof result === \"object\" &&\n \"success\" in result &&\n (result as { success: boolean }).success === false\n ) {\n throw (result as { error?: unknown }).error;\n }\n\n if (\n result &&\n typeof result === \"object\" &&\n \"success\" in result &&\n (result as { success: boolean }).success === true\n ) {\n return (result as unknown as { data: unknown }).data;\n }\n\n return result;\n}\n\nfunction formDataToObject(formData: FormData) {\n const output: Record<string, FormDataEntryValue | FormDataEntryValue[]> = Object.create(null);\n\n for (const [key, value] of formData.entries()) {\n if (!isSafeFormKey(key)) continue;\n\n const existing = output[key];\n if (existing === undefined) {\n output[key] = value;\n } else if (Array.isArray(existing)) {\n existing.push(value);\n } else {\n output[key] = [existing, value];\n }\n }\n\n return output;\n}\n\nfunction isSafeFormKey(key: string) {\n return !key.startsWith(\"$ACTION_\") && !UNSAFE_FORM_KEYS.has(key);\n}\n\nfunction isFormData(value: unknown): value is FormData {\n if (!value || typeof value !== \"object\") return false;\n\n if (typeof FormData !== \"undefined\" && value instanceof FormData) {\n return true;\n }\n\n return (\n Object.prototype.toString.call(value) === \"[object FormData]\" &&\n typeof (value as { entries?: unknown }).entries === \"function\"\n );\n}\n"],"mappings":"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","names":[]}