@farm.js/core 0.1.0-beta.5 → 0.1.0-beta.6
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/package.json +1 -1
- package/dist/after.cjs +0 -227
- package/dist/after.cjs.map +0 -1
- package/dist/after.d.mts +0 -25
- package/dist/after.d.ts +0 -25
- package/dist/after.mjs +0 -14
- package/dist/after.mjs.map +0 -1
- package/dist/agent-runtime.cjs +0 -2379
- package/dist/agent-runtime.cjs.map +0 -1
- package/dist/agent-runtime.d.mts +0 -94
- package/dist/agent-runtime.d.ts +0 -94
- package/dist/agent-runtime.mjs +0 -479
- package/dist/agent-runtime.mjs.map +0 -1
- package/dist/api/route-manager.d.mts +0 -66
- package/dist/api/route-manager.d.ts +0 -66
- package/dist/api/runtime.d.mts +0 -3
- package/dist/api/runtime.d.ts +0 -3
- package/dist/api.cjs +0 -4100
- package/dist/api.cjs.map +0 -1
- package/dist/api.d.mts +0 -48
- package/dist/api.d.ts +0 -48
- package/dist/api.mjs +0 -93
- package/dist/api.mjs.map +0 -1
- package/dist/app-BjN-da13.d.ts +0 -300
- package/dist/app-CakAr8Be.d.mts +0 -300
- package/dist/app-markdown.cjs +0 -220
- package/dist/app-markdown.cjs.map +0 -1
- package/dist/app-markdown.d.mts +0 -22
- package/dist/app-markdown.d.ts +0 -22
- package/dist/app-markdown.mjs +0 -26
- package/dist/app-markdown.mjs.map +0 -1
- package/dist/cache.cjs +0 -945
- package/dist/cache.cjs.map +0 -1
- package/dist/cache.d.mts +0 -192
- package/dist/cache.d.ts +0 -192
- package/dist/cache.mjs +0 -46
- package/dist/cache.mjs.map +0 -1
- package/dist/chunk-2CUKEMVR.mjs +0 -872
- package/dist/chunk-2CUKEMVR.mjs.map +0 -1
- package/dist/chunk-2ED5Q2GH.mjs +0 -422
- package/dist/chunk-2ED5Q2GH.mjs.map +0 -1
- package/dist/chunk-2NHCNRF6.mjs +0 -6241
- package/dist/chunk-2NHCNRF6.mjs.map +0 -1
- package/dist/chunk-32W4QEJP.mjs +0 -158
- package/dist/chunk-32W4QEJP.mjs.map +0 -1
- package/dist/chunk-3XNTL3FQ.mjs +0 -452
- package/dist/chunk-3XNTL3FQ.mjs.map +0 -1
- package/dist/chunk-44ZCFSKE.mjs +0 -84
- package/dist/chunk-44ZCFSKE.mjs.map +0 -1
- package/dist/chunk-4S3ORGFA.mjs +0 -44
- package/dist/chunk-4S3ORGFA.mjs.map +0 -1
- package/dist/chunk-5BY76U2M.mjs +0 -1
- package/dist/chunk-5BY76U2M.mjs.map +0 -1
- package/dist/chunk-5ZGPRGWV.mjs +0 -136
- package/dist/chunk-5ZGPRGWV.mjs.map +0 -1
- package/dist/chunk-65A7QIKI.mjs +0 -142
- package/dist/chunk-65A7QIKI.mjs.map +0 -1
- package/dist/chunk-74YTBPTY.mjs +0 -450
- package/dist/chunk-74YTBPTY.mjs.map +0 -1
- package/dist/chunk-7HO6AEOP.mjs +0 -74
- package/dist/chunk-7HO6AEOP.mjs.map +0 -1
- package/dist/chunk-7MABZJIM.mjs +0 -29
- package/dist/chunk-7MABZJIM.mjs.map +0 -1
- package/dist/chunk-7N62DNSO.mjs +0 -41
- package/dist/chunk-7N62DNSO.mjs.map +0 -1
- package/dist/chunk-7ZY5AIJO.mjs +0 -161
- package/dist/chunk-7ZY5AIJO.mjs.map +0 -1
- package/dist/chunk-A2LUXHD2.mjs +0 -7631
- package/dist/chunk-A2LUXHD2.mjs.map +0 -1
- package/dist/chunk-ALCLXXTY.mjs +0 -187
- package/dist/chunk-ALCLXXTY.mjs.map +0 -1
- package/dist/chunk-AZ7YUVNR.mjs +0 -65
- package/dist/chunk-AZ7YUVNR.mjs.map +0 -1
- package/dist/chunk-B232I2GP.mjs +0 -163
- package/dist/chunk-B232I2GP.mjs.map +0 -1
- package/dist/chunk-BHG3LVHH.mjs +0 -176
- package/dist/chunk-BHG3LVHH.mjs.map +0 -1
- package/dist/chunk-C2ROET2V.mjs +0 -718
- package/dist/chunk-C2ROET2V.mjs.map +0 -1
- package/dist/chunk-C3DLZMBU.mjs +0 -597
- package/dist/chunk-C3DLZMBU.mjs.map +0 -1
- package/dist/chunk-CGILA3WO.mjs +0 -14
- package/dist/chunk-CGILA3WO.mjs.map +0 -1
- package/dist/chunk-E2MPIBRE.mjs +0 -149
- package/dist/chunk-E2MPIBRE.mjs.map +0 -1
- package/dist/chunk-E6EPN5BT.mjs +0 -203
- package/dist/chunk-E6EPN5BT.mjs.map +0 -1
- package/dist/chunk-EEABSBKK.mjs +0 -10
- package/dist/chunk-EEABSBKK.mjs.map +0 -1
- package/dist/chunk-EJ7T4TPB.mjs +0 -622
- package/dist/chunk-EJ7T4TPB.mjs.map +0 -1
- package/dist/chunk-FQYDHKKU.mjs +0 -128
- package/dist/chunk-FQYDHKKU.mjs.map +0 -1
- package/dist/chunk-FRPWCMMG.mjs +0 -299
- package/dist/chunk-FRPWCMMG.mjs.map +0 -1
- package/dist/chunk-GN72QAIH.mjs +0 -146
- package/dist/chunk-GN72QAIH.mjs.map +0 -1
- package/dist/chunk-GQVGIUSN.mjs +0 -149
- package/dist/chunk-GQVGIUSN.mjs.map +0 -1
- package/dist/chunk-GS6K5OCM.mjs +0 -407
- package/dist/chunk-GS6K5OCM.mjs.map +0 -1
- package/dist/chunk-GXASWWJU.mjs +0 -364
- package/dist/chunk-GXASWWJU.mjs.map +0 -1
- package/dist/chunk-GY2STC2S.mjs +0 -180
- package/dist/chunk-GY2STC2S.mjs.map +0 -1
- package/dist/chunk-H2FA2SBS.mjs +0 -51
- package/dist/chunk-H2FA2SBS.mjs.map +0 -1
- package/dist/chunk-HNIQFZKB.mjs +0 -3550
- package/dist/chunk-HNIQFZKB.mjs.map +0 -1
- package/dist/chunk-ITN462YM.mjs +0 -98
- package/dist/chunk-ITN462YM.mjs.map +0 -1
- package/dist/chunk-J23HNLFY.mjs +0 -72
- package/dist/chunk-J23HNLFY.mjs.map +0 -1
- package/dist/chunk-J4FNJ5IU.mjs +0 -179
- package/dist/chunk-J4FNJ5IU.mjs.map +0 -1
- package/dist/chunk-J5YWQVI5.mjs +0 -211
- package/dist/chunk-J5YWQVI5.mjs.map +0 -1
- package/dist/chunk-JDEOUK5V.mjs +0 -427
- package/dist/chunk-JDEOUK5V.mjs.map +0 -1
- package/dist/chunk-JK25YEN6.mjs +0 -219
- package/dist/chunk-JK25YEN6.mjs.map +0 -1
- package/dist/chunk-K4667E2Q.mjs +0 -1916
- package/dist/chunk-K4667E2Q.mjs.map +0 -1
- package/dist/chunk-LGHEOHBU.mjs +0 -218
- package/dist/chunk-LGHEOHBU.mjs.map +0 -1
- package/dist/chunk-LLC7BNXW.mjs +0 -275
- package/dist/chunk-LLC7BNXW.mjs.map +0 -1
- package/dist/chunk-LM2YNO4U.mjs +0 -24
- package/dist/chunk-LM2YNO4U.mjs.map +0 -1
- package/dist/chunk-MIUW47JX.mjs +0 -639
- package/dist/chunk-MIUW47JX.mjs.map +0 -1
- package/dist/chunk-NM3CRAAL.mjs +0 -467
- package/dist/chunk-NM3CRAAL.mjs.map +0 -1
- package/dist/chunk-NNLCAVB6.mjs +0 -391
- package/dist/chunk-NNLCAVB6.mjs.map +0 -1
- package/dist/chunk-P7QDS5AT.mjs +0 -191
- package/dist/chunk-P7QDS5AT.mjs.map +0 -1
- package/dist/chunk-PFE6GMNE.mjs +0 -603
- package/dist/chunk-PFE6GMNE.mjs.map +0 -1
- package/dist/chunk-QGOHVJ6J.mjs +0 -63
- package/dist/chunk-QGOHVJ6J.mjs.map +0 -1
- package/dist/chunk-QGQX7SFC.mjs +0 -180
- package/dist/chunk-QGQX7SFC.mjs.map +0 -1
- package/dist/chunk-QKVUNGAH.mjs +0 -39
- package/dist/chunk-QKVUNGAH.mjs.map +0 -1
- package/dist/chunk-QM746KUO.mjs +0 -56
- package/dist/chunk-QM746KUO.mjs.map +0 -1
- package/dist/chunk-QTZZ2ISQ.mjs +0 -753
- package/dist/chunk-QTZZ2ISQ.mjs.map +0 -1
- package/dist/chunk-RBRLLZL5.mjs +0 -81
- package/dist/chunk-RBRLLZL5.mjs.map +0 -1
- package/dist/chunk-RHIFZZUI.mjs +0 -69
- package/dist/chunk-RHIFZZUI.mjs.map +0 -1
- package/dist/chunk-RSKVYESE.mjs +0 -187
- package/dist/chunk-RSKVYESE.mjs.map +0 -1
- package/dist/chunk-SCFX4UTD.mjs +0 -28
- package/dist/chunk-SCFX4UTD.mjs.map +0 -1
- package/dist/chunk-SL6HTIOK.mjs +0 -66
- package/dist/chunk-SL6HTIOK.mjs.map +0 -1
- package/dist/chunk-SPBBQLXI.mjs +0 -207
- package/dist/chunk-SPBBQLXI.mjs.map +0 -1
- package/dist/chunk-T4QJQK76.mjs +0 -459
- package/dist/chunk-T4QJQK76.mjs.map +0 -1
- package/dist/chunk-TQAEEJB4.mjs +0 -157
- package/dist/chunk-TQAEEJB4.mjs.map +0 -1
- package/dist/chunk-UB5UOSHB.mjs +0 -458
- package/dist/chunk-UB5UOSHB.mjs.map +0 -1
- package/dist/chunk-USWZZUEH.mjs +0 -25
- package/dist/chunk-USWZZUEH.mjs.map +0 -1
- package/dist/chunk-UVCIEUJC.mjs +0 -16
- package/dist/chunk-UVCIEUJC.mjs.map +0 -1
- package/dist/chunk-UXUAWNO5.mjs +0 -396
- package/dist/chunk-UXUAWNO5.mjs.map +0 -1
- package/dist/chunk-V3XURYJO.mjs +0 -756
- package/dist/chunk-V3XURYJO.mjs.map +0 -1
- package/dist/chunk-V6WE6JSZ.mjs +0 -352
- package/dist/chunk-V6WE6JSZ.mjs.map +0 -1
- package/dist/chunk-V7RBCSDJ.mjs +0 -170
- package/dist/chunk-V7RBCSDJ.mjs.map +0 -1
- package/dist/chunk-VCANOYFI.mjs +0 -588
- package/dist/chunk-VCANOYFI.mjs.map +0 -1
- package/dist/chunk-VY2UYN5R.mjs +0 -224
- package/dist/chunk-VY2UYN5R.mjs.map +0 -1
- package/dist/chunk-W2CRQFF6.mjs +0 -1352
- package/dist/chunk-W2CRQFF6.mjs.map +0 -1
- package/dist/chunk-WZ5QFROO.mjs +0 -23
- package/dist/chunk-WZ5QFROO.mjs.map +0 -1
- package/dist/chunk-XIVV5IWN.mjs +0 -541
- package/dist/chunk-XIVV5IWN.mjs.map +0 -1
- package/dist/chunk-YW7OBE6Q.mjs +0 -119
- package/dist/chunk-YW7OBE6Q.mjs.map +0 -1
- package/dist/chunk-Z5CQMP54.mjs +0 -365
- package/dist/chunk-Z5CQMP54.mjs.map +0 -1
- package/dist/chunk-ZBE6MLHL.mjs +0 -230
- package/dist/chunk-ZBE6MLHL.mjs.map +0 -1
- package/dist/chunk-ZZ57EH5Z.mjs +0 -173
- package/dist/chunk-ZZ57EH5Z.mjs.map +0 -1
- package/dist/client-BT1mFQas.d.mts +0 -447
- package/dist/client-Nn0q4eO4.d.ts +0 -447
- package/dist/client-cache-CIlyBlmx.d.ts +0 -6
- package/dist/client-cache-D-EZ7XVW.d.mts +0 -6
- package/dist/client-plugins-Cw4qUGsw.d.ts +0 -1855
- package/dist/client-plugins-DQQ1adXM.d.mts +0 -1855
- package/dist/client-plugins.cjs +0 -415
- package/dist/client-plugins.cjs.map +0 -1
- package/dist/client-plugins.d.mts +0 -22
- package/dist/client-plugins.d.ts +0 -22
- package/dist/client-plugins.mjs +0 -10
- package/dist/client-plugins.mjs.map +0 -1
- package/dist/client.cjs +0 -5402
- package/dist/client.cjs.map +0 -1
- package/dist/client.d.mts +0 -447
- package/dist/client.d.ts +0 -447
- package/dist/client.mjs +0 -110
- package/dist/client.mjs.map +0 -1
- package/dist/config.cjs +0 -38
- package/dist/config.cjs.map +0 -1
- package/dist/config.d.mts +0 -29
- package/dist/config.d.ts +0 -29
- package/dist/config.mjs +0 -10
- package/dist/config.mjs.map +0 -1
- package/dist/cron.cjs +0 -406
- package/dist/cron.cjs.map +0 -1
- package/dist/cron.d.mts +0 -78
- package/dist/cron.d.ts +0 -78
- package/dist/cron.mjs +0 -30
- package/dist/cron.mjs.map +0 -1
- package/dist/deferred.cjs +0 -438
- package/dist/deferred.cjs.map +0 -1
- package/dist/deferred.d.mts +0 -42
- package/dist/deferred.d.ts +0 -42
- package/dist/deferred.mjs +0 -28
- package/dist/deferred.mjs.map +0 -1
- package/dist/deployment.cjs +0 -199
- package/dist/deployment.cjs.map +0 -1
- package/dist/deployment.d.mts +0 -34
- package/dist/deployment.d.ts +0 -34
- package/dist/deployment.mjs +0 -38
- package/dist/deployment.mjs.map +0 -1
- package/dist/devtools-LVC3VB5P.mjs +0 -370
- package/dist/devtools-LVC3VB5P.mjs.map +0 -1
- package/dist/devtools-client-3XRTBND5.mjs +0 -216
- package/dist/devtools-client-3XRTBND5.mjs.map +0 -1
- package/dist/devtools-ui-NJKFORTG.mjs +0 -1349
- package/dist/devtools-ui-NJKFORTG.mjs.map +0 -1
- package/dist/docs.cjs +0 -5553
- package/dist/docs.cjs.map +0 -1
- package/dist/docs.d.mts +0 -69
- package/dist/docs.d.ts +0 -69
- package/dist/docs.mjs +0 -46
- package/dist/docs.mjs.map +0 -1
- package/dist/env-types.cjs +0 -223
- package/dist/env-types.cjs.map +0 -1
- package/dist/env-types.d.mts +0 -11
- package/dist/env-types.d.ts +0 -11
- package/dist/env-types.mjs +0 -9
- package/dist/env-types.mjs.map +0 -1
- package/dist/env.cjs +0 -215
- package/dist/env.cjs.map +0 -1
- package/dist/env.d.mts +0 -45
- package/dist/env.d.ts +0 -45
- package/dist/env.mjs +0 -22
- package/dist/env.mjs.map +0 -1
- package/dist/environment/vite.d.mts +0 -22
- package/dist/environment/vite.d.ts +0 -22
- package/dist/environment.cjs +0 -96
- package/dist/environment.cjs.map +0 -1
- package/dist/environment.d.mts +0 -18
- package/dist/environment.d.ts +0 -18
- package/dist/environment.mjs +0 -14
- package/dist/environment.mjs.map +0 -1
- package/dist/headers.cjs +0 -126
- package/dist/headers.cjs.map +0 -1
- package/dist/headers.d.mts +0 -22
- package/dist/headers.d.ts +0 -22
- package/dist/headers.mjs +0 -12
- package/dist/headers.mjs.map +0 -1
- package/dist/i18n/client.d.mts +0 -32
- package/dist/i18n/client.d.ts +0 -32
- package/dist/i18n/index.d.mts +0 -20
- package/dist/i18n/index.d.ts +0 -20
- package/dist/i18n/server.d.mts +0 -30
- package/dist/i18n/server.d.ts +0 -30
- package/dist/image/server.d.mts +0 -37
- package/dist/image/server.d.ts +0 -37
- package/dist/image/sharp.d.mts +0 -7
- package/dist/image/sharp.d.ts +0 -7
- package/dist/image-config-Duob7wER.d.mts +0 -50
- package/dist/image-config-Duob7wER.d.ts +0 -50
- package/dist/image.cjs +0 -209
- package/dist/image.cjs.map +0 -1
- package/dist/image.d.mts +0 -39
- package/dist/image.d.ts +0 -39
- package/dist/image.mjs +0 -165
- package/dist/image.mjs.map +0 -1
- package/dist/index.cjs +0 -41822
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.mts +0 -451
- package/dist/index.d.ts +0 -451
- package/dist/index.mjs +0 -973
- package/dist/index.mjs.map +0 -1
- package/dist/integration-api-CHT2OKAf.d.mts +0 -93
- package/dist/integration-api-CHT2OKAf.d.ts +0 -93
- package/dist/integration-orm-GQLGU66X.mjs +0 -13
- package/dist/integration-orm-GQLGU66X.mjs.map +0 -1
- package/dist/integrations.cjs +0 -2820
- package/dist/integrations.cjs.map +0 -1
- package/dist/integrations.d.mts +0 -22
- package/dist/integrations.d.ts +0 -22
- package/dist/integrations.mjs +0 -51
- package/dist/integrations.mjs.map +0 -1
- package/dist/internal/build-runtime.d.mts +0 -39
- package/dist/internal/build-runtime.d.ts +0 -39
- package/dist/internal/client-runtime.d.mts +0 -2
- package/dist/internal/client-runtime.d.ts +0 -2
- package/dist/internal/config-runtime.d.mts +0 -39
- package/dist/internal/config-runtime.d.ts +0 -39
- package/dist/internal/production-node-env.d.mts +0 -12
- package/dist/internal/production-node-env.d.ts +0 -12
- package/dist/internal/production-runtime.d.mts +0 -39
- package/dist/internal/production-runtime.d.ts +0 -39
- package/dist/layers-VWVDTPUZ.mjs +0 -16
- package/dist/layers-VWVDTPUZ.mjs.map +0 -1
- package/dist/manager-THKFTOFE.mjs +0 -10
- package/dist/manager-THKFTOFE.mjs.map +0 -1
- package/dist/markdown.cjs +0 -299
- package/dist/markdown.cjs.map +0 -1
- package/dist/markdown.d.mts +0 -43
- package/dist/markdown.d.ts +0 -43
- package/dist/markdown.mjs +0 -14
- package/dist/markdown.mjs.map +0 -1
- package/dist/metadata-BAPg_Nmo.d.ts +0 -22
- package/dist/metadata-_6i9oFG3.d.mts +0 -22
- package/dist/middleware.cjs +0 -2148
- package/dist/middleware.cjs.map +0 -1
- package/dist/middleware.d.mts +0 -164
- package/dist/middleware.d.ts +0 -164
- package/dist/middleware.mjs +0 -49
- package/dist/middleware.mjs.map +0 -1
- package/dist/navigation-errors-Dvwpzaer.d.mts +0 -13
- package/dist/navigation-errors-Dvwpzaer.d.ts +0 -13
- package/dist/navigation.cjs +0 -1329
- package/dist/navigation.cjs.map +0 -1
- package/dist/navigation.d.mts +0 -14
- package/dist/navigation.d.ts +0 -14
- package/dist/navigation.mjs +0 -33
- package/dist/navigation.mjs.map +0 -1
- package/dist/nitro-QO5LV6QK.mjs +0 -689
- package/dist/nitro-QO5LV6QK.mjs.map +0 -1
- package/dist/observability.cjs +0 -186
- package/dist/observability.cjs.map +0 -1
- package/dist/observability.d.mts +0 -335
- package/dist/observability.d.ts +0 -335
- package/dist/observability.mjs +0 -16
- package/dist/observability.mjs.map +0 -1
- package/dist/params-BALtrRim.d.ts +0 -15
- package/dist/params-ry-lxqmy.d.mts +0 -15
- package/dist/plugin-BJDf43dc.d.mts +0 -165
- package/dist/plugin-BJDf43dc.d.ts +0 -165
- package/dist/plugin.cjs +0 -23225
- package/dist/plugin.d.mts +0 -22
- package/dist/plugin.d.ts +0 -22
- package/dist/production-runtime-BoJDc5mc.d.ts +0 -79
- package/dist/production-runtime-C_B79w2P.d.mts +0 -28
- package/dist/production-runtime-DDEM1D2q.d.ts +0 -28
- package/dist/production-runtime-DPfgMV9Y.d.mts +0 -79
- package/dist/query/client.d.mts +0 -61
- package/dist/query/client.d.ts +0 -61
- package/dist/query/index.d.mts +0 -90
- package/dist/query/index.d.ts +0 -90
- package/dist/query/parsers.d.mts +0 -25
- package/dist/query/parsers.d.ts +0 -25
- package/dist/query/server.d.mts +0 -55
- package/dist/query/server.d.ts +0 -55
- package/dist/request-BrFBuc8G.d.mts +0 -6
- package/dist/request-BslSZIRz.d.ts +0 -6
- package/dist/request.d.mts +0 -2
- package/dist/request.d.ts +0 -2
- package/dist/resolver-C6iecsDV.d.ts +0 -14
- package/dist/resolver-DlOPpjkB.d.mts +0 -14
- package/dist/route-runtime-DoOHzCAD.d.mts +0 -38
- package/dist/route-runtime-DoOHzCAD.d.ts +0 -38
- package/dist/router.d.mts +0 -36
- package/dist/router.d.ts +0 -36
- package/dist/routes.d.mts +0 -224
- package/dist/routes.d.ts +0 -224
- package/dist/runtime-9nQjVM7X.d.mts +0 -206
- package/dist/runtime-B6GvwDS1.d.ts +0 -27
- package/dist/runtime-DeAAZ6gO.d.mts +0 -27
- package/dist/runtime-DgeS2skB.d.ts +0 -206
- package/dist/server-action-security.d.mts +0 -43
- package/dist/server-action-security.d.ts +0 -43
- package/dist/server-fn-client.d.mts +0 -32
- package/dist/server-fn-client.d.ts +0 -32
- package/dist/server-fn.d.mts +0 -93
- package/dist/server-fn.d.ts +0 -93
- package/dist/server-plugins.d.mts +0 -55
- package/dist/server-plugins.d.ts +0 -55
- package/dist/server-query-client.d.mts +0 -50
- package/dist/server-query-client.d.ts +0 -50
- package/dist/server-query.d.mts +0 -36
- package/dist/server-query.d.ts +0 -36
- package/dist/server.d.mts +0 -48
- package/dist/server.d.ts +0 -48
- package/dist/storage.d.mts +0 -52
- package/dist/storage.d.ts +0 -52
- package/dist/testing.d.mts +0 -101
- package/dist/testing.d.ts +0 -101
- package/dist/transport-BmbGTXA5.d.mts +0 -49
- package/dist/transport-BmbGTXA5.d.ts +0 -49
- package/dist/types-BH1lhg5G.d.mts +0 -81
- package/dist/types-BH1lhg5G.d.ts +0 -81
- package/dist/types-C9N-nk5R.d.mts +0 -53
- package/dist/types-C9N-nk5R.d.ts +0 -53
- package/dist/types-D1A6-XvH.d.mts +0 -73
- package/dist/types-D1A6-XvH.d.ts +0 -73
- package/dist/utils-CHXlMDkg.d.mts +0 -23
- package/dist/utils-Drsyz1Vj.d.ts +0 -23
- package/dist/version.d.mts +0 -3
- package/dist/version.d.ts +0 -3
- package/dist/vite.d.mts +0 -22
- package/dist/vite.d.ts +0 -22
- package/dist/workflows.d.mts +0 -110
- package/dist/workflows.d.ts +0 -110
package/dist/chunk-ITN462YM.mjs
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
localizeFarmHref,
|
|
3
|
-
resolveFarmLocalePath
|
|
4
|
-
} from "./chunk-44ZCFSKE.mjs";
|
|
5
|
-
import {
|
|
6
|
-
getActiveFarmI18nSnapshot
|
|
7
|
-
} from "./chunk-WZ5QFROO.mjs";
|
|
8
|
-
import {
|
|
9
|
-
__name
|
|
10
|
-
} from "./chunk-CGILA3WO.mjs";
|
|
11
|
-
|
|
12
|
-
// src/i18n/client-runtime.ts
|
|
13
|
-
import IntlMessageFormat from "intl-messageformat";
|
|
14
|
-
var listeners = /* @__PURE__ */ new Set();
|
|
15
|
-
var compiled = /* @__PURE__ */ new Map();
|
|
16
|
-
var currentSnapshot;
|
|
17
|
-
function getFarmI18nClientState() {
|
|
18
|
-
return currentSnapshot || getActiveFarmI18nSnapshot();
|
|
19
|
-
}
|
|
20
|
-
__name(getFarmI18nClientState, "getFarmI18nClientState");
|
|
21
|
-
function subscribeFarmI18n(listener) {
|
|
22
|
-
listeners.add(listener);
|
|
23
|
-
return () => listeners.delete(listener);
|
|
24
|
-
}
|
|
25
|
-
__name(subscribeFarmI18n, "subscribeFarmI18n");
|
|
26
|
-
function _hydrateFarmI18n(snapshot) {
|
|
27
|
-
if (!snapshot) return;
|
|
28
|
-
const changed = currentSnapshot?.locale !== snapshot.locale;
|
|
29
|
-
currentSnapshot = snapshot;
|
|
30
|
-
if (typeof window !== "undefined") window.__FARM_I18N__ = snapshot;
|
|
31
|
-
if (typeof document !== "undefined") {
|
|
32
|
-
document.documentElement.lang = snapshot.locale;
|
|
33
|
-
document.documentElement.dir = snapshot.direction;
|
|
34
|
-
}
|
|
35
|
-
if (changed) compiled.clear();
|
|
36
|
-
for (const listener of listeners) listener();
|
|
37
|
-
}
|
|
38
|
-
__name(_hydrateFarmI18n, "_hydrateFarmI18n");
|
|
39
|
-
var translate = /* @__PURE__ */ __name((key, values, rich = false) => {
|
|
40
|
-
const snapshot = requireSnapshot();
|
|
41
|
-
const message = snapshot.messages[key];
|
|
42
|
-
if (message === void 0) return key;
|
|
43
|
-
const cacheKey = `${snapshot.locale}\0${key}\0${message}`;
|
|
44
|
-
let formatter = compiled.get(cacheKey);
|
|
45
|
-
if (!formatter) {
|
|
46
|
-
formatter = new IntlMessageFormat(message, snapshot.locale);
|
|
47
|
-
compiled.set(cacheKey, formatter);
|
|
48
|
-
}
|
|
49
|
-
const result = formatter.format(values);
|
|
50
|
-
if (rich) return Array.isArray(result) && result.length === 1 ? result[0] : result;
|
|
51
|
-
if (Array.isArray(result) && result.some((part) => typeof part !== "string")) {
|
|
52
|
-
throw new Error(`Farm i18n message "${key}" contains rich content. Render it with t.rich().`);
|
|
53
|
-
}
|
|
54
|
-
return Array.isArray(result) ? result.join("") : String(result);
|
|
55
|
-
}, "translate");
|
|
56
|
-
var t = /* @__PURE__ */ __name(((key, values) => translate(key, values)), "t");
|
|
57
|
-
t.rich = (key, values) => translate(key, values, true);
|
|
58
|
-
t.raw = (key) => requireSnapshot().messages[key] ?? key;
|
|
59
|
-
t.has = (key) => key in requireSnapshot().messages;
|
|
60
|
-
function localizeActiveFarmHref(href, locale) {
|
|
61
|
-
const snapshot = getFarmI18nClientState();
|
|
62
|
-
if (!snapshot) return href;
|
|
63
|
-
return localizeFarmHref(href, locale || snapshot.locale, snapshot);
|
|
64
|
-
}
|
|
65
|
-
__name(localizeActiveFarmHref, "localizeActiveFarmHref");
|
|
66
|
-
function isFarmLocaleChangeHref(href) {
|
|
67
|
-
const snapshot = getFarmI18nClientState();
|
|
68
|
-
if (!snapshot || typeof window === "undefined") return false;
|
|
69
|
-
if (snapshot.routing === "none") return false;
|
|
70
|
-
const target = new URL(href, window.location.origin);
|
|
71
|
-
const match = resolveFarmLocalePath(target.pathname, snapshot);
|
|
72
|
-
const targetLocale = match.locale || snapshot.defaultLocale;
|
|
73
|
-
return targetLocale !== snapshot.locale;
|
|
74
|
-
}
|
|
75
|
-
__name(isFarmLocaleChangeHref, "isFarmLocaleChangeHref");
|
|
76
|
-
function createFarmClientTranslator() {
|
|
77
|
-
return ((key, ...args) => t(key, ...args));
|
|
78
|
-
}
|
|
79
|
-
__name(createFarmClientTranslator, "createFarmClientTranslator");
|
|
80
|
-
function requireSnapshot() {
|
|
81
|
-
const snapshot = getFarmI18nClientState();
|
|
82
|
-
if (!snapshot) {
|
|
83
|
-
throw new Error("Farm i18n is not configured or has not been hydrated.");
|
|
84
|
-
}
|
|
85
|
-
return snapshot;
|
|
86
|
-
}
|
|
87
|
-
__name(requireSnapshot, "requireSnapshot");
|
|
88
|
-
|
|
89
|
-
export {
|
|
90
|
-
getFarmI18nClientState,
|
|
91
|
-
subscribeFarmI18n,
|
|
92
|
-
_hydrateFarmI18n,
|
|
93
|
-
t,
|
|
94
|
-
localizeActiveFarmHref,
|
|
95
|
-
isFarmLocaleChangeHref,
|
|
96
|
-
createFarmClientTranslator
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=chunk-ITN462YM.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/i18n/client-runtime.ts"],"sourcesContent":["import IntlMessageFormat from \"intl-messageformat\";\nimport { getActiveFarmI18nSnapshot } from \"./bridge\";\nimport { localizeFarmHref, resolveFarmLocalePath } from \"./routing\";\nimport type {\n FarmI18nClientSnapshot,\n FarmI18nLocale,\n FarmI18nMessageArgs,\n FarmI18nMessageKey,\n FarmTranslator,\n} from \"./types\";\n\ntype Listener = () => void;\n\nconst listeners = new Set<Listener>();\nconst compiled = new Map<string, IntlMessageFormat>();\nlet currentSnapshot: FarmI18nClientSnapshot | undefined;\n\nexport function getFarmI18nClientState(): FarmI18nClientSnapshot | undefined {\n return currentSnapshot || getActiveFarmI18nSnapshot();\n}\n\nexport function subscribeFarmI18n(listener: Listener): () => void {\n listeners.add(listener);\n return () => listeners.delete(listener);\n}\n\nexport function _hydrateFarmI18n(snapshot: FarmI18nClientSnapshot | undefined): void {\n if (!snapshot) return;\n const changed = currentSnapshot?.locale !== snapshot.locale;\n currentSnapshot = snapshot;\n if (typeof window !== \"undefined\") window.__FARM_I18N__ = snapshot;\n if (typeof document !== \"undefined\") {\n document.documentElement.lang = snapshot.locale;\n document.documentElement.dir = snapshot.direction;\n }\n if (changed) compiled.clear();\n for (const listener of listeners) listener();\n}\n\nconst translate = (key: string, values?: Record<string, unknown>, rich = false): unknown => {\n const snapshot = requireSnapshot();\n const message = snapshot.messages[key];\n if (message === undefined) return key;\n const cacheKey = `${snapshot.locale}\\u0000${key}\\u0000${message}`;\n let formatter = compiled.get(cacheKey);\n if (!formatter) {\n formatter = new IntlMessageFormat(message, snapshot.locale);\n compiled.set(cacheKey, formatter);\n }\n const result = formatter.format(values as any);\n if (rich) return Array.isArray(result) && result.length === 1 ? result[0] : result;\n if (Array.isArray(result) && result.some((part) => typeof part !== \"string\")) {\n throw new Error(`Farm i18n message \"${key}\" contains rich content. Render it with t.rich().`);\n }\n return Array.isArray(result) ? result.join(\"\") : String(result);\n};\n\nexport const t = ((key: string, values?: Record<string, unknown>) =>\n translate(key, values)) as FarmTranslator;\nt.rich = (key: string, values?: Record<string, unknown>) => translate(key, values, true);\nt.raw = (key: string) => requireSnapshot().messages[key] ?? key;\nt.has = (key: string) => key in requireSnapshot().messages;\n\nexport function localizeActiveFarmHref(href: string, locale?: FarmI18nLocale): string {\n const snapshot = getFarmI18nClientState();\n if (!snapshot) return href;\n return localizeFarmHref(href, locale || snapshot.locale, snapshot);\n}\n\nexport function isFarmLocaleChangeHref(href: string): boolean {\n const snapshot = getFarmI18nClientState();\n if (!snapshot || typeof window === \"undefined\") return false;\n if (snapshot.routing === \"none\") return false;\n const target = new URL(href, window.location.origin);\n const match = resolveFarmLocalePath(target.pathname, snapshot);\n const targetLocale = match.locale || snapshot.defaultLocale;\n return targetLocale !== snapshot.locale;\n}\n\nexport function createFarmClientTranslator(): FarmTranslator {\n return (<TKey extends FarmI18nMessageKey>(key: TKey, ...args: FarmI18nMessageArgs<TKey>) =>\n t(key, ...args)) as FarmTranslator;\n}\n\nfunction requireSnapshot(): FarmI18nClientSnapshot {\n const snapshot = getFarmI18nClientState();\n if (!snapshot) {\n throw new Error(\"Farm i18n is not configured or has not been hydrated.\");\n }\n return snapshot;\n}\n"],"mappings":";;;;;;;;;;;;AAAA,OAAO,uBAAuB;AAa9B,IAAM,YAAY,oBAAI,IAAc;AACpC,IAAM,WAAW,oBAAI,IAA+B;AACpD,IAAI;AAEG,SAAS,yBAA6D;AAC3E,SAAO,mBAAmB,0BAA0B;AACtD;AAFgB;AAIT,SAAS,kBAAkB,UAAgC;AAChE,YAAU,IAAI,QAAQ;AACtB,SAAO,MAAM,UAAU,OAAO,QAAQ;AACxC;AAHgB;AAKT,SAAS,iBAAiB,UAAoD;AACnF,MAAI,CAAC,SAAU;AACf,QAAM,UAAU,iBAAiB,WAAW,SAAS;AACrD,oBAAkB;AAClB,MAAI,OAAO,WAAW,YAAa,QAAO,gBAAgB;AAC1D,MAAI,OAAO,aAAa,aAAa;AACnC,aAAS,gBAAgB,OAAO,SAAS;AACzC,aAAS,gBAAgB,MAAM,SAAS;AAAA,EAC1C;AACA,MAAI,QAAS,UAAS,MAAM;AAC5B,aAAW,YAAY,UAAW,UAAS;AAC7C;AAXgB;AAahB,IAAM,YAAY,wBAAC,KAAa,QAAkC,OAAO,UAAmB;AAC1F,QAAM,WAAW,gBAAgB;AACjC,QAAM,UAAU,SAAS,SAAS,GAAG;AACrC,MAAI,YAAY,OAAW,QAAO;AAClC,QAAM,WAAW,GAAG,SAAS,MAAM,KAAS,GAAG,KAAS,OAAO;AAC/D,MAAI,YAAY,SAAS,IAAI,QAAQ;AACrC,MAAI,CAAC,WAAW;AACd,gBAAY,IAAI,kBAAkB,SAAS,SAAS,MAAM;AAC1D,aAAS,IAAI,UAAU,SAAS;AAAA,EAClC;AACA,QAAM,SAAS,UAAU,OAAO,MAAa;AAC7C,MAAI,KAAM,QAAO,MAAM,QAAQ,MAAM,KAAK,OAAO,WAAW,IAAI,OAAO,CAAC,IAAI;AAC5E,MAAI,MAAM,QAAQ,MAAM,KAAK,OAAO,KAAK,CAAC,SAAS,OAAO,SAAS,QAAQ,GAAG;AAC5E,UAAM,IAAI,MAAM,sBAAsB,GAAG,mDAAmD;AAAA,EAC9F;AACA,SAAO,MAAM,QAAQ,MAAM,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,MAAM;AAChE,GAhBkB;AAkBX,IAAM,IAAK,yBAAC,KAAa,WAC9B,UAAU,KAAK,MAAM,IADL;AAElB,EAAE,OAAO,CAAC,KAAa,WAAqC,UAAU,KAAK,QAAQ,IAAI;AACvF,EAAE,MAAM,CAAC,QAAgB,gBAAgB,EAAE,SAAS,GAAG,KAAK;AAC5D,EAAE,MAAM,CAAC,QAAgB,OAAO,gBAAgB,EAAE;AAE3C,SAAS,uBAAuB,MAAc,QAAiC;AACpF,QAAM,WAAW,uBAAuB;AACxC,MAAI,CAAC,SAAU,QAAO;AACtB,SAAO,iBAAiB,MAAM,UAAU,SAAS,QAAQ,QAAQ;AACnE;AAJgB;AAMT,SAAS,uBAAuB,MAAuB;AAC5D,QAAM,WAAW,uBAAuB;AACxC,MAAI,CAAC,YAAY,OAAO,WAAW,YAAa,QAAO;AACvD,MAAI,SAAS,YAAY,OAAQ,QAAO;AACxC,QAAM,SAAS,IAAI,IAAI,MAAM,OAAO,SAAS,MAAM;AACnD,QAAM,QAAQ,sBAAsB,OAAO,UAAU,QAAQ;AAC7D,QAAM,eAAe,MAAM,UAAU,SAAS;AAC9C,SAAO,iBAAiB,SAAS;AACnC;AARgB;AAUT,SAAS,6BAA6C;AAC3D,UAAQ,CAAkC,QAAc,SACtD,EAAE,KAAK,GAAG,IAAI;AAClB;AAHgB;AAKhB,SAAS,kBAA0C;AACjD,QAAM,WAAW,uBAAuB;AACxC,MAAI,CAAC,UAAU;AACb,UAAM,IAAI,MAAM,uDAAuD;AAAA,EACzE;AACA,SAAO;AACT;AANS;","names":[]}
|
package/dist/chunk-J23HNLFY.mjs
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__name
|
|
3
|
-
} from "./chunk-CGILA3WO.mjs";
|
|
4
|
-
|
|
5
|
-
// src/environment.ts
|
|
6
|
-
var _FarmEnvironmentError = class _FarmEnvironmentError extends Error {
|
|
7
|
-
constructor(api, expected, actual) {
|
|
8
|
-
super(`${api}() can only be called on the ${expected}. It was called on the ${actual}.`);
|
|
9
|
-
this.api = api;
|
|
10
|
-
this.expected = expected;
|
|
11
|
-
this.actual = actual;
|
|
12
|
-
this.code = "FARM_ENVIRONMENT_MISMATCH";
|
|
13
|
-
this.name = "FarmEnvironmentError";
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
__name(_FarmEnvironmentError, "FarmEnvironmentError");
|
|
17
|
-
var FarmEnvironmentError = _FarmEnvironmentError;
|
|
18
|
-
function createServerOnlyFn(implementation, compiledActualEnvironment) {
|
|
19
|
-
if (compiledActualEnvironment) {
|
|
20
|
-
return createMismatchFunction("createServerOnlyFn", "server", compiledActualEnvironment);
|
|
21
|
-
}
|
|
22
|
-
if (getRuntimeEnvironment() !== "server") {
|
|
23
|
-
return createMismatchFunction("createServerOnlyFn", "server");
|
|
24
|
-
}
|
|
25
|
-
assertFunction(implementation, "createServerOnlyFn");
|
|
26
|
-
return implementation;
|
|
27
|
-
}
|
|
28
|
-
__name(createServerOnlyFn, "createServerOnlyFn");
|
|
29
|
-
function createClientOnlyFn(implementation, compiledActualEnvironment) {
|
|
30
|
-
if (compiledActualEnvironment) {
|
|
31
|
-
return createMismatchFunction("createClientOnlyFn", "client", compiledActualEnvironment);
|
|
32
|
-
}
|
|
33
|
-
if (getRuntimeEnvironment() !== "client") {
|
|
34
|
-
return createMismatchFunction("createClientOnlyFn", "client");
|
|
35
|
-
}
|
|
36
|
-
assertFunction(implementation, "createClientOnlyFn");
|
|
37
|
-
return implementation;
|
|
38
|
-
}
|
|
39
|
-
__name(createClientOnlyFn, "createClientOnlyFn");
|
|
40
|
-
function createIsomorphicFn(options) {
|
|
41
|
-
if (!options || typeof options !== "object") {
|
|
42
|
-
throw new TypeError("createIsomorphicFn requires server and client functions");
|
|
43
|
-
}
|
|
44
|
-
assertFunction(options.server, "createIsomorphicFn server");
|
|
45
|
-
assertFunction(options.client, "createIsomorphicFn client");
|
|
46
|
-
return getRuntimeEnvironment() === "server" ? options.server : options.client;
|
|
47
|
-
}
|
|
48
|
-
__name(createIsomorphicFn, "createIsomorphicFn");
|
|
49
|
-
function getRuntimeEnvironment() {
|
|
50
|
-
return typeof window === "undefined" ? "server" : "client";
|
|
51
|
-
}
|
|
52
|
-
__name(getRuntimeEnvironment, "getRuntimeEnvironment");
|
|
53
|
-
function createMismatchFunction(api, expected, actual = expected === "server" ? "client" : "server") {
|
|
54
|
-
return /* @__PURE__ */ __name(function farmEnvironmentBoundary() {
|
|
55
|
-
throw new FarmEnvironmentError(api, expected, actual);
|
|
56
|
-
}, "farmEnvironmentBoundary");
|
|
57
|
-
}
|
|
58
|
-
__name(createMismatchFunction, "createMismatchFunction");
|
|
59
|
-
function assertFunction(value, label) {
|
|
60
|
-
if (typeof value !== "function") {
|
|
61
|
-
throw new TypeError(`${label} must be a function`);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
__name(assertFunction, "assertFunction");
|
|
65
|
-
|
|
66
|
-
export {
|
|
67
|
-
FarmEnvironmentError,
|
|
68
|
-
createServerOnlyFn,
|
|
69
|
-
createClientOnlyFn,
|
|
70
|
-
createIsomorphicFn
|
|
71
|
-
};
|
|
72
|
-
//# sourceMappingURL=chunk-J23HNLFY.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/environment.ts"],"sourcesContent":["type AnyEnvironmentFunction = (...args: never[]) => unknown;\n\nexport type FarmEnvironment = \"server\" | \"client\";\n\nexport interface FarmIsomorphicFnOptions<TArgs extends unknown[], TServerResult, TClientResult> {\n server: (...args: TArgs) => TServerResult;\n client: (...args: TArgs) => TClientResult;\n}\n\nexport class FarmEnvironmentError extends Error {\n readonly code = \"FARM_ENVIRONMENT_MISMATCH\";\n\n constructor(\n readonly api: \"createServerOnlyFn\" | \"createClientOnlyFn\",\n readonly expected: FarmEnvironment,\n readonly actual: FarmEnvironment,\n ) {\n super(`${api}() can only be called on the ${expected}. It was called on the ${actual}.`);\n this.name = \"FarmEnvironmentError\";\n }\n}\n\nexport function createServerOnlyFn<TFunction extends AnyEnvironmentFunction>(\n implementation: TFunction,\n): TFunction;\nexport function createServerOnlyFn(\n implementation: AnyEnvironmentFunction | undefined,\n compiledActualEnvironment?: FarmEnvironment,\n): AnyEnvironmentFunction {\n if (compiledActualEnvironment) {\n return createMismatchFunction(\"createServerOnlyFn\", \"server\", compiledActualEnvironment);\n }\n if (getRuntimeEnvironment() !== \"server\") {\n return createMismatchFunction(\"createServerOnlyFn\", \"server\");\n }\n\n assertFunction(implementation, \"createServerOnlyFn\");\n return implementation;\n}\n\nexport function createClientOnlyFn<TFunction extends AnyEnvironmentFunction>(\n implementation: TFunction,\n): TFunction;\nexport function createClientOnlyFn(\n implementation: AnyEnvironmentFunction | undefined,\n compiledActualEnvironment?: FarmEnvironment,\n): AnyEnvironmentFunction {\n if (compiledActualEnvironment) {\n return createMismatchFunction(\"createClientOnlyFn\", \"client\", compiledActualEnvironment);\n }\n if (getRuntimeEnvironment() !== \"client\") {\n return createMismatchFunction(\"createClientOnlyFn\", \"client\");\n }\n\n assertFunction(implementation, \"createClientOnlyFn\");\n return implementation;\n}\n\nexport function createIsomorphicFn<TArgs extends unknown[], TServerResult, TClientResult>(\n options: FarmIsomorphicFnOptions<TArgs, TServerResult, TClientResult>,\n): (...args: TArgs) => TServerResult | TClientResult {\n if (!options || typeof options !== \"object\") {\n throw new TypeError(\"createIsomorphicFn requires server and client functions\");\n }\n\n assertFunction(options.server, \"createIsomorphicFn server\");\n assertFunction(options.client, \"createIsomorphicFn client\");\n\n return getRuntimeEnvironment() === \"server\" ? options.server : options.client;\n}\n\nfunction getRuntimeEnvironment(): FarmEnvironment {\n return typeof window === \"undefined\" ? \"server\" : \"client\";\n}\n\nfunction createMismatchFunction(\n api: \"createServerOnlyFn\" | \"createClientOnlyFn\",\n expected: FarmEnvironment,\n actual: FarmEnvironment = expected === \"server\" ? \"client\" : \"server\",\n) {\n return function farmEnvironmentBoundary(): never {\n throw new FarmEnvironmentError(api, expected, actual);\n };\n}\n\nfunction assertFunction(value: unknown, label: string): asserts value is AnyEnvironmentFunction {\n if (typeof value !== \"function\") {\n throw new TypeError(`${label} must be a function`);\n }\n}\n"],"mappings":";;;;;AASO,IAAM,wBAAN,MAAM,8BAA6B,MAAM;AAAA,EAG9C,YACW,KACA,UACA,QACT;AACA,UAAM,GAAG,GAAG,gCAAgC,QAAQ,0BAA0B,MAAM,GAAG;AAJ9E;AACA;AACA;AALX,SAAS,OAAO;AAQd,SAAK,OAAO;AAAA,EACd;AACF;AAXgD;AAAzC,IAAM,uBAAN;AAgBA,SAAS,mBACd,gBACA,2BACwB;AACxB,MAAI,2BAA2B;AAC7B,WAAO,uBAAuB,sBAAsB,UAAU,yBAAyB;AAAA,EACzF;AACA,MAAI,sBAAsB,MAAM,UAAU;AACxC,WAAO,uBAAuB,sBAAsB,QAAQ;AAAA,EAC9D;AAEA,iBAAe,gBAAgB,oBAAoB;AACnD,SAAO;AACT;AAbgB;AAkBT,SAAS,mBACd,gBACA,2BACwB;AACxB,MAAI,2BAA2B;AAC7B,WAAO,uBAAuB,sBAAsB,UAAU,yBAAyB;AAAA,EACzF;AACA,MAAI,sBAAsB,MAAM,UAAU;AACxC,WAAO,uBAAuB,sBAAsB,QAAQ;AAAA,EAC9D;AAEA,iBAAe,gBAAgB,oBAAoB;AACnD,SAAO;AACT;AAbgB;AAeT,SAAS,mBACd,SACmD;AACnD,MAAI,CAAC,WAAW,OAAO,YAAY,UAAU;AAC3C,UAAM,IAAI,UAAU,yDAAyD;AAAA,EAC/E;AAEA,iBAAe,QAAQ,QAAQ,2BAA2B;AAC1D,iBAAe,QAAQ,QAAQ,2BAA2B;AAE1D,SAAO,sBAAsB,MAAM,WAAW,QAAQ,SAAS,QAAQ;AACzE;AAXgB;AAahB,SAAS,wBAAyC;AAChD,SAAO,OAAO,WAAW,cAAc,WAAW;AACpD;AAFS;AAIT,SAAS,uBACP,KACA,UACA,SAA0B,aAAa,WAAW,WAAW,UAC7D;AACA,SAAO,gCAAS,0BAAiC;AAC/C,UAAM,IAAI,qBAAqB,KAAK,UAAU,MAAM;AAAA,EACtD,GAFO;AAGT;AARS;AAUT,SAAS,eAAe,OAAgB,OAAwD;AAC9F,MAAI,OAAO,UAAU,YAAY;AAC/B,UAAM,IAAI,UAAU,GAAG,KAAK,qBAAqB;AAAA,EACnD;AACF;AAJS;","names":[]}
|
package/dist/chunk-J4FNJ5IU.mjs
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__name
|
|
3
|
-
} from "./chunk-CGILA3WO.mjs";
|
|
4
|
-
|
|
5
|
-
// src/utils.ts
|
|
6
|
-
import path from "path";
|
|
7
|
-
function parseRoutePath(filePath) {
|
|
8
|
-
const segments = [];
|
|
9
|
-
const normalizedPath = filePath.replace(/\\/g, "/");
|
|
10
|
-
const pathParts = normalizedPath.split("/").filter(Boolean);
|
|
11
|
-
const fileName = pathParts.pop() || "";
|
|
12
|
-
const fileType = getRouteType(fileName);
|
|
13
|
-
for (const part of pathParts) {
|
|
14
|
-
if (part.startsWith("[") && part.endsWith("]")) {
|
|
15
|
-
let segment = part.slice(1, -1);
|
|
16
|
-
const isDynamic = true;
|
|
17
|
-
let isOptional = false;
|
|
18
|
-
let isCatchAll = false;
|
|
19
|
-
if (segment.startsWith("[") && segment.endsWith("]")) {
|
|
20
|
-
isOptional = true;
|
|
21
|
-
segment = segment.slice(1, -1);
|
|
22
|
-
if (segment.startsWith("...")) {
|
|
23
|
-
segment = segment.slice(3);
|
|
24
|
-
isCatchAll = true;
|
|
25
|
-
}
|
|
26
|
-
} else if (segment.startsWith("...")) {
|
|
27
|
-
segment = segment.slice(3);
|
|
28
|
-
isCatchAll = true;
|
|
29
|
-
}
|
|
30
|
-
segments.push({ segment, isDynamic, isOptional, isCatchAll });
|
|
31
|
-
} else {
|
|
32
|
-
segments.push({
|
|
33
|
-
segment: part,
|
|
34
|
-
isDynamic: false,
|
|
35
|
-
isOptional: false,
|
|
36
|
-
isCatchAll: false
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return {
|
|
41
|
-
segments,
|
|
42
|
-
filePath: normalizedPath,
|
|
43
|
-
type: fileType
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
__name(parseRoutePath, "parseRoutePath");
|
|
47
|
-
function getRouteType(fileName) {
|
|
48
|
-
const baseName = fileName.replace(/\.(tsx?|jsx?|mdx?|markdown)$/, "");
|
|
49
|
-
switch (baseName) {
|
|
50
|
-
case "page":
|
|
51
|
-
return "page";
|
|
52
|
-
case "layout":
|
|
53
|
-
return "layout";
|
|
54
|
-
case "loading":
|
|
55
|
-
return "loading";
|
|
56
|
-
case "error":
|
|
57
|
-
return "error";
|
|
58
|
-
case "not-found":
|
|
59
|
-
return "not-found";
|
|
60
|
-
default:
|
|
61
|
-
return "page";
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
__name(getRouteType, "getRouteType");
|
|
65
|
-
function segmentsToPattern(segments) {
|
|
66
|
-
if (segments.length === 0) return "/";
|
|
67
|
-
return "/" + segments.map((segment) => {
|
|
68
|
-
if (!segment.isDynamic) return segment.segment;
|
|
69
|
-
if (segment.isCatchAll) {
|
|
70
|
-
return segment.isOptional ? `*${segment.segment}?` : `*${segment.segment}`;
|
|
71
|
-
}
|
|
72
|
-
return `:${segment.segment}`;
|
|
73
|
-
}).join("/");
|
|
74
|
-
}
|
|
75
|
-
__name(segmentsToPattern, "segmentsToPattern");
|
|
76
|
-
function matchRoute(url, segments) {
|
|
77
|
-
const urlParts = url.split("/").filter(Boolean);
|
|
78
|
-
const params = {};
|
|
79
|
-
if (segments.length === 0) {
|
|
80
|
-
return { params, matches: urlParts.length === 0 };
|
|
81
|
-
}
|
|
82
|
-
let urlIndex = 0;
|
|
83
|
-
let segmentIndex = 0;
|
|
84
|
-
while (segmentIndex < segments.length && urlIndex <= urlParts.length) {
|
|
85
|
-
const segment = segments[segmentIndex];
|
|
86
|
-
if (!segment.isDynamic) {
|
|
87
|
-
if (urlParts[urlIndex] !== segment.segment) {
|
|
88
|
-
return { params: {}, matches: false };
|
|
89
|
-
}
|
|
90
|
-
urlIndex++;
|
|
91
|
-
segmentIndex++;
|
|
92
|
-
} else if (segment.isCatchAll) {
|
|
93
|
-
const remainingParts = urlParts.slice(urlIndex);
|
|
94
|
-
if (remainingParts.length === 0 && !segment.isOptional) {
|
|
95
|
-
return { params: {}, matches: false };
|
|
96
|
-
}
|
|
97
|
-
params[segment.segment] = remainingParts.join("/");
|
|
98
|
-
urlIndex = urlParts.length;
|
|
99
|
-
segmentIndex++;
|
|
100
|
-
} else {
|
|
101
|
-
if (urlIndex >= urlParts.length) {
|
|
102
|
-
return { params: {}, matches: false };
|
|
103
|
-
}
|
|
104
|
-
params[segment.segment] = urlParts[urlIndex];
|
|
105
|
-
urlIndex++;
|
|
106
|
-
segmentIndex++;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
const matches = segmentIndex === segments.length && urlIndex === urlParts.length;
|
|
110
|
-
return { params, matches };
|
|
111
|
-
}
|
|
112
|
-
__name(matchRoute, "matchRoute");
|
|
113
|
-
function resolveAppPath(root, ...paths) {
|
|
114
|
-
return path.resolve(root, ...paths);
|
|
115
|
-
}
|
|
116
|
-
__name(resolveAppPath, "resolveAppPath");
|
|
117
|
-
function toViteModuleId(filePath, root) {
|
|
118
|
-
if (!path.isAbsolute(filePath)) return filePath;
|
|
119
|
-
const relativePath = path.relative(root, filePath);
|
|
120
|
-
if (relativePath && !relativePath.startsWith("..") && !path.isAbsolute(relativePath)) {
|
|
121
|
-
return `/${relativePath.split(path.sep).join("/")}`;
|
|
122
|
-
}
|
|
123
|
-
const normalizedPath = filePath.replace(/\\/g, "/");
|
|
124
|
-
return normalizedPath.startsWith("/") ? `/@fs${normalizedPath}` : `/@fs/${normalizedPath}`;
|
|
125
|
-
}
|
|
126
|
-
__name(toViteModuleId, "toViteModuleId");
|
|
127
|
-
async function fileExists(filePath) {
|
|
128
|
-
try {
|
|
129
|
-
const fs = await import("fs/promises");
|
|
130
|
-
await fs.access(filePath);
|
|
131
|
-
return true;
|
|
132
|
-
} catch {
|
|
133
|
-
return false;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
__name(fileExists, "fileExists");
|
|
137
|
-
async function globFiles(pattern, cwd) {
|
|
138
|
-
const glob = await import("fast-glob");
|
|
139
|
-
return glob.default(pattern, { cwd, absolute: false });
|
|
140
|
-
}
|
|
141
|
-
__name(globFiles, "globFiles");
|
|
142
|
-
function parseSearchParams(searchParams) {
|
|
143
|
-
const result = {};
|
|
144
|
-
for (const [key, value] of searchParams.entries()) {
|
|
145
|
-
if (key in result) {
|
|
146
|
-
const existing = result[key];
|
|
147
|
-
if (Array.isArray(existing)) {
|
|
148
|
-
existing.push(value);
|
|
149
|
-
} else {
|
|
150
|
-
result[key] = [existing, value];
|
|
151
|
-
}
|
|
152
|
-
} else {
|
|
153
|
-
result[key] = value;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return result;
|
|
157
|
-
}
|
|
158
|
-
__name(parseSearchParams, "parseSearchParams");
|
|
159
|
-
var logger = {
|
|
160
|
-
info: /* @__PURE__ */ __name((message) => console.log(`[info] ${message}`), "info"),
|
|
161
|
-
success: /* @__PURE__ */ __name((message) => console.log(`[success] ${message}`), "success"),
|
|
162
|
-
warn: /* @__PURE__ */ __name((message) => console.warn(`\u26A0\uFE0F ${message}`), "warn"),
|
|
163
|
-
error: /* @__PURE__ */ __name((message) => console.error(`\u274C ${message}`), "error"),
|
|
164
|
-
ready: /* @__PURE__ */ __name((message) => console.log(`${message}`), "ready"),
|
|
165
|
-
event: /* @__PURE__ */ __name((message) => console.log(` ${message}`), "event")
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
export {
|
|
169
|
-
parseRoutePath,
|
|
170
|
-
segmentsToPattern,
|
|
171
|
-
matchRoute,
|
|
172
|
-
resolveAppPath,
|
|
173
|
-
toViteModuleId,
|
|
174
|
-
fileExists,
|
|
175
|
-
globFiles,
|
|
176
|
-
parseSearchParams,
|
|
177
|
-
logger
|
|
178
|
-
};
|
|
179
|
-
//# sourceMappingURL=chunk-J4FNJ5IU.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils.ts"],"sourcesContent":["import type { RouteSegment, ParsedRoute } from \"./types\";\nimport path from \"path\";\n\nexport function parseRoutePath(filePath: string): ParsedRoute {\n const segments: RouteSegment[] = [];\n const normalizedPath = filePath.replace(/\\\\/g, \"/\");\n const pathParts = normalizedPath.split(\"/\").filter(Boolean);\n\n const fileName = pathParts.pop() || \"\";\n const fileType = getRouteType(fileName);\n\n for (const part of pathParts) {\n if (part.startsWith(\"[\") && part.endsWith(\"]\")) {\n let segment = part.slice(1, -1);\n const isDynamic = true;\n let isOptional = false;\n let isCatchAll = false;\n\n if (segment.startsWith(\"[\") && segment.endsWith(\"]\")) {\n isOptional = true;\n segment = segment.slice(1, -1);\n if (segment.startsWith(\"...\")) {\n segment = segment.slice(3);\n isCatchAll = true;\n }\n } else if (segment.startsWith(\"...\")) {\n segment = segment.slice(3);\n isCatchAll = true;\n }\n\n segments.push({ segment, isDynamic, isOptional, isCatchAll });\n } else {\n segments.push({\n segment: part,\n isDynamic: false,\n isOptional: false,\n isCatchAll: false,\n });\n }\n }\n\n return {\n segments,\n filePath: normalizedPath,\n type: fileType,\n };\n}\n\nfunction getRouteType(fileName: string): ParsedRoute[\"type\"] {\n const baseName = fileName.replace(/\\.(tsx?|jsx?|mdx?|markdown)$/, \"\");\n\n switch (baseName) {\n case \"page\":\n return \"page\";\n case \"layout\":\n return \"layout\";\n case \"loading\":\n return \"loading\";\n case \"error\":\n return \"error\";\n case \"not-found\":\n return \"not-found\";\n default:\n return \"page\";\n }\n}\n\nexport function segmentsToPattern(segments: RouteSegment[]): string {\n if (segments.length === 0) return \"/\";\n\n return (\n \"/\" +\n segments\n .map((segment) => {\n if (!segment.isDynamic) return segment.segment;\n\n if (segment.isCatchAll) {\n return segment.isOptional ? `*${segment.segment}?` : `*${segment.segment}`;\n }\n\n return `:${segment.segment}`;\n })\n .join(\"/\")\n );\n}\n\nexport function matchRoute(\n url: string,\n segments: RouteSegment[],\n): { params: Record<string, string>; matches: boolean } {\n const urlParts = url.split(\"/\").filter(Boolean);\n const params: Record<string, string> = {};\n if (segments.length === 0) {\n return { params, matches: urlParts.length === 0 };\n }\n\n let urlIndex = 0;\n let segmentIndex = 0;\n\n while (segmentIndex < segments.length && urlIndex <= urlParts.length) {\n const segment = segments[segmentIndex];\n\n if (!segment.isDynamic) {\n if (urlParts[urlIndex] !== segment.segment) {\n return { params: {}, matches: false };\n }\n urlIndex++;\n segmentIndex++;\n } else if (segment.isCatchAll) {\n const remainingParts = urlParts.slice(urlIndex);\n\n if (remainingParts.length === 0 && !segment.isOptional) {\n return { params: {}, matches: false };\n }\n\n params[segment.segment] = remainingParts.join(\"/\");\n urlIndex = urlParts.length;\n segmentIndex++;\n } else {\n if (urlIndex >= urlParts.length) {\n return { params: {}, matches: false };\n }\n\n params[segment.segment] = urlParts[urlIndex];\n urlIndex++;\n segmentIndex++;\n }\n }\n\n const matches = segmentIndex === segments.length && urlIndex === urlParts.length;\n\n return { params, matches };\n}\n\nexport function resolveAppPath(root: string, ...paths: string[]): string {\n return path.resolve(root, ...paths);\n}\n\nexport function toViteModuleId(filePath: string, root: string): string {\n if (!path.isAbsolute(filePath)) return filePath;\n\n const relativePath = path.relative(root, filePath);\n if (relativePath && !relativePath.startsWith(\"..\") && !path.isAbsolute(relativePath)) {\n return `/${relativePath.split(path.sep).join(\"/\")}`;\n }\n\n const normalizedPath = filePath.replace(/\\\\/g, \"/\");\n return normalizedPath.startsWith(\"/\") ? `/@fs${normalizedPath}` : `/@fs/${normalizedPath}`;\n}\n\nexport async function fileExists(filePath: string): Promise<boolean> {\n try {\n const fs = await import(\"fs/promises\");\n await fs.access(filePath);\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function globFiles(pattern: string, cwd: string): Promise<string[]> {\n const glob = await import(\"fast-glob\");\n return glob.default(pattern, { cwd, absolute: false });\n}\n\nexport function parseSearchParams(\n searchParams: URLSearchParams,\n): Record<string, string | string[]> {\n const result: Record<string, string | string[]> = {};\n\n for (const [key, value] of searchParams.entries()) {\n if (key in result) {\n const existing = result[key];\n if (Array.isArray(existing)) {\n existing.push(value);\n } else {\n result[key] = [existing, value];\n }\n } else {\n result[key] = value;\n }\n }\n\n return result;\n}\n\nexport const logger = {\n info: (message: string) => console.log(`[info] ${message}`),\n success: (message: string) => console.log(`[success] ${message}`),\n warn: (message: string) => console.warn(`⚠️ ${message}`),\n error: (message: string) => console.error(`❌ ${message}`),\n ready: (message: string) => console.log(`${message}`),\n event: (message: string) => console.log(` ${message}`),\n};\n"],"mappings":"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","names":[]}
|
package/dist/chunk-J5YWQVI5.mjs
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getFarmClientDataCache
|
|
3
|
-
} from "./chunk-TQAEEJB4.mjs";
|
|
4
|
-
import {
|
|
5
|
-
isFarmServerQueryResult
|
|
6
|
-
} from "./chunk-SCFX4UTD.mjs";
|
|
7
|
-
import {
|
|
8
|
-
createFarmCacheKey
|
|
9
|
-
} from "./chunk-V3XURYJO.mjs";
|
|
10
|
-
import {
|
|
11
|
-
__name
|
|
12
|
-
} from "./chunk-CGILA3WO.mjs";
|
|
13
|
-
|
|
14
|
-
// src/server-query-client.ts
|
|
15
|
-
import { useCallback, useEffect, useRef, useSyncExternalStore } from "react";
|
|
16
|
-
var FARM_SERVER_QUERY_CLIENT_STATE = /* @__PURE__ */ Symbol.for("farm.serverQueryClientState");
|
|
17
|
-
var serverQueryClientGlobal = globalThis;
|
|
18
|
-
var serverQueryClientState = serverQueryClientGlobal[FARM_SERVER_QUERY_CLIENT_STATE] ?? (serverQueryClientGlobal[FARM_SERVER_QUERY_CLIENT_STATE] = {
|
|
19
|
-
functionIds: /* @__PURE__ */ new WeakMap(),
|
|
20
|
-
nextFunctionId: 0,
|
|
21
|
-
active: []
|
|
22
|
-
});
|
|
23
|
-
function beginFarmServerQueryAction(actionId, args) {
|
|
24
|
-
const active = serverQueryClientState.active.at(-1);
|
|
25
|
-
return {
|
|
26
|
-
actionId,
|
|
27
|
-
args,
|
|
28
|
-
provisionalKey: active?.provisionalKey
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
__name(beginFarmServerQueryAction, "beginFarmServerQueryAction");
|
|
32
|
-
function completeFarmServerQueryAction(invocation, value) {
|
|
33
|
-
if (!isFarmServerQueryResult(value)) return value;
|
|
34
|
-
const cache = getFarmClientDataCache();
|
|
35
|
-
const metadata = value.__farmServerQuery;
|
|
36
|
-
if (invocation.provisionalKey) {
|
|
37
|
-
cache.alias(invocation.provisionalKey, metadata.key);
|
|
38
|
-
}
|
|
39
|
-
cache.set(metadata.key, {
|
|
40
|
-
data: value.data,
|
|
41
|
-
updatedAt: metadata.updatedAt,
|
|
42
|
-
staleAt: metadata.staleTime === false ? Number.POSITIVE_INFINITY : metadata.updatedAt + metadata.staleTime,
|
|
43
|
-
status: "success",
|
|
44
|
-
error: null,
|
|
45
|
-
fetching: false
|
|
46
|
-
});
|
|
47
|
-
return value.data;
|
|
48
|
-
}
|
|
49
|
-
__name(completeFarmServerQueryAction, "completeFarmServerQueryAction");
|
|
50
|
-
async function fetchServerQuery(query, input, options = {}) {
|
|
51
|
-
const cache = getFarmClientDataCache();
|
|
52
|
-
const provisionalKey = createServerQueryCallKey(query, input);
|
|
53
|
-
const entry = cache.get(provisionalKey);
|
|
54
|
-
const stale = cache.isStale(provisionalKey);
|
|
55
|
-
const inflight = cache.getInflight(provisionalKey);
|
|
56
|
-
if (inflight) return inflight;
|
|
57
|
-
if (!options.force && entry && !stale && entry.status !== "error") {
|
|
58
|
-
return entry.data;
|
|
59
|
-
}
|
|
60
|
-
if (!options.force && entry && stale && entry.status !== "pending" && entry.status !== "error" && (options.swr ?? true)) {
|
|
61
|
-
void executeServerQuery(query, input, provisionalKey, options).catch(() => void 0);
|
|
62
|
-
return entry.data;
|
|
63
|
-
}
|
|
64
|
-
return executeServerQuery(query, input, provisionalKey, options);
|
|
65
|
-
}
|
|
66
|
-
__name(fetchServerQuery, "fetchServerQuery");
|
|
67
|
-
function prefetchServerQuery(query, input, options = {}) {
|
|
68
|
-
return fetchServerQuery(query, input, options);
|
|
69
|
-
}
|
|
70
|
-
__name(prefetchServerQuery, "prefetchServerQuery");
|
|
71
|
-
function useServerQuery(query, input, options = {}) {
|
|
72
|
-
const cache = getFarmClientDataCache();
|
|
73
|
-
const key = createServerQueryCallKey(query, input);
|
|
74
|
-
const inputRef = useRef(input);
|
|
75
|
-
const optionsRef = useRef(options);
|
|
76
|
-
const mountedKeyRef = useRef(void 0);
|
|
77
|
-
inputRef.current = input;
|
|
78
|
-
optionsRef.current = options;
|
|
79
|
-
const subscribe = useCallback(
|
|
80
|
-
(listener) => cache.subscribe(key, listener),
|
|
81
|
-
[cache, key]
|
|
82
|
-
);
|
|
83
|
-
const getSnapshot = useCallback(() => cache.get(key), [cache, key]);
|
|
84
|
-
const entry = useSyncExternalStore(subscribe, getSnapshot, () => void 0);
|
|
85
|
-
const run = useCallback(
|
|
86
|
-
(force = false) => fetchServerQuery(query, inputRef.current, {
|
|
87
|
-
...optionsRef.current,
|
|
88
|
-
force
|
|
89
|
-
}),
|
|
90
|
-
[query]
|
|
91
|
-
);
|
|
92
|
-
useEffect(() => {
|
|
93
|
-
if (options.enabled === false) return;
|
|
94
|
-
const firstReadForKey = mountedKeyRef.current !== key;
|
|
95
|
-
if (firstReadForKey) mountedKeyRef.current = key;
|
|
96
|
-
if (firstReadForKey && (!entry || cache.isStale(key)) || entry?.invalidatedAt !== void 0 && !entry.fetching) {
|
|
97
|
-
void run().catch(() => void 0);
|
|
98
|
-
}
|
|
99
|
-
}, [cache, entry, key, options.enabled, run]);
|
|
100
|
-
useEffect(() => {
|
|
101
|
-
if (options.enabled === false || typeof window === "undefined") return;
|
|
102
|
-
const refreshIfStale = /* @__PURE__ */ __name(() => {
|
|
103
|
-
if (cache.isStale(key)) void run().catch(() => void 0);
|
|
104
|
-
}, "refreshIfStale");
|
|
105
|
-
const onFocus = options.refetchOnWindowFocus === false ? void 0 : refreshIfStale;
|
|
106
|
-
const onOnline = options.refetchOnReconnect === false ? void 0 : refreshIfStale;
|
|
107
|
-
if (onFocus) window.addEventListener("focus", onFocus);
|
|
108
|
-
if (onOnline) window.addEventListener("online", onOnline);
|
|
109
|
-
return () => {
|
|
110
|
-
if (onFocus) window.removeEventListener("focus", onFocus);
|
|
111
|
-
if (onOnline) window.removeEventListener("online", onOnline);
|
|
112
|
-
};
|
|
113
|
-
}, [cache, key, options.enabled, options.refetchOnReconnect, options.refetchOnWindowFocus, run]);
|
|
114
|
-
const status = entry?.status ?? (entry ? "success" : "idle");
|
|
115
|
-
const fetching = entry?.fetching ?? false;
|
|
116
|
-
return {
|
|
117
|
-
data: entry?.data,
|
|
118
|
-
error: entry?.error ?? null,
|
|
119
|
-
status,
|
|
120
|
-
pending: status === "pending" && (entry?.updatedAt ?? 0) === 0,
|
|
121
|
-
fetching,
|
|
122
|
-
stale: cache.isStale(key),
|
|
123
|
-
refetch: /* @__PURE__ */ __name(() => run(true), "refetch")
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
__name(useServerQuery, "useServerQuery");
|
|
127
|
-
function createServerQueryCallKey(query, input) {
|
|
128
|
-
let id = serverQueryClientState.functionIds.get(query);
|
|
129
|
-
if (!id) {
|
|
130
|
-
id = ++serverQueryClientState.nextFunctionId;
|
|
131
|
-
serverQueryClientState.functionIds.set(query, id);
|
|
132
|
-
}
|
|
133
|
-
return createFarmCacheKey(["server-query-call", id, input]);
|
|
134
|
-
}
|
|
135
|
-
__name(createServerQueryCallKey, "createServerQueryCallKey");
|
|
136
|
-
async function executeServerQuery(query, input, provisionalKey, options) {
|
|
137
|
-
const cache = getFarmClientDataCache();
|
|
138
|
-
const inflight = cache.getInflight(provisionalKey);
|
|
139
|
-
if (inflight) return inflight;
|
|
140
|
-
const previous = cache.get(provisionalKey);
|
|
141
|
-
cache.set(provisionalKey, {
|
|
142
|
-
data: previous?.data,
|
|
143
|
-
updatedAt: previous?.updatedAt ?? 0,
|
|
144
|
-
staleAt: previous?.staleAt ?? 0,
|
|
145
|
-
gcAt: previous?.gcAt,
|
|
146
|
-
invalidatedAt: previous?.invalidatedAt,
|
|
147
|
-
status: "pending",
|
|
148
|
-
error: null,
|
|
149
|
-
fetching: true
|
|
150
|
-
});
|
|
151
|
-
const promise = (async () => {
|
|
152
|
-
try {
|
|
153
|
-
serverQueryClientState.active.push({ provisionalKey });
|
|
154
|
-
let pending;
|
|
155
|
-
try {
|
|
156
|
-
pending = query(input);
|
|
157
|
-
} finally {
|
|
158
|
-
serverQueryClientState.active.pop();
|
|
159
|
-
}
|
|
160
|
-
const data = await pending;
|
|
161
|
-
const transported = cache.get(provisionalKey);
|
|
162
|
-
if (!transported || transported.fetching) {
|
|
163
|
-
const updatedAt = Date.now();
|
|
164
|
-
cache.set(provisionalKey, {
|
|
165
|
-
data,
|
|
166
|
-
updatedAt,
|
|
167
|
-
staleAt: options.staleTime === false ? Number.POSITIVE_INFINITY : updatedAt + (options.staleTime ?? 0),
|
|
168
|
-
status: "success",
|
|
169
|
-
error: null,
|
|
170
|
-
fetching: false
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
return data;
|
|
174
|
-
} catch (cause) {
|
|
175
|
-
const error = normalizeServerQueryError(cause);
|
|
176
|
-
const current = cache.get(provisionalKey);
|
|
177
|
-
cache.set(provisionalKey, {
|
|
178
|
-
data: current?.data,
|
|
179
|
-
updatedAt: current?.updatedAt ?? 0,
|
|
180
|
-
staleAt: current?.staleAt ?? 0,
|
|
181
|
-
gcAt: current?.gcAt,
|
|
182
|
-
invalidatedAt: current?.invalidatedAt,
|
|
183
|
-
status: "error",
|
|
184
|
-
error,
|
|
185
|
-
fetching: false
|
|
186
|
-
});
|
|
187
|
-
throw error;
|
|
188
|
-
} finally {
|
|
189
|
-
cache.deleteInflight(provisionalKey);
|
|
190
|
-
}
|
|
191
|
-
})();
|
|
192
|
-
cache.setInflight(provisionalKey, promise);
|
|
193
|
-
return promise;
|
|
194
|
-
}
|
|
195
|
-
__name(executeServerQuery, "executeServerQuery");
|
|
196
|
-
function normalizeServerQueryError(cause) {
|
|
197
|
-
if (cause instanceof Error) return cause;
|
|
198
|
-
const error = new Error(typeof cause === "string" ? cause : "Server query failed");
|
|
199
|
-
error.cause = cause;
|
|
200
|
-
return error;
|
|
201
|
-
}
|
|
202
|
-
__name(normalizeServerQueryError, "normalizeServerQueryError");
|
|
203
|
-
|
|
204
|
-
export {
|
|
205
|
-
beginFarmServerQueryAction,
|
|
206
|
-
completeFarmServerQueryAction,
|
|
207
|
-
fetchServerQuery,
|
|
208
|
-
prefetchServerQuery,
|
|
209
|
-
useServerQuery
|
|
210
|
-
};
|
|
211
|
-
//# sourceMappingURL=chunk-J5YWQVI5.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server-query-client.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useRef, useSyncExternalStore } from \"react\";\nimport { createFarmCacheKey } from \"./cache\";\nimport {\n getFarmClientDataCache,\n type FarmClientCacheEntry,\n type FarmClientCacheStatus,\n} from \"./client-cache\";\nimport type { ServerQuery } from \"./server-query\";\nimport { isFarmServerQueryResult, type FarmServerQueryResult } from \"./server-query-protocol\";\n\nexport type ServerQueryFetchOptions = {\n /** Used only when a non-Farm transport returns plain data. Farm transports use the declaration. */\n staleTime?: number | false;\n /** Return stale data immediately while refreshing it in the background. Default true. */\n swr?: boolean;\n /** Always wait for a new result. */\n force?: boolean;\n};\n\nexport type UseServerQueryOptions = ServerQueryFetchOptions & {\n enabled?: boolean;\n refetchOnWindowFocus?: boolean;\n refetchOnReconnect?: boolean;\n};\n\nexport type UseServerQueryResult<TData> = {\n data: TData | undefined;\n error: Error | null;\n status: FarmClientCacheStatus;\n pending: boolean;\n fetching: boolean;\n stale: boolean;\n refetch: () => Promise<TData>;\n};\n\nexport type FarmServerQueryActionInvocation = {\n actionId: string;\n args: readonly unknown[];\n provisionalKey?: string;\n};\n\ntype ActiveServerQueryInvocation = {\n provisionalKey: string;\n};\n\ntype ServerQueryClientState = {\n functionIds: WeakMap<Function, number>;\n nextFunctionId: number;\n active: ActiveServerQueryInvocation[];\n};\n\nconst FARM_SERVER_QUERY_CLIENT_STATE = Symbol.for(\"farm.serverQueryClientState\");\nconst serverQueryClientGlobal = globalThis as typeof globalThis & {\n [FARM_SERVER_QUERY_CLIENT_STATE]?: ServerQueryClientState;\n};\nconst serverQueryClientState = (serverQueryClientGlobal[FARM_SERVER_QUERY_CLIENT_STATE] ??= {\n functionIds: new WeakMap(),\n nextFunctionId: 0,\n active: [],\n});\n\nexport function beginFarmServerQueryAction(\n actionId: string,\n args: readonly unknown[],\n): FarmServerQueryActionInvocation {\n const active = serverQueryClientState.active.at(-1);\n return {\n actionId,\n args,\n provisionalKey: active?.provisionalKey,\n };\n}\n\nexport function completeFarmServerQueryAction<TData>(\n invocation: FarmServerQueryActionInvocation,\n value: TData | FarmServerQueryResult<TData>,\n): TData {\n if (!isFarmServerQueryResult(value)) return value as TData;\n\n const cache = getFarmClientDataCache();\n const metadata = value.__farmServerQuery;\n if (invocation.provisionalKey) {\n cache.alias(invocation.provisionalKey, metadata.key);\n }\n\n cache.set(metadata.key, {\n data: value.data,\n updatedAt: metadata.updatedAt,\n staleAt:\n metadata.staleTime === false\n ? Number.POSITIVE_INFINITY\n : metadata.updatedAt + metadata.staleTime,\n status: \"success\",\n error: null,\n fetching: false,\n });\n\n return value.data as TData;\n}\n\nexport async function fetchServerQuery<TInput, TData>(\n query: ServerQuery<TInput, TData>,\n input: TInput,\n options: ServerQueryFetchOptions = {},\n): Promise<TData> {\n const cache = getFarmClientDataCache();\n const provisionalKey = createServerQueryCallKey(query, input);\n const entry = cache.get<TData>(provisionalKey);\n const stale = cache.isStale(provisionalKey);\n const inflight = cache.getInflight<TData>(provisionalKey);\n\n if (inflight) return inflight;\n\n if (!options.force && entry && !stale && entry.status !== \"error\") {\n return entry.data;\n }\n\n if (\n !options.force &&\n entry &&\n stale &&\n entry.status !== \"pending\" &&\n entry.status !== \"error\" &&\n (options.swr ?? true)\n ) {\n void executeServerQuery(query, input, provisionalKey, options).catch(() => undefined);\n return entry.data;\n }\n\n return executeServerQuery(query, input, provisionalKey, options);\n}\n\nexport function prefetchServerQuery<TInput, TData>(\n query: ServerQuery<TInput, TData>,\n input: TInput,\n options: Omit<ServerQueryFetchOptions, \"force\"> = {},\n): Promise<TData> {\n return fetchServerQuery(query, input, options);\n}\n\nexport function useServerQuery<TInput, TData>(\n query: ServerQuery<TInput, TData>,\n input: TInput,\n options: UseServerQueryOptions = {},\n): UseServerQueryResult<TData> {\n const cache = getFarmClientDataCache();\n const key = createServerQueryCallKey(query, input);\n const inputRef = useRef(input);\n const optionsRef = useRef(options);\n const mountedKeyRef = useRef<string | undefined>(undefined);\n inputRef.current = input;\n optionsRef.current = options;\n\n const subscribe = useCallback(\n (listener: () => void) => cache.subscribe(key, listener),\n [cache, key],\n );\n const getSnapshot = useCallback(() => cache.get<TData>(key), [cache, key]);\n const entry = useSyncExternalStore(subscribe, getSnapshot, () => undefined);\n\n const run = useCallback(\n (force = false) =>\n fetchServerQuery(query, inputRef.current, {\n ...optionsRef.current,\n force,\n }),\n [query],\n );\n\n useEffect(() => {\n if (options.enabled === false) return;\n\n const firstReadForKey = mountedKeyRef.current !== key;\n if (firstReadForKey) mountedKeyRef.current = key;\n\n if (\n (firstReadForKey && (!entry || cache.isStale(key))) ||\n (entry?.invalidatedAt !== undefined && !entry.fetching)\n ) {\n void run().catch(() => undefined);\n }\n }, [cache, entry, key, options.enabled, run]);\n\n useEffect(() => {\n if (options.enabled === false || typeof window === \"undefined\") return;\n\n const refreshIfStale = () => {\n if (cache.isStale(key)) void run().catch(() => undefined);\n };\n const onFocus = options.refetchOnWindowFocus === false ? undefined : refreshIfStale;\n const onOnline = options.refetchOnReconnect === false ? undefined : refreshIfStale;\n\n if (onFocus) window.addEventListener(\"focus\", onFocus);\n if (onOnline) window.addEventListener(\"online\", onOnline);\n return () => {\n if (onFocus) window.removeEventListener(\"focus\", onFocus);\n if (onOnline) window.removeEventListener(\"online\", onOnline);\n };\n }, [cache, key, options.enabled, options.refetchOnReconnect, options.refetchOnWindowFocus, run]);\n\n const status = entry?.status ?? (entry ? \"success\" : \"idle\");\n const fetching = entry?.fetching ?? false;\n\n return {\n data: entry?.data,\n error: entry?.error ?? null,\n status,\n pending: status === \"pending\" && (entry?.updatedAt ?? 0) === 0,\n fetching,\n stale: cache.isStale(key),\n refetch: () => run(true),\n };\n}\n\nfunction createServerQueryCallKey<TInput, TData>(\n query: ServerQuery<TInput, TData>,\n input: TInput,\n): string {\n let id = serverQueryClientState.functionIds.get(query);\n if (!id) {\n id = ++serverQueryClientState.nextFunctionId;\n serverQueryClientState.functionIds.set(query, id);\n }\n return createFarmCacheKey([\"server-query-call\", id, input]);\n}\n\nasync function executeServerQuery<TInput, TData>(\n query: ServerQuery<TInput, TData>,\n input: TInput,\n provisionalKey: string,\n options: ServerQueryFetchOptions,\n): Promise<TData> {\n const cache = getFarmClientDataCache();\n const inflight = cache.getInflight<TData>(provisionalKey);\n if (inflight) return inflight;\n\n const previous = cache.get<TData>(provisionalKey);\n cache.set(provisionalKey, {\n data: previous?.data as TData,\n updatedAt: previous?.updatedAt ?? 0,\n staleAt: previous?.staleAt ?? 0,\n gcAt: previous?.gcAt,\n invalidatedAt: previous?.invalidatedAt,\n status: \"pending\",\n error: null,\n fetching: true,\n });\n\n const promise = (async () => {\n try {\n serverQueryClientState.active.push({ provisionalKey });\n let pending: Promise<TData>;\n try {\n pending = query(input);\n } finally {\n serverQueryClientState.active.pop();\n }\n\n const data = await pending;\n const transported = cache.get<TData>(provisionalKey);\n if (!transported || transported.fetching) {\n const updatedAt = Date.now();\n cache.set(provisionalKey, {\n data,\n updatedAt,\n staleAt:\n options.staleTime === false\n ? Number.POSITIVE_INFINITY\n : updatedAt + (options.staleTime ?? 0),\n status: \"success\",\n error: null,\n fetching: false,\n });\n }\n return data;\n } catch (cause) {\n const error = normalizeServerQueryError(cause);\n const current = cache.get<TData>(provisionalKey);\n cache.set(provisionalKey, {\n data: current?.data as TData,\n updatedAt: current?.updatedAt ?? 0,\n staleAt: current?.staleAt ?? 0,\n gcAt: current?.gcAt,\n invalidatedAt: current?.invalidatedAt,\n status: \"error\",\n error,\n fetching: false,\n });\n throw error;\n } finally {\n cache.deleteInflight(provisionalKey);\n }\n })();\n\n cache.setInflight(provisionalKey, promise);\n return promise;\n}\n\nfunction normalizeServerQueryError(cause: unknown): Error {\n if (cause instanceof Error) return cause;\n const error = new Error(typeof cause === \"string\" ? cause : \"Server query failed\");\n (error as Error & { cause?: unknown }).cause = cause;\n return error;\n}\n"],"mappings":";;;;;;;;;;;;;;AAEA,SAAS,aAAa,WAAW,QAAQ,4BAA4B;AAmDrE,IAAM,iCAAiC,uBAAO,IAAI,6BAA6B;AAC/E,IAAM,0BAA0B;AAGhC,IAAM,yBAA0B,sHAA4D;AAAA,EAC1F,aAAa,oBAAI,QAAQ;AAAA,EACzB,gBAAgB;AAAA,EAChB,QAAQ,CAAC;AACX;AAEO,SAAS,2BACd,UACA,MACiC;AACjC,QAAM,SAAS,uBAAuB,OAAO,GAAG,EAAE;AAClD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,gBAAgB,QAAQ;AAAA,EAC1B;AACF;AAVgB;AAYT,SAAS,8BACd,YACA,OACO;AACP,MAAI,CAAC,wBAAwB,KAAK,EAAG,QAAO;AAE5C,QAAM,QAAQ,uBAAuB;AACrC,QAAM,WAAW,MAAM;AACvB,MAAI,WAAW,gBAAgB;AAC7B,UAAM,MAAM,WAAW,gBAAgB,SAAS,GAAG;AAAA,EACrD;AAEA,QAAM,IAAI,SAAS,KAAK;AAAA,IACtB,MAAM,MAAM;AAAA,IACZ,WAAW,SAAS;AAAA,IACpB,SACE,SAAS,cAAc,QACnB,OAAO,oBACP,SAAS,YAAY,SAAS;AAAA,IACpC,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,EACZ,CAAC;AAED,SAAO,MAAM;AACf;AAzBgB;AA2BhB,eAAsB,iBACpB,OACA,OACA,UAAmC,CAAC,GACpB;AAChB,QAAM,QAAQ,uBAAuB;AACrC,QAAM,iBAAiB,yBAAyB,OAAO,KAAK;AAC5D,QAAM,QAAQ,MAAM,IAAW,cAAc;AAC7C,QAAM,QAAQ,MAAM,QAAQ,cAAc;AAC1C,QAAM,WAAW,MAAM,YAAmB,cAAc;AAExD,MAAI,SAAU,QAAO;AAErB,MAAI,CAAC,QAAQ,SAAS,SAAS,CAAC,SAAS,MAAM,WAAW,SAAS;AACjE,WAAO,MAAM;AAAA,EACf;AAEA,MACE,CAAC,QAAQ,SACT,SACA,SACA,MAAM,WAAW,aACjB,MAAM,WAAW,YAChB,QAAQ,OAAO,OAChB;AACA,SAAK,mBAAmB,OAAO,OAAO,gBAAgB,OAAO,EAAE,MAAM,MAAM,MAAS;AACpF,WAAO,MAAM;AAAA,EACf;AAEA,SAAO,mBAAmB,OAAO,OAAO,gBAAgB,OAAO;AACjE;AA9BsB;AAgCf,SAAS,oBACd,OACA,OACA,UAAkD,CAAC,GACnC;AAChB,SAAO,iBAAiB,OAAO,OAAO,OAAO;AAC/C;AANgB;AAQT,SAAS,eACd,OACA,OACA,UAAiC,CAAC,GACL;AAC7B,QAAM,QAAQ,uBAAuB;AACrC,QAAM,MAAM,yBAAyB,OAAO,KAAK;AACjD,QAAM,WAAW,OAAO,KAAK;AAC7B,QAAM,aAAa,OAAO,OAAO;AACjC,QAAM,gBAAgB,OAA2B,MAAS;AAC1D,WAAS,UAAU;AACnB,aAAW,UAAU;AAErB,QAAM,YAAY;AAAA,IAChB,CAAC,aAAyB,MAAM,UAAU,KAAK,QAAQ;AAAA,IACvD,CAAC,OAAO,GAAG;AAAA,EACb;AACA,QAAM,cAAc,YAAY,MAAM,MAAM,IAAW,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC;AACzE,QAAM,QAAQ,qBAAqB,WAAW,aAAa,MAAM,MAAS;AAE1E,QAAM,MAAM;AAAA,IACV,CAAC,QAAQ,UACP,iBAAiB,OAAO,SAAS,SAAS;AAAA,MACxC,GAAG,WAAW;AAAA,MACd;AAAA,IACF,CAAC;AAAA,IACH,CAAC,KAAK;AAAA,EACR;AAEA,YAAU,MAAM;AACd,QAAI,QAAQ,YAAY,MAAO;AAE/B,UAAM,kBAAkB,cAAc,YAAY;AAClD,QAAI,gBAAiB,eAAc,UAAU;AAE7C,QACG,oBAAoB,CAAC,SAAS,MAAM,QAAQ,GAAG,MAC/C,OAAO,kBAAkB,UAAa,CAAC,MAAM,UAC9C;AACA,WAAK,IAAI,EAAE,MAAM,MAAM,MAAS;AAAA,IAClC;AAAA,EACF,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,SAAS,GAAG,CAAC;AAE5C,YAAU,MAAM;AACd,QAAI,QAAQ,YAAY,SAAS,OAAO,WAAW,YAAa;AAEhE,UAAM,iBAAiB,6BAAM;AAC3B,UAAI,MAAM,QAAQ,GAAG,EAAG,MAAK,IAAI,EAAE,MAAM,MAAM,MAAS;AAAA,IAC1D,GAFuB;AAGvB,UAAM,UAAU,QAAQ,yBAAyB,QAAQ,SAAY;AACrE,UAAM,WAAW,QAAQ,uBAAuB,QAAQ,SAAY;AAEpE,QAAI,QAAS,QAAO,iBAAiB,SAAS,OAAO;AACrD,QAAI,SAAU,QAAO,iBAAiB,UAAU,QAAQ;AACxD,WAAO,MAAM;AACX,UAAI,QAAS,QAAO,oBAAoB,SAAS,OAAO;AACxD,UAAI,SAAU,QAAO,oBAAoB,UAAU,QAAQ;AAAA,IAC7D;AAAA,EACF,GAAG,CAAC,OAAO,KAAK,QAAQ,SAAS,QAAQ,oBAAoB,QAAQ,sBAAsB,GAAG,CAAC;AAE/F,QAAM,SAAS,OAAO,WAAW,QAAQ,YAAY;AACrD,QAAM,WAAW,OAAO,YAAY;AAEpC,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,OAAO,OAAO,SAAS;AAAA,IACvB;AAAA,IACA,SAAS,WAAW,cAAc,OAAO,aAAa,OAAO;AAAA,IAC7D;AAAA,IACA,OAAO,MAAM,QAAQ,GAAG;AAAA,IACxB,SAAS,6BAAM,IAAI,IAAI,GAAd;AAAA,EACX;AACF;AAxEgB;AA0EhB,SAAS,yBACP,OACA,OACQ;AACR,MAAI,KAAK,uBAAuB,YAAY,IAAI,KAAK;AACrD,MAAI,CAAC,IAAI;AACP,SAAK,EAAE,uBAAuB;AAC9B,2BAAuB,YAAY,IAAI,OAAO,EAAE;AAAA,EAClD;AACA,SAAO,mBAAmB,CAAC,qBAAqB,IAAI,KAAK,CAAC;AAC5D;AAVS;AAYT,eAAe,mBACb,OACA,OACA,gBACA,SACgB;AAChB,QAAM,QAAQ,uBAAuB;AACrC,QAAM,WAAW,MAAM,YAAmB,cAAc;AACxD,MAAI,SAAU,QAAO;AAErB,QAAM,WAAW,MAAM,IAAW,cAAc;AAChD,QAAM,IAAI,gBAAgB;AAAA,IACxB,MAAM,UAAU;AAAA,IAChB,WAAW,UAAU,aAAa;AAAA,IAClC,SAAS,UAAU,WAAW;AAAA,IAC9B,MAAM,UAAU;AAAA,IAChB,eAAe,UAAU;AAAA,IACzB,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,EACZ,CAAC;AAED,QAAM,WAAW,YAAY;AAC3B,QAAI;AACF,6BAAuB,OAAO,KAAK,EAAE,eAAe,CAAC;AACrD,UAAI;AACJ,UAAI;AACF,kBAAU,MAAM,KAAK;AAAA,MACvB,UAAE;AACA,+BAAuB,OAAO,IAAI;AAAA,MACpC;AAEA,YAAM,OAAO,MAAM;AACnB,YAAM,cAAc,MAAM,IAAW,cAAc;AACnD,UAAI,CAAC,eAAe,YAAY,UAAU;AACxC,cAAM,YAAY,KAAK,IAAI;AAC3B,cAAM,IAAI,gBAAgB;AAAA,UACxB;AAAA,UACA;AAAA,UACA,SACE,QAAQ,cAAc,QAClB,OAAO,oBACP,aAAa,QAAQ,aAAa;AAAA,UACxC,QAAQ;AAAA,UACR,OAAO;AAAA,UACP,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AACA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,YAAM,QAAQ,0BAA0B,KAAK;AAC7C,YAAM,UAAU,MAAM,IAAW,cAAc;AAC/C,YAAM,IAAI,gBAAgB;AAAA,QACxB,MAAM,SAAS;AAAA,QACf,WAAW,SAAS,aAAa;AAAA,QACjC,SAAS,SAAS,WAAW;AAAA,QAC7B,MAAM,SAAS;AAAA,QACf,eAAe,SAAS;AAAA,QACxB,QAAQ;AAAA,QACR;AAAA,QACA,UAAU;AAAA,MACZ,CAAC;AACD,YAAM;AAAA,IACR,UAAE;AACA,YAAM,eAAe,cAAc;AAAA,IACrC;AAAA,EACF,GAAG;AAEH,QAAM,YAAY,gBAAgB,OAAO;AACzC,SAAO;AACT;AAtEe;AAwEf,SAAS,0BAA0B,OAAuB;AACxD,MAAI,iBAAiB,MAAO,QAAO;AACnC,QAAM,QAAQ,IAAI,MAAM,OAAO,UAAU,WAAW,QAAQ,qBAAqB;AACjF,EAAC,MAAsC,QAAQ;AAC/C,SAAO;AACT;AALS;","names":[]}
|