@farm.js/core 0.1.0-beta.96 → 0.1.0-beta.97
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 +1 -1
- package/dist/after.mjs +1 -1
- package/dist/agent-runtime.d.mts +3 -2
- package/dist/agent-runtime.d.ts +3 -2
- package/dist/api/route-manager.cjs +43 -4
- package/dist/api/route-manager.d.mts +4 -3
- package/dist/api/route-manager.d.ts +4 -3
- package/dist/api/route-manager.mjs +6 -6
- package/dist/api/runtime.cjs +43 -4
- package/dist/api/runtime.d.mts +1 -1
- package/dist/api/runtime.d.ts +1 -1
- package/dist/api/runtime.mjs +4 -4
- package/dist/api.cjs +239 -70
- package/dist/api.d.mts +7 -6
- package/dist/api.d.ts +7 -6
- package/dist/api.mjs +17 -11
- package/dist/{app-CIIEvA4r.d.ts → app-CIOx3LvY.d.ts} +4 -4
- package/dist/{app-O4AEC1OH.d.mts → app-DBd6437H.d.mts} +4 -4
- package/dist/app-markdown.d.mts +4 -3
- package/dist/app-markdown.d.ts +4 -3
- package/dist/cache.cjs +42 -4
- package/dist/cache.d.mts +68 -1
- package/dist/cache.d.ts +68 -1
- package/dist/cache.mjs +3 -3
- package/dist/{chunk-AXVJCMVF.mjs → chunk-2HDOV47R.mjs} +3 -3
- package/dist/chunk-2HDOV47R.mjs.map +1 -0
- package/dist/{chunk-RBRLLZL5.mjs → chunk-34IAPZBG.mjs} +16 -3
- package/dist/chunk-34IAPZBG.mjs.map +1 -0
- package/dist/{chunk-VV24CC42.mjs → chunk-35NPLKQJ.mjs} +2 -2
- package/dist/{chunk-MM46HTX6.mjs → chunk-3TWQERDE.mjs} +4 -3
- package/dist/chunk-3TWQERDE.mjs.map +1 -0
- package/dist/{chunk-RWYRFCLG.mjs → chunk-4X57GXQA.mjs} +2 -2
- package/dist/{chunk-3I55IGXU.mjs → chunk-52BR7LTX.mjs} +14 -15
- package/dist/chunk-52BR7LTX.mjs.map +1 -0
- package/dist/{chunk-RAGSHKDC.mjs → chunk-6EJHNHH4.mjs} +38 -3
- package/dist/chunk-6EJHNHH4.mjs.map +1 -0
- package/dist/{chunk-ZFNK77WN.mjs → chunk-6JNGOC37.mjs} +2 -2
- package/dist/{after.cjs.map → chunk-6JNGOC37.mjs.map} +1 -1
- package/dist/{chunk-MOW47IF5.mjs → chunk-6UYVU46O.mjs} +2 -2
- package/dist/{chunk-7MABZJIM.mjs → chunk-7PYVLJ4J.mjs} +1 -1
- package/dist/chunk-7PYVLJ4J.mjs.map +1 -0
- package/dist/{chunk-54XSGLKT.mjs → chunk-D7F7YZ7L.mjs} +93 -67
- package/dist/chunk-D7F7YZ7L.mjs.map +1 -0
- package/dist/{chunk-SCFX4UTD.mjs → chunk-EHTUKVSW.mjs} +1 -1
- package/dist/chunk-EHTUKVSW.mjs.map +1 -0
- package/dist/{chunk-LZTGDH3H.mjs → chunk-EPDIF432.mjs} +424 -10
- package/dist/chunk-EPDIF432.mjs.map +1 -0
- package/dist/{chunk-GZHKWHCH.mjs → chunk-FP5Q67FO.mjs} +167 -96
- package/dist/chunk-FP5Q67FO.mjs.map +1 -0
- package/dist/{chunk-HHZAOTQD.mjs → chunk-GJ7W6LNK.mjs} +7 -6
- package/dist/chunk-GJ7W6LNK.mjs.map +1 -0
- package/dist/{chunk-RLGUZ3HS.mjs → chunk-I3OOUWO5.mjs} +3 -3
- package/dist/{chunk-LKKMI7JG.mjs → chunk-IZBX2TEU.mjs} +153 -68
- package/dist/chunk-IZBX2TEU.mjs.map +1 -0
- package/dist/{chunk-74QPONAN.mjs → chunk-J3MPQ4MQ.mjs} +2 -2
- package/dist/{chunk-74QPONAN.mjs.map → chunk-J3MPQ4MQ.mjs.map} +1 -1
- package/dist/{chunk-ODJGAWDH.mjs → chunk-JV7JUD7Q.mjs} +4 -4
- package/dist/{chunk-Q3OX763A.mjs → chunk-LXDASSTE.mjs} +2 -2
- package/dist/{chunk-ZRBCBOEX.mjs → chunk-N2FY2QZ7.mjs} +28 -3
- package/dist/chunk-N2FY2QZ7.mjs.map +1 -0
- package/dist/{chunk-MRVJCLYQ.mjs → chunk-PSQ7N4XP.mjs} +4 -2
- package/dist/chunk-PSQ7N4XP.mjs.map +1 -0
- package/dist/{chunk-HVG3HLQZ.mjs → chunk-Q7WGOOAI.mjs} +3 -3
- package/dist/{chunk-WTYAPO5I.mjs → chunk-RCNWMEBT.mjs} +3 -2
- package/dist/{chunk-WTYAPO5I.mjs.map → chunk-RCNWMEBT.mjs.map} +1 -1
- package/dist/{chunk-3INDBMUU.mjs → chunk-TGDIACZT.mjs} +2 -2
- package/dist/{chunk-WB75GIX2.mjs → chunk-TQTB33JS.mjs} +14 -3
- package/dist/chunk-TQTB33JS.mjs.map +1 -0
- package/dist/{chunk-WMAYETRD.mjs → chunk-TT3E2JOF.mjs} +3 -3
- package/dist/{chunk-FVAM43KI.mjs → chunk-UMUWR5XA.mjs} +2 -2
- package/dist/{chunk-VOUJW4FL.mjs → chunk-WD2EBM3I.mjs} +70 -15
- package/dist/chunk-WD2EBM3I.mjs.map +1 -0
- package/dist/{chunk-ZPG6SNHH.mjs → chunk-WMJGA32P.mjs} +47 -5
- package/dist/chunk-WMJGA32P.mjs.map +1 -0
- package/dist/{chunk-TKQCJMY7.mjs → chunk-X4SFHKFH.mjs} +7 -4
- package/dist/{chunk-TKQCJMY7.mjs.map → chunk-X4SFHKFH.mjs.map} +1 -1
- package/dist/{chunk-Q7GPJZCO.mjs → chunk-YIBV77KZ.mjs} +26 -7
- package/dist/chunk-YIBV77KZ.mjs.map +1 -0
- package/dist/client/lifecycle.mjs +2 -2
- package/dist/{client-mcMC334J.d.mts → client-DWoLZ3QU.d.mts} +52 -5
- package/dist/{client-d5ONQ-Pd.d.ts → client-DuQuQC1h.d.ts} +52 -5
- package/dist/client-cache-BMxuFqwH.d.ts +18 -0
- package/dist/client-cache-CCK-fCe0.d.mts +18 -0
- package/dist/{client-plugins-BvClItiL.d.mts → client-plugins-B6-07YmP.d.mts} +52 -99
- package/dist/{client-plugins-B9Sq-iMg.d.ts → client-plugins-By6MVUX-.d.ts} +52 -99
- package/dist/client-plugins.cjs +1 -1
- package/dist/client-plugins.d.mts +3 -2
- package/dist/client-plugins.d.ts +3 -2
- package/dist/client-plugins.mjs +2 -2
- package/dist/client.cjs +757 -104
- package/dist/client.d.mts +124 -16
- package/dist/client.d.ts +124 -16
- package/dist/client.mjs +28 -14
- package/dist/config.d.mts +3 -2
- package/dist/config.d.ts +3 -2
- package/dist/{devtools-S52RRRMN.mjs → devtools-XWZX6CCL.mjs} +5 -5
- package/dist/{devtools-client-EOVDBPOI.mjs → devtools-client-Z7QQA3Q2.mjs} +2 -2
- package/dist/{devtools-ui-NJKFORTG.mjs → devtools-ui-2HG5M4EL.mjs} +3 -1
- package/dist/devtools-ui-2HG5M4EL.mjs.map +1 -0
- package/dist/docs.cjs +24 -5
- package/dist/docs.mjs +5 -5
- package/dist/i18n/server.cjs +13 -2
- package/dist/i18n/server.d.mts +2 -2
- package/dist/i18n/server.d.ts +2 -2
- package/dist/i18n/server.mjs +1 -1
- package/dist/index.cjs +1578 -772
- package/dist/index.d.mts +28 -20
- package/dist/index.d.ts +28 -20
- package/dist/index.mjs +53 -33
- package/dist/index.mjs.map +1 -1
- package/dist/integration-api-BT024nuJ.d.mts +97 -0
- package/dist/integration-api-BT024nuJ.d.ts +97 -0
- package/dist/integrations.d.mts +3 -2
- package/dist/integrations.d.ts +3 -2
- package/dist/internal/build-runtime.cjs +710 -532
- package/dist/internal/build-runtime.d.mts +5 -4
- package/dist/internal/build-runtime.d.ts +5 -4
- package/dist/internal/build-runtime.mjs +15 -15
- package/dist/internal/client-runtime.cjs +1 -1
- package/dist/internal/client-runtime.mjs +2 -2
- package/dist/internal/config-runtime.cjs +4 -1
- package/dist/internal/config-runtime.d.mts +4 -3
- package/dist/internal/config-runtime.d.ts +4 -3
- package/dist/internal/config-runtime.mjs +4 -4
- package/dist/internal/product-telemetry-runtime.cjs +1 -1
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-runtime.cjs +29 -3
- package/dist/internal/production-runtime.d.mts +8 -7
- package/dist/internal/production-runtime.d.ts +8 -7
- package/dist/internal/production-runtime.mjs +5 -5
- package/dist/{metadata-route-yV4U6X8h.d.ts → metadata-route-8_V3UonT.d.ts} +1 -1
- package/dist/{metadata-route-p4K1l92V.d.mts → metadata-route-CWP_HjGU.d.mts} +1 -1
- package/dist/middleware.cjs +28 -2
- package/dist/middleware.d.mts +5 -4
- package/dist/middleware.d.ts +5 -4
- package/dist/middleware.mjs +4 -4
- package/dist/navigation.cjs +3 -1
- package/dist/navigation.mjs +3 -3
- package/dist/observability.cjs +27 -2
- package/dist/observability.mjs +1 -1
- package/dist/plugin.cjs +474 -334
- package/dist/plugin.d.mts +3 -2
- package/dist/plugin.d.ts +3 -2
- package/dist/plugin.mjs +12 -12
- package/dist/{production-runtime-IkB0Qj4i.d.mts → production-runtime-BGRH1dKG.d.mts} +1 -1
- package/dist/{production-runtime-0JTch4_d.d.ts → production-runtime-CdmzsDax.d.ts} +1 -1
- package/dist/query/client.cjs +11 -3
- package/dist/query/client.mjs +12 -4
- package/dist/query/client.mjs.map +1 -1
- package/dist/{render-plan-Dc8CjNI7.d.ts → render-plan-0GeHiGVZ.d.ts} +1 -1
- package/dist/{render-plan-CU31j-Jk.d.mts → render-plan-DLxJYAA5.d.mts} +1 -1
- package/dist/renderer-client.cjs +140 -26
- package/dist/renderer-client.d.mts +7 -6
- package/dist/renderer-client.d.ts +7 -6
- package/dist/renderer-client.mjs +16 -19
- package/dist/renderer-client.mjs.map +1 -1
- package/dist/{request-BXa1KY8i.d.mts → request-BCNXSXLh.d.mts} +1 -1
- package/dist/{request-CUUBujZt.d.ts → request-BstWbZ6O.d.ts} +1 -1
- package/dist/request.d.mts +4 -3
- package/dist/request.d.ts +4 -3
- package/dist/{route-Y8lfz1wF.d.ts → route-4pd-EVtw.d.ts} +45 -50
- package/dist/{route-Cq3aObmj.d.mts → route-CvEr4Uc9.d.mts} +45 -50
- package/dist/routes.cjs +27 -2
- package/dist/routes.d.mts +3 -2
- package/dist/routes.d.ts +3 -2
- package/dist/routes.mjs +4 -4
- package/dist/{runtime-j1S3sDTh.d.ts → runtime-BgDQzBiu.d.ts} +1 -0
- package/dist/{runtime-DDwvDtS4.d.mts → runtime-CV2UCV-5.d.mts} +1 -0
- package/dist/server-action-security.mjs +2 -2
- package/dist/server-fn-client.cjs +34 -2
- package/dist/server-fn-client.d.mts +6 -0
- package/dist/server-fn-client.d.ts +6 -0
- package/dist/server-fn-client.mjs +1 -1
- package/dist/server-fn.cjs +42 -4
- package/dist/server-fn.mjs +5 -5
- package/dist/server-plugins.d.mts +4 -3
- package/dist/server-plugins.d.ts +4 -3
- package/dist/server-query-client.cjs +146 -27
- package/dist/server-query-client.d.mts +3 -3
- package/dist/server-query-client.d.ts +3 -3
- package/dist/server-query-client.mjs +7 -7
- package/dist/{server-query-runtime-3zAj77yv.d.ts → server-query-runtime-DXRNhX_3.d.ts} +2 -0
- package/dist/{server-query-runtime-B50KAcj5.d.mts → server-query-runtime-aP52iuL5.d.mts} +2 -0
- package/dist/server-query.cjs +44 -5
- package/dist/server-query.d.mts +4 -0
- package/dist/server-query.d.ts +4 -0
- package/dist/server-query.mjs +7 -7
- package/dist/server.cjs +499 -355
- package/dist/server.d.mts +11 -10
- package/dist/server.d.ts +11 -10
- package/dist/server.mjs +16 -16
- package/dist/{spa-router-CyLkwst6.d.mts → spa-router-BeyAVSc6.d.mts} +1 -1
- package/dist/{spa-router-BkqGXaV_.d.ts → spa-router-COgu4txb.d.ts} +1 -1
- package/dist/testing.cjs +27 -2
- package/dist/testing.d.mts +3 -2
- package/dist/testing.d.ts +3 -2
- package/dist/testing.mjs +8 -8
- package/dist/{utils-NKR6SoNv.d.mts → utils-DL2VwDQl.d.mts} +1 -1
- package/dist/{utils-B2OHrb9F.d.ts → utils-DkU2c_1B.d.ts} +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +482 -338
- package/dist/vite.d.mts +3 -2
- package/dist/vite.d.ts +3 -2
- package/dist/vite.mjs +16 -12
- package/package.json +17 -17
- package/types/client.d.ts +87 -1
- package/dist/agent-runtime.cjs.map +0 -1
- package/dist/api/route-manager.cjs.map +0 -1
- package/dist/api/runtime.cjs.map +0 -1
- package/dist/api.cjs.map +0 -1
- package/dist/app-markdown.cjs.map +0 -1
- package/dist/cache.cjs.map +0 -1
- package/dist/chunk-3I55IGXU.mjs.map +0 -1
- package/dist/chunk-54XSGLKT.mjs.map +0 -1
- package/dist/chunk-7MABZJIM.mjs.map +0 -1
- package/dist/chunk-AXVJCMVF.mjs.map +0 -1
- package/dist/chunk-GZHKWHCH.mjs.map +0 -1
- package/dist/chunk-HHZAOTQD.mjs.map +0 -1
- package/dist/chunk-LKKMI7JG.mjs.map +0 -1
- package/dist/chunk-LZTGDH3H.mjs.map +0 -1
- package/dist/chunk-MM46HTX6.mjs.map +0 -1
- package/dist/chunk-MRVJCLYQ.mjs.map +0 -1
- package/dist/chunk-Q7GPJZCO.mjs.map +0 -1
- package/dist/chunk-RAGSHKDC.mjs.map +0 -1
- package/dist/chunk-RBRLLZL5.mjs.map +0 -1
- package/dist/chunk-SCFX4UTD.mjs.map +0 -1
- package/dist/chunk-VOUJW4FL.mjs.map +0 -1
- package/dist/chunk-WB75GIX2.mjs.map +0 -1
- package/dist/chunk-ZFNK77WN.mjs.map +0 -1
- package/dist/chunk-ZPG6SNHH.mjs.map +0 -1
- package/dist/chunk-ZRBCBOEX.mjs.map +0 -1
- package/dist/client/lifecycle.cjs.map +0 -1
- package/dist/client-cache-CopR_MaI.d.mts +0 -6
- package/dist/client-cache-Djy_TlE8.d.ts +0 -6
- package/dist/client-plugins.cjs.map +0 -1
- package/dist/client.cjs.map +0 -1
- package/dist/config.cjs.map +0 -1
- package/dist/cron.cjs.map +0 -1
- package/dist/deferred.cjs.map +0 -1
- package/dist/deployment.cjs.map +0 -1
- package/dist/devtools-ui-NJKFORTG.mjs.map +0 -1
- package/dist/docs.cjs.map +0 -1
- package/dist/env-types.cjs.map +0 -1
- package/dist/env.cjs.map +0 -1
- package/dist/environment/vite.cjs.map +0 -1
- package/dist/environment.cjs.map +0 -1
- package/dist/font.cjs.map +0 -1
- package/dist/headers.cjs.map +0 -1
- package/dist/i18n/client.cjs.map +0 -1
- package/dist/i18n/index.cjs.map +0 -1
- package/dist/i18n/server.cjs.map +0 -1
- package/dist/image/server.cjs.map +0 -1
- package/dist/image/sharp.cjs.map +0 -1
- package/dist/image.cjs.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/instrumentation.cjs.map +0 -1
- package/dist/integrations.cjs.map +0 -1
- package/dist/internal/build-runtime.cjs.map +0 -1
- package/dist/internal/client-runtime.cjs.map +0 -1
- package/dist/internal/config-runtime.cjs.map +0 -1
- package/dist/internal/isolated-boundary.cjs.map +0 -1
- package/dist/internal/metadata-image-runtime.cjs.map +0 -1
- package/dist/internal/product-telemetry-runtime.cjs.map +0 -1
- package/dist/internal/production-node-env.cjs.map +0 -1
- package/dist/internal/production-runtime.cjs.map +0 -1
- package/dist/markdown.cjs.map +0 -1
- package/dist/middleware.cjs.map +0 -1
- package/dist/navigation.cjs.map +0 -1
- package/dist/observability.cjs.map +0 -1
- package/dist/plugin.cjs.map +0 -1
- package/dist/query/client.cjs.map +0 -1
- package/dist/query/index.cjs.map +0 -1
- package/dist/query/parsers.cjs.map +0 -1
- package/dist/query/server.cjs.map +0 -1
- package/dist/renderer/react/client.cjs.map +0 -1
- package/dist/renderer/react/server.cjs.map +0 -1
- package/dist/renderer/react/vite.cjs.map +0 -1
- package/dist/renderer-client.cjs.map +0 -1
- package/dist/renderer.cjs.map +0 -1
- package/dist/request.cjs.map +0 -1
- package/dist/router.cjs.map +0 -1
- package/dist/routes.cjs.map +0 -1
- package/dist/server-action-security.cjs.map +0 -1
- package/dist/server-fn-client.cjs.map +0 -1
- package/dist/server-fn.cjs.map +0 -1
- package/dist/server-plugins.cjs.map +0 -1
- package/dist/server-query-client.cjs.map +0 -1
- package/dist/server-query.cjs.map +0 -1
- package/dist/server.cjs.map +0 -1
- package/dist/storage.cjs.map +0 -1
- package/dist/testing.cjs.map +0 -1
- package/dist/theme/client.cjs.map +0 -1
- package/dist/theme/index.cjs.map +0 -1
- package/dist/theme/runtime.cjs.map +0 -1
- package/dist/theme/server.cjs.map +0 -1
- package/dist/version.cjs.map +0 -1
- package/dist/vite.cjs.map +0 -1
- package/dist/workflows.cjs.map +0 -1
- /package/dist/{chunk-VV24CC42.mjs.map → chunk-35NPLKQJ.mjs.map} +0 -0
- /package/dist/{chunk-RWYRFCLG.mjs.map → chunk-4X57GXQA.mjs.map} +0 -0
- /package/dist/{chunk-MOW47IF5.mjs.map → chunk-6UYVU46O.mjs.map} +0 -0
- /package/dist/{chunk-RLGUZ3HS.mjs.map → chunk-I3OOUWO5.mjs.map} +0 -0
- /package/dist/{chunk-ODJGAWDH.mjs.map → chunk-JV7JUD7Q.mjs.map} +0 -0
- /package/dist/{chunk-Q3OX763A.mjs.map → chunk-LXDASSTE.mjs.map} +0 -0
- /package/dist/{chunk-HVG3HLQZ.mjs.map → chunk-Q7WGOOAI.mjs.map} +0 -0
- /package/dist/{chunk-3INDBMUU.mjs.map → chunk-TGDIACZT.mjs.map} +0 -0
- /package/dist/{chunk-WMAYETRD.mjs.map → chunk-TT3E2JOF.mjs.map} +0 -0
- /package/dist/{chunk-FVAM43KI.mjs.map → chunk-UMUWR5XA.mjs.map} +0 -0
- /package/dist/{devtools-S52RRRMN.mjs.map → devtools-XWZX6CCL.mjs.map} +0 -0
- /package/dist/{devtools-client-EOVDBPOI.mjs.map → devtools-client-Z7QQA3Q2.mjs.map} +0 -0
package/dist/renderer-client.cjs
CHANGED
|
@@ -1398,7 +1398,9 @@ var _SPARouter = class _SPARouter {
|
|
|
1398
1398
|
if (this.onNavigate) {
|
|
1399
1399
|
await this.onNavigate(pageData);
|
|
1400
1400
|
}
|
|
1401
|
-
if (
|
|
1401
|
+
if (window.location.hash) {
|
|
1402
|
+
getHashTargetElement(window.location.hash)?.scrollIntoView();
|
|
1403
|
+
} else if (this.options.scrollRestoration) {
|
|
1402
1404
|
this.restoreScrollPosition(window.location.pathname + window.location.search);
|
|
1403
1405
|
}
|
|
1404
1406
|
if (clientNavigation) {
|
|
@@ -1723,7 +1725,13 @@ function recordFarmEventTrace(event) {
|
|
|
1723
1725
|
activeSpan.addEvent(event.type, toEventAttributes(event), event.timestamp);
|
|
1724
1726
|
}
|
|
1725
1727
|
const error = event.type === "request.error" ? void 0 : getEventError(event);
|
|
1726
|
-
if (error !== void 0)
|
|
1728
|
+
if (error !== void 0) {
|
|
1729
|
+
if (event.type === "render.error") {
|
|
1730
|
+
recordSpanException(activeSpan, error);
|
|
1731
|
+
} else {
|
|
1732
|
+
recordSpanError(activeSpan, error);
|
|
1733
|
+
}
|
|
1734
|
+
}
|
|
1727
1735
|
}
|
|
1728
1736
|
const completedTraceContext = recordCompletedEventSpan(event, activeContext);
|
|
1729
1737
|
return traceContext ?? completedTraceContext;
|
|
@@ -1820,12 +1828,26 @@ function getCompletedSpanDescriptor(event) {
|
|
|
1820
1828
|
}
|
|
1821
1829
|
}
|
|
1822
1830
|
__name(getCompletedSpanDescriptor, "getCompletedSpanDescriptor");
|
|
1831
|
+
function hashFarmCacheKey(value) {
|
|
1832
|
+
let hash = 2166136261;
|
|
1833
|
+
for (let index = 0; index < value.length; index++) {
|
|
1834
|
+
hash ^= value.charCodeAt(index);
|
|
1835
|
+
hash = Math.imul(hash, 16777619);
|
|
1836
|
+
}
|
|
1837
|
+
return (hash >>> 0).toString(16).padStart(8, "0");
|
|
1838
|
+
}
|
|
1839
|
+
__name(hashFarmCacheKey, "hashFarmCacheKey");
|
|
1823
1840
|
function toEventAttributes(event) {
|
|
1824
1841
|
const attributes = {};
|
|
1842
|
+
const redactKey = typeof event.type === "string" && event.type.startsWith("cache.");
|
|
1825
1843
|
for (const [key, value] of Object.entries(event)) {
|
|
1826
1844
|
if (key === "timestamp" || key === "level" || key === "error" || key === "traceId" || key === "spanId" || key === "traceSampled" || value === void 0) {
|
|
1827
1845
|
continue;
|
|
1828
1846
|
}
|
|
1847
|
+
if (redactKey && key === "key" && typeof value === "string") {
|
|
1848
|
+
attributes["farm.key_hash"] = hashFarmCacheKey(value);
|
|
1849
|
+
continue;
|
|
1850
|
+
}
|
|
1829
1851
|
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
1830
1852
|
attributes[`farm.${key}`] = value;
|
|
1831
1853
|
} else if (Array.isArray(value)) {
|
|
@@ -1845,9 +1867,14 @@ function getEventError(event) {
|
|
|
1845
1867
|
return "error" in event ? event.error : void 0;
|
|
1846
1868
|
}
|
|
1847
1869
|
__name(getEventError, "getEventError");
|
|
1848
|
-
function
|
|
1870
|
+
function recordSpanException(span, error) {
|
|
1849
1871
|
const normalized = error instanceof Error ? error : new Error(String(error));
|
|
1850
1872
|
span.recordException(normalized);
|
|
1873
|
+
return normalized;
|
|
1874
|
+
}
|
|
1875
|
+
__name(recordSpanException, "recordSpanException");
|
|
1876
|
+
function recordSpanError(span, error) {
|
|
1877
|
+
const normalized = recordSpanException(span, error);
|
|
1851
1878
|
span.setStatus({ code: import_api.SpanStatusCode.ERROR, message: normalized.message });
|
|
1852
1879
|
}
|
|
1853
1880
|
__name(recordSpanError, "recordSpanError");
|
|
@@ -2699,6 +2726,7 @@ function subscribeWeakCache(reference) {
|
|
|
2699
2726
|
return dispose;
|
|
2700
2727
|
}
|
|
2701
2728
|
__name(subscribeWeakCache, "subscribeWeakCache");
|
|
2729
|
+
var DEFAULT_GC_SWEEP_INTERVAL_MS = 3e4;
|
|
2702
2730
|
var _FarmClientDataCache = class _FarmClientDataCache {
|
|
2703
2731
|
constructor(options = {}) {
|
|
2704
2732
|
this.entries = /* @__PURE__ */ new Map();
|
|
@@ -2706,6 +2734,7 @@ var _FarmClientDataCache = class _FarmClientDataCache {
|
|
|
2706
2734
|
this.invalidatedAt = /* @__PURE__ */ new Map();
|
|
2707
2735
|
this.listeners = /* @__PURE__ */ new Map();
|
|
2708
2736
|
this.inflight = /* @__PURE__ */ new Map();
|
|
2737
|
+
this.gcSweepIntervalMs = options.gcSweepIntervalMs ?? DEFAULT_GC_SWEEP_INTERVAL_MS;
|
|
2709
2738
|
if (options.subscribeToInvalidation !== false) {
|
|
2710
2739
|
if (typeof WeakRef === "function") {
|
|
2711
2740
|
const reference = new WeakRef(this);
|
|
@@ -2722,6 +2751,10 @@ var _FarmClientDataCache = class _FarmClientDataCache {
|
|
|
2722
2751
|
get size() {
|
|
2723
2752
|
return this.entries.size;
|
|
2724
2753
|
}
|
|
2754
|
+
/** @internal Attach or detach the persistence engine's observation sink. */
|
|
2755
|
+
attachPersistence(sink) {
|
|
2756
|
+
this.persistence = sink;
|
|
2757
|
+
}
|
|
2725
2758
|
resolveKey(key) {
|
|
2726
2759
|
let resolved = key;
|
|
2727
2760
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -2737,6 +2770,7 @@ var _FarmClientDataCache = class _FarmClientDataCache {
|
|
|
2737
2770
|
if (!entry) return void 0;
|
|
2738
2771
|
if (entry.gcAt !== void 0 && now >= entry.gcAt) {
|
|
2739
2772
|
this.entries.delete(resolved);
|
|
2773
|
+
this.persistence?.onDelete(resolved);
|
|
2740
2774
|
this.emit(resolved);
|
|
2741
2775
|
return void 0;
|
|
2742
2776
|
}
|
|
@@ -2750,6 +2784,8 @@ var _FarmClientDataCache = class _FarmClientDataCache {
|
|
|
2750
2784
|
this.invalidatedAt.delete(resolved);
|
|
2751
2785
|
}
|
|
2752
2786
|
this.entries.set(resolved, nextEntry);
|
|
2787
|
+
if (nextEntry.gcAt !== void 0) this.scheduleGcSweep();
|
|
2788
|
+
this.persistence?.onSet(resolved, nextEntry);
|
|
2753
2789
|
this.emit(resolved);
|
|
2754
2790
|
return this;
|
|
2755
2791
|
}
|
|
@@ -2757,6 +2793,7 @@ var _FarmClientDataCache = class _FarmClientDataCache {
|
|
|
2757
2793
|
const resolved = this.resolveKey(key);
|
|
2758
2794
|
const deleted = this.entries.delete(resolved);
|
|
2759
2795
|
this.inflight.delete(resolved);
|
|
2796
|
+
if (deleted) this.persistence?.onDelete(resolved);
|
|
2760
2797
|
this.emit(resolved);
|
|
2761
2798
|
return deleted;
|
|
2762
2799
|
}
|
|
@@ -2766,11 +2803,16 @@ var _FarmClientDataCache = class _FarmClientDataCache {
|
|
|
2766
2803
|
this.aliases.clear();
|
|
2767
2804
|
this.invalidatedAt.clear();
|
|
2768
2805
|
this.inflight.clear();
|
|
2806
|
+
this.persistence?.onClear();
|
|
2769
2807
|
for (const key of keys) this.emit(key);
|
|
2770
2808
|
}
|
|
2771
2809
|
dispose() {
|
|
2772
2810
|
this.unsubscribeInvalidation?.();
|
|
2773
2811
|
this.unsubscribeInvalidation = void 0;
|
|
2812
|
+
if (this.gcTimer !== void 0) {
|
|
2813
|
+
clearTimeout(this.gcTimer);
|
|
2814
|
+
this.gcTimer = void 0;
|
|
2815
|
+
}
|
|
2774
2816
|
this.clear();
|
|
2775
2817
|
}
|
|
2776
2818
|
isStale(key, now = Date.now()) {
|
|
@@ -2799,8 +2841,9 @@ var _FarmClientDataCache = class _FarmClientDataCache {
|
|
|
2799
2841
|
const resolvedInvalidatedAt = this.invalidatedAt.get(resolved);
|
|
2800
2842
|
if (aliasEntry && !this.entries.has(resolved)) {
|
|
2801
2843
|
this.entries.set(resolved, aliasEntry);
|
|
2844
|
+
this.persistence?.onSet(resolved, aliasEntry);
|
|
2802
2845
|
}
|
|
2803
|
-
this.entries.delete(alias);
|
|
2846
|
+
if (this.entries.delete(alias)) this.persistence?.onDelete(alias);
|
|
2804
2847
|
this.invalidatedAt.delete(alias);
|
|
2805
2848
|
const invalidatedAt = [aliasInvalidatedAt, resolvedInvalidatedAt].reduce(
|
|
2806
2849
|
(latest, value) => value === void 0 ? latest : latest === void 0 ? value : Math.max(latest, value),
|
|
@@ -2840,7 +2883,9 @@ var _FarmClientDataCache = class _FarmClientDataCache {
|
|
|
2840
2883
|
listeners2.add(listener);
|
|
2841
2884
|
return () => {
|
|
2842
2885
|
listeners2.delete(listener);
|
|
2843
|
-
if (listeners2.size === 0
|
|
2886
|
+
if (listeners2.size === 0 && this.listeners.get(key) === listeners2) {
|
|
2887
|
+
this.listeners.delete(key);
|
|
2888
|
+
}
|
|
2844
2889
|
};
|
|
2845
2890
|
}
|
|
2846
2891
|
getInflight(key) {
|
|
@@ -2852,6 +2897,30 @@ var _FarmClientDataCache = class _FarmClientDataCache {
|
|
|
2852
2897
|
deleteInflight(key) {
|
|
2853
2898
|
this.inflight.delete(this.resolveKey(key));
|
|
2854
2899
|
}
|
|
2900
|
+
scheduleGcSweep() {
|
|
2901
|
+
if (this.gcSweepIntervalMs === false || this.gcTimer !== void 0) return;
|
|
2902
|
+
const timer = setTimeout(() => {
|
|
2903
|
+
this.gcTimer = void 0;
|
|
2904
|
+
this.sweepExpiredEntries();
|
|
2905
|
+
}, this.gcSweepIntervalMs);
|
|
2906
|
+
timer.unref?.();
|
|
2907
|
+
this.gcTimer = timer;
|
|
2908
|
+
}
|
|
2909
|
+
sweepExpiredEntries(now = Date.now()) {
|
|
2910
|
+
const watched = /* @__PURE__ */ new Set();
|
|
2911
|
+
for (const key of this.listeners.keys()) watched.add(this.resolveKey(key));
|
|
2912
|
+
let remaining = false;
|
|
2913
|
+
for (const [key, entry] of this.entries) {
|
|
2914
|
+
if (entry.gcAt === void 0) continue;
|
|
2915
|
+
if (now < entry.gcAt || entry.fetching || this.inflight.has(key) || watched.has(key)) {
|
|
2916
|
+
remaining = true;
|
|
2917
|
+
continue;
|
|
2918
|
+
}
|
|
2919
|
+
this.entries.delete(key);
|
|
2920
|
+
this.persistence?.onDelete(key);
|
|
2921
|
+
}
|
|
2922
|
+
if (remaining) this.scheduleGcSweep();
|
|
2923
|
+
}
|
|
2855
2924
|
emit(key, event) {
|
|
2856
2925
|
this.notifyListeners(key, event);
|
|
2857
2926
|
for (const [alias, target] of this.aliases) {
|
|
@@ -2876,6 +2945,21 @@ function getFarmClientDataCache() {
|
|
|
2876
2945
|
}
|
|
2877
2946
|
__name(getFarmClientDataCache, "getFarmClientDataCache");
|
|
2878
2947
|
|
|
2948
|
+
// src/client-revalidation.ts
|
|
2949
|
+
function attachRevalidationListeners(refresh, options = {}) {
|
|
2950
|
+
if (typeof window === "undefined") return () => {
|
|
2951
|
+
};
|
|
2952
|
+
const onFocus = options.refetchOnWindowFocus === false ? void 0 : refresh;
|
|
2953
|
+
const onOnline = options.refetchOnReconnect === false ? void 0 : refresh;
|
|
2954
|
+
if (onFocus) window.addEventListener("focus", onFocus);
|
|
2955
|
+
if (onOnline) window.addEventListener("online", onOnline);
|
|
2956
|
+
return () => {
|
|
2957
|
+
if (onFocus) window.removeEventListener("focus", onFocus);
|
|
2958
|
+
if (onOnline) window.removeEventListener("online", onOnline);
|
|
2959
|
+
};
|
|
2960
|
+
}
|
|
2961
|
+
__name(attachRevalidationListeners, "attachRevalidationListeners");
|
|
2962
|
+
|
|
2879
2963
|
// src/server-query-runtime.ts
|
|
2880
2964
|
var FARM_SERVER_QUERY_CLIENT_STATE = /* @__PURE__ */ Symbol.for("farm.serverQueryClientState");
|
|
2881
2965
|
var serverQueryClientGlobal = globalThis;
|
|
@@ -2883,9 +2967,30 @@ var serverQueryClientState = serverQueryClientGlobal[FARM_SERVER_QUERY_CLIENT_ST
|
|
|
2883
2967
|
functionIds: /* @__PURE__ */ new WeakMap(),
|
|
2884
2968
|
nextFunctionId: 0,
|
|
2885
2969
|
active: [],
|
|
2886
|
-
latestOwners: /* @__PURE__ */ new Map()
|
|
2970
|
+
latestOwners: /* @__PURE__ */ new Map(),
|
|
2971
|
+
owners: /* @__PURE__ */ new Set()
|
|
2887
2972
|
});
|
|
2888
2973
|
serverQueryClientState.latestOwners ?? (serverQueryClientState.latestOwners = /* @__PURE__ */ new Map());
|
|
2974
|
+
serverQueryClientState.owners ?? (serverQueryClientState.owners = /* @__PURE__ */ new Set());
|
|
2975
|
+
function isServerQueryOwnerSuperseded(owner, key) {
|
|
2976
|
+
const cache = getFarmClientDataCache();
|
|
2977
|
+
const resolved = cache.resolveKey(key);
|
|
2978
|
+
for (const superseded of owner.supersededKeys ?? []) {
|
|
2979
|
+
if (cache.resolveKey(superseded) === resolved) return true;
|
|
2980
|
+
}
|
|
2981
|
+
return false;
|
|
2982
|
+
}
|
|
2983
|
+
__name(isServerQueryOwnerSuperseded, "isServerQueryOwnerSuperseded");
|
|
2984
|
+
function claimServerQueryKey(owner, key) {
|
|
2985
|
+
if (isServerQueryOwnerSuperseded(owner, key)) return false;
|
|
2986
|
+
const resolved = getFarmClientDataCache().resolveKey(key);
|
|
2987
|
+
for (const older of serverQueryClientState.owners) {
|
|
2988
|
+
if (older === owner) break;
|
|
2989
|
+
older.supersededKeys.add(resolved);
|
|
2990
|
+
}
|
|
2991
|
+
return true;
|
|
2992
|
+
}
|
|
2993
|
+
__name(claimServerQueryKey, "claimServerQueryKey");
|
|
2889
2994
|
var RAW_SERVER_QUERY_SYMBOL = /* @__PURE__ */ Symbol.for("farm.server-query");
|
|
2890
2995
|
function assertNotRawServerQueryInBrowser(query) {
|
|
2891
2996
|
if (typeof window === "undefined" || typeof document === "undefined") return;
|
|
@@ -2899,6 +3004,10 @@ function assertNotRawServerQueryInBrowser(query) {
|
|
|
2899
3004
|
);
|
|
2900
3005
|
}
|
|
2901
3006
|
__name(assertNotRawServerQueryInBrowser, "assertNotRawServerQueryInBrowser");
|
|
3007
|
+
function isCurrentServerQueryOwner(provisionalKey, owner) {
|
|
3008
|
+
return serverQueryClientState.latestOwners.get(provisionalKey) === owner && !isServerQueryOwnerSuperseded(owner, provisionalKey);
|
|
3009
|
+
}
|
|
3010
|
+
__name(isCurrentServerQueryOwner, "isCurrentServerQueryOwner");
|
|
2902
3011
|
function createServerQueryCallKey(query, input) {
|
|
2903
3012
|
let id = serverQueryClientState.functionIds.get(query);
|
|
2904
3013
|
if (!id) {
|
|
@@ -2914,12 +3023,14 @@ async function fetchServerQuery(query, input, options = {}) {
|
|
|
2914
3023
|
const entry = cache.get(provisionalKey);
|
|
2915
3024
|
const stale = cache.isStale(provisionalKey);
|
|
2916
3025
|
const inflight = cache.getInflight(provisionalKey);
|
|
2917
|
-
if (
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
3026
|
+
if (!options.force && entry && stale && (entry.status !== "pending" || entry.updatedAt !== 0) && entry.status !== "error" && (options.swr ?? true)) {
|
|
3027
|
+
if (!inflight) {
|
|
3028
|
+
void executeServerQuery(query, input, provisionalKey, options).catch(() => void 0);
|
|
3029
|
+
}
|
|
2921
3030
|
return entry.data;
|
|
2922
3031
|
}
|
|
3032
|
+
if (inflight && !options.force) return inflight;
|
|
3033
|
+
if (!options.force && entry && !stale && entry.status !== "error") return entry.data;
|
|
2923
3034
|
return executeServerQuery(query, input, provisionalKey, options);
|
|
2924
3035
|
}
|
|
2925
3036
|
__name(fetchServerQuery, "fetchServerQuery");
|
|
@@ -2928,8 +3039,13 @@ async function executeServerQuery(query, input, provisionalKey, options) {
|
|
|
2928
3039
|
const cache = getFarmClientDataCache();
|
|
2929
3040
|
const inflight = cache.getInflight(provisionalKey);
|
|
2930
3041
|
if (inflight && !options.force) return inflight;
|
|
2931
|
-
const owner = {
|
|
3042
|
+
const owner = {
|
|
3043
|
+
invalidations: trackFarmClientCacheInvalidations(cache),
|
|
3044
|
+
supersededKeys: /* @__PURE__ */ new Set()
|
|
3045
|
+
};
|
|
2932
3046
|
serverQueryClientState.latestOwners.set(provisionalKey, owner);
|
|
3047
|
+
serverQueryClientState.owners.add(owner);
|
|
3048
|
+
claimServerQueryKey(owner, provisionalKey);
|
|
2933
3049
|
const previous = cache.get(provisionalKey);
|
|
2934
3050
|
cache.set(provisionalKey, {
|
|
2935
3051
|
data: previous?.data,
|
|
@@ -2954,7 +3070,7 @@ async function executeServerQuery(query, input, provisionalKey, options) {
|
|
|
2954
3070
|
}
|
|
2955
3071
|
const data = await pending;
|
|
2956
3072
|
const transported = cache.get(provisionalKey);
|
|
2957
|
-
if (
|
|
3073
|
+
if (isCurrentServerQueryOwner(provisionalKey, owner) && (!transported || transported.fetching)) {
|
|
2958
3074
|
const updatedAt = Date.now();
|
|
2959
3075
|
cache.set(provisionalKey, {
|
|
2960
3076
|
data,
|
|
@@ -2968,7 +3084,7 @@ async function executeServerQuery(query, input, provisionalKey, options) {
|
|
|
2968
3084
|
return data;
|
|
2969
3085
|
} catch (cause) {
|
|
2970
3086
|
const error = normalizeServerQueryError(cause);
|
|
2971
|
-
if (
|
|
3087
|
+
if (isCurrentServerQueryOwner(provisionalKey, owner)) {
|
|
2972
3088
|
const current = cache.get(provisionalKey);
|
|
2973
3089
|
cache.set(provisionalKey, {
|
|
2974
3090
|
data: current?.data,
|
|
@@ -2983,8 +3099,10 @@ async function executeServerQuery(query, input, provisionalKey, options) {
|
|
|
2983
3099
|
}
|
|
2984
3100
|
throw error;
|
|
2985
3101
|
} finally {
|
|
2986
|
-
const invalidated =
|
|
3102
|
+
const invalidated = isCurrentServerQueryOwner(provisionalKey, owner) && owner.invalidations.has(provisionalKey);
|
|
2987
3103
|
owner.invalidations.dispose();
|
|
3104
|
+
serverQueryClientState.owners.delete(owner);
|
|
3105
|
+
owner.supersededKeys.clear();
|
|
2988
3106
|
if (cache.getInflight(provisionalKey) === promise) {
|
|
2989
3107
|
cache.deleteInflight(provisionalKey);
|
|
2990
3108
|
}
|
|
@@ -3219,19 +3337,15 @@ function createRendererQuery(query, input, options = {}) {
|
|
|
3219
3337
|
for (const listener of listeners2) listener();
|
|
3220
3338
|
});
|
|
3221
3339
|
if (!cache.get(key) || cache.isStale(key)) void run().catch(() => void 0);
|
|
3222
|
-
|
|
3223
|
-
|
|
3340
|
+
cleanupBrowser = attachRevalidationListeners(
|
|
3341
|
+
() => {
|
|
3224
3342
|
if (cache.isStale(key)) void run().catch(() => void 0);
|
|
3225
|
-
},
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
if (onFocus) window.removeEventListener("focus", onFocus);
|
|
3232
|
-
if (onOnline) window.removeEventListener("online", onOnline);
|
|
3233
|
-
}, "cleanupBrowser");
|
|
3234
|
-
}
|
|
3343
|
+
},
|
|
3344
|
+
{
|
|
3345
|
+
refetchOnWindowFocus: options.refetchOnWindowFocus,
|
|
3346
|
+
refetchOnReconnect: options.refetchOnReconnect
|
|
3347
|
+
}
|
|
3348
|
+
);
|
|
3235
3349
|
}, "ensureStarted");
|
|
3236
3350
|
return {
|
|
3237
3351
|
getSnapshot() {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { FarmRouterRouteInput } from './router.mjs';
|
|
2
|
-
import { F as FarmNavigationState, a as FarmNavigateOptions } from './spa-router-
|
|
3
|
-
import { F as FarmClientCacheStatus } from './client-cache-
|
|
2
|
+
import { F as FarmNavigationState, a as FarmNavigateOptions } from './spa-router-BeyAVSc6.mjs';
|
|
3
|
+
import { F as FarmClientCacheStatus } from './client-cache-CCK-fCe0.mjs';
|
|
4
4
|
import { ServerFn } from './server-fn.mjs';
|
|
5
5
|
import { ServerQuery } from './server-query.mjs';
|
|
6
|
-
import { S as ServerQueryFetchOptions } from './server-query-runtime-
|
|
6
|
+
import { S as ServerQueryFetchOptions } from './server-query-runtime-aP52iuL5.mjs';
|
|
7
7
|
import { F as FarmThemeSnapshot, a as FarmThemePreference } from './types-DQnyD3VD.mjs';
|
|
8
8
|
import { F as FarmI18nClientSnapshot, a as FarmTranslator, b as FarmI18nLocale } from './types-CnH8DOqo.mjs';
|
|
9
9
|
import './lifecycle-De0vQG45.mjs';
|
|
10
10
|
import './island-CfGru1MO.mjs';
|
|
11
|
-
import './render-plan-
|
|
12
|
-
import './client-plugins-
|
|
13
|
-
import './route-
|
|
11
|
+
import './render-plan-DLxJYAA5.mjs';
|
|
12
|
+
import './client-plugins-B6-07YmP.mjs';
|
|
13
|
+
import './route-CvEr4Uc9.mjs';
|
|
14
14
|
import './cache.mjs';
|
|
15
15
|
import './renderer.mjs';
|
|
16
16
|
import 'http';
|
|
@@ -18,6 +18,7 @@ import './types-Cc8l9IqS.mjs';
|
|
|
18
18
|
import 'db0';
|
|
19
19
|
import 'unstorage';
|
|
20
20
|
import 'react';
|
|
21
|
+
import './integration-api-BT024nuJ.mjs';
|
|
21
22
|
import '@farming-labs/orm';
|
|
22
23
|
import './types-CKwggz9n.mjs';
|
|
23
24
|
import '@farming-labs/docs';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { FarmRouterRouteInput } from './router.js';
|
|
2
|
-
import { F as FarmNavigationState, a as FarmNavigateOptions } from './spa-router-
|
|
3
|
-
import { F as FarmClientCacheStatus } from './client-cache-
|
|
2
|
+
import { F as FarmNavigationState, a as FarmNavigateOptions } from './spa-router-COgu4txb.js';
|
|
3
|
+
import { F as FarmClientCacheStatus } from './client-cache-BMxuFqwH.js';
|
|
4
4
|
import { ServerFn } from './server-fn.js';
|
|
5
5
|
import { ServerQuery } from './server-query.js';
|
|
6
|
-
import { S as ServerQueryFetchOptions } from './server-query-runtime-
|
|
6
|
+
import { S as ServerQueryFetchOptions } from './server-query-runtime-DXRNhX_3.js';
|
|
7
7
|
import { F as FarmThemeSnapshot, a as FarmThemePreference } from './types-DQnyD3VD.js';
|
|
8
8
|
import { F as FarmI18nClientSnapshot, a as FarmTranslator, b as FarmI18nLocale } from './types-CnH8DOqo.js';
|
|
9
9
|
import './lifecycle-De0vQG45.js';
|
|
10
10
|
import './island-CfGru1MO.js';
|
|
11
|
-
import './render-plan-
|
|
12
|
-
import './client-plugins-
|
|
13
|
-
import './route-
|
|
11
|
+
import './render-plan-0GeHiGVZ.js';
|
|
12
|
+
import './client-plugins-By6MVUX-.js';
|
|
13
|
+
import './route-4pd-EVtw.js';
|
|
14
14
|
import './cache.js';
|
|
15
15
|
import './renderer.js';
|
|
16
16
|
import 'http';
|
|
@@ -18,6 +18,7 @@ import './types-Cc8l9IqS.js';
|
|
|
18
18
|
import 'db0';
|
|
19
19
|
import 'unstorage';
|
|
20
20
|
import 'react';
|
|
21
|
+
import './integration-api-BT024nuJ.js';
|
|
21
22
|
import '@farming-labs/orm';
|
|
22
23
|
import './types-CKwggz9n.js';
|
|
23
24
|
import '@farming-labs/docs';
|
package/dist/renderer-client.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
|
+
attachRevalidationListeners,
|
|
3
4
|
createServerQueryCallKey,
|
|
4
5
|
fetchServerQuery
|
|
5
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WD2EBM3I.mjs";
|
|
6
7
|
import {
|
|
7
8
|
getTheme,
|
|
8
9
|
setTheme,
|
|
@@ -16,7 +17,7 @@ import {
|
|
|
16
17
|
getRouter,
|
|
17
18
|
readPageState,
|
|
18
19
|
subscribeHistoryChange
|
|
19
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-PSQ7N4XP.mjs";
|
|
20
21
|
import {
|
|
21
22
|
createFarmClientTranslator,
|
|
22
23
|
getFarmI18nClientState,
|
|
@@ -25,17 +26,17 @@ import {
|
|
|
25
26
|
import "./chunk-JIT7GXDP.mjs";
|
|
26
27
|
import {
|
|
27
28
|
getFarmClientDataCache
|
|
28
|
-
} from "./chunk-
|
|
29
|
-
import "./chunk-
|
|
29
|
+
} from "./chunk-WMJGA32P.mjs";
|
|
30
|
+
import "./chunk-EHTUKVSW.mjs";
|
|
30
31
|
import {
|
|
31
32
|
createFarmLocaleCookie
|
|
32
33
|
} from "./chunk-776TTMU3.mjs";
|
|
33
34
|
import "./chunk-3BXGOVKE.mjs";
|
|
34
35
|
import "./chunk-4C3Z34O7.mjs";
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-2HDOV47R.mjs";
|
|
37
|
+
import "./chunk-34IAPZBG.mjs";
|
|
37
38
|
import "./chunk-WZ5QFROO.mjs";
|
|
38
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-N2FY2QZ7.mjs";
|
|
39
40
|
import {
|
|
40
41
|
localizeFarmHref,
|
|
41
42
|
stripFarmLocaleFromPathname
|
|
@@ -204,19 +205,15 @@ function createRendererQuery(query, input, options = {}) {
|
|
|
204
205
|
for (const listener of listeners) listener();
|
|
205
206
|
});
|
|
206
207
|
if (!cache.get(key) || cache.isStale(key)) void run().catch(() => void 0);
|
|
207
|
-
|
|
208
|
-
|
|
208
|
+
cleanupBrowser = attachRevalidationListeners(
|
|
209
|
+
() => {
|
|
209
210
|
if (cache.isStale(key)) void run().catch(() => void 0);
|
|
210
|
-
},
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
if (onFocus) window.removeEventListener("focus", onFocus);
|
|
217
|
-
if (onOnline) window.removeEventListener("online", onOnline);
|
|
218
|
-
}, "cleanupBrowser");
|
|
219
|
-
}
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
refetchOnWindowFocus: options.refetchOnWindowFocus,
|
|
214
|
+
refetchOnReconnect: options.refetchOnReconnect
|
|
215
|
+
}
|
|
216
|
+
);
|
|
220
217
|
}, "ensureStarted");
|
|
221
218
|
return {
|
|
222
219
|
getSnapshot() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/renderer-client.ts"],"sourcesContent":["\"use client\";\n\nimport { createFarmRouter, type FarmRouter, type FarmRouterRouteInput } from \"./router\";\nimport {\n getRouter as getSPARouter,\n readPageState,\n type FarmNavigationState,\n type FarmNavigateOptions,\n} from \"./client/spa-router\";\nimport { subscribeHistoryChange } from \"./client/history-sync\";\nimport { getFarmClientDataCache, type FarmClientCacheStatus } from \"./client-cache\";\nimport type { ServerFn } from \"./server-fn\";\nimport type { ServerQuery } from \"./server-query\";\nimport {\n createServerQueryCallKey,\n fetchServerQuery,\n type ServerQueryFetchOptions,\n} from \"./server-query-runtime\";\nimport { getTheme, setTheme, subscribeTheme, toggleTheme } from \"./theme/runtime\";\nimport type { FarmThemePreference, FarmThemeSnapshot } from \"./theme/types\";\nimport { createFarmLocaleCookie } from \"./i18n/resolver\";\nimport { localizeFarmHref, stripFarmLocaleFromPathname } from \"./i18n/routing\";\nimport {\n createFarmClientTranslator,\n getFarmI18nClientState,\n subscribeFarmI18n,\n} from \"./i18n/client-runtime\";\nimport type { FarmI18nClientSnapshot, FarmI18nLocale, FarmTranslator } from \"./i18n/types\";\nimport {\n applyFarmBasePath,\n getFarmBasePath,\n normalizeFarmBasePath,\n stripFarmBasePath,\n} from \"./base-path\";\n\nexport interface FarmClientStore<TSnapshot> {\n getSnapshot(): TSnapshot;\n subscribe(listener: () => void): () => void;\n}\n\nexport interface FarmRendererRouterOptions {\n basePath?: string;\n routes?: readonly FarmRouterRouteInput[];\n}\n\nexport interface FarmRendererRouterSnapshot {\n pathname: string;\n searchParams: URLSearchParams;\n params: Record<string, string>;\n pageState: unknown;\n navigation: FarmNavigationState;\n}\n\nexport interface FarmRendererRouter extends FarmClientStore<FarmRendererRouterSnapshot> {\n push(href: string, options?: Omit<FarmNavigateOptions, \"replace\">): Promise<void>;\n replace(href: string, options?: Omit<FarmNavigateOptions, \"replace\">): Promise<void>;\n refresh(options?: Omit<FarmNavigateOptions, \"replace\" | \"refresh\">): Promise<void>;\n prefetch(href: string): Promise<void>;\n back(): void;\n forward(): void;\n pushState<TState>(state: TState, href?: string): void;\n replaceState<TState>(state: TState, href?: string): void;\n}\n\nexport function createRendererRouter(options: FarmRendererRouterOptions = {}): FarmRendererRouter {\n const basePath =\n options.basePath === undefined ? getFarmBasePath() : normalizeFarmBasePath(options.basePath);\n const matcher = options.routes?.length ? createFarmRouter([...options.routes]) : null;\n const router = getSPARouter();\n let snapshot = readRendererRouterSnapshot(basePath, matcher, router.getNavigationState());\n\n const read = () => {\n snapshot = readRendererRouterSnapshot(basePath, matcher, router.getNavigationState());\n return snapshot;\n };\n\n return {\n getSnapshot: () => snapshot,\n subscribe(listener) {\n if (typeof window === \"undefined\") return () => {};\n const notify = () => {\n read();\n listener();\n };\n const unsubscribeNavigation = router.subscribeNavigation(notify);\n const unsubscribeHistory = subscribeHistoryChange(notify);\n read();\n return () => {\n unsubscribeNavigation();\n unsubscribeHistory();\n };\n },\n push(href, navigateOptions) {\n return typeof window === \"undefined\"\n ? Promise.resolve()\n : router.navigate(resolveRendererHref(href, basePath), navigateOptions);\n },\n replace(href, navigateOptions) {\n return typeof window === \"undefined\"\n ? Promise.resolve()\n : router.navigate(resolveRendererHref(href, basePath), {\n ...navigateOptions,\n replace: true,\n });\n },\n refresh: (refreshOptions) =>\n typeof window === \"undefined\" ? Promise.resolve() : router.refresh(refreshOptions),\n prefetch: (href) =>\n typeof window === \"undefined\"\n ? Promise.resolve()\n : router.prefetch(resolveRendererHref(href, basePath)),\n back() {\n if (typeof window !== \"undefined\") window.history.back();\n },\n forward() {\n if (typeof window !== \"undefined\") window.history.forward();\n },\n pushState(state, href) {\n if (typeof window !== \"undefined\") {\n router.pushState(state, href && resolveRendererHref(href, basePath));\n read();\n }\n },\n replaceState(state, href) {\n if (typeof window !== \"undefined\") {\n router.replaceState(state, href && resolveRendererHref(href, basePath));\n read();\n }\n },\n };\n}\n\nexport type FarmActionStatus = \"idle\" | \"pending\" | \"success\" | \"error\";\n\nexport interface FarmActionSnapshot<TResult, TError extends Error = Error> {\n pending: boolean;\n status: FarmActionStatus;\n data: TResult | null;\n error: TError | null;\n}\n\nexport interface FarmActionOptions<TInput, TResult, TError extends Error = Error> {\n initialResult?: TResult | null;\n resetOnSubmit?: boolean;\n optimistic?: (context: {\n input: TInput | FormData | undefined;\n formData?: FormData;\n current: TResult | null;\n }) => TResult | null | undefined;\n rollbackOnError?: boolean;\n onSuccess?: (result: TResult) => void;\n onError?: (error: TError) => void;\n onSettled?: (result: TResult | null, error: TError | null) => void;\n}\n\nexport type FarmActionSubmit<TInput, TResult> = [unknown] extends [TInput]\n ? (input?: TInput | FormData) => Promise<TResult>\n : (input: TInput | FormData) => Promise<TResult>;\n\nexport type FarmAction<TInput, TResult, TError extends Error = Error> = FarmClientStore<\n FarmActionSnapshot<TResult, TError>\n> & {\n submit: FarmActionSubmit<TInput, TResult>;\n reset(): void;\n};\n\nexport type FarmRouteActionTarget<TServerFn extends ServerFn<any, any, any>> = {\n readonly action: TServerFn;\n};\n\nexport function createRendererAction<TInput, TResult, TError extends Error = Error>(\n target:\n | ServerFn<TInput, TResult, TError>\n | FarmRouteActionTarget<ServerFn<TInput, TResult, TError>>,\n options: FarmActionOptions<TInput, TResult, TError> = {},\n): FarmAction<TInput, TResult, TError> {\n const serverFn = resolveRendererServerFn(target);\n const listeners = new Set<() => void>();\n const initialResult = options.initialResult ?? null;\n let requestId = 0;\n let pendingCount = 0;\n let latestSettledStatus: FarmActionSnapshot<TResult, TError>[\"status\"] = \"idle\";\n let snapshot: FarmActionSnapshot<TResult, TError> = {\n pending: false,\n status: \"idle\",\n data: initialResult,\n error: null,\n };\n\n const update = (next: FarmActionSnapshot<TResult, TError>) => {\n snapshot = next;\n for (const listener of listeners) listener();\n };\n\n return {\n getSnapshot: () => snapshot,\n subscribe(listener) {\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n async submit(input?: TInput | FormData) {\n const currentRequest = ++requestId;\n const previous = snapshot.data;\n const formData = isRendererFormData(input) ? input : undefined;\n const optimistic = options.optimistic?.({ input, formData, current: previous });\n const hasOptimistic = optimistic !== undefined;\n pendingCount += 1;\n update({\n pending: true,\n status: \"pending\",\n data: hasOptimistic ? optimistic : options.resetOnSubmit === false ? previous : null,\n error: null,\n });\n\n try {\n const result = await serverFn(input as TInput | FormData);\n pendingCount = Math.max(0, pendingCount - 1);\n if (currentRequest === requestId) {\n latestSettledStatus = \"success\";\n update({\n pending: pendingCount > 0,\n status: pendingCount > 0 ? \"pending\" : \"success\",\n data: result,\n error: null,\n });\n options.onSuccess?.(result);\n options.onSettled?.(result, null);\n } else if (pendingCount === 0) {\n update({ ...snapshot, pending: false, status: latestSettledStatus });\n }\n return result;\n } catch (cause) {\n pendingCount = Math.max(0, pendingCount - 1);\n const error = normalizeRendererClientError(cause) as TError;\n if (currentRequest === requestId) {\n latestSettledStatus = \"error\";\n update({\n pending: pendingCount > 0,\n status: pendingCount > 0 ? \"pending\" : \"error\",\n data:\n hasOptimistic && options.rollbackOnError\n ? previous\n : options.resetOnSubmit === false\n ? snapshot.data\n : null,\n error,\n });\n options.onError?.(error);\n options.onSettled?.(null, error);\n } else if (pendingCount === 0) {\n update({ ...snapshot, pending: false, status: latestSettledStatus });\n }\n throw error;\n }\n },\n reset() {\n requestId += 1;\n pendingCount = 0;\n latestSettledStatus = \"idle\";\n update({ pending: false, status: \"idle\", data: initialResult, error: null });\n },\n } as FarmAction<TInput, TResult, TError>;\n}\n\nexport interface FarmRendererQueryOptions extends ServerQueryFetchOptions {\n enabled?: boolean;\n refetchOnWindowFocus?: boolean;\n refetchOnReconnect?: boolean;\n}\n\nexport interface FarmRendererQuerySnapshot<TData> {\n data: TData | undefined;\n error: Error | null;\n status: FarmClientCacheStatus;\n pending: boolean;\n fetching: boolean;\n stale: boolean;\n}\n\nexport interface FarmRendererQuery<TData> extends FarmClientStore<\n FarmRendererQuerySnapshot<TData>\n> {\n refetch(): Promise<TData>;\n dispose(): void;\n}\n\nexport function createRendererQuery<TInput, TData>(\n query: ServerQuery<TInput, TData>,\n input: TInput,\n options: FarmRendererQueryOptions = {},\n): FarmRendererQuery<TData> {\n const cache = getFarmClientDataCache();\n const key = createServerQueryCallKey(query, input);\n const listeners = new Set<() => void>();\n let unsubscribeCache: (() => void) | undefined;\n let cleanupBrowser: (() => void) | undefined;\n\n const run = (force = false) => fetchServerQuery(query, input, { ...options, force });\n const ensureStarted = () => {\n if (options.enabled === false || unsubscribeCache) return;\n unsubscribeCache = cache.subscribe(key, () => {\n for (const listener of listeners) listener();\n });\n if (!cache.get(key) || cache.isStale(key)) void run().catch(() => undefined);\n\n if (typeof window !== \"undefined\") {\n const refresh = () => {\n if (cache.isStale(key)) void run().catch(() => undefined);\n };\n const onFocus = options.refetchOnWindowFocus === false ? undefined : refresh;\n const onOnline = options.refetchOnReconnect === false ? undefined : refresh;\n if (onFocus) window.addEventListener(\"focus\", onFocus);\n if (onOnline) window.addEventListener(\"online\", onOnline);\n cleanupBrowser = () => {\n if (onFocus) window.removeEventListener(\"focus\", onFocus);\n if (onOnline) window.removeEventListener(\"online\", onOnline);\n };\n }\n };\n\n return {\n getSnapshot() {\n const entry = cache.get<TData>(key);\n const status = entry?.status ?? (entry ? \"success\" : \"idle\");\n return {\n data: entry?.data,\n error: entry?.error ?? null,\n status,\n pending: status === \"pending\" && (entry?.updatedAt ?? 0) === 0,\n fetching: entry?.fetching ?? false,\n stale: cache.isStale(key),\n };\n },\n subscribe(listener) {\n listeners.add(listener);\n ensureStarted();\n return () => listeners.delete(listener);\n },\n refetch: () => run(true),\n dispose() {\n unsubscribeCache?.();\n cleanupBrowser?.();\n unsubscribeCache = undefined;\n cleanupBrowser = undefined;\n listeners.clear();\n },\n };\n}\n\nexport interface FarmRendererTheme extends FarmClientStore<FarmThemeSnapshot> {\n setTheme(theme: FarmThemePreference): void;\n toggleTheme(): FarmThemeSnapshot[\"resolvedTheme\"];\n}\n\nexport function createRendererTheme(): FarmRendererTheme {\n return {\n getSnapshot: getTheme,\n subscribe: subscribeTheme,\n setTheme,\n toggleTheme,\n };\n}\n\nexport interface FarmRendererI18n extends FarmClientStore<FarmI18nClientSnapshot | undefined> {\n readonly t: FarmTranslator;\n setLocale(locale: FarmI18nLocale): void;\n}\n\nexport function createRendererI18n(): FarmRendererI18n {\n return {\n getSnapshot: getFarmI18nClientState,\n subscribe: subscribeFarmI18n,\n t: createFarmClientTranslator(),\n setLocale(locale) {\n const snapshot = getFarmI18nClientState();\n if (!snapshot) throw new Error(\"Farm i18n is not configured or has not been hydrated.\");\n if (!snapshot.locales.includes(locale)) {\n throw new Error(`Unsupported Farm i18n locale \"${locale}\".`);\n }\n if (typeof window === \"undefined\") return;\n document.cookie = createFarmLocaleCookie(locale, { cookie: snapshot.cookie });\n const href = `${window.location.pathname}${window.location.search}${window.location.hash}`;\n window.location.assign(localizeFarmHref(href, locale, snapshot));\n },\n };\n}\n\nfunction readRendererRouterSnapshot(\n basePath: string,\n matcher: FarmRouter | null,\n navigation: FarmNavigationState,\n): FarmRendererRouterSnapshot {\n if (typeof window === \"undefined\") {\n return {\n pathname: \"/\",\n searchParams: new URLSearchParams(),\n params: {},\n pageState: null,\n navigation,\n };\n }\n\n const url = new URL(window.location.href);\n const pathname = stripFarmBasePath(url.pathname, basePath);\n const i18n = getFarmI18nClientState();\n const routePathname = i18n ? stripFarmLocaleFromPathname(pathname, i18n) : pathname;\n\n return {\n pathname,\n searchParams: url.searchParams,\n params: matcher?.match(routePathname)?.params || {},\n pageState: readPageState(),\n navigation,\n };\n}\n\nfunction resolveRendererHref(href: string, basePath: string): string {\n return applyFarmBasePath(href, basePath);\n}\n\nfunction resolveRendererServerFn<TInput, TResult, TError extends Error>(\n target:\n | ServerFn<TInput, TResult, TError>\n | FarmRouteActionTarget<ServerFn<TInput, TResult, TError>>,\n): ServerFn<TInput, TResult, TError> {\n if (typeof target === \"function\") return target;\n if (target && typeof target.action === \"function\") return target.action;\n throw new TypeError(\n \"createRendererAction requires a server function or a route with a declared action\",\n );\n}\n\nfunction normalizeRendererClientError(cause: unknown): Error {\n if (cause instanceof Error) return cause;\n const error = new Error(typeof cause === \"string\" ? cause : \"FARMJS client operation failed\");\n (error as Error & { cause?: unknown }).cause = cause;\n return error;\n}\n\nfunction isRendererFormData(value: unknown): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/renderer-client.ts"],"sourcesContent":["\"use client\";\n\nimport { createFarmRouter, type FarmRouter, type FarmRouterRouteInput } from \"./router\";\nimport {\n getRouter as getSPARouter,\n readPageState,\n type FarmNavigationState,\n type FarmNavigateOptions,\n} from \"./client/spa-router\";\nimport { subscribeHistoryChange } from \"./client/history-sync\";\nimport { getFarmClientDataCache, type FarmClientCacheStatus } from \"./client-cache\";\nimport { attachRevalidationListeners } from \"./client-revalidation\";\nimport type { ServerFn } from \"./server-fn\";\nimport type { ServerQuery } from \"./server-query\";\nimport {\n createServerQueryCallKey,\n fetchServerQuery,\n type ServerQueryFetchOptions,\n} from \"./server-query-runtime\";\nimport { getTheme, setTheme, subscribeTheme, toggleTheme } from \"./theme/runtime\";\nimport type { FarmThemePreference, FarmThemeSnapshot } from \"./theme/types\";\nimport { createFarmLocaleCookie } from \"./i18n/resolver\";\nimport { localizeFarmHref, stripFarmLocaleFromPathname } from \"./i18n/routing\";\nimport {\n createFarmClientTranslator,\n getFarmI18nClientState,\n subscribeFarmI18n,\n} from \"./i18n/client-runtime\";\nimport type { FarmI18nClientSnapshot, FarmI18nLocale, FarmTranslator } from \"./i18n/types\";\nimport {\n applyFarmBasePath,\n getFarmBasePath,\n normalizeFarmBasePath,\n stripFarmBasePath,\n} from \"./base-path\";\n\nexport interface FarmClientStore<TSnapshot> {\n getSnapshot(): TSnapshot;\n subscribe(listener: () => void): () => void;\n}\n\nexport interface FarmRendererRouterOptions {\n basePath?: string;\n routes?: readonly FarmRouterRouteInput[];\n}\n\nexport interface FarmRendererRouterSnapshot {\n pathname: string;\n searchParams: URLSearchParams;\n params: Record<string, string>;\n pageState: unknown;\n navigation: FarmNavigationState;\n}\n\nexport interface FarmRendererRouter extends FarmClientStore<FarmRendererRouterSnapshot> {\n push(href: string, options?: Omit<FarmNavigateOptions, \"replace\">): Promise<void>;\n replace(href: string, options?: Omit<FarmNavigateOptions, \"replace\">): Promise<void>;\n refresh(options?: Omit<FarmNavigateOptions, \"replace\" | \"refresh\">): Promise<void>;\n prefetch(href: string): Promise<void>;\n back(): void;\n forward(): void;\n pushState<TState>(state: TState, href?: string): void;\n replaceState<TState>(state: TState, href?: string): void;\n}\n\nexport function createRendererRouter(options: FarmRendererRouterOptions = {}): FarmRendererRouter {\n const basePath =\n options.basePath === undefined ? getFarmBasePath() : normalizeFarmBasePath(options.basePath);\n const matcher = options.routes?.length ? createFarmRouter([...options.routes]) : null;\n const router = getSPARouter();\n let snapshot = readRendererRouterSnapshot(basePath, matcher, router.getNavigationState());\n\n const read = () => {\n snapshot = readRendererRouterSnapshot(basePath, matcher, router.getNavigationState());\n return snapshot;\n };\n\n return {\n getSnapshot: () => snapshot,\n subscribe(listener) {\n if (typeof window === \"undefined\") return () => {};\n const notify = () => {\n read();\n listener();\n };\n const unsubscribeNavigation = router.subscribeNavigation(notify);\n const unsubscribeHistory = subscribeHistoryChange(notify);\n read();\n return () => {\n unsubscribeNavigation();\n unsubscribeHistory();\n };\n },\n push(href, navigateOptions) {\n return typeof window === \"undefined\"\n ? Promise.resolve()\n : router.navigate(resolveRendererHref(href, basePath), navigateOptions);\n },\n replace(href, navigateOptions) {\n return typeof window === \"undefined\"\n ? Promise.resolve()\n : router.navigate(resolveRendererHref(href, basePath), {\n ...navigateOptions,\n replace: true,\n });\n },\n refresh: (refreshOptions) =>\n typeof window === \"undefined\" ? Promise.resolve() : router.refresh(refreshOptions),\n prefetch: (href) =>\n typeof window === \"undefined\"\n ? Promise.resolve()\n : router.prefetch(resolveRendererHref(href, basePath)),\n back() {\n if (typeof window !== \"undefined\") window.history.back();\n },\n forward() {\n if (typeof window !== \"undefined\") window.history.forward();\n },\n pushState(state, href) {\n if (typeof window !== \"undefined\") {\n router.pushState(state, href && resolveRendererHref(href, basePath));\n read();\n }\n },\n replaceState(state, href) {\n if (typeof window !== \"undefined\") {\n router.replaceState(state, href && resolveRendererHref(href, basePath));\n read();\n }\n },\n };\n}\n\nexport type FarmActionStatus = \"idle\" | \"pending\" | \"success\" | \"error\";\n\nexport interface FarmActionSnapshot<TResult, TError extends Error = Error> {\n pending: boolean;\n status: FarmActionStatus;\n data: TResult | null;\n error: TError | null;\n}\n\nexport interface FarmActionOptions<TInput, TResult, TError extends Error = Error> {\n initialResult?: TResult | null;\n resetOnSubmit?: boolean;\n optimistic?: (context: {\n input: TInput | FormData | undefined;\n formData?: FormData;\n current: TResult | null;\n }) => TResult | null | undefined;\n rollbackOnError?: boolean;\n onSuccess?: (result: TResult) => void;\n onError?: (error: TError) => void;\n onSettled?: (result: TResult | null, error: TError | null) => void;\n}\n\nexport type FarmActionSubmit<TInput, TResult> = [unknown] extends [TInput]\n ? (input?: TInput | FormData) => Promise<TResult>\n : (input: TInput | FormData) => Promise<TResult>;\n\nexport type FarmAction<TInput, TResult, TError extends Error = Error> = FarmClientStore<\n FarmActionSnapshot<TResult, TError>\n> & {\n submit: FarmActionSubmit<TInput, TResult>;\n reset(): void;\n};\n\nexport type FarmRouteActionTarget<TServerFn extends ServerFn<any, any, any>> = {\n readonly action: TServerFn;\n};\n\nexport function createRendererAction<TInput, TResult, TError extends Error = Error>(\n target:\n | ServerFn<TInput, TResult, TError>\n | FarmRouteActionTarget<ServerFn<TInput, TResult, TError>>,\n options: FarmActionOptions<TInput, TResult, TError> = {},\n): FarmAction<TInput, TResult, TError> {\n const serverFn = resolveRendererServerFn(target);\n const listeners = new Set<() => void>();\n const initialResult = options.initialResult ?? null;\n let requestId = 0;\n let pendingCount = 0;\n let latestSettledStatus: FarmActionSnapshot<TResult, TError>[\"status\"] = \"idle\";\n let snapshot: FarmActionSnapshot<TResult, TError> = {\n pending: false,\n status: \"idle\",\n data: initialResult,\n error: null,\n };\n\n const update = (next: FarmActionSnapshot<TResult, TError>) => {\n snapshot = next;\n for (const listener of listeners) listener();\n };\n\n return {\n getSnapshot: () => snapshot,\n subscribe(listener) {\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n async submit(input?: TInput | FormData) {\n const currentRequest = ++requestId;\n const previous = snapshot.data;\n const formData = isRendererFormData(input) ? input : undefined;\n const optimistic = options.optimistic?.({ input, formData, current: previous });\n const hasOptimistic = optimistic !== undefined;\n pendingCount += 1;\n update({\n pending: true,\n status: \"pending\",\n data: hasOptimistic ? optimistic : options.resetOnSubmit === false ? previous : null,\n error: null,\n });\n\n try {\n const result = await serverFn(input as TInput | FormData);\n pendingCount = Math.max(0, pendingCount - 1);\n if (currentRequest === requestId) {\n latestSettledStatus = \"success\";\n update({\n pending: pendingCount > 0,\n status: pendingCount > 0 ? \"pending\" : \"success\",\n data: result,\n error: null,\n });\n options.onSuccess?.(result);\n options.onSettled?.(result, null);\n } else if (pendingCount === 0) {\n update({ ...snapshot, pending: false, status: latestSettledStatus });\n }\n return result;\n } catch (cause) {\n pendingCount = Math.max(0, pendingCount - 1);\n const error = normalizeRendererClientError(cause) as TError;\n if (currentRequest === requestId) {\n latestSettledStatus = \"error\";\n update({\n pending: pendingCount > 0,\n status: pendingCount > 0 ? \"pending\" : \"error\",\n data:\n hasOptimistic && options.rollbackOnError\n ? previous\n : options.resetOnSubmit === false\n ? snapshot.data\n : null,\n error,\n });\n options.onError?.(error);\n options.onSettled?.(null, error);\n } else if (pendingCount === 0) {\n update({ ...snapshot, pending: false, status: latestSettledStatus });\n }\n throw error;\n }\n },\n reset() {\n requestId += 1;\n pendingCount = 0;\n latestSettledStatus = \"idle\";\n update({ pending: false, status: \"idle\", data: initialResult, error: null });\n },\n } as FarmAction<TInput, TResult, TError>;\n}\n\nexport interface FarmRendererQueryOptions extends ServerQueryFetchOptions {\n enabled?: boolean;\n refetchOnWindowFocus?: boolean;\n refetchOnReconnect?: boolean;\n}\n\nexport interface FarmRendererQuerySnapshot<TData> {\n data: TData | undefined;\n error: Error | null;\n status: FarmClientCacheStatus;\n pending: boolean;\n fetching: boolean;\n stale: boolean;\n}\n\nexport interface FarmRendererQuery<TData> extends FarmClientStore<\n FarmRendererQuerySnapshot<TData>\n> {\n refetch(): Promise<TData>;\n dispose(): void;\n}\n\nexport function createRendererQuery<TInput, TData>(\n query: ServerQuery<TInput, TData>,\n input: TInput,\n options: FarmRendererQueryOptions = {},\n): FarmRendererQuery<TData> {\n const cache = getFarmClientDataCache();\n const key = createServerQueryCallKey(query, input);\n const listeners = new Set<() => void>();\n let unsubscribeCache: (() => void) | undefined;\n let cleanupBrowser: (() => void) | undefined;\n\n const run = (force = false) => fetchServerQuery(query, input, { ...options, force });\n const ensureStarted = () => {\n if (options.enabled === false || unsubscribeCache) return;\n unsubscribeCache = cache.subscribe(key, () => {\n for (const listener of listeners) listener();\n });\n if (!cache.get(key) || cache.isStale(key)) void run().catch(() => undefined);\n\n cleanupBrowser = attachRevalidationListeners(\n () => {\n if (cache.isStale(key)) void run().catch(() => undefined);\n },\n {\n refetchOnWindowFocus: options.refetchOnWindowFocus,\n refetchOnReconnect: options.refetchOnReconnect,\n },\n );\n };\n\n return {\n getSnapshot() {\n const entry = cache.get<TData>(key);\n const status = entry?.status ?? (entry ? \"success\" : \"idle\");\n return {\n data: entry?.data,\n error: entry?.error ?? null,\n status,\n pending: status === \"pending\" && (entry?.updatedAt ?? 0) === 0,\n fetching: entry?.fetching ?? false,\n stale: cache.isStale(key),\n };\n },\n subscribe(listener) {\n listeners.add(listener);\n ensureStarted();\n return () => listeners.delete(listener);\n },\n refetch: () => run(true),\n dispose() {\n unsubscribeCache?.();\n cleanupBrowser?.();\n unsubscribeCache = undefined;\n cleanupBrowser = undefined;\n listeners.clear();\n },\n };\n}\n\nexport interface FarmRendererTheme extends FarmClientStore<FarmThemeSnapshot> {\n setTheme(theme: FarmThemePreference): void;\n toggleTheme(): FarmThemeSnapshot[\"resolvedTheme\"];\n}\n\nexport function createRendererTheme(): FarmRendererTheme {\n return {\n getSnapshot: getTheme,\n subscribe: subscribeTheme,\n setTheme,\n toggleTheme,\n };\n}\n\nexport interface FarmRendererI18n extends FarmClientStore<FarmI18nClientSnapshot | undefined> {\n readonly t: FarmTranslator;\n setLocale(locale: FarmI18nLocale): void;\n}\n\nexport function createRendererI18n(): FarmRendererI18n {\n return {\n getSnapshot: getFarmI18nClientState,\n subscribe: subscribeFarmI18n,\n t: createFarmClientTranslator(),\n setLocale(locale) {\n const snapshot = getFarmI18nClientState();\n if (!snapshot) throw new Error(\"Farm i18n is not configured or has not been hydrated.\");\n if (!snapshot.locales.includes(locale)) {\n throw new Error(`Unsupported Farm i18n locale \"${locale}\".`);\n }\n if (typeof window === \"undefined\") return;\n document.cookie = createFarmLocaleCookie(locale, { cookie: snapshot.cookie });\n const href = `${window.location.pathname}${window.location.search}${window.location.hash}`;\n window.location.assign(localizeFarmHref(href, locale, snapshot));\n },\n };\n}\n\nfunction readRendererRouterSnapshot(\n basePath: string,\n matcher: FarmRouter | null,\n navigation: FarmNavigationState,\n): FarmRendererRouterSnapshot {\n if (typeof window === \"undefined\") {\n return {\n pathname: \"/\",\n searchParams: new URLSearchParams(),\n params: {},\n pageState: null,\n navigation,\n };\n }\n\n const url = new URL(window.location.href);\n const pathname = stripFarmBasePath(url.pathname, basePath);\n const i18n = getFarmI18nClientState();\n const routePathname = i18n ? stripFarmLocaleFromPathname(pathname, i18n) : pathname;\n\n return {\n pathname,\n searchParams: url.searchParams,\n params: matcher?.match(routePathname)?.params || {},\n pageState: readPageState(),\n navigation,\n };\n}\n\nfunction resolveRendererHref(href: string, basePath: string): string {\n return applyFarmBasePath(href, basePath);\n}\n\nfunction resolveRendererServerFn<TInput, TResult, TError extends Error>(\n target:\n | ServerFn<TInput, TResult, TError>\n | FarmRouteActionTarget<ServerFn<TInput, TResult, TError>>,\n): ServerFn<TInput, TResult, TError> {\n if (typeof target === \"function\") return target;\n if (target && typeof target.action === \"function\") return target.action;\n throw new TypeError(\n \"createRendererAction requires a server function or a route with a declared action\",\n );\n}\n\nfunction normalizeRendererClientError(cause: unknown): Error {\n if (cause instanceof Error) return cause;\n const error = new Error(typeof cause === \"string\" ? cause : \"FARMJS client operation failed\");\n (error as Error & { cause?: unknown }).cause = cause;\n return error;\n}\n\nfunction isRendererFormData(value: unknown): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n"],"mappings":"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","names":[]}
|
package/dist/request.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { g as getCurrentRequest } from './request-
|
|
2
|
-
import './client-plugins-
|
|
1
|
+
export { g as getCurrentRequest } from './request-BCNXSXLh.mjs';
|
|
2
|
+
import './client-plugins-B6-07YmP.mjs';
|
|
3
3
|
import './lifecycle-De0vQG45.mjs';
|
|
4
|
-
import './route-
|
|
4
|
+
import './route-CvEr4Uc9.mjs';
|
|
5
5
|
import './cache.mjs';
|
|
6
6
|
import './renderer.mjs';
|
|
7
7
|
import 'http';
|
|
@@ -9,6 +9,7 @@ import './types-Cc8l9IqS.mjs';
|
|
|
9
9
|
import 'db0';
|
|
10
10
|
import 'unstorage';
|
|
11
11
|
import 'react';
|
|
12
|
+
import './integration-api-BT024nuJ.mjs';
|
|
12
13
|
import '@farming-labs/orm';
|
|
13
14
|
import './types-CKwggz9n.mjs';
|
|
14
15
|
import '@farming-labs/docs';
|
package/dist/request.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { g as getCurrentRequest } from './request-
|
|
2
|
-
import './client-plugins-
|
|
1
|
+
export { g as getCurrentRequest } from './request-BstWbZ6O.js';
|
|
2
|
+
import './client-plugins-By6MVUX-.js';
|
|
3
3
|
import './lifecycle-De0vQG45.js';
|
|
4
|
-
import './route-
|
|
4
|
+
import './route-4pd-EVtw.js';
|
|
5
5
|
import './cache.js';
|
|
6
6
|
import './renderer.js';
|
|
7
7
|
import 'http';
|
|
@@ -9,6 +9,7 @@ import './types-Cc8l9IqS.js';
|
|
|
9
9
|
import 'db0';
|
|
10
10
|
import 'unstorage';
|
|
11
11
|
import 'react';
|
|
12
|
+
import './integration-api-BT024nuJ.js';
|
|
12
13
|
import '@farming-labs/orm';
|
|
13
14
|
import './types-CKwggz9n.js';
|
|
14
15
|
import '@farming-labs/docs';
|