@farm.js/core 0.1.0-beta.14 → 0.1.0-beta.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/after.d.mts +25 -0
- package/dist/after.d.ts +25 -0
- package/dist/agent-runtime.d.mts +96 -0
- package/dist/agent-runtime.d.ts +96 -0
- package/dist/api/route-manager.cjs.map +1 -1
- package/dist/api/route-manager.d.mts +66 -0
- package/dist/api/route-manager.d.ts +66 -0
- package/dist/api/route-manager.mjs +2 -2
- package/dist/api/runtime.cjs.map +1 -1
- package/dist/api/runtime.d.mts +3 -0
- package/dist/api/runtime.d.ts +3 -0
- package/dist/api/runtime.mjs +1 -1
- package/dist/api.cjs +18 -10
- package/dist/api.cjs.map +1 -1
- package/dist/api.d.mts +48 -0
- package/dist/api.d.ts +48 -0
- package/dist/api.mjs +3 -3
- package/dist/app-B0tE1I3o.d.ts +306 -0
- package/dist/app-Dv2JJb7X.d.mts +306 -0
- package/dist/app-markdown.d.mts +24 -0
- package/dist/app-markdown.d.ts +24 -0
- package/dist/cache.d.mts +192 -0
- package/dist/cache.d.ts +192 -0
- package/dist/{chunk-VUL55IAX.mjs → chunk-2FLBZFPG.mjs} +19 -19
- package/dist/chunk-2FLBZFPG.mjs.map +1 -0
- package/dist/{chunk-B232I2GP.mjs → chunk-3HIVDX7J.mjs} +12 -1
- package/dist/chunk-3HIVDX7J.mjs.map +1 -0
- package/dist/{chunk-JDEOUK5V.mjs → chunk-6YXKHAFU.mjs} +3 -3
- package/dist/{chunk-Z5CQMP54.mjs → chunk-ARRYKOI5.mjs} +2 -2
- package/dist/{chunk-KLA67WKG.mjs → chunk-B3FFOIWS.mjs} +2 -2
- package/dist/chunk-E257KFBU.mjs +227 -0
- package/dist/chunk-E257KFBU.mjs.map +1 -0
- package/dist/{chunk-PFE6GMNE.mjs → chunk-HMRFYJK6.mjs} +19 -11
- package/dist/chunk-HMRFYJK6.mjs.map +1 -0
- package/dist/{chunk-OPHK6OJN.mjs → chunk-JAEAE27K.mjs} +2 -2
- package/dist/{chunk-32W4QEJP.mjs → chunk-KFTGPFRD.mjs} +1 -1
- package/dist/chunk-KFTGPFRD.mjs.map +1 -0
- package/dist/{chunk-L2PE36GQ.mjs → chunk-PZXBQKCH.mjs} +15 -6
- package/dist/chunk-PZXBQKCH.mjs.map +1 -0
- package/dist/{chunk-UXUAWNO5.mjs → chunk-RIXKJPGI.mjs} +117 -55
- package/dist/chunk-RIXKJPGI.mjs.map +1 -0
- package/dist/{chunk-PNFQQSRA.mjs → chunk-T2M5QANG.mjs} +143 -41
- package/dist/chunk-T2M5QANG.mjs.map +1 -0
- package/dist/{chunk-WDU6QXNK.mjs → chunk-UCYWGN2P.mjs} +1 -1
- package/dist/chunk-UCYWGN2P.mjs.map +1 -0
- package/dist/{chunk-65A7QIKI.mjs → chunk-UMVLB3PN.mjs} +3 -3
- package/dist/chunk-UMVLB3PN.mjs.map +1 -0
- package/dist/{chunk-ARCGE2VT.mjs → chunk-VFDBC3W7.mjs} +2 -2
- package/dist/{chunk-ARCGE2VT.mjs.map → chunk-VFDBC3W7.mjs.map} +1 -1
- package/dist/{chunk-VY2UYN5R.mjs → chunk-VPCFICID.mjs} +82 -3
- package/dist/chunk-VPCFICID.mjs.map +1 -0
- package/dist/{chunk-H3TE3LOV.mjs → chunk-XMFTIVJH.mjs} +2 -2
- package/dist/{chunk-UB5UOSHB.mjs → chunk-ZVMV3THA.mjs} +71 -2
- package/dist/chunk-ZVMV3THA.mjs.map +1 -0
- package/dist/chunk-recovery-lnQFzcQP.d.mts +26 -0
- package/dist/chunk-recovery-lnQFzcQP.d.ts +26 -0
- package/dist/client-BT1mFQas.d.mts +447 -0
- package/dist/client-Nn0q4eO4.d.ts +447 -0
- package/dist/client-cache-CIlyBlmx.d.ts +6 -0
- package/dist/client-cache-D-EZ7XVW.d.mts +6 -0
- package/dist/client-plugins-278AvYHE.d.mts +2021 -0
- package/dist/client-plugins-CTQAkr7R.d.ts +2021 -0
- package/dist/client-plugins.d.mts +24 -0
- package/dist/client-plugins.d.ts +24 -0
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.mts +452 -0
- package/dist/client.d.ts +452 -0
- package/dist/client.mjs +3 -3
- package/dist/config.d.mts +31 -0
- package/dist/config.d.ts +31 -0
- package/dist/cron.d.mts +78 -0
- package/dist/cron.d.ts +78 -0
- package/dist/deferred.d.mts +42 -0
- package/dist/deferred.d.ts +42 -0
- package/dist/deployment.cjs +12 -0
- package/dist/deployment.cjs.map +1 -1
- package/dist/deployment.d.mts +36 -0
- package/dist/deployment.d.ts +36 -0
- package/dist/deployment.mjs +3 -1
- package/dist/{devtools-GAZ7F3KL.mjs → devtools-K2ERKGNI.mjs} +5 -5
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.d.mts +80 -0
- package/dist/docs.d.ts +80 -0
- package/dist/docs.mjs +5 -5
- package/dist/env-types.d.mts +12 -0
- package/dist/env-types.d.ts +12 -0
- package/dist/env.d.mts +45 -0
- package/dist/env.d.ts +45 -0
- package/dist/environment/vite.d.mts +22 -0
- package/dist/environment/vite.d.ts +22 -0
- package/dist/environment.d.mts +18 -0
- package/dist/environment.d.ts +18 -0
- package/dist/font.d.mts +95 -0
- package/dist/font.d.ts +95 -0
- package/dist/headers.d.mts +22 -0
- package/dist/headers.d.ts +22 -0
- package/dist/i18n/client.d.mts +32 -0
- package/dist/i18n/client.d.ts +32 -0
- package/dist/i18n/index.d.mts +20 -0
- package/dist/i18n/index.d.ts +20 -0
- package/dist/i18n/server.d.mts +30 -0
- package/dist/i18n/server.d.ts +30 -0
- package/dist/image/server.d.mts +37 -0
- package/dist/image/server.d.ts +37 -0
- package/dist/image/sharp.d.mts +7 -0
- package/dist/image/sharp.d.ts +7 -0
- package/dist/image-config-Duob7wER.d.mts +50 -0
- package/dist/image-config-Duob7wER.d.ts +50 -0
- package/dist/image.d.mts +39 -0
- package/dist/image.d.ts +39 -0
- package/dist/index.cjs +598 -109
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +477 -0
- package/dist/index.d.ts +477 -0
- package/dist/index.mjs +45 -29
- package/dist/index.mjs.map +1 -1
- package/dist/integration-api-CHT2OKAf.d.mts +93 -0
- package/dist/integration-api-CHT2OKAf.d.ts +93 -0
- package/dist/integrations.d.mts +24 -0
- package/dist/integrations.d.ts +24 -0
- package/dist/internal/build-runtime.cjs +438 -176
- package/dist/internal/build-runtime.cjs.map +1 -1
- package/dist/internal/build-runtime.d.mts +41 -0
- package/dist/internal/build-runtime.d.ts +41 -0
- package/dist/internal/build-runtime.mjs +13 -13
- package/dist/internal/client-runtime.d.mts +17 -0
- package/dist/internal/client-runtime.d.ts +17 -0
- package/dist/internal/config-runtime.cjs +140 -1
- package/dist/internal/config-runtime.cjs.map +1 -1
- package/dist/internal/config-runtime.d.mts +41 -0
- package/dist/internal/config-runtime.d.ts +41 -0
- package/dist/internal/config-runtime.mjs +4 -4
- package/dist/internal/metadata-image-runtime.d.mts +25 -0
- package/dist/internal/metadata-image-runtime.d.ts +25 -0
- package/dist/internal/production-node-env.d.mts +12 -0
- package/dist/internal/production-node-env.d.ts +12 -0
- package/dist/internal/production-runtime.d.mts +44 -0
- package/dist/internal/production-runtime.d.ts +44 -0
- package/dist/island-CfGru1MO.d.mts +9 -0
- package/dist/island-CfGru1MO.d.ts +9 -0
- package/dist/markdown.d.mts +60 -0
- package/dist/markdown.d.ts +60 -0
- package/dist/metadata-DmCudMw_.d.mts +22 -0
- package/dist/metadata-xghtOlbR.d.ts +22 -0
- package/dist/middleware.cjs +116 -98
- package/dist/middleware.cjs.map +1 -1
- package/dist/middleware.d.mts +171 -0
- package/dist/middleware.d.ts +171 -0
- package/dist/middleware.mjs +5 -2
- package/dist/navigation-errors-Dvwpzaer.d.mts +13 -0
- package/dist/navigation-errors-Dvwpzaer.d.ts +13 -0
- package/dist/navigation.cjs.map +1 -1
- package/dist/navigation.d.mts +14 -0
- package/dist/navigation.d.ts +14 -0
- package/dist/navigation.mjs +3 -3
- package/dist/observability.d.mts +335 -0
- package/dist/observability.d.ts +335 -0
- package/dist/params-BALtrRim.d.ts +15 -0
- package/dist/params-ry-lxqmy.d.mts +15 -0
- package/dist/plugin-BJDf43dc.d.mts +165 -0
- package/dist/plugin-BJDf43dc.d.ts +165 -0
- package/dist/plugin.cjs +247 -28
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.mts +24 -0
- package/dist/plugin.d.ts +24 -0
- package/dist/plugin.mjs +10 -10
- package/dist/production-runtime-BLxSv9cU.d.ts +79 -0
- package/dist/production-runtime-DFN2_RXq.d.mts +79 -0
- package/dist/query/client.d.mts +61 -0
- package/dist/query/client.d.ts +61 -0
- package/dist/query/index.d.mts +90 -0
- package/dist/query/index.d.ts +90 -0
- package/dist/query/parsers.d.mts +25 -0
- package/dist/query/parsers.d.ts +25 -0
- package/dist/query/server.d.mts +55 -0
- package/dist/query/server.d.ts +55 -0
- package/dist/request-Cq5d6qmE.d.mts +6 -0
- package/dist/request-LoxDW3lp.d.ts +6 -0
- package/dist/request.d.mts +25 -0
- package/dist/request.d.ts +25 -0
- package/dist/resolver-DJqjLMg_.d.mts +14 -0
- package/dist/resolver-IH4RmPEl.d.ts +14 -0
- package/dist/route-runtime-DoOHzCAD.d.mts +38 -0
- package/dist/route-runtime-DoOHzCAD.d.ts +38 -0
- package/dist/router.d.mts +36 -0
- package/dist/router.d.ts +36 -0
- package/dist/routes.d.mts +226 -0
- package/dist/routes.d.ts +226 -0
- package/dist/runtime-BA9TOSu1.d.mts +231 -0
- package/dist/runtime-Cxpq6xZN.d.mts +27 -0
- package/dist/runtime-DTAQ2HDv.d.ts +231 -0
- package/dist/runtime-bv63eUiO.d.ts +27 -0
- package/dist/server-action-security.cjs +23 -1
- package/dist/server-action-security.cjs.map +1 -1
- package/dist/server-action-security.d.mts +45 -0
- package/dist/server-action-security.d.ts +45 -0
- package/dist/server-action-security.mjs +1 -1
- package/dist/server-fn-client.cjs.map +1 -1
- package/dist/server-fn-client.d.mts +33 -0
- package/dist/server-fn-client.d.ts +33 -0
- package/dist/server-fn-client.mjs +1 -1
- package/dist/server-fn-error-DDh14a0V.d.mts +26 -0
- package/dist/server-fn-error-DDh14a0V.d.ts +26 -0
- package/dist/server-fn.cjs +140 -3
- package/dist/server-fn.cjs.map +1 -1
- package/dist/server-fn.d.mts +121 -0
- package/dist/server-fn.d.ts +121 -0
- package/dist/server-fn.mjs +14 -3
- package/dist/server-plugins.d.mts +57 -0
- package/dist/server-plugins.d.ts +57 -0
- package/dist/server-query-client.d.mts +51 -0
- package/dist/server-query-client.d.ts +51 -0
- package/dist/server-query.cjs +99 -1
- package/dist/server-query.cjs.map +1 -1
- package/dist/server-query.d.mts +37 -0
- package/dist/server-query.d.ts +37 -0
- package/dist/server-query.mjs +3 -3
- package/dist/server.cjs +403 -33
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.mts +51 -0
- package/dist/server.d.ts +51 -0
- package/dist/server.mjs +14 -14
- package/dist/storage.d.mts +52 -0
- package/dist/storage.d.ts +52 -0
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.mts +103 -0
- package/dist/testing.d.ts +103 -0
- package/dist/testing.mjs +3 -3
- package/dist/transport-BmbGTXA5.d.mts +49 -0
- package/dist/transport-BmbGTXA5.d.ts +49 -0
- package/dist/types-BMxWr97v.d.mts +81 -0
- package/dist/types-BMxWr97v.d.ts +81 -0
- package/dist/types-D1A6-XvH.d.mts +73 -0
- package/dist/types-D1A6-XvH.d.ts +73 -0
- package/dist/types-DTzm4TCl.d.mts +78 -0
- package/dist/types-DTzm4TCl.d.ts +78 -0
- package/dist/utils-B6GaYNJL.d.ts +23 -0
- package/dist/utils-CKSHiip6.d.mts +23 -0
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.mts +3 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +255 -30
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.d.mts +24 -0
- package/dist/vite.d.ts +24 -0
- package/dist/vite.mjs +10 -10
- package/dist/workflows.d.mts +110 -0
- package/dist/workflows.d.ts +110 -0
- package/package.json +1 -1
- package/types/middleware.d.ts +36 -11
- package/dist/chunk-32W4QEJP.mjs.map +0 -1
- package/dist/chunk-65A7QIKI.mjs.map +0 -1
- package/dist/chunk-B232I2GP.mjs.map +0 -1
- package/dist/chunk-I4CUBGVF.mjs +0 -93
- package/dist/chunk-I4CUBGVF.mjs.map +0 -1
- package/dist/chunk-L2PE36GQ.mjs.map +0 -1
- package/dist/chunk-PFE6GMNE.mjs.map +0 -1
- package/dist/chunk-PNFQQSRA.mjs.map +0 -1
- package/dist/chunk-UB5UOSHB.mjs.map +0 -1
- package/dist/chunk-UXUAWNO5.mjs.map +0 -1
- package/dist/chunk-VUL55IAX.mjs.map +0 -1
- package/dist/chunk-VY2UYN5R.mjs.map +0 -1
- package/dist/chunk-WDU6QXNK.mjs.map +0 -1
- /package/dist/{chunk-JDEOUK5V.mjs.map → chunk-6YXKHAFU.mjs.map} +0 -0
- /package/dist/{chunk-Z5CQMP54.mjs.map → chunk-ARRYKOI5.mjs.map} +0 -0
- /package/dist/{chunk-KLA67WKG.mjs.map → chunk-B3FFOIWS.mjs.map} +0 -0
- /package/dist/{chunk-OPHK6OJN.mjs.map → chunk-JAEAE27K.mjs.map} +0 -0
- /package/dist/{chunk-H3TE3LOV.mjs.map → chunk-XMFTIVJH.mjs.map} +0 -0
- /package/dist/{devtools-GAZ7F3KL.mjs.map → devtools-K2ERKGNI.mjs.map} +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ServerFn } from './server-fn.mjs';
|
|
2
|
+
import './cache.mjs';
|
|
3
|
+
import './server-fn-error-DDh14a0V.mjs';
|
|
4
|
+
|
|
5
|
+
type ServerFnActionStatus = "idle" | "pending" | "success" | "error";
|
|
6
|
+
type ServerFnSubmit<TInput, TResult> = [unknown] extends [TInput] ? (input?: TInput | FormData) => Promise<TResult> : (input: TInput | FormData) => Promise<TResult>;
|
|
7
|
+
type ServerFnOptimisticContext<TInput, TResult> = {
|
|
8
|
+
input: TInput | FormData | undefined;
|
|
9
|
+
formData?: FormData;
|
|
10
|
+
current: TResult | null;
|
|
11
|
+
};
|
|
12
|
+
type UseServerFnOptions<TResult, TError extends Error = Error, TInput = unknown> = {
|
|
13
|
+
initialResult?: TResult | null;
|
|
14
|
+
resetOnSubmit?: boolean;
|
|
15
|
+
throwOnFormError?: boolean;
|
|
16
|
+
optimistic?: (context: ServerFnOptimisticContext<TInput, TResult>) => TResult | null | undefined;
|
|
17
|
+
rollbackOnError?: boolean;
|
|
18
|
+
onSuccess?: (result: TResult) => void;
|
|
19
|
+
onError?: (error: TError) => void;
|
|
20
|
+
onSettled?: (result: TResult | null, error: TError | null) => void;
|
|
21
|
+
};
|
|
22
|
+
type UseServerFnReturn<TInput, TResult, TError extends Error = Error> = {
|
|
23
|
+
pending: boolean;
|
|
24
|
+
status: ServerFnActionStatus;
|
|
25
|
+
result: TResult | null;
|
|
26
|
+
error: TError | null;
|
|
27
|
+
submit: ServerFnSubmit<TInput, TResult>;
|
|
28
|
+
formAction: (formData: FormData) => Promise<void>;
|
|
29
|
+
reset: () => void;
|
|
30
|
+
};
|
|
31
|
+
declare function useServerFn<TInput, TResult, TError extends Error = Error>(serverFn: ServerFn<TInput, TResult, TError>, options?: UseServerFnOptions<TResult, TError, TInput>): UseServerFnReturn<TInput, TResult, TError>;
|
|
32
|
+
|
|
33
|
+
export { type ServerFnActionStatus, type ServerFnOptimisticContext, type ServerFnSubmit, type UseServerFnOptions, type UseServerFnReturn, useServerFn };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ServerFn } from './server-fn.js';
|
|
2
|
+
import './cache.js';
|
|
3
|
+
import './server-fn-error-DDh14a0V.js';
|
|
4
|
+
|
|
5
|
+
type ServerFnActionStatus = "idle" | "pending" | "success" | "error";
|
|
6
|
+
type ServerFnSubmit<TInput, TResult> = [unknown] extends [TInput] ? (input?: TInput | FormData) => Promise<TResult> : (input: TInput | FormData) => Promise<TResult>;
|
|
7
|
+
type ServerFnOptimisticContext<TInput, TResult> = {
|
|
8
|
+
input: TInput | FormData | undefined;
|
|
9
|
+
formData?: FormData;
|
|
10
|
+
current: TResult | null;
|
|
11
|
+
};
|
|
12
|
+
type UseServerFnOptions<TResult, TError extends Error = Error, TInput = unknown> = {
|
|
13
|
+
initialResult?: TResult | null;
|
|
14
|
+
resetOnSubmit?: boolean;
|
|
15
|
+
throwOnFormError?: boolean;
|
|
16
|
+
optimistic?: (context: ServerFnOptimisticContext<TInput, TResult>) => TResult | null | undefined;
|
|
17
|
+
rollbackOnError?: boolean;
|
|
18
|
+
onSuccess?: (result: TResult) => void;
|
|
19
|
+
onError?: (error: TError) => void;
|
|
20
|
+
onSettled?: (result: TResult | null, error: TError | null) => void;
|
|
21
|
+
};
|
|
22
|
+
type UseServerFnReturn<TInput, TResult, TError extends Error = Error> = {
|
|
23
|
+
pending: boolean;
|
|
24
|
+
status: ServerFnActionStatus;
|
|
25
|
+
result: TResult | null;
|
|
26
|
+
error: TError | null;
|
|
27
|
+
submit: ServerFnSubmit<TInput, TResult>;
|
|
28
|
+
formAction: (formData: FormData) => Promise<void>;
|
|
29
|
+
reset: () => void;
|
|
30
|
+
};
|
|
31
|
+
declare function useServerFn<TInput, TResult, TError extends Error = Error>(serverFn: ServerFn<TInput, TResult, TError>, options?: UseServerFnOptions<TResult, TError, TInput>): UseServerFnReturn<TInput, TResult, TError>;
|
|
32
|
+
|
|
33
|
+
export { type ServerFnActionStatus, type ServerFnOptimisticContext, type ServerFnSubmit, type UseServerFnOptions, type UseServerFnReturn, useServerFn };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
declare const FARM_SERVER_FN_FAILURE_SYMBOL: unique symbol;
|
|
2
|
+
type SerializedServerFnFailure = {
|
|
3
|
+
name: "ServerFnFailure";
|
|
4
|
+
message: string;
|
|
5
|
+
code: string;
|
|
6
|
+
status: number;
|
|
7
|
+
data: unknown;
|
|
8
|
+
};
|
|
9
|
+
declare class ServerFnFailure<TCode extends string = string, TData = unknown, TStatus extends number = number> extends Error {
|
|
10
|
+
readonly name: "ServerFnFailure";
|
|
11
|
+
readonly code: TCode;
|
|
12
|
+
readonly data: TData;
|
|
13
|
+
readonly status: TStatus;
|
|
14
|
+
constructor(code: TCode, data: TData, options: {
|
|
15
|
+
status: TStatus;
|
|
16
|
+
message: string;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
declare class ServerActionError extends Error {
|
|
20
|
+
readonly name: "ServerActionError";
|
|
21
|
+
constructor(message?: string);
|
|
22
|
+
}
|
|
23
|
+
declare function isServerFnFailure(value: unknown): value is ServerFnFailure;
|
|
24
|
+
declare function createServerFnTransportError(value: unknown): ServerFnFailure | ServerActionError;
|
|
25
|
+
|
|
26
|
+
export { FARM_SERVER_FN_FAILURE_SYMBOL as F, ServerFnFailure as S, ServerActionError as a, type SerializedServerFnFailure as b, createServerFnTransportError as c, isServerFnFailure as i };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
declare const FARM_SERVER_FN_FAILURE_SYMBOL: unique symbol;
|
|
2
|
+
type SerializedServerFnFailure = {
|
|
3
|
+
name: "ServerFnFailure";
|
|
4
|
+
message: string;
|
|
5
|
+
code: string;
|
|
6
|
+
status: number;
|
|
7
|
+
data: unknown;
|
|
8
|
+
};
|
|
9
|
+
declare class ServerFnFailure<TCode extends string = string, TData = unknown, TStatus extends number = number> extends Error {
|
|
10
|
+
readonly name: "ServerFnFailure";
|
|
11
|
+
readonly code: TCode;
|
|
12
|
+
readonly data: TData;
|
|
13
|
+
readonly status: TStatus;
|
|
14
|
+
constructor(code: TCode, data: TData, options: {
|
|
15
|
+
status: TStatus;
|
|
16
|
+
message: string;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
declare class ServerActionError extends Error {
|
|
20
|
+
readonly name: "ServerActionError";
|
|
21
|
+
constructor(message?: string);
|
|
22
|
+
}
|
|
23
|
+
declare function isServerFnFailure(value: unknown): value is ServerFnFailure;
|
|
24
|
+
declare function createServerFnTransportError(value: unknown): ServerFnFailure | ServerActionError;
|
|
25
|
+
|
|
26
|
+
export { FARM_SERVER_FN_FAILURE_SYMBOL as F, ServerFnFailure as S, ServerActionError as a, type SerializedServerFnFailure as b, createServerFnTransportError as c, isServerFnFailure as i };
|
package/dist/server-fn.cjs
CHANGED
|
@@ -21,10 +21,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
// src/server-fn.ts
|
|
22
22
|
var server_fn_exports = {};
|
|
23
23
|
__export(server_fn_exports, {
|
|
24
|
+
FARM_SERVER_FN_FAILURE_SYMBOL: () => FARM_SERVER_FN_FAILURE_SYMBOL,
|
|
24
25
|
FARM_SERVER_FN_SYMBOL: () => FARM_SERVER_FN_SYMBOL,
|
|
26
|
+
ServerActionError: () => ServerActionError,
|
|
27
|
+
ServerFnFailure: () => ServerFnFailure,
|
|
25
28
|
_parseServerFnSchema: () => _parseServerFnSchema,
|
|
26
29
|
createServerFn: () => createServerFn,
|
|
27
|
-
|
|
30
|
+
createServerFnTransportError: () => createServerFnTransportError,
|
|
31
|
+
createServerMiddleware: () => createServerMiddleware,
|
|
32
|
+
isServerFnFailure: () => isServerFnFailure
|
|
28
33
|
});
|
|
29
34
|
module.exports = __toCommonJS(server_fn_exports);
|
|
30
35
|
|
|
@@ -67,6 +72,55 @@ function subscribeFarmCacheTask(listener) {
|
|
|
67
72
|
}
|
|
68
73
|
__name(subscribeFarmCacheTask, "subscribeFarmCacheTask");
|
|
69
74
|
|
|
75
|
+
// src/server-fn-error.ts
|
|
76
|
+
var FARM_SERVER_FN_FAILURE_SYMBOL = /* @__PURE__ */ Symbol.for("farm.server-fn.failure");
|
|
77
|
+
var _ServerFnFailure = class _ServerFnFailure extends Error {
|
|
78
|
+
constructor(code, data, options) {
|
|
79
|
+
super(options.message);
|
|
80
|
+
this.name = "ServerFnFailure";
|
|
81
|
+
this.code = code;
|
|
82
|
+
this.data = data;
|
|
83
|
+
this.status = options.status;
|
|
84
|
+
Object.defineProperty(this, FARM_SERVER_FN_FAILURE_SYMBOL, {
|
|
85
|
+
value: true,
|
|
86
|
+
enumerable: false
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
__name(_ServerFnFailure, "ServerFnFailure");
|
|
91
|
+
var ServerFnFailure = _ServerFnFailure;
|
|
92
|
+
var _ServerActionError = class _ServerActionError extends Error {
|
|
93
|
+
constructor(message = "Server function failed") {
|
|
94
|
+
super(message);
|
|
95
|
+
this.name = "ServerActionError";
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
__name(_ServerActionError, "ServerActionError");
|
|
99
|
+
var ServerActionError = _ServerActionError;
|
|
100
|
+
function isServerFnFailure(value) {
|
|
101
|
+
if (!value || typeof value !== "object") return false;
|
|
102
|
+
const candidate = value;
|
|
103
|
+
return candidate[FARM_SERVER_FN_FAILURE_SYMBOL] === true && candidate.name === "ServerFnFailure" && typeof candidate.code === "string" && Number.isInteger(candidate.status) && (candidate.status ?? 0) >= 400 && (candidate.status ?? 0) <= 599;
|
|
104
|
+
}
|
|
105
|
+
__name(isServerFnFailure, "isServerFnFailure");
|
|
106
|
+
function createServerFnTransportError(value) {
|
|
107
|
+
if (isSerializedServerFnFailure(value)) {
|
|
108
|
+
return new ServerFnFailure(value.code, value.data, {
|
|
109
|
+
status: value.status,
|
|
110
|
+
message: value.message
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const message = value && typeof value === "object" && "message" in value && typeof value.message === "string" ? value.message : "Server function failed";
|
|
114
|
+
return new ServerActionError(message);
|
|
115
|
+
}
|
|
116
|
+
__name(createServerFnTransportError, "createServerFnTransportError");
|
|
117
|
+
function isSerializedServerFnFailure(value) {
|
|
118
|
+
if (!value || typeof value !== "object") return false;
|
|
119
|
+
const candidate = value;
|
|
120
|
+
return candidate.name === "ServerFnFailure" && typeof candidate.message === "string" && typeof candidate.code === "string" && Number.isInteger(candidate.status) && (candidate.status ?? 0) >= 400 && (candidate.status ?? 0) <= 599 && "data" in candidate;
|
|
121
|
+
}
|
|
122
|
+
__name(isSerializedServerFnFailure, "isSerializedServerFnFailure");
|
|
123
|
+
|
|
70
124
|
// src/server-action-security.ts
|
|
71
125
|
var SERVER_ACTION_STORAGE_KEY = /* @__PURE__ */ Symbol.for("farm.serverActionStorage");
|
|
72
126
|
var FALLBACK_ABORT_CONTROLLER_KEY = /* @__PURE__ */ Symbol.for("farm.serverActionFallbackAbortController");
|
|
@@ -877,6 +931,8 @@ function createServerFn(options) {
|
|
|
877
931
|
throw new TypeError("createServerFn requires a handler function");
|
|
878
932
|
}
|
|
879
933
|
const middleware = resolveServerFnMiddleware(options.middleware);
|
|
934
|
+
const errors = normalizeServerFnErrors(options.errors);
|
|
935
|
+
const error = createServerFnErrorHandler(errors);
|
|
880
936
|
const serverFn = /* @__PURE__ */ __name(async (value) => {
|
|
881
937
|
const formData = isFormData(value) ? value : void 0;
|
|
882
938
|
const rawInput = formData ? formDataToObject(formData) : value;
|
|
@@ -894,7 +950,7 @@ function createServerFn(options) {
|
|
|
894
950
|
let resolvedContext = Object.freeze(/* @__PURE__ */ Object.create(null));
|
|
895
951
|
const result = await runServerFnMiddleware(middleware, handlerContext, async (context) => {
|
|
896
952
|
resolvedContext = context.context;
|
|
897
|
-
return options.handler(context);
|
|
953
|
+
return options.handler({ ...context, error });
|
|
898
954
|
});
|
|
899
955
|
const parsedResult = await _parseServerFnSchema(options.output, result, "output");
|
|
900
956
|
if (options.invalidates) {
|
|
@@ -924,6 +980,10 @@ function createServerFn(options) {
|
|
|
924
980
|
value: options.output,
|
|
925
981
|
enumerable: false
|
|
926
982
|
},
|
|
983
|
+
__farmServerFnError: {
|
|
984
|
+
value: void 0,
|
|
985
|
+
enumerable: false
|
|
986
|
+
},
|
|
927
987
|
__farmServerFnMiddleware: {
|
|
928
988
|
value: middleware,
|
|
929
989
|
enumerable: false
|
|
@@ -962,6 +1022,78 @@ async function runServerFnMiddleware(middleware, handlerContext, handler) {
|
|
|
962
1022
|
return dispatch(0, Object.freeze(/* @__PURE__ */ Object.create(null)));
|
|
963
1023
|
}
|
|
964
1024
|
__name(runServerFnMiddleware, "runServerFnMiddleware");
|
|
1025
|
+
function normalizeServerFnErrors(definitions) {
|
|
1026
|
+
if (definitions === void 0) return Object.freeze({});
|
|
1027
|
+
if (!isPlainServerFnObject(definitions)) {
|
|
1028
|
+
throw new TypeError("createServerFn errors must be an object");
|
|
1029
|
+
}
|
|
1030
|
+
const normalized = /* @__PURE__ */ Object.create(null);
|
|
1031
|
+
for (const [code, definition] of Object.entries(definitions)) {
|
|
1032
|
+
if (!code.trim()) {
|
|
1033
|
+
throw new TypeError("Server function error codes cannot be empty");
|
|
1034
|
+
}
|
|
1035
|
+
if (!definition || typeof definition !== "object") {
|
|
1036
|
+
throw new TypeError(`Server function error "${code}" must be an object`);
|
|
1037
|
+
}
|
|
1038
|
+
if (!Number.isInteger(definition.status) || definition.status < 400 || definition.status > 599) {
|
|
1039
|
+
throw new TypeError(
|
|
1040
|
+
`Server function error "${code}" status must be an integer between 400 and 599`
|
|
1041
|
+
);
|
|
1042
|
+
}
|
|
1043
|
+
if (!definition.data || typeof definition.data.parse !== "function" && typeof definition.data.safeParse !== "function") {
|
|
1044
|
+
throw new TypeError(
|
|
1045
|
+
`Server function error "${code}" data must provide synchronous parse() or safeParse()`
|
|
1046
|
+
);
|
|
1047
|
+
}
|
|
1048
|
+
if (definition.message !== void 0 && typeof definition.message !== "string") {
|
|
1049
|
+
throw new TypeError(`Server function error "${code}" message must be a string`);
|
|
1050
|
+
}
|
|
1051
|
+
normalized[code] = Object.freeze({ ...definition });
|
|
1052
|
+
}
|
|
1053
|
+
return Object.freeze(normalized);
|
|
1054
|
+
}
|
|
1055
|
+
__name(normalizeServerFnErrors, "normalizeServerFnErrors");
|
|
1056
|
+
function createServerFnErrorHandler(definitions) {
|
|
1057
|
+
return ((code, data) => {
|
|
1058
|
+
const definition = definitions[code];
|
|
1059
|
+
if (!definition) {
|
|
1060
|
+
throw new TypeError(`Server function error "${code}" is not declared`);
|
|
1061
|
+
}
|
|
1062
|
+
const parsed = parseServerFnFailureData(code, definition.data, data);
|
|
1063
|
+
throw new ServerFnFailure(code, parsed, {
|
|
1064
|
+
status: definition.status,
|
|
1065
|
+
message: definition.message ?? "Server function failed"
|
|
1066
|
+
});
|
|
1067
|
+
});
|
|
1068
|
+
}
|
|
1069
|
+
__name(createServerFnErrorHandler, "createServerFnErrorHandler");
|
|
1070
|
+
function parseServerFnFailureData(code, schema, value) {
|
|
1071
|
+
if (typeof schema.safeParse === "function") {
|
|
1072
|
+
const result2 = schema.safeParse(value);
|
|
1073
|
+
if (isPromiseLike(result2)) {
|
|
1074
|
+
throw new TypeError(`Server function error "${code}" data schema must parse synchronously`);
|
|
1075
|
+
}
|
|
1076
|
+
return unwrapSafeParseResult(result2);
|
|
1077
|
+
}
|
|
1078
|
+
const result = schema.parse(value);
|
|
1079
|
+
if (isPromiseLike(result)) {
|
|
1080
|
+
throw new TypeError(`Server function error "${code}" data schema must parse synchronously`);
|
|
1081
|
+
}
|
|
1082
|
+
return result;
|
|
1083
|
+
}
|
|
1084
|
+
__name(parseServerFnFailureData, "parseServerFnFailureData");
|
|
1085
|
+
function isPlainServerFnObject(value) {
|
|
1086
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) return false;
|
|
1087
|
+
const prototype = Object.getPrototypeOf(value);
|
|
1088
|
+
return prototype === Object.prototype || prototype === null;
|
|
1089
|
+
}
|
|
1090
|
+
__name(isPlainServerFnObject, "isPlainServerFnObject");
|
|
1091
|
+
function isPromiseLike(value) {
|
|
1092
|
+
return Boolean(
|
|
1093
|
+
value && (typeof value === "object" || typeof value === "function") && "then" in value && typeof value.then === "function"
|
|
1094
|
+
);
|
|
1095
|
+
}
|
|
1096
|
+
__name(isPromiseLike, "isPromiseLike");
|
|
965
1097
|
function resolveServerFnMiddleware(middleware) {
|
|
966
1098
|
const resolved = [];
|
|
967
1099
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -1058,9 +1190,14 @@ function isFormData(value) {
|
|
|
1058
1190
|
__name(isFormData, "isFormData");
|
|
1059
1191
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1060
1192
|
0 && (module.exports = {
|
|
1193
|
+
FARM_SERVER_FN_FAILURE_SYMBOL,
|
|
1061
1194
|
FARM_SERVER_FN_SYMBOL,
|
|
1195
|
+
ServerActionError,
|
|
1196
|
+
ServerFnFailure,
|
|
1062
1197
|
_parseServerFnSchema,
|
|
1063
1198
|
createServerFn,
|
|
1064
|
-
|
|
1199
|
+
createServerFnTransportError,
|
|
1200
|
+
createServerMiddleware,
|
|
1201
|
+
isServerFnFailure
|
|
1065
1202
|
});
|
|
1066
1203
|
//# sourceMappingURL=server-fn.cjs.map
|