@farm.js/core 0.1.0-beta.1 → 0.1.0-beta.11
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/README.md +1 -1
- package/dist/agent-runtime.d.mts +3 -2
- package/dist/agent-runtime.d.ts +3 -2
- package/dist/api/route-manager.cjs +410 -15
- package/dist/api/route-manager.cjs.map +1 -1
- package/dist/api/route-manager.d.mts +7 -5
- package/dist/api/route-manager.d.ts +7 -5
- package/dist/api/route-manager.mjs +9 -8
- package/dist/api/runtime.cjs +748 -9
- package/dist/api/runtime.cjs.map +1 -1
- package/dist/api/runtime.d.mts +3 -16
- package/dist/api/runtime.d.ts +3 -16
- package/dist/api/runtime.mjs +8 -1
- package/dist/api.cjs +1243 -342
- package/dist/api.cjs.map +1 -1
- package/dist/api.d.mts +8 -150
- package/dist/api.d.ts +8 -150
- package/dist/api.mjs +51 -21
- package/dist/{app-BiX4qb-d.d.mts → app-BNE2FoZ4.d.mts} +42 -5
- package/dist/{app-CFRNJXP1.d.ts → app-DRGUmJ3s.d.ts} +42 -5
- package/dist/app-markdown.cjs +32 -8
- package/dist/app-markdown.cjs.map +1 -1
- package/dist/app-markdown.d.mts +3 -2
- package/dist/app-markdown.d.ts +3 -2
- package/dist/app-markdown.mjs +2 -1
- package/dist/cache.cjs +414 -12
- package/dist/cache.cjs.map +1 -1
- package/dist/cache.d.mts +120 -6
- package/dist/cache.d.ts +120 -6
- package/dist/cache.mjs +11 -3
- package/dist/{chunk-QF4PHCMA.mjs → chunk-2ED5Q2GH.mjs} +3 -3
- package/dist/chunk-2ED5Q2GH.mjs.map +1 -0
- package/dist/{chunk-GZP5W4K3.mjs → chunk-32W4QEJP.mjs} +1 -1
- package/dist/chunk-32W4QEJP.mjs.map +1 -0
- package/dist/{chunk-G3B5BRDY.mjs → chunk-4677KXB7.mjs} +646 -86
- package/dist/chunk-4677KXB7.mjs.map +1 -0
- package/dist/{chunk-3QJO55ZF.mjs → chunk-4LND3PXF.mjs} +30 -38
- package/dist/chunk-4LND3PXF.mjs.map +1 -0
- package/dist/chunk-5EVQFRL2.mjs +10 -0
- package/dist/chunk-5EVQFRL2.mjs.map +1 -0
- package/dist/{chunk-25D7G34K.mjs → chunk-65A7QIKI.mjs} +5 -5
- package/dist/{chunk-25D7G34K.mjs.map → chunk-65A7QIKI.mjs.map} +1 -1
- package/dist/{chunk-CHFHNEMO.mjs → chunk-77BOAQHI.mjs} +1972 -188
- package/dist/chunk-77BOAQHI.mjs.map +1 -0
- package/dist/{chunk-LLC7BNXW.mjs → chunk-7FBJLMQH.mjs} +73 -10
- package/dist/chunk-7FBJLMQH.mjs.map +1 -0
- package/dist/{chunk-TRORP7E4.mjs → chunk-7N62DNSO.mjs} +2 -2
- package/dist/chunk-ALCLXXTY.mjs +187 -0
- package/dist/chunk-ALCLXXTY.mjs.map +1 -0
- package/dist/chunk-AW6I64AP.mjs +25 -0
- package/dist/chunk-AW6I64AP.mjs.map +1 -0
- package/dist/{chunk-B6N4ZB2H.mjs → chunk-C2ROET2V.mjs} +3 -3
- package/dist/{chunk-BHG3LVHH.mjs → chunk-CGIXMLSY.mjs} +15 -7
- package/dist/chunk-CGIXMLSY.mjs.map +1 -0
- package/dist/{chunk-C3DLZMBU.mjs → chunk-DJSGLHCN.mjs} +2 -2
- package/dist/{chunk-JN3UU635.mjs → chunk-EJ7T4TPB.mjs} +2 -2
- package/dist/chunk-EJ7T4TPB.mjs.map +1 -0
- package/dist/{chunk-ZJQNATYV.mjs → chunk-FRPWCMMG.mjs} +3 -3
- package/dist/chunk-FRPWCMMG.mjs.map +1 -0
- package/dist/{chunk-QM6VV26B.mjs → chunk-GQVGIUSN.mjs} +3 -3
- package/dist/{chunk-QM6VV26B.mjs.map → chunk-GQVGIUSN.mjs.map} +1 -1
- package/dist/{chunk-UREJA4GZ.mjs → chunk-GXASWWJU.mjs} +1 -1
- package/dist/{chunk-UREJA4GZ.mjs.map → chunk-GXASWWJU.mjs.map} +1 -1
- package/dist/chunk-I4CUBGVF.mjs +93 -0
- package/dist/chunk-I4CUBGVF.mjs.map +1 -0
- package/dist/{chunk-HXP3ZSPC.mjs → chunk-J5YWQVI5.mjs} +4 -4
- package/dist/chunk-J5YWQVI5.mjs.map +1 -0
- package/dist/{chunk-PRNYWD7K.mjs → chunk-JDEOUK5V.mjs} +67 -239
- package/dist/chunk-JDEOUK5V.mjs.map +1 -0
- package/dist/{chunk-UHE2TTLK.mjs → chunk-K5ZTUF22.mjs} +34 -17
- package/dist/chunk-K5ZTUF22.mjs.map +1 -0
- package/dist/{chunk-O3HADRW6.mjs → chunk-MIUW47JX.mjs} +2 -2
- package/dist/{chunk-O3HADRW6.mjs.map → chunk-MIUW47JX.mjs.map} +1 -1
- package/dist/chunk-PFE6GMNE.mjs +603 -0
- package/dist/chunk-PFE6GMNE.mjs.map +1 -0
- package/dist/{chunk-RKI6TN3A.mjs → chunk-QM746KUO.mjs} +9 -2
- package/dist/chunk-QM746KUO.mjs.map +1 -0
- package/dist/{chunk-TU4YJICB.mjs → chunk-QTZZ2ISQ.mjs} +41 -16
- package/dist/chunk-QTZZ2ISQ.mjs.map +1 -0
- package/dist/chunk-RBRLLZL5.mjs +81 -0
- package/dist/chunk-RBRLLZL5.mjs.map +1 -0
- package/dist/{chunk-RSKVYESE.mjs → chunk-RQ633A5I.mjs} +1 -1
- package/dist/chunk-RQ633A5I.mjs.map +1 -0
- package/dist/{chunk-6XDUHOEM.mjs → chunk-TQAEEJB4.mjs} +3 -3
- package/dist/{chunk-AGS7UJ52.mjs → chunk-UB5UOSHB.mjs} +24 -12
- package/dist/chunk-UB5UOSHB.mjs.map +1 -0
- package/dist/{chunk-SXZTEK3V.mjs → chunk-UXUAWNO5.mjs} +2 -2
- package/dist/chunk-V3XURYJO.mjs +756 -0
- package/dist/chunk-V3XURYJO.mjs.map +1 -0
- package/dist/{chunk-JLWMCADZ.mjs → chunk-VY2UYN5R.mjs} +24 -4
- package/dist/chunk-VY2UYN5R.mjs.map +1 -0
- package/dist/{chunk-QFQRHRZS.mjs → chunk-W2CRQFF6.mjs} +151 -23
- package/dist/chunk-W2CRQFF6.mjs.map +1 -0
- package/dist/{chunk-Y7A27276.mjs → chunk-WDU6QXNK.mjs} +349 -15
- package/dist/chunk-WDU6QXNK.mjs.map +1 -0
- package/dist/{chunk-Y2OJJD7R.mjs → chunk-XIVV5IWN.mjs} +7 -9
- package/dist/chunk-XIVV5IWN.mjs.map +1 -0
- package/dist/{chunk-OYXO65LI.mjs → chunk-YW7OBE6Q.mjs} +4 -4
- package/dist/chunk-YW7OBE6Q.mjs.map +1 -0
- package/dist/{chunk-YHU7SS6L.mjs → chunk-Z5CQMP54.mjs} +11 -11
- package/dist/{chunk-S2XHZS7W.mjs → chunk-ZVWA4ZQ3.mjs} +18 -9
- package/dist/chunk-ZVWA4ZQ3.mjs.map +1 -0
- package/dist/{chunk-SOU3Q3ZA.mjs → chunk-ZZ57EH5Z.mjs} +1 -1
- package/dist/chunk-ZZ57EH5Z.mjs.map +1 -0
- package/dist/{client-D_yUjVhe.d.mts → client-BT1mFQas.d.mts} +55 -10
- package/dist/{client-Dkc03WP8.d.ts → client-Nn0q4eO4.d.ts} +55 -10
- package/dist/{client-plugins-BZnpeTGA.d.ts → client-plugins-Bc5jHcNr.d.ts} +85 -6
- package/dist/{client-plugins-g4bzuCmo.d.mts → client-plugins-jsk-ZLzJ.d.mts} +85 -6
- package/dist/client-plugins.d.mts +3 -2
- package/dist/client-plugins.d.ts +3 -2
- package/dist/client.cjs +922 -91
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.mts +124 -6
- package/dist/client.d.ts +124 -6
- package/dist/client.mjs +23 -16
- package/dist/config.d.mts +3 -2
- package/dist/config.d.ts +3 -2
- package/dist/cron.cjs.map +1 -1
- package/dist/cron.mjs +1 -1
- package/dist/{devtools-AE4RVXCM.mjs → devtools-A22KUJZT.mjs} +13 -12
- package/dist/{devtools-AE4RVXCM.mjs.map → devtools-A22KUJZT.mjs.map} +1 -1
- package/dist/{devtools-client-6WPY2AQU.mjs → devtools-client-3XRTBND5.mjs} +2 -11
- package/dist/devtools-client-3XRTBND5.mjs.map +1 -0
- package/dist/docs.cjs +65 -58
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.mjs +13 -12
- package/dist/env-types.cjs +14 -5
- package/dist/env-types.cjs.map +1 -1
- package/dist/env-types.d.mts +2 -1
- package/dist/env-types.d.ts +2 -1
- package/dist/env-types.mjs +3 -1
- package/dist/env.cjs.map +1 -1
- package/dist/env.d.mts +1 -1
- package/dist/env.d.ts +1 -1
- package/dist/env.mjs +1 -1
- package/dist/font.cjs +47 -0
- package/dist/font.cjs.map +1 -0
- package/dist/font.d.mts +70 -0
- package/dist/font.d.ts +70 -0
- package/dist/font.mjs +10 -0
- package/dist/font.mjs.map +1 -0
- package/dist/i18n/client.d.mts +2 -2
- package/dist/i18n/client.d.ts +2 -2
- package/dist/i18n/index.d.mts +3 -3
- package/dist/i18n/index.d.ts +3 -3
- package/dist/i18n/server.cjs +2 -2
- package/dist/i18n/server.cjs.map +1 -1
- package/dist/i18n/server.d.mts +5 -5
- package/dist/i18n/server.d.ts +5 -5
- package/dist/i18n/server.mjs +1 -1
- package/dist/index.cjs +5016 -1108
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +23 -19
- package/dist/index.d.ts +23 -19
- package/dist/index.mjs +177 -121
- package/dist/index.mjs.map +1 -1
- package/dist/integrations.d.mts +3 -2
- package/dist/integrations.d.ts +3 -2
- package/dist/internal/build-runtime.cjs +3504 -581
- package/dist/internal/build-runtime.cjs.map +1 -1
- package/dist/internal/build-runtime.d.mts +5 -4
- package/dist/internal/build-runtime.d.ts +5 -4
- package/dist/internal/build-runtime.mjs +32 -29
- package/dist/internal/client-runtime.cjs.map +1 -1
- package/dist/internal/client-runtime.mjs +1 -1
- package/dist/internal/config-runtime.cjs +148 -41
- package/dist/internal/config-runtime.cjs.map +1 -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 +12 -11
- package/dist/internal/production-runtime.cjs +300 -9
- package/dist/internal/production-runtime.cjs.map +1 -1
- package/dist/internal/production-runtime.d.mts +10 -8
- package/dist/internal/production-runtime.d.ts +10 -8
- package/dist/internal/production-runtime.mjs +27 -9
- package/dist/internal/production-runtime.mjs.map +1 -1
- package/dist/markdown.cjs +73 -8
- package/dist/markdown.cjs.map +1 -1
- package/dist/markdown.d.mts +19 -2
- package/dist/markdown.d.ts +19 -2
- package/dist/markdown.mjs +5 -1
- package/dist/{metadata-C9NZxMDW.d.mts → metadata-7ffpT3jr.d.mts} +1 -1
- package/dist/{metadata-DAXRaOHx.d.ts → metadata-JHn-8eht.d.ts} +1 -1
- package/dist/middleware.cjs +2 -2
- package/dist/middleware.cjs.map +1 -1
- package/dist/middleware.d.mts +5 -4
- package/dist/middleware.d.ts +5 -4
- package/dist/middleware.mjs +3 -3
- package/dist/navigation.cjs +40 -15
- package/dist/navigation.cjs.map +1 -1
- package/dist/navigation.mjs +3 -3
- package/dist/{nitro-KME62MWG.mjs → nitro-QO5LV6QK.mjs} +11 -13
- package/dist/{nitro-KME62MWG.mjs.map → nitro-QO5LV6QK.mjs.map} +1 -1
- package/dist/plugin.cjs +2854 -590
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.mts +3 -2
- package/dist/plugin.d.ts +3 -2
- package/dist/plugin.mjs +28 -25
- package/dist/{production-runtime-DRkCHUvJ.d.ts → production-runtime-9KG7GuvW.d.ts} +2 -2
- package/dist/{production-runtime-flrjp_nC.d.mts → production-runtime-B-fweKts.d.mts} +2 -2
- package/dist/{request-BrFBuc8G.d.mts → request-Dsq4kGW0.d.mts} +1 -1
- package/dist/{request-BslSZIRz.d.ts → request-udtobOLv.d.ts} +1 -1
- package/dist/request.d.mts +2 -2
- package/dist/request.d.ts +2 -2
- package/dist/{resolver-DlOPpjkB.d.mts → resolver-DJqjLMg_.d.mts} +1 -1
- package/dist/{resolver-C6iecsDV.d.ts → resolver-IH4RmPEl.d.ts} +1 -1
- package/dist/routes.cjs +276 -6
- package/dist/routes.cjs.map +1 -1
- package/dist/routes.d.mts +2 -2
- package/dist/routes.d.ts +2 -2
- package/dist/routes.mjs +4 -4
- package/dist/runtime-9nQjVM7X.d.mts +206 -0
- package/dist/{runtime-DeAAZ6gO.d.mts → runtime-Cxpq6xZN.d.mts} +2 -2
- package/dist/runtime-DgeS2skB.d.ts +206 -0
- package/dist/{runtime-B6GvwDS1.d.ts → runtime-bv63eUiO.d.ts} +2 -2
- package/dist/server-action-security.cjs +28 -10
- package/dist/server-action-security.cjs.map +1 -1
- package/dist/server-action-security.d.mts +2 -1
- package/dist/server-action-security.d.ts +2 -1
- package/dist/server-action-security.mjs +2 -2
- package/dist/server-fn-client.cjs.map +1 -1
- package/dist/server-fn-client.d.mts +1 -0
- package/dist/server-fn-client.d.ts +1 -0
- package/dist/server-fn-client.mjs +1 -1
- package/dist/server-fn.cjs +785 -3
- package/dist/server-fn.cjs.map +1 -1
- package/dist/server-fn.d.mts +10 -1
- package/dist/server-fn.d.ts +10 -1
- package/dist/server-fn.mjs +6 -3
- package/dist/server-plugins.d.mts +4 -3
- package/dist/server-plugins.d.ts +4 -3
- package/dist/server-query-client.cjs +279 -8
- package/dist/server-query-client.cjs.map +1 -1
- package/dist/server-query-client.mjs +4 -4
- package/dist/server-query.cjs +381 -10
- package/dist/server-query.cjs.map +1 -1
- package/dist/server-query.mjs +5 -5
- package/dist/server.cjs +3319 -841
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.mts +12 -11
- package/dist/server.d.ts +12 -11
- package/dist/server.mjs +57 -36
- package/dist/server.mjs.map +1 -1
- package/dist/testing.cjs +436 -25
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.mts +5 -4
- package/dist/testing.d.ts +5 -4
- package/dist/testing.mjs +19 -18
- package/dist/testing.mjs.map +1 -1
- package/dist/transport-BmbGTXA5.d.mts +49 -0
- package/dist/transport-BmbGTXA5.d.ts +49 -0
- package/dist/{types-BH1lhg5G.d.ts → types-BMxWr97v.d.mts} +2 -2
- package/dist/{types-BH1lhg5G.d.mts → types-BMxWr97v.d.ts} +2 -2
- package/dist/{utils-DA1yo54_.d.ts → utils-CA0z0c-2.d.ts} +1 -1
- package/dist/{utils-DOXXivjL.d.mts → utils-mYVkSOt2.d.mts} +1 -1
- package/dist/version.cjs +36 -0
- package/dist/version.cjs.map +1 -0
- package/dist/version.d.mts +3 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.mjs +8 -0
- package/dist/version.mjs.map +1 -0
- package/dist/vite.cjs +2938 -668
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.d.mts +3 -2
- package/dist/vite.d.ts +3 -2
- package/dist/vite.mjs +26 -23
- package/dist/workflows.cjs +6 -8
- package/dist/workflows.cjs.map +1 -1
- package/dist/workflows.mjs +1 -1
- package/package.json +22 -6
- package/types/api.d.ts +44 -0
- package/types/client.d.ts +221 -17
- package/types/image.d.ts +4 -0
- package/types/images.d.ts +59 -0
- package/dist/chunk-3QJO55ZF.mjs.map +0 -1
- package/dist/chunk-4PTK6KT4.mjs +0 -364
- package/dist/chunk-4PTK6KT4.mjs.map +0 -1
- package/dist/chunk-AGS7UJ52.mjs.map +0 -1
- package/dist/chunk-BHG3LVHH.mjs.map +0 -1
- package/dist/chunk-CHFHNEMO.mjs.map +0 -1
- package/dist/chunk-EVGBEZDF.mjs +0 -215
- package/dist/chunk-EVGBEZDF.mjs.map +0 -1
- package/dist/chunk-G3B5BRDY.mjs.map +0 -1
- package/dist/chunk-GZP5W4K3.mjs.map +0 -1
- package/dist/chunk-HXP3ZSPC.mjs.map +0 -1
- package/dist/chunk-JLWMCADZ.mjs.map +0 -1
- package/dist/chunk-JN3UU635.mjs.map +0 -1
- package/dist/chunk-LLC7BNXW.mjs.map +0 -1
- package/dist/chunk-OYXO65LI.mjs.map +0 -1
- package/dist/chunk-PRNYWD7K.mjs.map +0 -1
- package/dist/chunk-QF4PHCMA.mjs.map +0 -1
- package/dist/chunk-QFQRHRZS.mjs.map +0 -1
- package/dist/chunk-RKI6TN3A.mjs.map +0 -1
- package/dist/chunk-RSKVYESE.mjs.map +0 -1
- package/dist/chunk-S2XHZS7W.mjs.map +0 -1
- package/dist/chunk-SOU3Q3ZA.mjs.map +0 -1
- package/dist/chunk-TU4YJICB.mjs.map +0 -1
- package/dist/chunk-TXCFGOHW.mjs +0 -42
- package/dist/chunk-TXCFGOHW.mjs.map +0 -1
- package/dist/chunk-UHE2TTLK.mjs.map +0 -1
- package/dist/chunk-Y2OJJD7R.mjs.map +0 -1
- package/dist/chunk-Y7A27276.mjs.map +0 -1
- package/dist/chunk-ZJQNATYV.mjs.map +0 -1
- package/dist/devtools-client-6WPY2AQU.mjs.map +0 -1
- /package/dist/{chunk-TRORP7E4.mjs.map → chunk-7N62DNSO.mjs.map} +0 -0
- /package/dist/{chunk-B6N4ZB2H.mjs.map → chunk-C2ROET2V.mjs.map} +0 -0
- /package/dist/{chunk-C3DLZMBU.mjs.map → chunk-DJSGLHCN.mjs.map} +0 -0
- /package/dist/{chunk-6XDUHOEM.mjs.map → chunk-TQAEEJB4.mjs.map} +0 -0
- /package/dist/{chunk-SXZTEK3V.mjs.map → chunk-UXUAWNO5.mjs.map} +0 -0
- /package/dist/{chunk-YHU7SS6L.mjs.map → chunk-Z5CQMP54.mjs.map} +0 -0
package/types/client.d.ts
CHANGED
|
@@ -3,16 +3,20 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides stable exports for Link, useRouter, and API client so TypeScript
|
|
5
5
|
* and IDEs resolve them even when the build output omits them. The generated
|
|
6
|
-
* farm
|
|
6
|
+
* farm.d.ts in your app augments LinkDefaultRoute for typed href.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import type {
|
|
10
10
|
AnchorHTMLAttributes,
|
|
11
|
+
ComponentType,
|
|
12
|
+
FormEvent,
|
|
13
|
+
FormHTMLAttributes,
|
|
11
14
|
ReactElement,
|
|
12
15
|
ReactNode,
|
|
13
16
|
RefObject,
|
|
14
17
|
RefAttributes,
|
|
15
18
|
} from "react";
|
|
19
|
+
import type { DefinedCacheKey, InferCacheKeyData, RouteDataCacheKey } from "@farm.js/core/cache";
|
|
16
20
|
|
|
17
21
|
declare module "@farm.js/core/client" {
|
|
18
22
|
export interface MiddlewareProps {
|
|
@@ -378,6 +382,36 @@ declare module "@farm.js/core/client" {
|
|
|
378
382
|
key: CacheKey<TData>;
|
|
379
383
|
};
|
|
380
384
|
|
|
385
|
+
export interface FarmAPIStream<TItem> extends AsyncIterable<TItem> {
|
|
386
|
+
readonly response: Response;
|
|
387
|
+
cancel(reason?: unknown): Promise<void>;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
export class APIClientError<
|
|
391
|
+
TCode extends string = string,
|
|
392
|
+
TData = unknown,
|
|
393
|
+
TStatus extends number = number,
|
|
394
|
+
> extends Error {
|
|
395
|
+
readonly code: TCode;
|
|
396
|
+
readonly data: TData;
|
|
397
|
+
readonly status: TStatus;
|
|
398
|
+
readonly response?: Response;
|
|
399
|
+
|
|
400
|
+
constructor(
|
|
401
|
+
code: TCode,
|
|
402
|
+
data: TData,
|
|
403
|
+
options: {
|
|
404
|
+
status: TStatus;
|
|
405
|
+
message: string;
|
|
406
|
+
response?: Response;
|
|
407
|
+
},
|
|
408
|
+
);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
export type APIClientSystemError =
|
|
412
|
+
| APIClientError<"http_error", unknown, number>
|
|
413
|
+
| APIClientError<"network_error", unknown, 0>;
|
|
414
|
+
|
|
381
415
|
export type RequestEvent = {
|
|
382
416
|
requestId: string;
|
|
383
417
|
method: StatusEvent["method"];
|
|
@@ -406,7 +440,7 @@ declare module "@farm.js/core/client" {
|
|
|
406
440
|
export type CachePolicy = "cache-first" | "network-only" | "stale-while-revalidate";
|
|
407
441
|
|
|
408
442
|
export type CacheOptions = {
|
|
409
|
-
key?:
|
|
443
|
+
key?: RouteDataCacheKey;
|
|
410
444
|
policy?: CachePolicy;
|
|
411
445
|
staleTime?: number;
|
|
412
446
|
gcTime?: number;
|
|
@@ -419,9 +453,9 @@ declare module "@farm.js/core/client" {
|
|
|
419
453
|
};
|
|
420
454
|
|
|
421
455
|
export type InvalidateTarget =
|
|
422
|
-
|
|
|
456
|
+
| RouteDataCacheKey
|
|
423
457
|
| {
|
|
424
|
-
key:
|
|
458
|
+
key: RouteDataCacheKey;
|
|
425
459
|
}
|
|
426
460
|
| {
|
|
427
461
|
path: string;
|
|
@@ -439,7 +473,7 @@ declare module "@farm.js/core/client" {
|
|
|
439
473
|
|
|
440
474
|
export type OptimisticUpdate =
|
|
441
475
|
| [CallableRouteRef<any>, unknown, (prev: any) => any]
|
|
442
|
-
| [CacheKey<any> | string, (prev: any) => any];
|
|
476
|
+
| [CacheKey<any> | DefinedCacheKey<any> | string, (prev: any) => any];
|
|
443
477
|
|
|
444
478
|
export type OptimisticOptions<TUpdates extends readonly unknown[] = readonly OptimisticUpdate[]> =
|
|
445
479
|
{
|
|
@@ -452,7 +486,7 @@ declare module "@farm.js/core/client" {
|
|
|
452
486
|
TError = unknown,
|
|
453
487
|
TUpdates extends readonly unknown[] = readonly OptimisticUpdate[],
|
|
454
488
|
> = {
|
|
455
|
-
key?: CacheKey<TData> |
|
|
489
|
+
key?: CacheKey<TData> | RouteDataCacheKey;
|
|
456
490
|
cache?: CacheOptions;
|
|
457
491
|
retry?: RetryOptions;
|
|
458
492
|
invalidate?: InvalidateOptions;
|
|
@@ -496,11 +530,13 @@ declare module "@farm.js/core/client" {
|
|
|
496
530
|
]
|
|
497
531
|
: never
|
|
498
532
|
: TUpdate extends readonly [infer TKey, (prev: any) => any]
|
|
499
|
-
? TKey extends
|
|
500
|
-
? [TKey, (prev:
|
|
501
|
-
: TKey extends
|
|
502
|
-
? [TKey, (prev:
|
|
503
|
-
:
|
|
533
|
+
? TKey extends DefinedCacheKey<any, RouteDataCacheKey>
|
|
534
|
+
? [TKey, (prev: InferCacheKeyData<TKey> | undefined) => InferCacheKeyData<TKey>]
|
|
535
|
+
: TKey extends CacheKey<infer TData>
|
|
536
|
+
? [TKey, (prev: TData | undefined) => TData]
|
|
537
|
+
: TKey extends string
|
|
538
|
+
? [TKey, (prev: unknown) => unknown]
|
|
539
|
+
: never
|
|
504
540
|
: never;
|
|
505
541
|
|
|
506
542
|
type NormalizeOptimisticUpdates<TUpdates extends readonly unknown[]> = {
|
|
@@ -514,8 +550,10 @@ declare module "@farm.js/core/client" {
|
|
|
514
550
|
type TypedEndpointLike = {
|
|
515
551
|
__types: {
|
|
516
552
|
body: any;
|
|
553
|
+
inputBody?: any;
|
|
517
554
|
query: any;
|
|
518
555
|
response: any;
|
|
556
|
+
errors?: any;
|
|
519
557
|
};
|
|
520
558
|
};
|
|
521
559
|
|
|
@@ -554,13 +592,26 @@ declare module "@farm.js/core/client" {
|
|
|
554
592
|
type HasRequiredKeys<T> = RequiredKeys<T> extends never ? false : true;
|
|
555
593
|
|
|
556
594
|
// Type utilities to extract endpoint input/output types
|
|
595
|
+
type InferEndpointBody<T> = T extends {
|
|
596
|
+
__types: {
|
|
597
|
+
inputBody: infer TInputBody;
|
|
598
|
+
};
|
|
599
|
+
}
|
|
600
|
+
? TInputBody
|
|
601
|
+
: T extends {
|
|
602
|
+
__types: {
|
|
603
|
+
body: infer TBody;
|
|
604
|
+
};
|
|
605
|
+
}
|
|
606
|
+
? TBody
|
|
607
|
+
: never;
|
|
608
|
+
|
|
557
609
|
type InferEndpointInput<T> = T extends {
|
|
558
610
|
__types: {
|
|
559
|
-
body: infer TBody;
|
|
560
611
|
query: infer TQuery;
|
|
561
612
|
};
|
|
562
613
|
}
|
|
563
|
-
? SimplifyEndpointInput<BodyInputProp<
|
|
614
|
+
? SimplifyEndpointInput<BodyInputProp<InferEndpointBody<T>> & QueryInputProp<TQuery>>
|
|
564
615
|
: {};
|
|
565
616
|
|
|
566
617
|
type InferEndpointOutput<T> = T extends {
|
|
@@ -568,24 +619,177 @@ declare module "@farm.js/core/client" {
|
|
|
568
619
|
response: infer R;
|
|
569
620
|
};
|
|
570
621
|
}
|
|
571
|
-
? R
|
|
622
|
+
? R extends { readonly __farmStreamItem: infer TItem }
|
|
623
|
+
? FarmAPIStream<TItem>
|
|
624
|
+
: R
|
|
572
625
|
: any;
|
|
573
626
|
|
|
627
|
+
type InferEndpointError<T> = T extends {
|
|
628
|
+
__types: {
|
|
629
|
+
errors: infer TErrors;
|
|
630
|
+
};
|
|
631
|
+
}
|
|
632
|
+
? keyof TErrors extends never
|
|
633
|
+
? Error
|
|
634
|
+
:
|
|
635
|
+
| {
|
|
636
|
+
[TCode in keyof TErrors]: TErrors[TCode] extends {
|
|
637
|
+
data: infer TData;
|
|
638
|
+
status: infer TStatus extends number;
|
|
639
|
+
}
|
|
640
|
+
? APIClientError<TCode & string, TData, TStatus>
|
|
641
|
+
: never;
|
|
642
|
+
}[keyof TErrors]
|
|
643
|
+
| APIClientSystemError
|
|
644
|
+
: Error;
|
|
645
|
+
|
|
574
646
|
type EndpointMethod<T = any> = (<
|
|
575
647
|
TUpdates extends readonly unknown[] = readonly OptimisticUpdate[],
|
|
576
648
|
>(
|
|
577
649
|
...args: HasRequiredKeys<InferEndpointInput<T>> extends true
|
|
578
650
|
? [
|
|
579
651
|
options: InferEndpointInput<T>,
|
|
580
|
-
clientOptions?: ClientOptions<InferEndpointOutput<T>,
|
|
652
|
+
clientOptions?: ClientOptions<InferEndpointOutput<T>, InferEndpointError<T>, TUpdates>,
|
|
581
653
|
]
|
|
582
654
|
: [
|
|
583
655
|
options?: InferEndpointInput<T>,
|
|
584
|
-
clientOptions?: ClientOptions<InferEndpointOutput<T>,
|
|
656
|
+
clientOptions?: ClientOptions<InferEndpointOutput<T>, InferEndpointError<T>, TUpdates>,
|
|
585
657
|
]
|
|
586
|
-
) => Promise<APIResult<InferEndpointOutput<T>,
|
|
658
|
+
) => Promise<APIResult<InferEndpointOutput<T>, InferEndpointError<T>>>) &
|
|
587
659
|
RouteRef<InferEndpointOutput<T>, InferEndpointInput<T>>;
|
|
588
660
|
|
|
661
|
+
export type MutationStatus = "idle" | "pending" | "success" | "error";
|
|
662
|
+
|
|
663
|
+
export type AnyMutationTarget = (...args: any[]) => Promise<any>;
|
|
664
|
+
|
|
665
|
+
export type InferMutationVariables<TTarget extends AnyMutationTarget> =
|
|
666
|
+
Parameters<TTarget> extends [] ? undefined : Parameters<TTarget>[0];
|
|
667
|
+
|
|
668
|
+
export type InferMutationData<TTarget extends AnyMutationTarget> = TTarget extends {
|
|
669
|
+
readonly __farmRouteData: infer TData;
|
|
670
|
+
}
|
|
671
|
+
? TData
|
|
672
|
+
: Awaited<ReturnType<TTarget>>;
|
|
673
|
+
|
|
674
|
+
export type InferMutationError<TTarget extends AnyMutationTarget> = TTarget extends (
|
|
675
|
+
...args: any[]
|
|
676
|
+
) => Promise<APIResult<any, infer TError>>
|
|
677
|
+
? TError
|
|
678
|
+
: Error;
|
|
679
|
+
|
|
680
|
+
export type MutationOptimisticContext<TVariables, TData> = {
|
|
681
|
+
variables: TVariables | undefined;
|
|
682
|
+
current: TData | null;
|
|
683
|
+
};
|
|
684
|
+
|
|
685
|
+
export type UseMutationOptions<TVariables, TData, TError = Error> = {
|
|
686
|
+
initialData?: TData | null;
|
|
687
|
+
resetOnMutate?: boolean;
|
|
688
|
+
optimistic?: (
|
|
689
|
+
context: MutationOptimisticContext<TVariables, TData>,
|
|
690
|
+
) => TData | null | undefined;
|
|
691
|
+
rollbackOnError?: boolean;
|
|
692
|
+
request?: ClientOptions<TData, TError>;
|
|
693
|
+
onSuccess?: (data: TData, variables: TVariables | undefined) => void;
|
|
694
|
+
onError?: (error: TError, variables: TVariables | undefined) => void;
|
|
695
|
+
onSettled?: (
|
|
696
|
+
data: TData | null,
|
|
697
|
+
error: TError | null,
|
|
698
|
+
variables: TVariables | undefined,
|
|
699
|
+
) => void;
|
|
700
|
+
};
|
|
701
|
+
|
|
702
|
+
export type MutationAsync<TTarget extends AnyMutationTarget, TData = InferMutationData<TTarget>> =
|
|
703
|
+
[] extends Parameters<TTarget>
|
|
704
|
+
? (variables?: InferMutationVariables<TTarget>) => Promise<TData>
|
|
705
|
+
: (variables: InferMutationVariables<TTarget>) => Promise<TData>;
|
|
706
|
+
|
|
707
|
+
export type MutationTrigger<TTarget extends AnyMutationTarget> =
|
|
708
|
+
[] extends Parameters<TTarget>
|
|
709
|
+
? (variables?: InferMutationVariables<TTarget>) => void
|
|
710
|
+
: (variables: InferMutationVariables<TTarget>) => void;
|
|
711
|
+
|
|
712
|
+
export type UseMutationReturn<
|
|
713
|
+
TTarget extends AnyMutationTarget,
|
|
714
|
+
TData = InferMutationData<TTarget>,
|
|
715
|
+
TError = InferMutationError<TTarget>,
|
|
716
|
+
> = {
|
|
717
|
+
pending: boolean;
|
|
718
|
+
status: MutationStatus;
|
|
719
|
+
data: TData | null;
|
|
720
|
+
error: TError | null;
|
|
721
|
+
variables: InferMutationVariables<TTarget> | undefined;
|
|
722
|
+
mutate: MutationTrigger<TTarget>;
|
|
723
|
+
mutateAsync: MutationAsync<TTarget, TData>;
|
|
724
|
+
reset: () => void;
|
|
725
|
+
};
|
|
726
|
+
|
|
727
|
+
export function useMutation<TTarget extends AnyMutationTarget>(
|
|
728
|
+
target: TTarget,
|
|
729
|
+
options?: UseMutationOptions<
|
|
730
|
+
InferMutationVariables<TTarget>,
|
|
731
|
+
InferMutationData<TTarget>,
|
|
732
|
+
InferMutationError<TTarget>
|
|
733
|
+
>,
|
|
734
|
+
): UseMutationReturn<TTarget>;
|
|
735
|
+
|
|
736
|
+
export type FetcherState = "idle" | "submitting";
|
|
737
|
+
|
|
738
|
+
export type FetcherFormDataContext = {
|
|
739
|
+
form: HTMLFormElement | null;
|
|
740
|
+
submitter: HTMLElement | null;
|
|
741
|
+
};
|
|
742
|
+
|
|
743
|
+
export type UseFetcherOptions<TTarget extends AnyMutationTarget> = UseMutationOptions<
|
|
744
|
+
InferMutationVariables<TTarget>,
|
|
745
|
+
InferMutationData<TTarget>,
|
|
746
|
+
InferMutationError<TTarget>
|
|
747
|
+
> & {
|
|
748
|
+
mapFormData?: (
|
|
749
|
+
formData: FormData,
|
|
750
|
+
context: FetcherFormDataContext,
|
|
751
|
+
) => InferMutationVariables<TTarget>;
|
|
752
|
+
};
|
|
753
|
+
|
|
754
|
+
export type FetcherFormProps = Omit<
|
|
755
|
+
FormHTMLAttributes<HTMLFormElement>,
|
|
756
|
+
"action" | "onSubmit"
|
|
757
|
+
> & {
|
|
758
|
+
action?: string | ((formData: FormData) => void | Promise<void>);
|
|
759
|
+
onSubmit?: (event: FormEvent<HTMLFormElement>) => void;
|
|
760
|
+
};
|
|
761
|
+
|
|
762
|
+
type FetcherInput<TTarget extends AnyMutationTarget> = InferMutationVariables<TTarget> | FormData;
|
|
763
|
+
|
|
764
|
+
export type FetcherSubmitAsync<TTarget extends AnyMutationTarget> =
|
|
765
|
+
[] extends Parameters<TTarget>
|
|
766
|
+
? (input?: FetcherInput<TTarget>) => Promise<InferMutationData<TTarget>>
|
|
767
|
+
: (input: FetcherInput<TTarget>) => Promise<InferMutationData<TTarget>>;
|
|
768
|
+
|
|
769
|
+
export type FetcherSubmit<TTarget extends AnyMutationTarget> =
|
|
770
|
+
[] extends Parameters<TTarget>
|
|
771
|
+
? (input?: FetcherInput<TTarget>) => void
|
|
772
|
+
: (input: FetcherInput<TTarget>) => void;
|
|
773
|
+
|
|
774
|
+
export type UseFetcherReturn<TTarget extends AnyMutationTarget> = {
|
|
775
|
+
state: FetcherState;
|
|
776
|
+
status: MutationStatus;
|
|
777
|
+
pending: boolean;
|
|
778
|
+
data: InferMutationData<TTarget> | null;
|
|
779
|
+
error: InferMutationError<TTarget> | null;
|
|
780
|
+
variables: InferMutationVariables<TTarget> | undefined;
|
|
781
|
+
formData: FormData | null;
|
|
782
|
+
submit: FetcherSubmit<TTarget>;
|
|
783
|
+
submitAsync: FetcherSubmitAsync<TTarget>;
|
|
784
|
+
Form: ComponentType<FetcherFormProps>;
|
|
785
|
+
reset: () => void;
|
|
786
|
+
};
|
|
787
|
+
|
|
788
|
+
export function useFetcher<TTarget extends AnyMutationTarget>(
|
|
789
|
+
target: TTarget,
|
|
790
|
+
options?: UseFetcherOptions<TTarget>,
|
|
791
|
+
): UseFetcherReturn<TTarget>;
|
|
792
|
+
|
|
589
793
|
type RouterToClient<T> = {
|
|
590
794
|
[K in keyof T]: T[K] extends TypedEndpointLike
|
|
591
795
|
? EndpointMethod<T[K]>
|
package/types/image.d.ts
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/** Static image imports available to every Farm application. */
|
|
2
|
+
declare module "*.avif" {
|
|
3
|
+
const image: import("@farm.js/core/image").StaticImageData;
|
|
4
|
+
export const src: string;
|
|
5
|
+
export const width: number;
|
|
6
|
+
export const height: number;
|
|
7
|
+
export const blurDataURL: string | undefined;
|
|
8
|
+
export default image;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
declare module "*.gif" {
|
|
12
|
+
const image: import("@farm.js/core/image").StaticImageData;
|
|
13
|
+
export const src: string;
|
|
14
|
+
export const width: number;
|
|
15
|
+
export const height: number;
|
|
16
|
+
export const blurDataURL: string | undefined;
|
|
17
|
+
export default image;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
declare module "*.jpeg" {
|
|
21
|
+
const image: import("@farm.js/core/image").StaticImageData;
|
|
22
|
+
export const src: string;
|
|
23
|
+
export const width: number;
|
|
24
|
+
export const height: number;
|
|
25
|
+
export const blurDataURL: string | undefined;
|
|
26
|
+
export default image;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
declare module "*.jpg" {
|
|
30
|
+
const image: import("@farm.js/core/image").StaticImageData;
|
|
31
|
+
export const src: string;
|
|
32
|
+
export const width: number;
|
|
33
|
+
export const height: number;
|
|
34
|
+
export const blurDataURL: string | undefined;
|
|
35
|
+
export default image;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
declare module "*.png" {
|
|
39
|
+
const image: import("@farm.js/core/image").StaticImageData;
|
|
40
|
+
export const src: string;
|
|
41
|
+
export const width: number;
|
|
42
|
+
export const height: number;
|
|
43
|
+
export const blurDataURL: string | undefined;
|
|
44
|
+
export default image;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
declare module "*.webp" {
|
|
48
|
+
const image: import("@farm.js/core/image").StaticImageData;
|
|
49
|
+
export const src: string;
|
|
50
|
+
export const width: number;
|
|
51
|
+
export const height: number;
|
|
52
|
+
export const blurDataURL: string | undefined;
|
|
53
|
+
export default image;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
declare module "*?url" {
|
|
57
|
+
const src: string;
|
|
58
|
+
export default src;
|
|
59
|
+
}
|