@farm.js/core 0.1.0-beta.6 → 0.1.0-beta.8
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/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 +94 -0
- package/dist/agent-runtime.d.ts +94 -0
- package/dist/agent-runtime.mjs +479 -0
- package/dist/agent-runtime.mjs.map +1 -0
- package/dist/api/route-manager.d.mts +66 -0
- package/dist/api/route-manager.d.ts +66 -0
- package/dist/api/runtime.d.mts +3 -0
- package/dist/api/runtime.d.ts +3 -0
- package/dist/api.cjs +4100 -0
- package/dist/api.cjs.map +1 -0
- package/dist/api.d.mts +48 -0
- package/dist/api.d.ts +48 -0
- package/dist/api.mjs +93 -0
- package/dist/api.mjs.map +1 -0
- package/dist/app-BWtqQu3R.d.mts +302 -0
- package/dist/app-markdown.cjs +244 -0
- package/dist/app-markdown.cjs.map +1 -0
- package/dist/app-markdown.d.mts +22 -0
- package/dist/app-markdown.d.ts +22 -0
- package/dist/app-markdown.mjs +27 -0
- package/dist/app-markdown.mjs.map +1 -0
- package/dist/app-xltejvLY.d.ts +302 -0
- package/dist/cache.cjs +945 -0
- package/dist/cache.cjs.map +1 -0
- package/dist/cache.d.mts +192 -0
- package/dist/cache.d.ts +192 -0
- package/dist/cache.mjs +46 -0
- package/dist/cache.mjs.map +1 -0
- package/dist/chunk-2ED5Q2GH.mjs +422 -0
- package/dist/chunk-2ED5Q2GH.mjs.map +1 -0
- package/dist/chunk-32W4QEJP.mjs +158 -0
- package/dist/chunk-32W4QEJP.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-4MGVSBRP.mjs +7787 -0
- package/dist/chunk-4MGVSBRP.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-65A7QIKI.mjs +142 -0
- package/dist/chunk-65A7QIKI.mjs.map +1 -0
- package/dist/chunk-74YTBPTY.mjs +450 -0
- package/dist/chunk-74YTBPTY.mjs.map +1 -0
- package/dist/chunk-7FBJLMQH.mjs +338 -0
- package/dist/chunk-7FBJLMQH.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-7N62DNSO.mjs +41 -0
- package/dist/chunk-7N62DNSO.mjs.map +1 -0
- package/dist/chunk-7ZY5AIJO.mjs +161 -0
- package/dist/chunk-7ZY5AIJO.mjs.map +1 -0
- package/dist/chunk-ALCLXXTY.mjs +187 -0
- package/dist/chunk-ALCLXXTY.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-B4W3BNTL.mjs +483 -0
- package/dist/chunk-B4W3BNTL.mjs.map +1 -0
- package/dist/chunk-C2ROET2V.mjs +718 -0
- package/dist/chunk-C2ROET2V.mjs.map +1 -0
- package/dist/chunk-CGILA3WO.mjs +14 -0
- package/dist/chunk-CGILA3WO.mjs.map +1 -0
- package/dist/chunk-CGIXMLSY.mjs +184 -0
- package/dist/chunk-CGIXMLSY.mjs.map +1 -0
- package/dist/chunk-DJSGLHCN.mjs +597 -0
- package/dist/chunk-DJSGLHCN.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-EI43C4RA.mjs +6277 -0
- package/dist/chunk-EI43C4RA.mjs.map +1 -0
- package/dist/chunk-EJ7T4TPB.mjs +622 -0
- package/dist/chunk-EJ7T4TPB.mjs.map +1 -0
- package/dist/chunk-FQYDHKKU.mjs +128 -0
- package/dist/chunk-FQYDHKKU.mjs.map +1 -0
- package/dist/chunk-FRPWCMMG.mjs +299 -0
- package/dist/chunk-FRPWCMMG.mjs.map +1 -0
- package/dist/chunk-GN72QAIH.mjs +146 -0
- package/dist/chunk-GN72QAIH.mjs.map +1 -0
- package/dist/chunk-GQVGIUSN.mjs +149 -0
- package/dist/chunk-GQVGIUSN.mjs.map +1 -0
- package/dist/chunk-GS6K5OCM.mjs +407 -0
- package/dist/chunk-GS6K5OCM.mjs.map +1 -0
- package/dist/chunk-GXASWWJU.mjs +364 -0
- package/dist/chunk-GXASWWJU.mjs.map +1 -0
- package/dist/chunk-GY2STC2S.mjs +180 -0
- package/dist/chunk-GY2STC2S.mjs.map +1 -0
- package/dist/chunk-H2FA2SBS.mjs +51 -0
- package/dist/chunk-H2FA2SBS.mjs.map +1 -0
- package/dist/chunk-I4CUBGVF.mjs +93 -0
- package/dist/chunk-I4CUBGVF.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-J5YWQVI5.mjs +211 -0
- package/dist/chunk-J5YWQVI5.mjs.map +1 -0
- package/dist/chunk-JDEOUK5V.mjs +427 -0
- package/dist/chunk-JDEOUK5V.mjs.map +1 -0
- package/dist/chunk-JK25YEN6.mjs +219 -0
- package/dist/chunk-JK25YEN6.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-LM2YNO4U.mjs +24 -0
- package/dist/chunk-LM2YNO4U.mjs.map +1 -0
- package/dist/chunk-ME4MO2RJ.mjs +3540 -0
- package/dist/chunk-ME4MO2RJ.mjs.map +1 -0
- package/dist/chunk-MIUW47JX.mjs +639 -0
- package/dist/chunk-MIUW47JX.mjs.map +1 -0
- package/dist/chunk-NNLCAVB6.mjs +391 -0
- package/dist/chunk-NNLCAVB6.mjs.map +1 -0
- package/dist/chunk-P7QDS5AT.mjs +191 -0
- package/dist/chunk-P7QDS5AT.mjs.map +1 -0
- package/dist/chunk-PFE6GMNE.mjs +603 -0
- package/dist/chunk-PFE6GMNE.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-QM746KUO.mjs +56 -0
- package/dist/chunk-QM746KUO.mjs.map +1 -0
- package/dist/chunk-QTZZ2ISQ.mjs +753 -0
- package/dist/chunk-QTZZ2ISQ.mjs.map +1 -0
- package/dist/chunk-RBRLLZL5.mjs +81 -0
- package/dist/chunk-RBRLLZL5.mjs.map +1 -0
- package/dist/chunk-RHIFZZUI.mjs +69 -0
- package/dist/chunk-RHIFZZUI.mjs.map +1 -0
- package/dist/chunk-RQ633A5I.mjs +187 -0
- package/dist/chunk-RQ633A5I.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-SPBBQLXI.mjs +207 -0
- package/dist/chunk-SPBBQLXI.mjs.map +1 -0
- package/dist/chunk-SSA7THPX.mjs +10 -0
- package/dist/chunk-SSA7THPX.mjs.map +1 -0
- package/dist/chunk-T4QJQK76.mjs +459 -0
- package/dist/chunk-T4QJQK76.mjs.map +1 -0
- package/dist/chunk-TQAEEJB4.mjs +157 -0
- package/dist/chunk-TQAEEJB4.mjs.map +1 -0
- package/dist/chunk-UB5UOSHB.mjs +458 -0
- package/dist/chunk-UB5UOSHB.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-UXUAWNO5.mjs +396 -0
- package/dist/chunk-UXUAWNO5.mjs.map +1 -0
- package/dist/chunk-V3XURYJO.mjs +756 -0
- package/dist/chunk-V3XURYJO.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-VY2UYN5R.mjs +224 -0
- package/dist/chunk-VY2UYN5R.mjs.map +1 -0
- package/dist/chunk-W2CRQFF6.mjs +1352 -0
- package/dist/chunk-W2CRQFF6.mjs.map +1 -0
- package/dist/chunk-WDU6QXNK.mjs +872 -0
- package/dist/chunk-WDU6QXNK.mjs.map +1 -0
- package/dist/chunk-WZ5QFROO.mjs +23 -0
- package/dist/chunk-WZ5QFROO.mjs.map +1 -0
- package/dist/chunk-XIVV5IWN.mjs +541 -0
- package/dist/chunk-XIVV5IWN.mjs.map +1 -0
- package/dist/chunk-YW7OBE6Q.mjs +119 -0
- package/dist/chunk-YW7OBE6Q.mjs.map +1 -0
- package/dist/chunk-Z5CQMP54.mjs +365 -0
- package/dist/chunk-Z5CQMP54.mjs.map +1 -0
- package/dist/chunk-ZBE6MLHL.mjs +230 -0
- package/dist/chunk-ZBE6MLHL.mjs.map +1 -0
- package/dist/chunk-ZVWA4ZQ3.mjs +189 -0
- package/dist/chunk-ZVWA4ZQ3.mjs.map +1 -0
- package/dist/chunk-ZZ57EH5Z.mjs +173 -0
- package/dist/chunk-ZZ57EH5Z.mjs.map +1 -0
- package/dist/client-BT1mFQas.d.mts +447 -0
- package/dist/client-Nn0q4eO4.d.ts +447 -0
- package/dist/client-cache-CIlyBlmx.d.ts +6 -0
- package/dist/client-cache-D-EZ7XVW.d.mts +6 -0
- package/dist/client-plugins-BI2R6Eae.d.mts +1926 -0
- package/dist/client-plugins-DU9oMspX.d.ts +1926 -0
- package/dist/client-plugins.cjs +415 -0
- package/dist/client-plugins.cjs.map +1 -0
- package/dist/client-plugins.d.mts +22 -0
- package/dist/client-plugins.d.ts +22 -0
- package/dist/client-plugins.mjs +10 -0
- package/dist/client-plugins.mjs.map +1 -0
- package/dist/client.cjs +5402 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.mts +447 -0
- package/dist/client.d.ts +447 -0
- package/dist/client.mjs +110 -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 +29 -0
- package/dist/config.d.ts +29 -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-REQTS3I7.mjs +371 -0
- package/dist/devtools-REQTS3I7.mjs.map +1 -0
- package/dist/devtools-client-3XRTBND5.mjs +216 -0
- package/dist/devtools-client-3XRTBND5.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 +5548 -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 +47 -0
- package/dist/docs.mjs.map +1 -0
- package/dist/env-types.cjs +232 -0
- package/dist/env-types.cjs.map +1 -0
- package/dist/env-types.d.mts +12 -0
- package/dist/env-types.d.ts +12 -0
- package/dist/env-types.mjs +11 -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.d.mts +22 -0
- package/dist/environment/vite.d.ts +22 -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.d.mts +32 -0
- package/dist/i18n/client.d.ts +32 -0
- package/dist/i18n/index.d.mts +20 -0
- package/dist/i18n/index.d.ts +20 -0
- package/dist/i18n/server.d.mts +30 -0
- package/dist/i18n/server.d.ts +30 -0
- package/dist/image/server.d.mts +37 -0
- package/dist/image/server.d.ts +37 -0
- package/dist/image/sharp.d.mts +7 -0
- package/dist/image/sharp.d.ts +7 -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 +42186 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.mts +454 -0
- package/dist/index.d.ts +454 -0
- package/dist/index.mjs +980 -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 +22 -0
- package/dist/integrations.d.ts +22 -0
- package/dist/integrations.mjs +51 -0
- package/dist/integrations.mjs.map +1 -0
- package/dist/internal/build-runtime.cjs +643 -322
- package/dist/internal/build-runtime.cjs.map +1 -1
- package/dist/internal/build-runtime.d.mts +39 -0
- package/dist/internal/build-runtime.d.ts +39 -0
- package/dist/internal/build-runtime.mjs +11 -10
- package/dist/internal/client-runtime.d.mts +2 -0
- package/dist/internal/client-runtime.d.ts +2 -0
- package/dist/internal/config-runtime.cjs +135 -39
- package/dist/internal/config-runtime.cjs.map +1 -1
- package/dist/internal/config-runtime.d.mts +39 -0
- package/dist/internal/config-runtime.d.ts +39 -0
- package/dist/internal/config-runtime.mjs +5 -4
- package/dist/internal/production-node-env.d.mts +12 -0
- package/dist/internal/production-node-env.d.ts +12 -0
- package/dist/internal/production-runtime.d.mts +39 -0
- package/dist/internal/production-runtime.d.ts +39 -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 +364 -0
- package/dist/markdown.cjs.map +1 -0
- package/dist/markdown.d.mts +60 -0
- package/dist/markdown.d.ts +60 -0
- package/dist/markdown.mjs +18 -0
- package/dist/markdown.mjs.map +1 -0
- package/dist/metadata-Cm9ujH4I.d.ts +22 -0
- package/dist/metadata-DacXbnLA.d.mts +22 -0
- package/dist/middleware.cjs +2148 -0
- package/dist/middleware.cjs.map +1 -0
- package/dist/middleware.d.mts +164 -0
- package/dist/middleware.d.ts +164 -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 +1329 -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-QO5LV6QK.mjs +689 -0
- package/dist/nitro-QO5LV6QK.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 +23470 -0
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.mts +22 -0
- package/dist/plugin.d.ts +22 -0
- package/dist/plugin.mjs +8 -7
- package/dist/production-runtime-4KKq1AVC.d.mts +79 -0
- package/dist/production-runtime-C_B79w2P.d.mts +28 -0
- package/dist/production-runtime-DDEM1D2q.d.ts +28 -0
- package/dist/production-runtime-DRsWDN2x.d.ts +79 -0
- package/dist/query/client.d.mts +61 -0
- package/dist/query/client.d.ts +61 -0
- package/dist/query/index.d.mts +90 -0
- package/dist/query/index.d.ts +90 -0
- package/dist/query/parsers.d.mts +25 -0
- package/dist/query/parsers.d.ts +25 -0
- package/dist/query/server.d.mts +55 -0
- package/dist/query/server.d.ts +55 -0
- package/dist/request-Dsq4kGW0.d.mts +6 -0
- package/dist/request-udtobOLv.d.ts +6 -0
- package/dist/request.d.mts +2 -0
- package/dist/request.d.ts +2 -0
- package/dist/resolver-DJqjLMg_.d.mts +14 -0
- package/dist/resolver-IH4RmPEl.d.ts +14 -0
- package/dist/route-runtime-DoOHzCAD.d.mts +38 -0
- package/dist/route-runtime-DoOHzCAD.d.ts +38 -0
- package/dist/router.d.mts +36 -0
- package/dist/router.d.ts +36 -0
- package/dist/routes.d.mts +224 -0
- package/dist/routes.d.ts +224 -0
- package/dist/runtime-9nQjVM7X.d.mts +206 -0
- package/dist/runtime-Cxpq6xZN.d.mts +27 -0
- package/dist/runtime-DgeS2skB.d.ts +206 -0
- package/dist/runtime-bv63eUiO.d.ts +27 -0
- package/dist/server-action-security.d.mts +43 -0
- package/dist/server-action-security.d.ts +43 -0
- package/dist/server-fn-client.d.mts +32 -0
- package/dist/server-fn-client.d.ts +32 -0
- package/dist/server-fn.d.mts +93 -0
- package/dist/server-fn.d.ts +93 -0
- package/dist/server-plugins.d.mts +55 -0
- package/dist/server-plugins.d.ts +55 -0
- package/dist/server-query-client.d.mts +50 -0
- package/dist/server-query-client.d.ts +50 -0
- package/dist/server-query.d.mts +36 -0
- package/dist/server-query.d.ts +36 -0
- package/dist/server.cjs +731 -447
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.mts +48 -0
- package/dist/server.d.ts +48 -0
- package/dist/server.mjs +9 -8
- package/dist/server.mjs.map +1 -1
- package/dist/storage.d.mts +52 -0
- package/dist/storage.d.ts +52 -0
- package/dist/testing.d.mts +101 -0
- package/dist/testing.d.ts +101 -0
- package/dist/transport-BmbGTXA5.d.mts +49 -0
- package/dist/transport-BmbGTXA5.d.ts +49 -0
- package/dist/types-BMxWr97v.d.mts +81 -0
- package/dist/types-BMxWr97v.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-B-cUHwoK.d.ts +23 -0
- package/dist/utils-Cm41AefV.d.mts +23 -0
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.mts +3 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +682 -437
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.d.mts +22 -0
- package/dist/vite.d.ts +22 -0
- package/dist/vite.mjs +6 -5
- package/dist/workflows.d.mts +110 -0
- package/dist/workflows.d.ts +110 -0
- package/package.json +3 -2
- package/types/client.d.ts +1 -1
- package/types/image.d.ts +4 -0
- package/types/images.d.ts +59 -0
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__name
|
|
3
|
+
} from "./chunk-CGILA3WO.mjs";
|
|
4
|
+
|
|
5
|
+
// src/storage/index.ts
|
|
6
|
+
import { createStorage, prefixStorage, builtinDrivers } from "unstorage";
|
|
7
|
+
import memoryDriver from "unstorage/drivers/memory";
|
|
8
|
+
var loadModule = /* @__PURE__ */ __name((specifier) => import(
|
|
9
|
+
/* @vite-ignore */
|
|
10
|
+
specifier
|
|
11
|
+
), "loadModule");
|
|
12
|
+
var DATABASE_CONNECTORS = {
|
|
13
|
+
sqlite: {
|
|
14
|
+
connector: "node-sqlite",
|
|
15
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/node-sqlite"), "load")
|
|
16
|
+
},
|
|
17
|
+
"node-sqlite": {
|
|
18
|
+
connector: "node-sqlite",
|
|
19
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/node-sqlite"), "load")
|
|
20
|
+
},
|
|
21
|
+
sqlite3: {
|
|
22
|
+
connector: "sqlite3",
|
|
23
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/sqlite3"), "load")
|
|
24
|
+
},
|
|
25
|
+
"better-sqlite3": {
|
|
26
|
+
connector: "better-sqlite3",
|
|
27
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/better-sqlite3"), "load")
|
|
28
|
+
},
|
|
29
|
+
postgres: {
|
|
30
|
+
connector: "postgresql",
|
|
31
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/postgresql"), "load")
|
|
32
|
+
},
|
|
33
|
+
postgresql: {
|
|
34
|
+
connector: "postgresql",
|
|
35
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/postgresql"), "load")
|
|
36
|
+
},
|
|
37
|
+
pg: {
|
|
38
|
+
connector: "postgresql",
|
|
39
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/postgresql"), "load")
|
|
40
|
+
},
|
|
41
|
+
mysql: {
|
|
42
|
+
connector: "mysql2",
|
|
43
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/mysql2"), "load")
|
|
44
|
+
},
|
|
45
|
+
mysql2: {
|
|
46
|
+
connector: "mysql2",
|
|
47
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/mysql2"), "load")
|
|
48
|
+
},
|
|
49
|
+
pglite: {
|
|
50
|
+
connector: "pglite",
|
|
51
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/pglite"), "load")
|
|
52
|
+
},
|
|
53
|
+
planetscale: {
|
|
54
|
+
connector: "planetscale",
|
|
55
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/planetscale"), "load")
|
|
56
|
+
},
|
|
57
|
+
libsql: {
|
|
58
|
+
connector: "libsql",
|
|
59
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/libsql/node"), "load")
|
|
60
|
+
},
|
|
61
|
+
"libsql-node": {
|
|
62
|
+
connector: "libsql-node",
|
|
63
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/libsql/node"), "load")
|
|
64
|
+
},
|
|
65
|
+
"libsql-http": {
|
|
66
|
+
connector: "libsql-http",
|
|
67
|
+
load: /* @__PURE__ */ __name(() => loadModule("db0/connectors/libsql/http"), "load")
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
function createMemoryStorage() {
|
|
71
|
+
return createStorage({
|
|
72
|
+
driver: memoryDriver()
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
__name(createMemoryStorage, "createMemoryStorage");
|
|
76
|
+
var GLOBAL_STORAGE_KEY = /* @__PURE__ */ Symbol.for("farmjs.storage.global");
|
|
77
|
+
function readGlobalStorage() {
|
|
78
|
+
return globalThis[GLOBAL_STORAGE_KEY];
|
|
79
|
+
}
|
|
80
|
+
__name(readGlobalStorage, "readGlobalStorage");
|
|
81
|
+
function writeGlobalStorage(storage) {
|
|
82
|
+
globalThis[GLOBAL_STORAGE_KEY] = storage;
|
|
83
|
+
return storage;
|
|
84
|
+
}
|
|
85
|
+
__name(writeGlobalStorage, "writeGlobalStorage");
|
|
86
|
+
function getActiveGlobalStorage() {
|
|
87
|
+
const existing = readGlobalStorage();
|
|
88
|
+
if (existing) {
|
|
89
|
+
return existing;
|
|
90
|
+
}
|
|
91
|
+
return writeGlobalStorage(createMemoryStorage());
|
|
92
|
+
}
|
|
93
|
+
__name(getActiveGlobalStorage, "getActiveGlobalStorage");
|
|
94
|
+
var globalStorage = getActiveGlobalStorage();
|
|
95
|
+
function normalizeMountKey(base) {
|
|
96
|
+
return (base || "").trim().replace(/^[:/\\]+|[:/\\]+$/g, "").replace(/[\\/]+/g, ":");
|
|
97
|
+
}
|
|
98
|
+
__name(normalizeMountKey, "normalizeMountKey");
|
|
99
|
+
function isDriverInstance(value) {
|
|
100
|
+
return !!value && typeof value === "object" && typeof value.getItem === "function" && typeof value.getKeys === "function";
|
|
101
|
+
}
|
|
102
|
+
__name(isDriverInstance, "isDriverInstance");
|
|
103
|
+
function isStorageInstance(value) {
|
|
104
|
+
return !!value && typeof value === "object" && typeof value.mount === "function" && typeof value.getMount === "function";
|
|
105
|
+
}
|
|
106
|
+
__name(isStorageInstance, "isStorageInstance");
|
|
107
|
+
function isStorageClient(value) {
|
|
108
|
+
return !!value && typeof value === "object" && value.kind === "farm-storage-client" && typeof value.resolveDriver === "function" && typeof value.createStorage === "function";
|
|
109
|
+
}
|
|
110
|
+
__name(isStorageClient, "isStorageClient");
|
|
111
|
+
function isDatabaseDriverName(name) {
|
|
112
|
+
return name in DATABASE_CONNECTORS;
|
|
113
|
+
}
|
|
114
|
+
__name(isDatabaseDriverName, "isDatabaseDriverName");
|
|
115
|
+
function extractDriverOptions(config) {
|
|
116
|
+
const source = config;
|
|
117
|
+
const {
|
|
118
|
+
client: _client,
|
|
119
|
+
driver: _driver,
|
|
120
|
+
mounts: _mounts,
|
|
121
|
+
options,
|
|
122
|
+
tableName: _tableName,
|
|
123
|
+
...inlineOptions
|
|
124
|
+
} = source;
|
|
125
|
+
const hasInlineOptions = Object.keys(inlineOptions).length > 0;
|
|
126
|
+
if (options && typeof options === "object" && !Array.isArray(options)) {
|
|
127
|
+
return hasInlineOptions ? { ...inlineOptions, ...options } : options;
|
|
128
|
+
}
|
|
129
|
+
if (hasInlineOptions) {
|
|
130
|
+
return inlineOptions;
|
|
131
|
+
}
|
|
132
|
+
return options;
|
|
133
|
+
}
|
|
134
|
+
__name(extractDriverOptions, "extractDriverOptions");
|
|
135
|
+
async function loadBuiltinDriver(name, options) {
|
|
136
|
+
const modulePath = builtinDrivers[name];
|
|
137
|
+
if (!modulePath) {
|
|
138
|
+
throw new Error(`Unsupported storage driver "${name}".`);
|
|
139
|
+
}
|
|
140
|
+
const module = await loadModule(modulePath);
|
|
141
|
+
return module.default(options);
|
|
142
|
+
}
|
|
143
|
+
__name(loadBuiltinDriver, "loadBuiltinDriver");
|
|
144
|
+
async function loadDatabaseDriver(config) {
|
|
145
|
+
const connectorEntry = DATABASE_CONNECTORS[config.driver];
|
|
146
|
+
const [{ createDatabase }, connectorModule, db0DriverModule] = await Promise.all([
|
|
147
|
+
loadModule("db0"),
|
|
148
|
+
connectorEntry.load(),
|
|
149
|
+
loadModule("unstorage/drivers/db0")
|
|
150
|
+
]);
|
|
151
|
+
const database = createDatabase(connectorModule.default(extractDriverOptions(config) || {}));
|
|
152
|
+
return db0DriverModule.default({
|
|
153
|
+
database,
|
|
154
|
+
tableName: config.tableName
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
__name(loadDatabaseDriver, "loadDatabaseDriver");
|
|
158
|
+
async function resolveDriver(config) {
|
|
159
|
+
if (config && isStorageClient(config)) {
|
|
160
|
+
return config.resolveDriver();
|
|
161
|
+
}
|
|
162
|
+
const driverInput = config?.driver ?? "memory";
|
|
163
|
+
if (typeof driverInput === "function") {
|
|
164
|
+
return await driverInput();
|
|
165
|
+
}
|
|
166
|
+
if (isDriverInstance(driverInput)) {
|
|
167
|
+
return driverInput;
|
|
168
|
+
}
|
|
169
|
+
if (isDatabaseDriverName(driverInput)) {
|
|
170
|
+
return loadDatabaseDriver(config);
|
|
171
|
+
}
|
|
172
|
+
if (driverInput === "local") {
|
|
173
|
+
return loadBuiltinDriver("fs-lite", extractDriverOptions(config));
|
|
174
|
+
}
|
|
175
|
+
return loadBuiltinDriver(
|
|
176
|
+
driverInput,
|
|
177
|
+
extractDriverOptions(config)
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
__name(resolveDriver, "resolveDriver");
|
|
181
|
+
function createStorageClientFromResolver(resolveDriver2) {
|
|
182
|
+
let driverPromise;
|
|
183
|
+
let storagePromise;
|
|
184
|
+
const ensureDriver = /* @__PURE__ */ __name(async () => {
|
|
185
|
+
driverPromise ?? (driverPromise = Promise.resolve(resolveDriver2()));
|
|
186
|
+
return driverPromise;
|
|
187
|
+
}, "ensureDriver");
|
|
188
|
+
const ensureStorage = /* @__PURE__ */ __name(async () => {
|
|
189
|
+
storagePromise ?? (storagePromise = ensureDriver().then(
|
|
190
|
+
(driver) => createStorage({
|
|
191
|
+
driver
|
|
192
|
+
})
|
|
193
|
+
));
|
|
194
|
+
return storagePromise;
|
|
195
|
+
}, "ensureStorage");
|
|
196
|
+
const target = {
|
|
197
|
+
kind: "farm-storage-client",
|
|
198
|
+
ready: ensureStorage,
|
|
199
|
+
createStorage: ensureStorage,
|
|
200
|
+
resolveDriver: ensureDriver
|
|
201
|
+
};
|
|
202
|
+
return new Proxy(target, {
|
|
203
|
+
get(currentTarget, prop, receiver) {
|
|
204
|
+
if (prop === "then") {
|
|
205
|
+
return void 0;
|
|
206
|
+
}
|
|
207
|
+
if (Reflect.has(currentTarget, prop)) {
|
|
208
|
+
return Reflect.get(currentTarget, prop, receiver);
|
|
209
|
+
}
|
|
210
|
+
return (...args) => ensureStorage().then(async (storage) => {
|
|
211
|
+
const member = Reflect.get(storage, prop);
|
|
212
|
+
if (typeof member !== "function") {
|
|
213
|
+
return member;
|
|
214
|
+
}
|
|
215
|
+
const result = Reflect.apply(member, storage, args);
|
|
216
|
+
if (prop === "dispose") {
|
|
217
|
+
return Promise.resolve(result).finally(() => {
|
|
218
|
+
storagePromise = void 0;
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
return result;
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
__name(createStorageClientFromResolver, "createStorageClientFromResolver");
|
|
227
|
+
function defineStorageClient(resolveDriver2) {
|
|
228
|
+
return createStorageClientFromResolver(resolveDriver2);
|
|
229
|
+
}
|
|
230
|
+
__name(defineStorageClient, "defineStorageClient");
|
|
231
|
+
function createStorageClient(config) {
|
|
232
|
+
return defineStorageClient(() => resolveDriver(config));
|
|
233
|
+
}
|
|
234
|
+
__name(createStorageClient, "createStorageClient");
|
|
235
|
+
function driverStorage(driver) {
|
|
236
|
+
return defineStorageClient(() => typeof driver === "function" ? driver() : driver);
|
|
237
|
+
}
|
|
238
|
+
__name(driverStorage, "driverStorage");
|
|
239
|
+
function databaseStorage(database, options = {}) {
|
|
240
|
+
return defineStorageClient(async () => {
|
|
241
|
+
const db0DriverModule = await loadModule("unstorage/drivers/db0");
|
|
242
|
+
return db0DriverModule.default({
|
|
243
|
+
database,
|
|
244
|
+
tableName: options.tableName
|
|
245
|
+
});
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
__name(databaseStorage, "databaseStorage");
|
|
249
|
+
function memoryStorage() {
|
|
250
|
+
return createStorageClient({ driver: "memory" });
|
|
251
|
+
}
|
|
252
|
+
__name(memoryStorage, "memoryStorage");
|
|
253
|
+
function localStorage(options = {}) {
|
|
254
|
+
return createStorageClient({
|
|
255
|
+
driver: "local",
|
|
256
|
+
...options
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
__name(localStorage, "localStorage");
|
|
260
|
+
function sqliteStorage(options) {
|
|
261
|
+
return createStorageClient({
|
|
262
|
+
driver: "sqlite",
|
|
263
|
+
...options
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
__name(sqliteStorage, "sqliteStorage");
|
|
267
|
+
function mysqlStorage(options) {
|
|
268
|
+
return createStorageClient({
|
|
269
|
+
driver: "mysql",
|
|
270
|
+
...options
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
__name(mysqlStorage, "mysqlStorage");
|
|
274
|
+
function mysql2Storage(options) {
|
|
275
|
+
return mysqlStorage(options);
|
|
276
|
+
}
|
|
277
|
+
__name(mysql2Storage, "mysql2Storage");
|
|
278
|
+
function postgresStorage(options) {
|
|
279
|
+
return createStorageClient({
|
|
280
|
+
driver: "postgres",
|
|
281
|
+
...options
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
__name(postgresStorage, "postgresStorage");
|
|
285
|
+
function pgStorage(options) {
|
|
286
|
+
return postgresStorage(options);
|
|
287
|
+
}
|
|
288
|
+
__name(pgStorage, "pgStorage");
|
|
289
|
+
function pgliteStorage(options) {
|
|
290
|
+
return createStorageClient({
|
|
291
|
+
driver: "pglite",
|
|
292
|
+
...options
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
__name(pgliteStorage, "pgliteStorage");
|
|
296
|
+
function planetscaleStorage(options) {
|
|
297
|
+
return createStorageClient({
|
|
298
|
+
driver: "planetscale",
|
|
299
|
+
...options
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
__name(planetscaleStorage, "planetscaleStorage");
|
|
303
|
+
function libsqlStorage(options) {
|
|
304
|
+
return createStorageClient({
|
|
305
|
+
driver: "libsql",
|
|
306
|
+
...options
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
__name(libsqlStorage, "libsqlStorage");
|
|
310
|
+
function redisStorage(options) {
|
|
311
|
+
return createStorageClient({
|
|
312
|
+
driver: "redis",
|
|
313
|
+
...options
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
__name(redisStorage, "redisStorage");
|
|
317
|
+
function s3Storage(options) {
|
|
318
|
+
return createStorageClient({
|
|
319
|
+
driver: "s3",
|
|
320
|
+
...options
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
__name(s3Storage, "s3Storage");
|
|
324
|
+
function mongodbStorage(options) {
|
|
325
|
+
return createStorageClient({
|
|
326
|
+
driver: "mongodb",
|
|
327
|
+
...options
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
__name(mongodbStorage, "mongodbStorage");
|
|
331
|
+
function upstashStorage(options) {
|
|
332
|
+
return createStorageClient({
|
|
333
|
+
driver: "upstash",
|
|
334
|
+
...options
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
__name(upstashStorage, "upstashStorage");
|
|
338
|
+
function netlifyBlobsStorage(options) {
|
|
339
|
+
return createStorageClient({
|
|
340
|
+
driver: "netlify-blobs",
|
|
341
|
+
...options
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
__name(netlifyBlobsStorage, "netlifyBlobsStorage");
|
|
345
|
+
function vercelKVStorage(options) {
|
|
346
|
+
return createStorageClient({
|
|
347
|
+
driver: "vercel-kv",
|
|
348
|
+
...options
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
__name(vercelKVStorage, "vercelKVStorage");
|
|
352
|
+
function vercelBlobStorage(options) {
|
|
353
|
+
return createStorageClient({
|
|
354
|
+
driver: "vercel-blob",
|
|
355
|
+
...options
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
__name(vercelBlobStorage, "vercelBlobStorage");
|
|
359
|
+
async function mountNamespaces(storage, mounts) {
|
|
360
|
+
if (!mounts) {
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
for (const [base, config] of Object.entries(mounts)) {
|
|
364
|
+
storage.mount(normalizeMountKey(base), await resolveDriver(config));
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
__name(mountNamespaces, "mountNamespaces");
|
|
368
|
+
async function createFarmStorage(config = {}) {
|
|
369
|
+
if (isStorageInstance(config)) {
|
|
370
|
+
return config;
|
|
371
|
+
}
|
|
372
|
+
if (isStorageClient(config)) {
|
|
373
|
+
return config.createStorage();
|
|
374
|
+
}
|
|
375
|
+
const rootConfig = isStorageClient(config.client) ? config.client : config;
|
|
376
|
+
const storage = createStorage({
|
|
377
|
+
driver: await resolveDriver(rootConfig)
|
|
378
|
+
});
|
|
379
|
+
await mountNamespaces(storage, config.mounts);
|
|
380
|
+
return storage;
|
|
381
|
+
}
|
|
382
|
+
__name(createFarmStorage, "createFarmStorage");
|
|
383
|
+
async function resolveStorageRuntimeClient(config) {
|
|
384
|
+
if (!config || isStorageInstance(config) || isStorageClient(config)) {
|
|
385
|
+
return void 0;
|
|
386
|
+
}
|
|
387
|
+
const client = config.client;
|
|
388
|
+
if (!client || isStorageInstance(client) || isStorageClient(client)) {
|
|
389
|
+
return void 0;
|
|
390
|
+
}
|
|
391
|
+
return typeof client === "function" ? await client() : client;
|
|
392
|
+
}
|
|
393
|
+
__name(resolveStorageRuntimeClient, "resolveStorageRuntimeClient");
|
|
394
|
+
async function initStorage(config = {}) {
|
|
395
|
+
globalStorage = getActiveGlobalStorage();
|
|
396
|
+
const nextStorage = await createFarmStorage(config);
|
|
397
|
+
const previousStorage = globalStorage;
|
|
398
|
+
globalStorage = writeGlobalStorage(nextStorage);
|
|
399
|
+
if (previousStorage !== nextStorage) {
|
|
400
|
+
await previousStorage.dispose().catch(() => {
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
return globalStorage;
|
|
404
|
+
}
|
|
405
|
+
__name(initStorage, "initStorage");
|
|
406
|
+
function getStorage(namespace) {
|
|
407
|
+
globalStorage = getActiveGlobalStorage();
|
|
408
|
+
const base = normalizeMountKey(namespace);
|
|
409
|
+
if (!base) {
|
|
410
|
+
return globalStorage;
|
|
411
|
+
}
|
|
412
|
+
const namespaced = prefixStorage(globalStorage, base);
|
|
413
|
+
return {
|
|
414
|
+
...namespaced,
|
|
415
|
+
async clear() {
|
|
416
|
+
const keys = await namespaced.getKeys();
|
|
417
|
+
await Promise.all(keys.map((key) => namespaced.removeItem(key)));
|
|
418
|
+
}
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
__name(getStorage, "getStorage");
|
|
422
|
+
async function disposeStorage() {
|
|
423
|
+
globalStorage = getActiveGlobalStorage();
|
|
424
|
+
const previousStorage = globalStorage;
|
|
425
|
+
globalStorage = writeGlobalStorage(createMemoryStorage());
|
|
426
|
+
await previousStorage.dispose().catch(() => {
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
__name(disposeStorage, "disposeStorage");
|
|
430
|
+
|
|
431
|
+
export {
|
|
432
|
+
defineStorageClient,
|
|
433
|
+
createStorageClient,
|
|
434
|
+
driverStorage,
|
|
435
|
+
databaseStorage,
|
|
436
|
+
memoryStorage,
|
|
437
|
+
localStorage,
|
|
438
|
+
sqliteStorage,
|
|
439
|
+
mysqlStorage,
|
|
440
|
+
mysql2Storage,
|
|
441
|
+
postgresStorage,
|
|
442
|
+
pgStorage,
|
|
443
|
+
pgliteStorage,
|
|
444
|
+
planetscaleStorage,
|
|
445
|
+
libsqlStorage,
|
|
446
|
+
redisStorage,
|
|
447
|
+
s3Storage,
|
|
448
|
+
mongodbStorage,
|
|
449
|
+
upstashStorage,
|
|
450
|
+
netlifyBlobsStorage,
|
|
451
|
+
vercelKVStorage,
|
|
452
|
+
vercelBlobStorage,
|
|
453
|
+
createFarmStorage,
|
|
454
|
+
resolveStorageRuntimeClient,
|
|
455
|
+
initStorage,
|
|
456
|
+
getStorage,
|
|
457
|
+
disposeStorage
|
|
458
|
+
};
|
|
459
|
+
//# sourceMappingURL=chunk-T4QJQK76.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/storage/index.ts"],"sourcesContent":["import { createStorage, prefixStorage, builtinDrivers, type BuiltinDriverName } from \"unstorage\";\nimport type { Driver, Storage } from \"unstorage\";\nimport type { Database } from \"db0\";\nimport memoryDriver from \"unstorage/drivers/memory\";\nimport type {\n FarmStorageClient,\n FarmStorageClientConfig,\n FarmStorageConfigObject,\n FarmStorageLocalDriverConfig,\n FarmStorageDatabaseConfig,\n FarmStorageDatabaseDriverMap,\n FarmStorageDatabaseDriverName,\n FarmStorageRuntimeClient,\n FarmStorageMountConfig,\n FarmStorageMounts,\n FarmStorageUserConfig,\n} from \"./types\";\n\nexport type {\n FarmStorageBuiltinDriverConfig,\n FarmStorageClient,\n FarmStorageClientConfig,\n FarmStorageConfigObject,\n FarmStorageCustomDriverConfig,\n FarmStorageDatabaseConfig,\n FarmStorageDatabaseDriverName,\n FarmStorageLocalDriverConfig,\n FarmStorageRuntimeClient,\n FarmStorageMountConfig,\n FarmStorageMounts,\n FarmStorageUserConfig,\n} from \"./types\";\nexport type {\n BuiltinDriverName,\n BuiltinDriverOptions,\n Driver,\n Storage,\n StorageMeta,\n StorageValue,\n TransactionOptions,\n} from \"unstorage\";\nexport type { ConnectorName, ConnectorOptions, Database } from \"db0\";\n\ntype DriverFactoryModule = {\n default: (options?: Record<string, any>) => Driver;\n};\n\ntype DriverResolver = () => Driver | Promise<Driver>;\ntype ModuleLoader = <T = any>(specifier: string) => Promise<T>;\n\nconst loadModule: ModuleLoader = (specifier) => import(/* @vite-ignore */ specifier);\n\nconst DATABASE_CONNECTORS: {\n [K in FarmStorageDatabaseDriverName]: {\n connector: FarmStorageDatabaseDriverMap[K];\n load: () => Promise<{ default: (options?: any) => any }>;\n };\n} = {\n sqlite: {\n connector: \"node-sqlite\",\n load: () => loadModule(\"db0/connectors/node-sqlite\"),\n },\n \"node-sqlite\": {\n connector: \"node-sqlite\",\n load: () => loadModule(\"db0/connectors/node-sqlite\"),\n },\n sqlite3: {\n connector: \"sqlite3\",\n load: () => loadModule(\"db0/connectors/sqlite3\"),\n },\n \"better-sqlite3\": {\n connector: \"better-sqlite3\",\n load: () => loadModule(\"db0/connectors/better-sqlite3\"),\n },\n postgres: {\n connector: \"postgresql\",\n load: () => loadModule(\"db0/connectors/postgresql\"),\n },\n postgresql: {\n connector: \"postgresql\",\n load: () => loadModule(\"db0/connectors/postgresql\"),\n },\n pg: {\n connector: \"postgresql\",\n load: () => loadModule(\"db0/connectors/postgresql\"),\n },\n mysql: {\n connector: \"mysql2\",\n load: () => loadModule(\"db0/connectors/mysql2\"),\n },\n mysql2: {\n connector: \"mysql2\",\n load: () => loadModule(\"db0/connectors/mysql2\"),\n },\n pglite: {\n connector: \"pglite\",\n load: () => loadModule(\"db0/connectors/pglite\"),\n },\n planetscale: {\n connector: \"planetscale\",\n load: () => loadModule(\"db0/connectors/planetscale\"),\n },\n libsql: {\n connector: \"libsql\",\n load: () => loadModule(\"db0/connectors/libsql/node\"),\n },\n \"libsql-node\": {\n connector: \"libsql-node\",\n load: () => loadModule(\"db0/connectors/libsql/node\"),\n },\n \"libsql-http\": {\n connector: \"libsql-http\",\n load: () => loadModule(\"db0/connectors/libsql/http\"),\n },\n};\n\nfunction createMemoryStorage(): Storage {\n return createStorage({\n driver: memoryDriver(),\n });\n}\n\nconst GLOBAL_STORAGE_KEY = Symbol.for(\"farmjs.storage.global\");\n\nfunction readGlobalStorage(): Storage | undefined {\n return (globalThis as unknown as Record<PropertyKey, Storage | undefined>)[GLOBAL_STORAGE_KEY];\n}\n\nfunction writeGlobalStorage(storage: Storage): Storage {\n (globalThis as unknown as Record<PropertyKey, Storage | undefined>)[GLOBAL_STORAGE_KEY] = storage;\n return storage;\n}\n\nfunction getActiveGlobalStorage(): Storage {\n const existing = readGlobalStorage();\n if (existing) {\n return existing;\n }\n return writeGlobalStorage(createMemoryStorage());\n}\n\nlet globalStorage = getActiveGlobalStorage();\n\nfunction normalizeMountKey(base?: string): string {\n return (base || \"\")\n .trim()\n .replace(/^[:/\\\\]+|[:/\\\\]+$/g, \"\")\n .replace(/[\\\\/]+/g, \":\");\n}\n\nfunction isDriverInstance(value: unknown): value is Driver {\n return (\n !!value &&\n typeof value === \"object\" &&\n typeof (value as Driver).getItem === \"function\" &&\n typeof (value as Driver).getKeys === \"function\"\n );\n}\n\nfunction isStorageInstance(value: unknown): value is Storage {\n return (\n !!value &&\n typeof value === \"object\" &&\n typeof (value as Storage).mount === \"function\" &&\n typeof (value as Storage).getMount === \"function\"\n );\n}\n\nfunction isStorageClient(value: unknown): value is FarmStorageClient {\n return (\n !!value &&\n typeof value === \"object\" &&\n (value as FarmStorageClient).kind === \"farm-storage-client\" &&\n typeof (value as FarmStorageClient).resolveDriver === \"function\" &&\n typeof (value as FarmStorageClient).createStorage === \"function\"\n );\n}\n\nfunction isDatabaseDriverName(name: string): name is FarmStorageDatabaseDriverName {\n return name in DATABASE_CONNECTORS;\n}\n\nfunction extractDriverOptions(config: FarmStorageClientConfig): Record<string, any> | undefined {\n const source = config as Record<string, any>;\n const {\n client: _client,\n driver: _driver,\n mounts: _mounts,\n options,\n tableName: _tableName,\n ...inlineOptions\n } = source;\n const hasInlineOptions = Object.keys(inlineOptions).length > 0;\n\n if (options && typeof options === \"object\" && !Array.isArray(options)) {\n return hasInlineOptions ? { ...inlineOptions, ...options } : options;\n }\n\n if (hasInlineOptions) {\n return inlineOptions;\n }\n\n return options;\n}\n\nasync function loadBuiltinDriver(\n name: BuiltinDriverName,\n options?: Record<string, any>,\n): Promise<Driver> {\n const modulePath = builtinDrivers[name];\n\n if (!modulePath) {\n throw new Error(`Unsupported storage driver \"${name}\".`);\n }\n\n const module = (await loadModule(modulePath)) as DriverFactoryModule;\n return module.default(options);\n}\n\nasync function loadDatabaseDriver(config: FarmStorageDatabaseConfig): Promise<Driver> {\n const connectorEntry = DATABASE_CONNECTORS[config.driver as FarmStorageDatabaseDriverName];\n const [{ createDatabase }, connectorModule, db0DriverModule] = await Promise.all([\n loadModule<typeof import(\"db0\")>(\"db0\"),\n connectorEntry.load(),\n loadModule<typeof import(\"unstorage/drivers/db0\")>(\"unstorage/drivers/db0\"),\n ]);\n\n const database = createDatabase(connectorModule.default(extractDriverOptions(config) || {}));\n return db0DriverModule.default({\n database,\n tableName: config.tableName,\n });\n}\n\nasync function resolveDriver(config?: FarmStorageMountConfig): Promise<Driver> {\n if (config && isStorageClient(config)) {\n return config.resolveDriver();\n }\n\n const driverInput = config?.driver ?? \"memory\";\n\n if (typeof driverInput === \"function\") {\n return await driverInput();\n }\n\n if (isDriverInstance(driverInput)) {\n return driverInput;\n }\n\n if (isDatabaseDriverName(driverInput)) {\n return loadDatabaseDriver(config as FarmStorageDatabaseConfig);\n }\n\n if (driverInput === \"local\") {\n return loadBuiltinDriver(\"fs-lite\", extractDriverOptions(config as FarmStorageMountConfig));\n }\n\n return loadBuiltinDriver(\n driverInput as BuiltinDriverName,\n extractDriverOptions(config as FarmStorageClientConfig),\n );\n}\n\nfunction createStorageClientFromResolver(resolveDriver: DriverResolver): FarmStorageClient {\n let driverPromise: Promise<Driver> | undefined;\n let storagePromise: Promise<Storage> | undefined;\n\n const ensureDriver = async () => {\n driverPromise ??= Promise.resolve(resolveDriver());\n return driverPromise;\n };\n\n const ensureStorage = async () => {\n storagePromise ??= ensureDriver().then((driver) =>\n createStorage({\n driver,\n }),\n );\n return storagePromise;\n };\n\n const target = {\n kind: \"farm-storage-client\" as const,\n ready: ensureStorage,\n createStorage: ensureStorage,\n resolveDriver: ensureDriver,\n };\n\n return new Proxy(target as FarmStorageClient, {\n get(currentTarget, prop, receiver) {\n if (prop === \"then\") {\n return undefined;\n }\n\n if (Reflect.has(currentTarget, prop)) {\n return Reflect.get(currentTarget, prop, receiver);\n }\n\n return (...args: any[]) =>\n ensureStorage().then(async (storage) => {\n const member = Reflect.get(storage as object, prop);\n\n if (typeof member !== \"function\") {\n return member;\n }\n\n const result = Reflect.apply(member, storage, args);\n\n if (prop === \"dispose\") {\n return Promise.resolve(result).finally(() => {\n storagePromise = undefined;\n });\n }\n\n return result;\n });\n },\n });\n}\n\nexport function defineStorageClient(resolveDriver: DriverResolver): FarmStorageClient {\n return createStorageClientFromResolver(resolveDriver);\n}\n\nexport function createStorageClient(config: FarmStorageClientConfig): FarmStorageClient {\n return defineStorageClient(() => resolveDriver(config));\n}\n\nexport function driverStorage(\n driver: Driver | (() => Driver | Promise<Driver>),\n): FarmStorageClient {\n return defineStorageClient(() => (typeof driver === \"function\" ? driver() : driver));\n}\n\nexport function databaseStorage(\n database: Database,\n options: { tableName?: string } = {},\n): FarmStorageClient {\n return defineStorageClient(async () => {\n const db0DriverModule =\n await loadModule<typeof import(\"unstorage/drivers/db0\")>(\"unstorage/drivers/db0\");\n return db0DriverModule.default({\n database,\n tableName: options.tableName,\n });\n });\n}\n\nexport function memoryStorage(): FarmStorageClient {\n return createStorageClient({ driver: \"memory\" });\n}\n\nexport function localStorage(options: Omit<FarmStorageLocalDriverConfig, \"driver\"> = {}) {\n return createStorageClient({\n driver: \"local\",\n ...options,\n });\n}\n\nexport function sqliteStorage(options: Omit<FarmStorageDatabaseConfig, \"driver\">) {\n return createStorageClient({\n driver: \"sqlite\",\n ...options,\n });\n}\n\nexport function mysqlStorage(options: Omit<FarmStorageDatabaseConfig, \"driver\">) {\n return createStorageClient({\n driver: \"mysql\",\n ...options,\n });\n}\n\nexport function mysql2Storage(options: Omit<FarmStorageDatabaseConfig, \"driver\">) {\n return mysqlStorage(options);\n}\n\nexport function postgresStorage(options: Omit<FarmStorageDatabaseConfig, \"driver\">) {\n return createStorageClient({\n driver: \"postgres\",\n ...options,\n });\n}\n\nexport function pgStorage(options: Omit<FarmStorageDatabaseConfig, \"driver\">) {\n return postgresStorage(options);\n}\n\nexport function pgliteStorage(options: Omit<FarmStorageDatabaseConfig, \"driver\">) {\n return createStorageClient({\n driver: \"pglite\",\n ...options,\n });\n}\n\nexport function planetscaleStorage(options: Omit<FarmStorageDatabaseConfig, \"driver\">) {\n return createStorageClient({\n driver: \"planetscale\",\n ...options,\n });\n}\n\nexport function libsqlStorage(options: Omit<FarmStorageDatabaseConfig, \"driver\">) {\n return createStorageClient({\n driver: \"libsql\",\n ...options,\n });\n}\n\nexport function redisStorage(\n options: Omit<Extract<FarmStorageClientConfig, { driver: \"redis\" }>, \"driver\">,\n) {\n return createStorageClient({\n driver: \"redis\",\n ...options,\n });\n}\n\nexport function s3Storage(\n options: Omit<Extract<FarmStorageClientConfig, { driver: \"s3\" }>, \"driver\">,\n) {\n return createStorageClient({\n driver: \"s3\",\n ...options,\n });\n}\n\nexport function mongodbStorage(\n options: Omit<Extract<FarmStorageClientConfig, { driver: \"mongodb\" }>, \"driver\">,\n) {\n return createStorageClient({\n driver: \"mongodb\",\n ...options,\n });\n}\n\nexport function upstashStorage(\n options: Omit<Extract<FarmStorageClientConfig, { driver: \"upstash\" }>, \"driver\">,\n) {\n return createStorageClient({\n driver: \"upstash\",\n ...options,\n });\n}\n\nexport function netlifyBlobsStorage(\n options: Omit<Extract<FarmStorageClientConfig, { driver: \"netlify-blobs\" }>, \"driver\">,\n) {\n return createStorageClient({\n driver: \"netlify-blobs\",\n ...options,\n });\n}\n\nexport function vercelKVStorage(\n options: Omit<Extract<FarmStorageClientConfig, { driver: \"vercel-kv\" }>, \"driver\">,\n) {\n return createStorageClient({\n driver: \"vercel-kv\",\n ...options,\n });\n}\n\nexport function vercelBlobStorage(\n options: Omit<Extract<FarmStorageClientConfig, { driver: \"vercel-blob\" }>, \"driver\">,\n) {\n return createStorageClient({\n driver: \"vercel-blob\",\n ...options,\n });\n}\n\nasync function mountNamespaces(storage: Storage, mounts?: FarmStorageMounts): Promise<void> {\n if (!mounts) {\n return;\n }\n\n for (const [base, config] of Object.entries(mounts)) {\n storage.mount(normalizeMountKey(base), await resolveDriver(config));\n }\n}\n\nexport async function createFarmStorage(config: FarmStorageUserConfig = {}): Promise<Storage> {\n if (isStorageInstance(config)) {\n return config;\n }\n\n if (isStorageClient(config)) {\n return config.createStorage();\n }\n\n const rootConfig = isStorageClient(config.client) ? config.client : config;\n const storage = createStorage({\n driver: await resolveDriver(rootConfig),\n });\n\n await mountNamespaces(storage, config.mounts);\n return storage;\n}\n\nexport async function resolveStorageRuntimeClient(\n config: FarmStorageUserConfig | undefined,\n): Promise<unknown | undefined> {\n if (!config || isStorageInstance(config) || isStorageClient(config)) {\n return undefined;\n }\n\n const client = config.client;\n if (!client || isStorageInstance(client) || isStorageClient(client)) {\n return undefined;\n }\n\n return typeof client === \"function\" ? await client() : client;\n}\n\nexport async function initStorage(config: FarmStorageUserConfig = {}): Promise<Storage> {\n globalStorage = getActiveGlobalStorage();\n const nextStorage = await createFarmStorage(config);\n const previousStorage = globalStorage;\n globalStorage = writeGlobalStorage(nextStorage);\n\n if (previousStorage !== nextStorage) {\n await previousStorage.dispose().catch(() => {});\n }\n\n return globalStorage;\n}\n\nexport function getStorage(namespace?: string): Storage {\n globalStorage = getActiveGlobalStorage();\n const base = normalizeMountKey(namespace);\n if (!base) {\n return globalStorage;\n }\n\n const namespaced = prefixStorage(globalStorage, base);\n return {\n ...namespaced,\n async clear() {\n const keys = await namespaced.getKeys();\n await Promise.all(keys.map((key) => namespaced.removeItem(key)));\n },\n } as Storage;\n}\n\nexport async function disposeStorage(): Promise<void> {\n globalStorage = getActiveGlobalStorage();\n const previousStorage = globalStorage;\n globalStorage = writeGlobalStorage(createMemoryStorage());\n await previousStorage.dispose().catch(() => {});\n}\n"],"mappings":"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","names":["resolveDriver"]}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createRouteDataCacheKey
|
|
3
|
+
} from "./chunk-V3XURYJO.mjs";
|
|
4
|
+
import {
|
|
5
|
+
subscribeFarmCacheInvalidation
|
|
6
|
+
} from "./chunk-RBRLLZL5.mjs";
|
|
7
|
+
import {
|
|
8
|
+
__name
|
|
9
|
+
} from "./chunk-CGILA3WO.mjs";
|
|
10
|
+
|
|
11
|
+
// src/client-cache.ts
|
|
12
|
+
var _FarmClientDataCache = class _FarmClientDataCache {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.entries = /* @__PURE__ */ new Map();
|
|
15
|
+
this.aliases = /* @__PURE__ */ new Map();
|
|
16
|
+
this.invalidatedAt = /* @__PURE__ */ new Map();
|
|
17
|
+
this.listeners = /* @__PURE__ */ new Map();
|
|
18
|
+
this.inflight = /* @__PURE__ */ new Map();
|
|
19
|
+
subscribeFarmCacheInvalidation((key) => this.invalidate(key));
|
|
20
|
+
}
|
|
21
|
+
get size() {
|
|
22
|
+
return this.entries.size;
|
|
23
|
+
}
|
|
24
|
+
resolveKey(key) {
|
|
25
|
+
let resolved = key;
|
|
26
|
+
const seen = /* @__PURE__ */ new Set();
|
|
27
|
+
while (this.aliases.has(resolved) && !seen.has(resolved)) {
|
|
28
|
+
seen.add(resolved);
|
|
29
|
+
resolved = this.aliases.get(resolved);
|
|
30
|
+
}
|
|
31
|
+
return resolved;
|
|
32
|
+
}
|
|
33
|
+
get(key, now = Date.now()) {
|
|
34
|
+
const resolved = this.resolveKey(key);
|
|
35
|
+
const entry = this.entries.get(resolved);
|
|
36
|
+
if (!entry) return void 0;
|
|
37
|
+
if (entry.gcAt !== void 0 && now >= entry.gcAt) {
|
|
38
|
+
this.entries.delete(resolved);
|
|
39
|
+
this.emit(resolved);
|
|
40
|
+
return void 0;
|
|
41
|
+
}
|
|
42
|
+
return entry;
|
|
43
|
+
}
|
|
44
|
+
set(key, entry) {
|
|
45
|
+
const resolved = this.resolveKey(key);
|
|
46
|
+
const invalidatedAt = this.invalidatedAt.get(resolved);
|
|
47
|
+
const nextEntry = invalidatedAt !== void 0 && invalidatedAt > entry.updatedAt ? { ...entry, staleAt: 0, invalidatedAt } : { ...entry, invalidatedAt: void 0 };
|
|
48
|
+
if (invalidatedAt === void 0 || entry.updatedAt >= invalidatedAt) {
|
|
49
|
+
this.invalidatedAt.delete(resolved);
|
|
50
|
+
}
|
|
51
|
+
this.entries.set(resolved, nextEntry);
|
|
52
|
+
this.emit(resolved);
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
delete(key) {
|
|
56
|
+
const resolved = this.resolveKey(key);
|
|
57
|
+
const deleted = this.entries.delete(resolved);
|
|
58
|
+
this.inflight.delete(resolved);
|
|
59
|
+
this.emit(resolved);
|
|
60
|
+
return deleted;
|
|
61
|
+
}
|
|
62
|
+
clear() {
|
|
63
|
+
const keys = /* @__PURE__ */ new Set([...this.entries.keys(), ...this.listeners.keys()]);
|
|
64
|
+
this.entries.clear();
|
|
65
|
+
this.aliases.clear();
|
|
66
|
+
this.invalidatedAt.clear();
|
|
67
|
+
this.inflight.clear();
|
|
68
|
+
for (const key of keys) this.emit(key);
|
|
69
|
+
}
|
|
70
|
+
isStale(key, now = Date.now()) {
|
|
71
|
+
const entry = this.get(key, now);
|
|
72
|
+
return !entry || entry.invalidatedAt !== void 0 || now >= entry.staleAt;
|
|
73
|
+
}
|
|
74
|
+
invalidate(key, now = Date.now()) {
|
|
75
|
+
const resolved = this.resolveKey(key);
|
|
76
|
+
this.invalidatedAt.set(resolved, now);
|
|
77
|
+
const entry = this.entries.get(resolved);
|
|
78
|
+
if (entry) {
|
|
79
|
+
this.entries.set(resolved, {
|
|
80
|
+
...entry,
|
|
81
|
+
staleAt: 0,
|
|
82
|
+
invalidatedAt: now
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
this.emit(resolved);
|
|
86
|
+
}
|
|
87
|
+
alias(alias, key) {
|
|
88
|
+
const resolved = this.resolveKey(key);
|
|
89
|
+
if (alias === resolved) return;
|
|
90
|
+
const aliasEntry = this.entries.get(alias);
|
|
91
|
+
if (aliasEntry && !this.entries.has(resolved)) {
|
|
92
|
+
this.entries.set(resolved, aliasEntry);
|
|
93
|
+
}
|
|
94
|
+
this.entries.delete(alias);
|
|
95
|
+
const aliasInflight = this.inflight.get(alias);
|
|
96
|
+
if (aliasInflight && !this.inflight.has(resolved)) {
|
|
97
|
+
this.inflight.set(resolved, aliasInflight);
|
|
98
|
+
}
|
|
99
|
+
this.inflight.delete(alias);
|
|
100
|
+
this.aliases.set(alias, resolved);
|
|
101
|
+
this.emit(alias);
|
|
102
|
+
this.emit(resolved);
|
|
103
|
+
}
|
|
104
|
+
subscribe(key, listener) {
|
|
105
|
+
let listeners = this.listeners.get(key);
|
|
106
|
+
if (!listeners) {
|
|
107
|
+
listeners = /* @__PURE__ */ new Set();
|
|
108
|
+
this.listeners.set(key, listeners);
|
|
109
|
+
}
|
|
110
|
+
listeners.add(listener);
|
|
111
|
+
return () => {
|
|
112
|
+
listeners.delete(listener);
|
|
113
|
+
if (listeners.size === 0) this.listeners.delete(key);
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
getInflight(key) {
|
|
117
|
+
return this.inflight.get(this.resolveKey(key));
|
|
118
|
+
}
|
|
119
|
+
setInflight(key, promise) {
|
|
120
|
+
this.inflight.set(this.resolveKey(key), promise);
|
|
121
|
+
}
|
|
122
|
+
deleteInflight(key) {
|
|
123
|
+
this.inflight.delete(this.resolveKey(key));
|
|
124
|
+
}
|
|
125
|
+
emit(key) {
|
|
126
|
+
this.notifyListeners(key);
|
|
127
|
+
for (const [alias, target] of this.aliases) {
|
|
128
|
+
if (this.resolveKey(target) === key) {
|
|
129
|
+
this.notifyListeners(alias);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
notifyListeners(key) {
|
|
134
|
+
for (const listener of this.listeners.get(key) ?? []) {
|
|
135
|
+
listener();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
__name(_FarmClientDataCache, "FarmClientDataCache");
|
|
140
|
+
var FarmClientDataCache = _FarmClientDataCache;
|
|
141
|
+
var FARM_CLIENT_DATA_CACHE = /* @__PURE__ */ Symbol.for("farm.clientDataCache");
|
|
142
|
+
var clientCacheGlobal = globalThis;
|
|
143
|
+
var sharedFarmClientDataCache = clientCacheGlobal[FARM_CLIENT_DATA_CACHE] ?? (clientCacheGlobal[FARM_CLIENT_DATA_CACHE] = new FarmClientDataCache());
|
|
144
|
+
function getFarmClientDataCache() {
|
|
145
|
+
return sharedFarmClientDataCache;
|
|
146
|
+
}
|
|
147
|
+
__name(getFarmClientDataCache, "getFarmClientDataCache");
|
|
148
|
+
function normalizeFarmClientCacheKey(key) {
|
|
149
|
+
return typeof key === "string" ? key : createRouteDataCacheKey(key);
|
|
150
|
+
}
|
|
151
|
+
__name(normalizeFarmClientCacheKey, "normalizeFarmClientCacheKey");
|
|
152
|
+
|
|
153
|
+
export {
|
|
154
|
+
getFarmClientDataCache,
|
|
155
|
+
normalizeFarmClientCacheKey
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=chunk-TQAEEJB4.mjs.map
|