@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.
- package/LICENSE +22 -0
- package/README.md +11 -0
- package/dist/after.cjs +227 -0
- package/dist/after.cjs.map +1 -0
- package/dist/after.d.mts +25 -0
- package/dist/after.d.ts +25 -0
- package/dist/after.mjs +14 -0
- package/dist/after.mjs.map +1 -0
- package/dist/agent-runtime.cjs +2379 -0
- package/dist/agent-runtime.cjs.map +1 -0
- package/dist/agent-runtime.d.mts +93 -0
- package/dist/agent-runtime.d.ts +93 -0
- package/dist/agent-runtime.mjs +479 -0
- package/dist/agent-runtime.mjs.map +1 -0
- package/dist/api/route-manager.cjs +1196 -0
- package/dist/api/route-manager.cjs.map +1 -0
- package/dist/api/route-manager.d.mts +64 -0
- package/dist/api/route-manager.d.ts +64 -0
- package/dist/api/route-manager.mjs +34 -0
- package/dist/api/route-manager.mjs.map +1 -0
- package/dist/api/runtime.cjs +272 -0
- package/dist/api/runtime.cjs.map +1 -0
- package/dist/api/runtime.d.mts +16 -0
- package/dist/api/runtime.d.ts +16 -0
- package/dist/api/runtime.mjs +16 -0
- package/dist/api/runtime.mjs.map +1 -0
- package/dist/api.cjs +3199 -0
- package/dist/api.cjs.map +1 -0
- package/dist/api.d.mts +190 -0
- package/dist/api.d.ts +190 -0
- package/dist/api.mjs +63 -0
- package/dist/api.mjs.map +1 -0
- package/dist/app-BiX4qb-d.d.mts +265 -0
- package/dist/app-CFRNJXP1.d.ts +265 -0
- package/dist/app-markdown.cjs +220 -0
- package/dist/app-markdown.cjs.map +1 -0
- package/dist/app-markdown.d.mts +21 -0
- package/dist/app-markdown.d.ts +21 -0
- package/dist/app-markdown.mjs +26 -0
- package/dist/app-markdown.mjs.map +1 -0
- package/dist/cache.cjs +543 -0
- package/dist/cache.cjs.map +1 -0
- package/dist/cache.d.mts +78 -0
- package/dist/cache.d.ts +78 -0
- package/dist/cache.mjs +38 -0
- package/dist/cache.mjs.map +1 -0
- package/dist/chunk-25D7G34K.mjs +142 -0
- package/dist/chunk-25D7G34K.mjs.map +1 -0
- package/dist/chunk-3QJO55ZF.mjs +3548 -0
- package/dist/chunk-3QJO55ZF.mjs.map +1 -0
- package/dist/chunk-3XNTL3FQ.mjs +452 -0
- package/dist/chunk-3XNTL3FQ.mjs.map +1 -0
- package/dist/chunk-44ZCFSKE.mjs +84 -0
- package/dist/chunk-44ZCFSKE.mjs.map +1 -0
- package/dist/chunk-4PTK6KT4.mjs +364 -0
- package/dist/chunk-4PTK6KT4.mjs.map +1 -0
- package/dist/chunk-4S3ORGFA.mjs +44 -0
- package/dist/chunk-4S3ORGFA.mjs.map +1 -0
- package/dist/chunk-5BY76U2M.mjs +1 -0
- package/dist/chunk-5BY76U2M.mjs.map +1 -0
- package/dist/chunk-5ZGPRGWV.mjs +136 -0
- package/dist/chunk-5ZGPRGWV.mjs.map +1 -0
- package/dist/chunk-6XDUHOEM.mjs +157 -0
- package/dist/chunk-6XDUHOEM.mjs.map +1 -0
- package/dist/chunk-74YTBPTY.mjs +450 -0
- package/dist/chunk-74YTBPTY.mjs.map +1 -0
- package/dist/chunk-7HO6AEOP.mjs +74 -0
- package/dist/chunk-7HO6AEOP.mjs.map +1 -0
- package/dist/chunk-7MABZJIM.mjs +29 -0
- package/dist/chunk-7MABZJIM.mjs.map +1 -0
- package/dist/chunk-7ZY5AIJO.mjs +161 -0
- package/dist/chunk-7ZY5AIJO.mjs.map +1 -0
- package/dist/chunk-AGS7UJ52.mjs +446 -0
- package/dist/chunk-AGS7UJ52.mjs.map +1 -0
- package/dist/chunk-AZ7YUVNR.mjs +65 -0
- package/dist/chunk-AZ7YUVNR.mjs.map +1 -0
- package/dist/chunk-B232I2GP.mjs +163 -0
- package/dist/chunk-B232I2GP.mjs.map +1 -0
- package/dist/chunk-B6N4ZB2H.mjs +718 -0
- package/dist/chunk-B6N4ZB2H.mjs.map +1 -0
- package/dist/chunk-BHG3LVHH.mjs +176 -0
- package/dist/chunk-BHG3LVHH.mjs.map +1 -0
- package/dist/chunk-C3DLZMBU.mjs +597 -0
- package/dist/chunk-C3DLZMBU.mjs.map +1 -0
- package/dist/chunk-CGILA3WO.mjs +14 -0
- package/dist/chunk-CGILA3WO.mjs.map +1 -0
- package/dist/chunk-CHFHNEMO.mjs +7088 -0
- package/dist/chunk-CHFHNEMO.mjs.map +1 -0
- package/dist/chunk-E2MPIBRE.mjs +149 -0
- package/dist/chunk-E2MPIBRE.mjs.map +1 -0
- package/dist/chunk-E6EPN5BT.mjs +203 -0
- package/dist/chunk-E6EPN5BT.mjs.map +1 -0
- package/dist/chunk-EVGBEZDF.mjs +215 -0
- package/dist/chunk-EVGBEZDF.mjs.map +1 -0
- package/dist/chunk-FQYDHKKU.mjs +128 -0
- package/dist/chunk-FQYDHKKU.mjs.map +1 -0
- package/dist/chunk-G3B5BRDY.mjs +5763 -0
- package/dist/chunk-G3B5BRDY.mjs.map +1 -0
- package/dist/chunk-GN72QAIH.mjs +146 -0
- package/dist/chunk-GN72QAIH.mjs.map +1 -0
- package/dist/chunk-GS6K5OCM.mjs +407 -0
- package/dist/chunk-GS6K5OCM.mjs.map +1 -0
- package/dist/chunk-GY2STC2S.mjs +180 -0
- package/dist/chunk-GY2STC2S.mjs.map +1 -0
- package/dist/chunk-GZP5W4K3.mjs +158 -0
- package/dist/chunk-GZP5W4K3.mjs.map +1 -0
- package/dist/chunk-H2FA2SBS.mjs +51 -0
- package/dist/chunk-H2FA2SBS.mjs.map +1 -0
- package/dist/chunk-HXP3ZSPC.mjs +211 -0
- package/dist/chunk-HXP3ZSPC.mjs.map +1 -0
- package/dist/chunk-ITN462YM.mjs +98 -0
- package/dist/chunk-ITN462YM.mjs.map +1 -0
- package/dist/chunk-J23HNLFY.mjs +72 -0
- package/dist/chunk-J23HNLFY.mjs.map +1 -0
- package/dist/chunk-J4FNJ5IU.mjs +179 -0
- package/dist/chunk-J4FNJ5IU.mjs.map +1 -0
- package/dist/chunk-JK25YEN6.mjs +219 -0
- package/dist/chunk-JK25YEN6.mjs.map +1 -0
- package/dist/chunk-JLWMCADZ.mjs +204 -0
- package/dist/chunk-JLWMCADZ.mjs.map +1 -0
- package/dist/chunk-JN3UU635.mjs +622 -0
- package/dist/chunk-JN3UU635.mjs.map +1 -0
- package/dist/chunk-K4667E2Q.mjs +1916 -0
- package/dist/chunk-K4667E2Q.mjs.map +1 -0
- package/dist/chunk-LGHEOHBU.mjs +218 -0
- package/dist/chunk-LGHEOHBU.mjs.map +1 -0
- package/dist/chunk-LLC7BNXW.mjs +275 -0
- package/dist/chunk-LLC7BNXW.mjs.map +1 -0
- package/dist/chunk-LM2YNO4U.mjs +24 -0
- package/dist/chunk-LM2YNO4U.mjs.map +1 -0
- package/dist/chunk-NNLCAVB6.mjs +391 -0
- package/dist/chunk-NNLCAVB6.mjs.map +1 -0
- package/dist/chunk-O3HADRW6.mjs +639 -0
- package/dist/chunk-O3HADRW6.mjs.map +1 -0
- package/dist/chunk-OYXO65LI.mjs +119 -0
- package/dist/chunk-OYXO65LI.mjs.map +1 -0
- package/dist/chunk-P7QDS5AT.mjs +191 -0
- package/dist/chunk-P7QDS5AT.mjs.map +1 -0
- package/dist/chunk-PRNYWD7K.mjs +599 -0
- package/dist/chunk-PRNYWD7K.mjs.map +1 -0
- package/dist/chunk-QF4PHCMA.mjs +422 -0
- package/dist/chunk-QF4PHCMA.mjs.map +1 -0
- package/dist/chunk-QFQRHRZS.mjs +1224 -0
- package/dist/chunk-QFQRHRZS.mjs.map +1 -0
- package/dist/chunk-QGOHVJ6J.mjs +63 -0
- package/dist/chunk-QGOHVJ6J.mjs.map +1 -0
- package/dist/chunk-QKVUNGAH.mjs +39 -0
- package/dist/chunk-QKVUNGAH.mjs.map +1 -0
- package/dist/chunk-QM6VV26B.mjs +149 -0
- package/dist/chunk-QM6VV26B.mjs.map +1 -0
- package/dist/chunk-RHIFZZUI.mjs +69 -0
- package/dist/chunk-RHIFZZUI.mjs.map +1 -0
- package/dist/chunk-RKI6TN3A.mjs +49 -0
- package/dist/chunk-RKI6TN3A.mjs.map +1 -0
- package/dist/chunk-RSKVYESE.mjs +187 -0
- package/dist/chunk-RSKVYESE.mjs.map +1 -0
- package/dist/chunk-S2XHZS7W.mjs +180 -0
- package/dist/chunk-S2XHZS7W.mjs.map +1 -0
- package/dist/chunk-SCFX4UTD.mjs +28 -0
- package/dist/chunk-SCFX4UTD.mjs.map +1 -0
- package/dist/chunk-SL6HTIOK.mjs +66 -0
- package/dist/chunk-SL6HTIOK.mjs.map +1 -0
- package/dist/chunk-SOU3Q3ZA.mjs +173 -0
- package/dist/chunk-SOU3Q3ZA.mjs.map +1 -0
- package/dist/chunk-SPBBQLXI.mjs +207 -0
- package/dist/chunk-SPBBQLXI.mjs.map +1 -0
- package/dist/chunk-SXZTEK3V.mjs +396 -0
- package/dist/chunk-SXZTEK3V.mjs.map +1 -0
- package/dist/chunk-T4QJQK76.mjs +459 -0
- package/dist/chunk-T4QJQK76.mjs.map +1 -0
- package/dist/chunk-TRORP7E4.mjs +41 -0
- package/dist/chunk-TRORP7E4.mjs.map +1 -0
- package/dist/chunk-TU4YJICB.mjs +728 -0
- package/dist/chunk-TU4YJICB.mjs.map +1 -0
- package/dist/chunk-TXCFGOHW.mjs +42 -0
- package/dist/chunk-TXCFGOHW.mjs.map +1 -0
- package/dist/chunk-UHE2TTLK.mjs +466 -0
- package/dist/chunk-UHE2TTLK.mjs.map +1 -0
- package/dist/chunk-UREJA4GZ.mjs +364 -0
- package/dist/chunk-UREJA4GZ.mjs.map +1 -0
- package/dist/chunk-USWZZUEH.mjs +25 -0
- package/dist/chunk-USWZZUEH.mjs.map +1 -0
- package/dist/chunk-UVCIEUJC.mjs +16 -0
- package/dist/chunk-UVCIEUJC.mjs.map +1 -0
- package/dist/chunk-V6WE6JSZ.mjs +352 -0
- package/dist/chunk-V6WE6JSZ.mjs.map +1 -0
- package/dist/chunk-V7RBCSDJ.mjs +170 -0
- package/dist/chunk-V7RBCSDJ.mjs.map +1 -0
- package/dist/chunk-VCANOYFI.mjs +588 -0
- package/dist/chunk-VCANOYFI.mjs.map +1 -0
- package/dist/chunk-WZ5QFROO.mjs +23 -0
- package/dist/chunk-WZ5QFROO.mjs.map +1 -0
- package/dist/chunk-Y2OJJD7R.mjs +543 -0
- package/dist/chunk-Y2OJJD7R.mjs.map +1 -0
- package/dist/chunk-Y7A27276.mjs +538 -0
- package/dist/chunk-Y7A27276.mjs.map +1 -0
- package/dist/chunk-YHU7SS6L.mjs +365 -0
- package/dist/chunk-YHU7SS6L.mjs.map +1 -0
- package/dist/chunk-ZBE6MLHL.mjs +230 -0
- package/dist/chunk-ZBE6MLHL.mjs.map +1 -0
- package/dist/chunk-ZJQNATYV.mjs +299 -0
- package/dist/chunk-ZJQNATYV.mjs.map +1 -0
- package/dist/client-D_yUjVhe.d.mts +402 -0
- package/dist/client-Dkc03WP8.d.ts +402 -0
- package/dist/client-cache-CIlyBlmx.d.ts +6 -0
- package/dist/client-cache-D-EZ7XVW.d.mts +6 -0
- package/dist/client-plugins-BZnpeTGA.d.ts +1848 -0
- package/dist/client-plugins-g4bzuCmo.d.mts +1848 -0
- package/dist/client-plugins.cjs +415 -0
- package/dist/client-plugins.cjs.map +1 -0
- package/dist/client-plugins.d.mts +21 -0
- package/dist/client-plugins.d.ts +21 -0
- package/dist/client-plugins.mjs +10 -0
- package/dist/client-plugins.mjs.map +1 -0
- package/dist/client.cjs +4571 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.mts +329 -0
- package/dist/client.d.ts +329 -0
- package/dist/client.mjs +103 -0
- package/dist/client.mjs.map +1 -0
- package/dist/config.cjs +38 -0
- package/dist/config.cjs.map +1 -0
- package/dist/config.d.mts +28 -0
- package/dist/config.d.ts +28 -0
- package/dist/config.mjs +10 -0
- package/dist/config.mjs.map +1 -0
- package/dist/cron.cjs +406 -0
- package/dist/cron.cjs.map +1 -0
- package/dist/cron.d.mts +78 -0
- package/dist/cron.d.ts +78 -0
- package/dist/cron.mjs +30 -0
- package/dist/cron.mjs.map +1 -0
- package/dist/deferred.cjs +438 -0
- package/dist/deferred.cjs.map +1 -0
- package/dist/deferred.d.mts +42 -0
- package/dist/deferred.d.ts +42 -0
- package/dist/deferred.mjs +28 -0
- package/dist/deferred.mjs.map +1 -0
- package/dist/deployment.cjs +199 -0
- package/dist/deployment.cjs.map +1 -0
- package/dist/deployment.d.mts +34 -0
- package/dist/deployment.d.ts +34 -0
- package/dist/deployment.mjs +38 -0
- package/dist/deployment.mjs.map +1 -0
- package/dist/devtools-AE4RVXCM.mjs +370 -0
- package/dist/devtools-AE4RVXCM.mjs.map +1 -0
- package/dist/devtools-client-6WPY2AQU.mjs +225 -0
- package/dist/devtools-client-6WPY2AQU.mjs.map +1 -0
- package/dist/devtools-ui-NJKFORTG.mjs +1349 -0
- package/dist/devtools-ui-NJKFORTG.mjs.map +1 -0
- package/dist/docs.cjs +5541 -0
- package/dist/docs.cjs.map +1 -0
- package/dist/docs.d.mts +69 -0
- package/dist/docs.d.ts +69 -0
- package/dist/docs.mjs +46 -0
- package/dist/docs.mjs.map +1 -0
- package/dist/env-types.cjs +223 -0
- package/dist/env-types.cjs.map +1 -0
- package/dist/env-types.d.mts +11 -0
- package/dist/env-types.d.ts +11 -0
- package/dist/env-types.mjs +9 -0
- package/dist/env-types.mjs.map +1 -0
- package/dist/env.cjs +215 -0
- package/dist/env.cjs.map +1 -0
- package/dist/env.d.mts +45 -0
- package/dist/env.d.ts +45 -0
- package/dist/env.mjs +22 -0
- package/dist/env.mjs.map +1 -0
- package/dist/environment/vite.cjs +374 -0
- package/dist/environment/vite.cjs.map +1 -0
- package/dist/environment/vite.d.mts +22 -0
- package/dist/environment/vite.d.ts +22 -0
- package/dist/environment/vite.mjs +10 -0
- package/dist/environment/vite.mjs.map +1 -0
- package/dist/environment.cjs +96 -0
- package/dist/environment.cjs.map +1 -0
- package/dist/environment.d.mts +18 -0
- package/dist/environment.d.ts +18 -0
- package/dist/environment.mjs +14 -0
- package/dist/environment.mjs.map +1 -0
- package/dist/headers.cjs +126 -0
- package/dist/headers.cjs.map +1 -0
- package/dist/headers.d.mts +22 -0
- package/dist/headers.d.ts +22 -0
- package/dist/headers.mjs +12 -0
- package/dist/headers.mjs.map +1 -0
- package/dist/i18n/client.cjs +283 -0
- package/dist/i18n/client.cjs.map +1 -0
- package/dist/i18n/client.d.mts +32 -0
- package/dist/i18n/client.d.ts +32 -0
- package/dist/i18n/client.mjs +121 -0
- package/dist/i18n/client.mjs.map +1 -0
- package/dist/i18n/index.cjs +130 -0
- package/dist/i18n/index.cjs.map +1 -0
- package/dist/i18n/index.d.mts +20 -0
- package/dist/i18n/index.d.ts +20 -0
- package/dist/i18n/index.mjs +22 -0
- package/dist/i18n/index.mjs.map +1 -0
- package/dist/i18n/server.cjs +637 -0
- package/dist/i18n/server.cjs.map +1 -0
- package/dist/i18n/server.d.mts +30 -0
- package/dist/i18n/server.d.ts +30 -0
- package/dist/i18n/server.mjs +32 -0
- package/dist/i18n/server.mjs.map +1 -0
- package/dist/image/server.cjs +477 -0
- package/dist/image/server.cjs.map +1 -0
- package/dist/image/server.d.mts +37 -0
- package/dist/image/server.d.ts +37 -0
- package/dist/image/server.mjs +16 -0
- package/dist/image/server.mjs.map +1 -0
- package/dist/image/sharp.cjs +135 -0
- package/dist/image/sharp.cjs.map +1 -0
- package/dist/image/sharp.d.mts +7 -0
- package/dist/image/sharp.d.ts +7 -0
- package/dist/image/sharp.mjs +75 -0
- package/dist/image/sharp.mjs.map +1 -0
- package/dist/image-config-Duob7wER.d.mts +50 -0
- package/dist/image-config-Duob7wER.d.ts +50 -0
- package/dist/image.cjs +209 -0
- package/dist/image.cjs.map +1 -0
- package/dist/image.d.mts +39 -0
- package/dist/image.d.ts +39 -0
- package/dist/image.mjs +165 -0
- package/dist/image.mjs.map +1 -0
- package/dist/index.cjs +39433 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.mts +451 -0
- package/dist/index.d.ts +451 -0
- package/dist/index.mjs +930 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integration-api-CHT2OKAf.d.mts +93 -0
- package/dist/integration-api-CHT2OKAf.d.ts +93 -0
- package/dist/integration-orm-GQLGU66X.mjs +13 -0
- package/dist/integration-orm-GQLGU66X.mjs.map +1 -0
- package/dist/integrations.cjs +2820 -0
- package/dist/integrations.cjs.map +1 -0
- package/dist/integrations.d.mts +21 -0
- package/dist/integrations.d.ts +21 -0
- package/dist/integrations.mjs +51 -0
- package/dist/integrations.mjs.map +1 -0
- package/dist/internal/build-runtime.cjs +31340 -0
- package/dist/internal/build-runtime.cjs.map +1 -0
- package/dist/internal/build-runtime.d.mts +38 -0
- package/dist/internal/build-runtime.d.ts +38 -0
- package/dist/internal/build-runtime.mjs +73 -0
- package/dist/internal/build-runtime.mjs.map +1 -0
- package/dist/internal/client-runtime.cjs +579 -0
- package/dist/internal/client-runtime.cjs.map +1 -0
- package/dist/internal/client-runtime.d.mts +2 -0
- package/dist/internal/client-runtime.d.ts +2 -0
- package/dist/internal/client-runtime.mjs +12 -0
- package/dist/internal/client-runtime.mjs.map +1 -0
- package/dist/internal/config-runtime.cjs +4172 -0
- package/dist/internal/config-runtime.cjs.map +1 -0
- package/dist/internal/config-runtime.d.mts +38 -0
- package/dist/internal/config-runtime.d.ts +38 -0
- package/dist/internal/config-runtime.mjs +38 -0
- package/dist/internal/config-runtime.mjs.map +1 -0
- package/dist/internal/production-node-env.cjs +65 -0
- package/dist/internal/production-node-env.cjs.map +1 -0
- package/dist/internal/production-node-env.d.mts +12 -0
- package/dist/internal/production-node-env.d.ts +12 -0
- package/dist/internal/production-node-env.mjs +8 -0
- package/dist/internal/production-node-env.mjs.map +1 -0
- package/dist/internal/production-runtime.cjs +1896 -0
- package/dist/internal/production-runtime.cjs.map +1 -0
- package/dist/internal/production-runtime.d.mts +39 -0
- package/dist/internal/production-runtime.d.ts +39 -0
- package/dist/internal/production-runtime.mjs +79 -0
- package/dist/internal/production-runtime.mjs.map +1 -0
- package/dist/layers-VWVDTPUZ.mjs +16 -0
- package/dist/layers-VWVDTPUZ.mjs.map +1 -0
- package/dist/manager-THKFTOFE.mjs +10 -0
- package/dist/manager-THKFTOFE.mjs.map +1 -0
- package/dist/markdown.cjs +299 -0
- package/dist/markdown.cjs.map +1 -0
- package/dist/markdown.d.mts +43 -0
- package/dist/markdown.d.ts +43 -0
- package/dist/markdown.mjs +14 -0
- package/dist/markdown.mjs.map +1 -0
- package/dist/metadata-C9NZxMDW.d.mts +22 -0
- package/dist/metadata-DAXRaOHx.d.ts +22 -0
- package/dist/middleware.cjs +2148 -0
- package/dist/middleware.cjs.map +1 -0
- package/dist/middleware.d.mts +163 -0
- package/dist/middleware.d.ts +163 -0
- package/dist/middleware.mjs +49 -0
- package/dist/middleware.mjs.map +1 -0
- package/dist/navigation-errors-Dvwpzaer.d.mts +13 -0
- package/dist/navigation-errors-Dvwpzaer.d.ts +13 -0
- package/dist/navigation.cjs +1304 -0
- package/dist/navigation.cjs.map +1 -0
- package/dist/navigation.d.mts +14 -0
- package/dist/navigation.d.ts +14 -0
- package/dist/navigation.mjs +33 -0
- package/dist/navigation.mjs.map +1 -0
- package/dist/nitro-KME62MWG.mjs +691 -0
- package/dist/nitro-KME62MWG.mjs.map +1 -0
- package/dist/observability.cjs +186 -0
- package/dist/observability.cjs.map +1 -0
- package/dist/observability.d.mts +335 -0
- package/dist/observability.d.ts +335 -0
- package/dist/observability.mjs +16 -0
- package/dist/observability.mjs.map +1 -0
- package/dist/params-BALtrRim.d.ts +15 -0
- package/dist/params-ry-lxqmy.d.mts +15 -0
- package/dist/plugin-BJDf43dc.d.mts +165 -0
- package/dist/plugin-BJDf43dc.d.ts +165 -0
- package/dist/plugin.cjs +22285 -0
- package/dist/plugin.cjs.map +1 -0
- package/dist/plugin.d.mts +21 -0
- package/dist/plugin.d.ts +21 -0
- package/dist/plugin.mjs +60 -0
- package/dist/plugin.mjs.map +1 -0
- package/dist/production-runtime-C_B79w2P.d.mts +28 -0
- package/dist/production-runtime-DDEM1D2q.d.ts +28 -0
- package/dist/production-runtime-DRkCHUvJ.d.ts +79 -0
- package/dist/production-runtime-flrjp_nC.d.mts +79 -0
- package/dist/query/client.cjs +560 -0
- package/dist/query/client.cjs.map +1 -0
- package/dist/query/client.d.mts +61 -0
- package/dist/query/client.d.ts +61 -0
- package/dist/query/client.mjs +364 -0
- package/dist/query/client.mjs.map +1 -0
- package/dist/query/index.cjs +226 -0
- package/dist/query/index.cjs.map +1 -0
- package/dist/query/index.d.mts +90 -0
- package/dist/query/index.d.ts +90 -0
- package/dist/query/index.mjs +31 -0
- package/dist/query/index.mjs.map +1 -0
- package/dist/query/parsers.cjs +178 -0
- package/dist/query/parsers.cjs.map +1 -0
- package/dist/query/parsers.d.mts +25 -0
- package/dist/query/parsers.d.ts +25 -0
- package/dist/query/parsers.mjs +24 -0
- package/dist/query/parsers.mjs.map +1 -0
- package/dist/query/server.cjs +301 -0
- package/dist/query/server.cjs.map +1 -0
- package/dist/query/server.d.mts +55 -0
- package/dist/query/server.d.ts +55 -0
- package/dist/query/server.mjs +105 -0
- package/dist/query/server.mjs.map +1 -0
- package/dist/request-BrFBuc8G.d.mts +6 -0
- package/dist/request-BslSZIRz.d.ts +6 -0
- package/dist/request.cjs +71 -0
- package/dist/request.cjs.map +1 -0
- package/dist/request.d.mts +2 -0
- package/dist/request.d.ts +2 -0
- package/dist/request.mjs +9 -0
- package/dist/request.mjs.map +1 -0
- package/dist/resolver-C6iecsDV.d.ts +14 -0
- package/dist/resolver-DlOPpjkB.d.mts +14 -0
- package/dist/route-runtime-DoOHzCAD.d.mts +38 -0
- package/dist/route-runtime-DoOHzCAD.d.ts +38 -0
- package/dist/router.cjs +254 -0
- package/dist/router.cjs.map +1 -0
- package/dist/router.d.mts +36 -0
- package/dist/router.d.ts +36 -0
- package/dist/router.mjs +14 -0
- package/dist/router.mjs.map +1 -0
- package/dist/routes.cjs +1213 -0
- package/dist/routes.cjs.map +1 -0
- package/dist/routes.d.mts +224 -0
- package/dist/routes.d.ts +224 -0
- package/dist/routes.mjs +52 -0
- package/dist/routes.mjs.map +1 -0
- package/dist/runtime-B6GvwDS1.d.ts +27 -0
- package/dist/runtime-DeAAZ6gO.d.mts +27 -0
- package/dist/search-client-6OXIBNYQ.mjs +14 -0
- package/dist/search-client-6OXIBNYQ.mjs.map +1 -0
- package/dist/server-action-security.cjs +492 -0
- package/dist/server-action-security.cjs.map +1 -0
- package/dist/server-action-security.d.mts +42 -0
- package/dist/server-action-security.d.ts +42 -0
- package/dist/server-action-security.mjs +29 -0
- package/dist/server-action-security.mjs.map +1 -0
- package/dist/server-fn-client.cjs +180 -0
- package/dist/server-fn-client.cjs.map +1 -0
- package/dist/server-fn-client.d.mts +31 -0
- package/dist/server-fn-client.d.ts +31 -0
- package/dist/server-fn-client.mjs +9 -0
- package/dist/server-fn-client.mjs.map +1 -0
- package/dist/server-fn.cjs +284 -0
- package/dist/server-fn.cjs.map +1 -0
- package/dist/server-fn.d.mts +84 -0
- package/dist/server-fn.d.ts +84 -0
- package/dist/server-fn.mjs +17 -0
- package/dist/server-fn.mjs.map +1 -0
- package/dist/server-plugins.cjs +235 -0
- package/dist/server-plugins.cjs.map +1 -0
- package/dist/server-plugins.d.mts +54 -0
- package/dist/server-plugins.d.ts +54 -0
- package/dist/server-plugins.mjs +18 -0
- package/dist/server-plugins.mjs.map +1 -0
- package/dist/server-query-client.cjs +792 -0
- package/dist/server-query-client.cjs.map +1 -0
- package/dist/server-query-client.d.mts +50 -0
- package/dist/server-query-client.d.ts +50 -0
- package/dist/server-query-client.mjs +23 -0
- package/dist/server-query-client.mjs.map +1 -0
- package/dist/server-query.cjs +804 -0
- package/dist/server-query.cjs.map +1 -0
- package/dist/server-query.d.mts +36 -0
- package/dist/server-query.d.ts +36 -0
- package/dist/server-query.mjs +18 -0
- package/dist/server-query.mjs.map +1 -0
- package/dist/server.cjs +25739 -0
- package/dist/server.cjs.map +1 -0
- package/dist/server.d.mts +47 -0
- package/dist/server.d.ts +47 -0
- package/dist/server.mjs +511 -0
- package/dist/server.mjs.map +1 -0
- package/dist/storage.cjs +515 -0
- package/dist/storage.cjs.map +1 -0
- package/dist/storage.d.mts +52 -0
- package/dist/storage.d.ts +52 -0
- package/dist/storage.mjs +58 -0
- package/dist/storage.mjs.map +1 -0
- package/dist/testing.cjs +1882 -0
- package/dist/testing.cjs.map +1 -0
- package/dist/testing.d.mts +100 -0
- package/dist/testing.d.ts +100 -0
- package/dist/testing.mjs +324 -0
- package/dist/testing.mjs.map +1 -0
- package/dist/types-BH1lhg5G.d.mts +81 -0
- package/dist/types-BH1lhg5G.d.ts +81 -0
- package/dist/types-C9N-nk5R.d.mts +53 -0
- package/dist/types-C9N-nk5R.d.ts +53 -0
- package/dist/types-D1A6-XvH.d.mts +73 -0
- package/dist/types-D1A6-XvH.d.ts +73 -0
- package/dist/utils-DA1yo54_.d.ts +23 -0
- package/dist/utils-DOXXivjL.d.mts +23 -0
- package/dist/vite.cjs +22684 -0
- package/dist/vite.cjs.map +1 -0
- package/dist/vite.d.mts +21 -0
- package/dist/vite.d.ts +21 -0
- package/dist/vite.mjs +59 -0
- package/dist/vite.mjs.map +1 -0
- package/dist/workflows.cjs +586 -0
- package/dist/workflows.cjs.map +1 -0
- package/dist/workflows.d.mts +110 -0
- package/dist/workflows.d.ts +110 -0
- package/dist/workflows.mjs +32 -0
- package/dist/workflows.mjs.map +1 -0
- package/package.json +523 -0
- package/types/api.d.ts +88 -0
- package/types/client.d.ts +1171 -0
- package/types/index.d.ts +17 -0
- package/types/middleware.d.ts +266 -0
|
@@ -0,0 +1,804 @@
|
|
|
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/server-query.ts
|
|
22
|
+
var server_query_exports = {};
|
|
23
|
+
__export(server_query_exports, {
|
|
24
|
+
FARM_SERVER_QUERY_SYMBOL: () => FARM_SERVER_QUERY_SYMBOL,
|
|
25
|
+
createServerQuery: () => createServerQuery
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(server_query_exports);
|
|
28
|
+
|
|
29
|
+
// src/observability.ts
|
|
30
|
+
var runtimeHandlers = /* @__PURE__ */ new Set();
|
|
31
|
+
var observabilityState = {
|
|
32
|
+
logs: false,
|
|
33
|
+
handlers: []
|
|
34
|
+
};
|
|
35
|
+
function emitFarmEvent(input) {
|
|
36
|
+
const event = {
|
|
37
|
+
timestamp: Date.now(),
|
|
38
|
+
level: inferFarmEventLevel(input.type),
|
|
39
|
+
...input
|
|
40
|
+
};
|
|
41
|
+
if (!shouldEmitFarmEvent(event)) {
|
|
42
|
+
return event;
|
|
43
|
+
}
|
|
44
|
+
if (observabilityState.logs) {
|
|
45
|
+
logFarmEvent(event);
|
|
46
|
+
}
|
|
47
|
+
for (const handler of [...observabilityState.handlers, ...runtimeHandlers]) {
|
|
48
|
+
try {
|
|
49
|
+
Promise.resolve(handler(event)).catch((error) => {
|
|
50
|
+
console.warn(`[farm:observability] event handler failed: ${formatError(error)}`);
|
|
51
|
+
});
|
|
52
|
+
} catch (error) {
|
|
53
|
+
console.warn(`[farm:observability] event handler failed: ${formatError(error)}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return event;
|
|
57
|
+
}
|
|
58
|
+
__name(emitFarmEvent, "emitFarmEvent");
|
|
59
|
+
function shouldEmitFarmEvent(event) {
|
|
60
|
+
if (!observabilityState.logs && observabilityState.handlers.length === 0 && runtimeHandlers.size === 0) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
if (observabilityState.events && !observabilityState.events.has(event.type)) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
__name(shouldEmitFarmEvent, "shouldEmitFarmEvent");
|
|
69
|
+
function inferFarmEventLevel(type) {
|
|
70
|
+
if (type === "error" || type.endsWith(".error") || type.endsWith(".failed")) {
|
|
71
|
+
return "error";
|
|
72
|
+
}
|
|
73
|
+
if (type.endsWith(".bypass") || type.endsWith(".invalidated") || type.endsWith(".stale") || type.endsWith(".notFound")) {
|
|
74
|
+
return "warn";
|
|
75
|
+
}
|
|
76
|
+
if (type.endsWith(".hit") || type.endsWith(".miss") || type.endsWith(".start") || type.endsWith(".shellReady")) {
|
|
77
|
+
return "debug";
|
|
78
|
+
}
|
|
79
|
+
return "info";
|
|
80
|
+
}
|
|
81
|
+
__name(inferFarmEventLevel, "inferFarmEventLevel");
|
|
82
|
+
function logFarmEvent(event) {
|
|
83
|
+
const message = `[farm:${event.level}] ${event.type}${formatFarmEventDetails(event)}`;
|
|
84
|
+
switch (event.level) {
|
|
85
|
+
case "error":
|
|
86
|
+
console.error(message);
|
|
87
|
+
break;
|
|
88
|
+
case "warn":
|
|
89
|
+
console.warn(message);
|
|
90
|
+
break;
|
|
91
|
+
default:
|
|
92
|
+
console.log(message);
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
__name(logFarmEvent, "logFarmEvent");
|
|
97
|
+
function formatFarmEventDetails(event) {
|
|
98
|
+
const details = [];
|
|
99
|
+
const record = event;
|
|
100
|
+
for (const key of [
|
|
101
|
+
"route",
|
|
102
|
+
"pathname",
|
|
103
|
+
"method",
|
|
104
|
+
"status",
|
|
105
|
+
"key",
|
|
106
|
+
"tag",
|
|
107
|
+
"path",
|
|
108
|
+
"reason",
|
|
109
|
+
"durationMs",
|
|
110
|
+
"integration",
|
|
111
|
+
"operation",
|
|
112
|
+
"plugin",
|
|
113
|
+
"hook",
|
|
114
|
+
"target",
|
|
115
|
+
"count"
|
|
116
|
+
]) {
|
|
117
|
+
const value = record[key];
|
|
118
|
+
if (value !== void 0) {
|
|
119
|
+
details.push(`${key}=${formatDetailValue(value)}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return details.length > 0 ? ` ${details.join(" ")}` : "";
|
|
123
|
+
}
|
|
124
|
+
__name(formatFarmEventDetails, "formatFarmEventDetails");
|
|
125
|
+
function formatDetailValue(value) {
|
|
126
|
+
if (typeof value === "string") {
|
|
127
|
+
return value;
|
|
128
|
+
}
|
|
129
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
130
|
+
return String(value);
|
|
131
|
+
}
|
|
132
|
+
try {
|
|
133
|
+
return JSON.stringify(value);
|
|
134
|
+
} catch {
|
|
135
|
+
return String(value);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
__name(formatDetailValue, "formatDetailValue");
|
|
139
|
+
function formatError(error) {
|
|
140
|
+
return error instanceof Error ? error.message : String(error);
|
|
141
|
+
}
|
|
142
|
+
__name(formatError, "formatError");
|
|
143
|
+
|
|
144
|
+
// src/cache-invalidation.ts
|
|
145
|
+
var FARM_CACHE_INVALIDATION_STATE = /* @__PURE__ */ Symbol.for("farm.cacheInvalidationState");
|
|
146
|
+
var globalState = globalThis;
|
|
147
|
+
function getFarmCacheInvalidationState() {
|
|
148
|
+
return globalState[FARM_CACHE_INVALIDATION_STATE] ?? (globalState[FARM_CACHE_INVALIDATION_STATE] = {
|
|
149
|
+
listeners: /* @__PURE__ */ new Set()
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
__name(getFarmCacheInvalidationState, "getFarmCacheInvalidationState");
|
|
153
|
+
function subscribeFarmCacheInvalidation(listener) {
|
|
154
|
+
const state = getFarmCacheInvalidationState();
|
|
155
|
+
state.listeners.add(listener);
|
|
156
|
+
return () => state.listeners.delete(listener);
|
|
157
|
+
}
|
|
158
|
+
__name(subscribeFarmCacheInvalidation, "subscribeFarmCacheInvalidation");
|
|
159
|
+
|
|
160
|
+
// src/cache.ts
|
|
161
|
+
var _FarmDataCache = class _FarmDataCache {
|
|
162
|
+
constructor() {
|
|
163
|
+
this.entries = /* @__PURE__ */ new Map();
|
|
164
|
+
this.inflight = /* @__PURE__ */ new Map();
|
|
165
|
+
this.invalidatedTagVersions = /* @__PURE__ */ new Map();
|
|
166
|
+
this.version = 0;
|
|
167
|
+
}
|
|
168
|
+
get size() {
|
|
169
|
+
return this.entries.size;
|
|
170
|
+
}
|
|
171
|
+
get(key, options = {}) {
|
|
172
|
+
return this.getEntry(key, options)?.value;
|
|
173
|
+
}
|
|
174
|
+
getEntry(key, options = {}) {
|
|
175
|
+
const entry = this.entries.get(key);
|
|
176
|
+
if (!entry) {
|
|
177
|
+
emitFarmEvent({ type: "cache.miss", key });
|
|
178
|
+
return void 0;
|
|
179
|
+
}
|
|
180
|
+
const stale = this.isStale(entry, options.now);
|
|
181
|
+
if (stale) {
|
|
182
|
+
emitFarmEvent({
|
|
183
|
+
type: "cache.stale",
|
|
184
|
+
key,
|
|
185
|
+
tags: Array.from(entry.tags),
|
|
186
|
+
revalidate: entry.revalidate
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
if (!options.allowStale && stale) {
|
|
190
|
+
emitFarmEvent({ type: "cache.miss", key, reason: "stale" });
|
|
191
|
+
return void 0;
|
|
192
|
+
}
|
|
193
|
+
emitFarmEvent({
|
|
194
|
+
type: "cache.hit",
|
|
195
|
+
key,
|
|
196
|
+
tags: Array.from(entry.tags),
|
|
197
|
+
revalidate: entry.revalidate,
|
|
198
|
+
stale
|
|
199
|
+
});
|
|
200
|
+
return this.toPublicEntry(entry);
|
|
201
|
+
}
|
|
202
|
+
set(key, value, options = {}) {
|
|
203
|
+
const tags = /* @__PURE__ */ new Set();
|
|
204
|
+
for (const tag of options.tags ?? []) {
|
|
205
|
+
tags.add(normalizeCacheTag(tag));
|
|
206
|
+
}
|
|
207
|
+
for (const routePath of options.paths ?? []) {
|
|
208
|
+
tags.add(createPathCacheTag(routePath));
|
|
209
|
+
}
|
|
210
|
+
const entry = {
|
|
211
|
+
key,
|
|
212
|
+
value,
|
|
213
|
+
tags,
|
|
214
|
+
createdAt: options.createdAt ?? Date.now(),
|
|
215
|
+
createdVersion: ++this.version,
|
|
216
|
+
revalidate: normalizeRevalidate(options.revalidate)
|
|
217
|
+
};
|
|
218
|
+
this.entries.set(key, entry);
|
|
219
|
+
emitFarmEvent({
|
|
220
|
+
type: "cache.set",
|
|
221
|
+
key,
|
|
222
|
+
tags: Array.from(tags),
|
|
223
|
+
revalidate: entry.revalidate
|
|
224
|
+
});
|
|
225
|
+
return this.toPublicEntry(entry);
|
|
226
|
+
}
|
|
227
|
+
delete(key) {
|
|
228
|
+
const deleted = this.entries.delete(key);
|
|
229
|
+
emitFarmEvent({ type: "cache.delete", key, deleted });
|
|
230
|
+
return deleted;
|
|
231
|
+
}
|
|
232
|
+
clear() {
|
|
233
|
+
const count = this.entries.size;
|
|
234
|
+
this.entries.clear();
|
|
235
|
+
this.inflight.clear();
|
|
236
|
+
this.invalidatedTagVersions.clear();
|
|
237
|
+
this.version = 0;
|
|
238
|
+
emitFarmEvent({ type: "cache.clear", count });
|
|
239
|
+
}
|
|
240
|
+
isStale(entry, now = Date.now()) {
|
|
241
|
+
if (typeof entry.revalidate === "number" && entry.revalidate > 0 && now - entry.createdAt >= entry.revalidate * 1e3) {
|
|
242
|
+
return true;
|
|
243
|
+
}
|
|
244
|
+
for (const tag of entry.tags) {
|
|
245
|
+
const invalidatedVersion = this.invalidatedTagVersions.get(normalizeCacheTag(tag));
|
|
246
|
+
if (typeof invalidatedVersion === "number" && typeof entry.createdVersion === "number" && invalidatedVersion > entry.createdVersion) {
|
|
247
|
+
return true;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
revalidateTag(tag, options = {}) {
|
|
253
|
+
const normalized = normalizeCacheTag(tag);
|
|
254
|
+
const count = this.invalidateTag(normalized);
|
|
255
|
+
emitFarmEvent(
|
|
256
|
+
options.source === "updateTag" ? { type: "cache.updateTag", tag: normalized, count } : { type: "cache.revalidateTag", tag: normalized, profile: options.profile, count }
|
|
257
|
+
);
|
|
258
|
+
return count;
|
|
259
|
+
}
|
|
260
|
+
revalidatePath(routePath) {
|
|
261
|
+
const normalizedPath = normalizeRevalidatePath(routePath);
|
|
262
|
+
const pathTag = createPathCacheTag(normalizedPath);
|
|
263
|
+
const pprCount = this.countEntriesForTags([pathTag, "ppr"]);
|
|
264
|
+
const count = this.invalidateTag(pathTag);
|
|
265
|
+
emitFarmEvent({ type: "cache.revalidatePath", path: normalizedPath, count });
|
|
266
|
+
if (pprCount > 0) {
|
|
267
|
+
emitFarmEvent({
|
|
268
|
+
type: "ppr.shell.invalidated",
|
|
269
|
+
route: normalizedPath,
|
|
270
|
+
reason: "revalidatePath",
|
|
271
|
+
count: pprCount
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
return count;
|
|
275
|
+
}
|
|
276
|
+
async getOrSet(key, producer, options = {}) {
|
|
277
|
+
const cached = this.getEntry(key);
|
|
278
|
+
if (cached) {
|
|
279
|
+
return cached.value;
|
|
280
|
+
}
|
|
281
|
+
const inflight = this.inflight.get(key);
|
|
282
|
+
if (inflight) {
|
|
283
|
+
emitFarmEvent({ type: "cache.dedupe", key });
|
|
284
|
+
return inflight;
|
|
285
|
+
}
|
|
286
|
+
const promise = Promise.resolve().then(producer).then((value) => {
|
|
287
|
+
this.set(key, value, options);
|
|
288
|
+
return value;
|
|
289
|
+
}).catch((error) => {
|
|
290
|
+
emitFarmEvent({ type: "cache.error", key, operation: "set", error });
|
|
291
|
+
throw error;
|
|
292
|
+
}).finally(() => {
|
|
293
|
+
this.inflight.delete(key);
|
|
294
|
+
});
|
|
295
|
+
this.inflight.set(key, promise);
|
|
296
|
+
return promise;
|
|
297
|
+
}
|
|
298
|
+
countEntriesForTag(tag) {
|
|
299
|
+
let count = 0;
|
|
300
|
+
for (const entry of this.entries.values()) {
|
|
301
|
+
if (entry.tags.has(tag)) {
|
|
302
|
+
count++;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
return count;
|
|
306
|
+
}
|
|
307
|
+
countEntriesForTags(tags) {
|
|
308
|
+
let count = 0;
|
|
309
|
+
for (const entry of this.entries.values()) {
|
|
310
|
+
if (tags.every((tag) => entry.tags.has(tag))) {
|
|
311
|
+
count++;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
return count;
|
|
315
|
+
}
|
|
316
|
+
invalidateTag(normalizedTag) {
|
|
317
|
+
this.invalidatedTagVersions.set(normalizedTag, ++this.version);
|
|
318
|
+
return this.countEntriesForTag(normalizedTag);
|
|
319
|
+
}
|
|
320
|
+
toPublicEntry(entry) {
|
|
321
|
+
return {
|
|
322
|
+
key: entry.key,
|
|
323
|
+
value: entry.value,
|
|
324
|
+
tags: Array.from(entry.tags),
|
|
325
|
+
createdAt: entry.createdAt,
|
|
326
|
+
createdVersion: entry.createdVersion,
|
|
327
|
+
revalidate: entry.revalidate
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
__name(_FarmDataCache, "FarmDataCache");
|
|
332
|
+
var FarmDataCache = _FarmDataCache;
|
|
333
|
+
var FARM_DATA_CACHE_SYMBOL = /* @__PURE__ */ Symbol.for("farm.dataCache");
|
|
334
|
+
var farmDataCacheGlobal = globalThis;
|
|
335
|
+
var sharedFarmDataCache = farmDataCacheGlobal[FARM_DATA_CACHE_SYMBOL] ?? (farmDataCacheGlobal[FARM_DATA_CACHE_SYMBOL] = new FarmDataCache());
|
|
336
|
+
var functionIds = /* @__PURE__ */ new WeakMap();
|
|
337
|
+
var nextFunctionId = 0;
|
|
338
|
+
function getFarmDataCache() {
|
|
339
|
+
return sharedFarmDataCache;
|
|
340
|
+
}
|
|
341
|
+
__name(getFarmDataCache, "getFarmDataCache");
|
|
342
|
+
function createPathCacheTag(routePath) {
|
|
343
|
+
return `path:${normalizeRevalidatePath(routePath)}`;
|
|
344
|
+
}
|
|
345
|
+
__name(createPathCacheTag, "createPathCacheTag");
|
|
346
|
+
function createRouteDataCacheTag(key) {
|
|
347
|
+
return `route-data:${createRouteDataCacheKey(key)}`;
|
|
348
|
+
}
|
|
349
|
+
__name(createRouteDataCacheTag, "createRouteDataCacheTag");
|
|
350
|
+
function createRouteDataCacheKey(key) {
|
|
351
|
+
return createFarmCacheKey(Array.isArray(key) ? key : [key]);
|
|
352
|
+
}
|
|
353
|
+
__name(createRouteDataCacheKey, "createRouteDataCacheKey");
|
|
354
|
+
function normalizeRevalidatePath(routePath) {
|
|
355
|
+
if (typeof routePath !== "string") {
|
|
356
|
+
throw new TypeError("revalidatePath expects a path string.");
|
|
357
|
+
}
|
|
358
|
+
let normalized = routePath.trim();
|
|
359
|
+
if (!normalized) {
|
|
360
|
+
throw new Error("revalidatePath expects a non-empty path.");
|
|
361
|
+
}
|
|
362
|
+
try {
|
|
363
|
+
if (/^https?:\/\//.test(normalized)) {
|
|
364
|
+
normalized = new URL(normalized).pathname;
|
|
365
|
+
}
|
|
366
|
+
} catch {
|
|
367
|
+
}
|
|
368
|
+
normalized = normalized.split("?")[0] ?? normalized;
|
|
369
|
+
normalized = normalized.startsWith("/") ? normalized : `/${normalized}`;
|
|
370
|
+
normalized = normalized.replace(/\/{2,}/g, "/");
|
|
371
|
+
if (normalized.length > 1) {
|
|
372
|
+
normalized = normalized.replace(/\/+$/, "");
|
|
373
|
+
}
|
|
374
|
+
return normalized || "/";
|
|
375
|
+
}
|
|
376
|
+
__name(normalizeRevalidatePath, "normalizeRevalidatePath");
|
|
377
|
+
function createFarmCacheKey(parts) {
|
|
378
|
+
return stableSerialize(parts);
|
|
379
|
+
}
|
|
380
|
+
__name(createFarmCacheKey, "createFarmCacheKey");
|
|
381
|
+
function normalizeRevalidate(revalidate) {
|
|
382
|
+
if (revalidate === false || revalidate === void 0) {
|
|
383
|
+
return revalidate;
|
|
384
|
+
}
|
|
385
|
+
if (!Number.isFinite(revalidate) || revalidate <= 0) {
|
|
386
|
+
return void 0;
|
|
387
|
+
}
|
|
388
|
+
return revalidate;
|
|
389
|
+
}
|
|
390
|
+
__name(normalizeRevalidate, "normalizeRevalidate");
|
|
391
|
+
function normalizeCacheTag(tag) {
|
|
392
|
+
if (typeof tag !== "string") {
|
|
393
|
+
throw new TypeError("Cache tags must be strings.");
|
|
394
|
+
}
|
|
395
|
+
const normalized = tag.trim();
|
|
396
|
+
if (!normalized) {
|
|
397
|
+
throw new Error("Cache tags cannot be empty.");
|
|
398
|
+
}
|
|
399
|
+
return normalized;
|
|
400
|
+
}
|
|
401
|
+
__name(normalizeCacheTag, "normalizeCacheTag");
|
|
402
|
+
function getFunctionCacheIdentity(fn) {
|
|
403
|
+
if (fn.name) {
|
|
404
|
+
return `name:${fn.name}`;
|
|
405
|
+
}
|
|
406
|
+
let id = functionIds.get(fn);
|
|
407
|
+
if (!id) {
|
|
408
|
+
id = ++nextFunctionId;
|
|
409
|
+
functionIds.set(fn, id);
|
|
410
|
+
}
|
|
411
|
+
return `anonymous:${id}`;
|
|
412
|
+
}
|
|
413
|
+
__name(getFunctionCacheIdentity, "getFunctionCacheIdentity");
|
|
414
|
+
function stableSerialize(value, seen = /* @__PURE__ */ new WeakSet()) {
|
|
415
|
+
if (value === null) return "null";
|
|
416
|
+
if (value === void 0) return "undefined";
|
|
417
|
+
const valueType = typeof value;
|
|
418
|
+
if (valueType === "string") return JSON.stringify(value);
|
|
419
|
+
if (valueType === "number" || valueType === "boolean" || valueType === "bigint") {
|
|
420
|
+
return `${valueType}:${String(value)}`;
|
|
421
|
+
}
|
|
422
|
+
if (valueType === "symbol") {
|
|
423
|
+
return `symbol:${String(value)}`;
|
|
424
|
+
}
|
|
425
|
+
if (valueType === "function") {
|
|
426
|
+
return `function:${getFunctionCacheIdentity(value)}`;
|
|
427
|
+
}
|
|
428
|
+
if (value instanceof Date) {
|
|
429
|
+
return `date:${value.toISOString()}`;
|
|
430
|
+
}
|
|
431
|
+
if (value instanceof URL) {
|
|
432
|
+
return `url:${value.toString()}`;
|
|
433
|
+
}
|
|
434
|
+
if (value instanceof RegExp) {
|
|
435
|
+
return `regexp:${value.toString()}`;
|
|
436
|
+
}
|
|
437
|
+
if (Array.isArray(value)) {
|
|
438
|
+
return `[${value.map((item) => stableSerialize(item, seen)).join(",")}]`;
|
|
439
|
+
}
|
|
440
|
+
if (value && typeof value === "object") {
|
|
441
|
+
if (seen.has(value)) {
|
|
442
|
+
return "[Circular]";
|
|
443
|
+
}
|
|
444
|
+
seen.add(value);
|
|
445
|
+
const entries = Object.entries(value).sort(
|
|
446
|
+
([a], [b]) => a.localeCompare(b)
|
|
447
|
+
);
|
|
448
|
+
const serialized = entries.map(([key, item]) => `${JSON.stringify(key)}:${stableSerialize(item, seen)}`).join(",");
|
|
449
|
+
seen.delete(value);
|
|
450
|
+
return `{${serialized}}`;
|
|
451
|
+
}
|
|
452
|
+
return String(value);
|
|
453
|
+
}
|
|
454
|
+
__name(stableSerialize, "stableSerialize");
|
|
455
|
+
|
|
456
|
+
// src/server-action-security.ts
|
|
457
|
+
var import_node_async_hooks = require("async_hooks");
|
|
458
|
+
var SERVER_ACTION_STORAGE_KEY = /* @__PURE__ */ Symbol.for("farm.serverActionStorage");
|
|
459
|
+
var FALLBACK_ABORT_CONTROLLER_KEY = /* @__PURE__ */ Symbol.for("farm.serverActionFallbackAbortController");
|
|
460
|
+
function getServerActionExecutionContext() {
|
|
461
|
+
return getServerActionStorage().getStore();
|
|
462
|
+
}
|
|
463
|
+
__name(getServerActionExecutionContext, "getServerActionExecutionContext");
|
|
464
|
+
function getServerActionSignal() {
|
|
465
|
+
return getServerActionExecutionContext()?.signal ?? getFallbackAbortController().signal;
|
|
466
|
+
}
|
|
467
|
+
__name(getServerActionSignal, "getServerActionSignal");
|
|
468
|
+
subscribeFarmCacheInvalidation((key) => {
|
|
469
|
+
getServerActionExecutionContext()?.invalidations.add(key);
|
|
470
|
+
});
|
|
471
|
+
function getServerActionStorage() {
|
|
472
|
+
const globalState2 = globalThis;
|
|
473
|
+
if (!globalState2[SERVER_ACTION_STORAGE_KEY]) {
|
|
474
|
+
globalState2[SERVER_ACTION_STORAGE_KEY] = new import_node_async_hooks.AsyncLocalStorage();
|
|
475
|
+
}
|
|
476
|
+
return globalState2[SERVER_ACTION_STORAGE_KEY];
|
|
477
|
+
}
|
|
478
|
+
__name(getServerActionStorage, "getServerActionStorage");
|
|
479
|
+
function getFallbackAbortController() {
|
|
480
|
+
const globalState2 = globalThis;
|
|
481
|
+
if (!globalState2[FALLBACK_ABORT_CONTROLLER_KEY]) {
|
|
482
|
+
globalState2[FALLBACK_ABORT_CONTROLLER_KEY] = new AbortController();
|
|
483
|
+
}
|
|
484
|
+
return globalState2[FALLBACK_ABORT_CONTROLLER_KEY];
|
|
485
|
+
}
|
|
486
|
+
__name(getFallbackAbortController, "getFallbackAbortController");
|
|
487
|
+
|
|
488
|
+
// src/server/request-bridge.ts
|
|
489
|
+
var CURRENT_REQUEST_RESOLVER_KEY = /* @__PURE__ */ Symbol.for("farm.currentRequestResolver");
|
|
490
|
+
function getGlobalState() {
|
|
491
|
+
return globalThis;
|
|
492
|
+
}
|
|
493
|
+
__name(getGlobalState, "getGlobalState");
|
|
494
|
+
function _resolveCurrentRequest() {
|
|
495
|
+
return getGlobalState()[CURRENT_REQUEST_RESOLVER_KEY]?.();
|
|
496
|
+
}
|
|
497
|
+
__name(_resolveCurrentRequest, "_resolveCurrentRequest");
|
|
498
|
+
|
|
499
|
+
// src/server-fn.ts
|
|
500
|
+
var FARM_SERVER_FN_SYMBOL = /* @__PURE__ */ Symbol.for("farm.server-fn");
|
|
501
|
+
var UNSAFE_FORM_KEYS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
|
|
502
|
+
function createServerFn(options) {
|
|
503
|
+
if (!options || typeof options.handler !== "function") {
|
|
504
|
+
throw new TypeError("createServerFn requires a handler function");
|
|
505
|
+
}
|
|
506
|
+
const middleware = resolveServerFnMiddleware(options.middleware);
|
|
507
|
+
const serverFn = /* @__PURE__ */ __name(async (value) => {
|
|
508
|
+
const formData = isFormData(value) ? value : void 0;
|
|
509
|
+
const rawInput = formData ? formDataToObject(formData) : value;
|
|
510
|
+
const input = await _parseServerFnSchema(options.input, rawInput, "input");
|
|
511
|
+
const executionContext = getServerActionExecutionContext();
|
|
512
|
+
const request = executionContext?.request ?? _resolveCurrentRequest();
|
|
513
|
+
const signal = executionContext?.signal ?? request?.signal ?? getServerActionSignal();
|
|
514
|
+
const handlerContext = {
|
|
515
|
+
input,
|
|
516
|
+
rawInput,
|
|
517
|
+
formData,
|
|
518
|
+
request,
|
|
519
|
+
signal
|
|
520
|
+
};
|
|
521
|
+
const result = await runServerFnMiddleware(middleware, handlerContext, options.handler);
|
|
522
|
+
return _parseServerFnSchema(options.output, result, "output");
|
|
523
|
+
}, "serverFn");
|
|
524
|
+
Object.defineProperties(serverFn, {
|
|
525
|
+
[FARM_SERVER_FN_SYMBOL]: {
|
|
526
|
+
value: true,
|
|
527
|
+
enumerable: false
|
|
528
|
+
},
|
|
529
|
+
__farmServerFn: {
|
|
530
|
+
value: true,
|
|
531
|
+
enumerable: false
|
|
532
|
+
},
|
|
533
|
+
__farmServerFnInput: {
|
|
534
|
+
value: options.input,
|
|
535
|
+
enumerable: false
|
|
536
|
+
},
|
|
537
|
+
__farmServerFnOutput: {
|
|
538
|
+
value: options.output,
|
|
539
|
+
enumerable: false
|
|
540
|
+
},
|
|
541
|
+
__farmServerFnMiddleware: {
|
|
542
|
+
value: middleware,
|
|
543
|
+
enumerable: false
|
|
544
|
+
}
|
|
545
|
+
});
|
|
546
|
+
return serverFn;
|
|
547
|
+
}
|
|
548
|
+
__name(createServerFn, "createServerFn");
|
|
549
|
+
async function runServerFnMiddleware(middleware, handlerContext, handler) {
|
|
550
|
+
const dispatch = /* @__PURE__ */ __name(async (index, context) => {
|
|
551
|
+
const current = middleware[index];
|
|
552
|
+
if (!current) {
|
|
553
|
+
return handler({ ...handlerContext, context });
|
|
554
|
+
}
|
|
555
|
+
let nextCalled = false;
|
|
556
|
+
const result = await current.handler({
|
|
557
|
+
...handlerContext,
|
|
558
|
+
context,
|
|
559
|
+
next: /* @__PURE__ */ __name(async (nextOptions) => {
|
|
560
|
+
if (nextCalled) {
|
|
561
|
+
throw new Error("Server function middleware next() can only be called once");
|
|
562
|
+
}
|
|
563
|
+
nextCalled = true;
|
|
564
|
+
return dispatch(index + 1, mergeServerFnContext(context, nextOptions?.context));
|
|
565
|
+
}, "next")
|
|
566
|
+
});
|
|
567
|
+
if (!nextCalled) {
|
|
568
|
+
throw new Error("Server function middleware must call next()");
|
|
569
|
+
}
|
|
570
|
+
return result;
|
|
571
|
+
}, "dispatch");
|
|
572
|
+
return dispatch(0, Object.freeze(/* @__PURE__ */ Object.create(null)));
|
|
573
|
+
}
|
|
574
|
+
__name(runServerFnMiddleware, "runServerFnMiddleware");
|
|
575
|
+
function resolveServerFnMiddleware(middleware) {
|
|
576
|
+
const resolved = [];
|
|
577
|
+
const seen = /* @__PURE__ */ new Set();
|
|
578
|
+
const visiting = /* @__PURE__ */ new Set();
|
|
579
|
+
const visit = /* @__PURE__ */ __name((entry) => {
|
|
580
|
+
assertServerFnMiddleware(entry);
|
|
581
|
+
if (seen.has(entry)) return;
|
|
582
|
+
if (visiting.has(entry)) {
|
|
583
|
+
throw new Error("Server function middleware dependencies cannot contain a cycle");
|
|
584
|
+
}
|
|
585
|
+
visiting.add(entry);
|
|
586
|
+
for (const dependency of entry.middleware) {
|
|
587
|
+
visit(dependency);
|
|
588
|
+
}
|
|
589
|
+
visiting.delete(entry);
|
|
590
|
+
seen.add(entry);
|
|
591
|
+
resolved.push(entry);
|
|
592
|
+
}, "visit");
|
|
593
|
+
for (const entry of middleware ?? []) {
|
|
594
|
+
visit(entry);
|
|
595
|
+
}
|
|
596
|
+
return Object.freeze(resolved);
|
|
597
|
+
}
|
|
598
|
+
__name(resolveServerFnMiddleware, "resolveServerFnMiddleware");
|
|
599
|
+
function assertServerFnMiddleware(value) {
|
|
600
|
+
if (!value || typeof value !== "object" || value.__farmServerFnMiddleware !== true || typeof value.handler !== "function" || !Array.isArray(value.middleware)) {
|
|
601
|
+
throw new TypeError("createServerFn middleware must be created with createServerMiddleware");
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
__name(assertServerFnMiddleware, "assertServerFnMiddleware");
|
|
605
|
+
function mergeServerFnContext(current, added) {
|
|
606
|
+
if (added !== void 0 && (added === null || typeof added !== "object" || Array.isArray(added))) {
|
|
607
|
+
throw new TypeError("Server function middleware context must be an object");
|
|
608
|
+
}
|
|
609
|
+
return Object.freeze(Object.assign(/* @__PURE__ */ Object.create(null), current, added));
|
|
610
|
+
}
|
|
611
|
+
__name(mergeServerFnContext, "mergeServerFnContext");
|
|
612
|
+
async function _parseServerFnSchema(schema, value, contract, owner = "createServerFn") {
|
|
613
|
+
if (!schema) return value;
|
|
614
|
+
if (typeof schema.safeParseAsync === "function") {
|
|
615
|
+
const result = await schema.safeParseAsync(value);
|
|
616
|
+
return unwrapSafeParseResult(result);
|
|
617
|
+
}
|
|
618
|
+
if (typeof schema.safeParse === "function") {
|
|
619
|
+
const result = schema.safeParse(value);
|
|
620
|
+
return unwrapSafeParseResult(await result);
|
|
621
|
+
}
|
|
622
|
+
if (typeof schema.parseAsync === "function") {
|
|
623
|
+
return schema.parseAsync(value);
|
|
624
|
+
}
|
|
625
|
+
if (typeof schema.parse === "function") {
|
|
626
|
+
return schema.parse(value);
|
|
627
|
+
}
|
|
628
|
+
throw new TypeError(`${owner} ${contract} must provide parse, parseAsync, or safeParse`);
|
|
629
|
+
}
|
|
630
|
+
__name(_parseServerFnSchema, "_parseServerFnSchema");
|
|
631
|
+
function unwrapSafeParseResult(result) {
|
|
632
|
+
if (result && typeof result === "object" && "success" in result && result.success === false) {
|
|
633
|
+
throw result.error;
|
|
634
|
+
}
|
|
635
|
+
if (result && typeof result === "object" && "success" in result && result.success === true) {
|
|
636
|
+
return result.data;
|
|
637
|
+
}
|
|
638
|
+
return result;
|
|
639
|
+
}
|
|
640
|
+
__name(unwrapSafeParseResult, "unwrapSafeParseResult");
|
|
641
|
+
function formDataToObject(formData) {
|
|
642
|
+
const output = /* @__PURE__ */ Object.create(null);
|
|
643
|
+
for (const [key, value] of formData.entries()) {
|
|
644
|
+
if (!isSafeFormKey(key)) continue;
|
|
645
|
+
const existing = output[key];
|
|
646
|
+
if (existing === void 0) {
|
|
647
|
+
output[key] = value;
|
|
648
|
+
} else if (Array.isArray(existing)) {
|
|
649
|
+
existing.push(value);
|
|
650
|
+
} else {
|
|
651
|
+
output[key] = [existing, value];
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
return output;
|
|
655
|
+
}
|
|
656
|
+
__name(formDataToObject, "formDataToObject");
|
|
657
|
+
function isSafeFormKey(key) {
|
|
658
|
+
return !key.startsWith("$ACTION_") && !UNSAFE_FORM_KEYS.has(key);
|
|
659
|
+
}
|
|
660
|
+
__name(isSafeFormKey, "isSafeFormKey");
|
|
661
|
+
function isFormData(value) {
|
|
662
|
+
if (!value || typeof value !== "object") return false;
|
|
663
|
+
if (typeof FormData !== "undefined" && value instanceof FormData) {
|
|
664
|
+
return true;
|
|
665
|
+
}
|
|
666
|
+
return Object.prototype.toString.call(value) === "[object FormData]" && typeof value.entries === "function";
|
|
667
|
+
}
|
|
668
|
+
__name(isFormData, "isFormData");
|
|
669
|
+
|
|
670
|
+
// src/server-query-protocol.ts
|
|
671
|
+
var FARM_SERVER_QUERY_RESULT_VERSION = 1;
|
|
672
|
+
function createFarmServerQueryResult(data, metadata) {
|
|
673
|
+
return {
|
|
674
|
+
__farmServerQuery: {
|
|
675
|
+
version: FARM_SERVER_QUERY_RESULT_VERSION,
|
|
676
|
+
...metadata
|
|
677
|
+
},
|
|
678
|
+
data
|
|
679
|
+
};
|
|
680
|
+
}
|
|
681
|
+
__name(createFarmServerQueryResult, "createFarmServerQueryResult");
|
|
682
|
+
|
|
683
|
+
// src/server-query.ts
|
|
684
|
+
var FARM_SERVER_QUERY_SYMBOL = /* @__PURE__ */ Symbol.for("farm.server-query");
|
|
685
|
+
var requestInflight = /* @__PURE__ */ new WeakMap();
|
|
686
|
+
var detachedInflight = /* @__PURE__ */ new Map();
|
|
687
|
+
function createServerQuery(options) {
|
|
688
|
+
if (!options || typeof options.handler !== "function") {
|
|
689
|
+
throw new TypeError("createServerQuery requires a handler function");
|
|
690
|
+
}
|
|
691
|
+
if (typeof options.key !== "function") {
|
|
692
|
+
throw new TypeError("createServerQuery requires a key function");
|
|
693
|
+
}
|
|
694
|
+
const staleTime = normalizeServerQueryStaleTime(options.staleTime);
|
|
695
|
+
const execute = createServerFn({
|
|
696
|
+
input: options.input,
|
|
697
|
+
middleware: options.middleware,
|
|
698
|
+
handler: /* @__PURE__ */ __name(async (context) => {
|
|
699
|
+
const routeKey = await options.key(context);
|
|
700
|
+
assertServerQueryKey(routeKey);
|
|
701
|
+
const clientKey = createRouteDataCacheKey(routeKey);
|
|
702
|
+
const cacheKey = createFarmCacheKey(["route-data", routeKey]);
|
|
703
|
+
const producer = /* @__PURE__ */ __name(async () => {
|
|
704
|
+
const value = await options.handler(context);
|
|
705
|
+
return _parseServerFnSchema(options.output, value, "output", "createServerQuery");
|
|
706
|
+
}, "producer");
|
|
707
|
+
let data;
|
|
708
|
+
let updatedAt;
|
|
709
|
+
if (staleTime === 0) {
|
|
710
|
+
data = await dedupeServerQueryRequest(cacheKey, context.request, producer);
|
|
711
|
+
updatedAt = Date.now();
|
|
712
|
+
} else {
|
|
713
|
+
const cache = getFarmDataCache();
|
|
714
|
+
data = await cache.getOrSet(cacheKey, producer, {
|
|
715
|
+
tags: [createRouteDataCacheTag(routeKey)],
|
|
716
|
+
revalidate: staleTime === false ? false : Math.max(1, Math.ceil(staleTime / 1e3))
|
|
717
|
+
});
|
|
718
|
+
updatedAt = cache.getEntry(cacheKey, { allowStale: true })?.createdAt ?? Date.now();
|
|
719
|
+
}
|
|
720
|
+
return createFarmServerQueryResult(data, {
|
|
721
|
+
key: clientKey,
|
|
722
|
+
staleTime,
|
|
723
|
+
updatedAt
|
|
724
|
+
});
|
|
725
|
+
}, "handler")
|
|
726
|
+
});
|
|
727
|
+
const query = /* @__PURE__ */ __name(async (input) => {
|
|
728
|
+
const result = await execute(input);
|
|
729
|
+
return getServerActionExecutionContext() ? result : result.data;
|
|
730
|
+
}, "query");
|
|
731
|
+
Object.defineProperties(query, {
|
|
732
|
+
[FARM_SERVER_QUERY_SYMBOL]: {
|
|
733
|
+
value: true,
|
|
734
|
+
enumerable: false
|
|
735
|
+
},
|
|
736
|
+
__farmServerQuery: {
|
|
737
|
+
value: true,
|
|
738
|
+
enumerable: false
|
|
739
|
+
},
|
|
740
|
+
__farmServerQueryInput: {
|
|
741
|
+
value: options.input,
|
|
742
|
+
enumerable: false
|
|
743
|
+
},
|
|
744
|
+
__farmServerQueryOutput: {
|
|
745
|
+
value: options.output,
|
|
746
|
+
enumerable: false
|
|
747
|
+
}
|
|
748
|
+
});
|
|
749
|
+
return query;
|
|
750
|
+
}
|
|
751
|
+
__name(createServerQuery, "createServerQuery");
|
|
752
|
+
async function dedupeServerQueryRequest(key, request, producer) {
|
|
753
|
+
let inflight;
|
|
754
|
+
if (request) {
|
|
755
|
+
inflight = requestInflight.get(request) ?? /* @__PURE__ */ new Map();
|
|
756
|
+
requestInflight.set(request, inflight);
|
|
757
|
+
} else {
|
|
758
|
+
inflight = detachedInflight;
|
|
759
|
+
}
|
|
760
|
+
const existing = inflight.get(key);
|
|
761
|
+
if (existing) return existing;
|
|
762
|
+
const promise = Promise.resolve().then(producer);
|
|
763
|
+
inflight.set(key, promise);
|
|
764
|
+
try {
|
|
765
|
+
return await promise;
|
|
766
|
+
} finally {
|
|
767
|
+
inflight.delete(key);
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
__name(dedupeServerQueryRequest, "dedupeServerQueryRequest");
|
|
771
|
+
function normalizeServerQueryStaleTime(value) {
|
|
772
|
+
if (value === false) return false;
|
|
773
|
+
if (value === void 0) return 0;
|
|
774
|
+
if (typeof value === "number") {
|
|
775
|
+
if (!Number.isFinite(value) || value < 0) {
|
|
776
|
+
throw new TypeError("createServerQuery staleTime must be a non-negative duration");
|
|
777
|
+
}
|
|
778
|
+
return value;
|
|
779
|
+
}
|
|
780
|
+
const match = value.match(/^(\d+(?:\.\d+)?)(ms|s|m|h)$/);
|
|
781
|
+
if (!match) {
|
|
782
|
+
throw new TypeError('createServerQuery staleTime must look like "250ms", "30s", "5m", or "1h"');
|
|
783
|
+
}
|
|
784
|
+
const amount = Number(match[1]);
|
|
785
|
+
const unit = match[2];
|
|
786
|
+
const multiplier = unit === "ms" ? 1 : unit === "s" ? 1e3 : unit === "m" ? 6e4 : 36e5;
|
|
787
|
+
return amount * multiplier;
|
|
788
|
+
}
|
|
789
|
+
__name(normalizeServerQueryStaleTime, "normalizeServerQueryStaleTime");
|
|
790
|
+
function assertServerQueryKey(key) {
|
|
791
|
+
if (typeof key === "string") {
|
|
792
|
+
if (key.trim().length > 0) return;
|
|
793
|
+
} else if (Array.isArray(key)) {
|
|
794
|
+
return;
|
|
795
|
+
}
|
|
796
|
+
throw new TypeError("createServerQuery key must return a non-empty string or an array");
|
|
797
|
+
}
|
|
798
|
+
__name(assertServerQueryKey, "assertServerQueryKey");
|
|
799
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
800
|
+
0 && (module.exports = {
|
|
801
|
+
FARM_SERVER_QUERY_SYMBOL,
|
|
802
|
+
createServerQuery
|
|
803
|
+
});
|
|
804
|
+
//# sourceMappingURL=server-query.cjs.map
|