@farm.js/core 0.1.0-beta.1 → 0.1.0-beta.4
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 +2 -1
- package/dist/agent-runtime.d.ts +2 -1
- package/dist/api/route-manager.cjs +410 -15
- package/dist/api/route-manager.cjs.map +1 -1
- package/dist/api/route-manager.d.mts +4 -2
- package/dist/api/route-manager.d.ts +4 -2
- 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 +5 -147
- package/dist/api.d.ts +5 -147
- package/dist/api.mjs +51 -21
- package/dist/{app-CFRNJXP1.d.ts → app-BjN-da13.d.ts} +38 -3
- package/dist/{app-BiX4qb-d.d.mts → app-CakAr8Be.d.mts} +38 -3
- package/dist/app-markdown.cjs +1 -1
- package/dist/app-markdown.cjs.map +1 -1
- package/dist/app-markdown.d.mts +2 -1
- package/dist/app-markdown.d.ts +2 -1
- package/dist/app-markdown.mjs +1 -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-Y7A27276.mjs → chunk-2CUKEMVR.mjs} +349 -15
- package/dist/chunk-2CUKEMVR.mjs.map +1 -0
- 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-TRORP7E4.mjs → chunk-3U3ZUQAQ.mjs} +2 -2
- 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-G3B5BRDY.mjs → chunk-AJWRO5WE.mjs} +539 -61
- package/dist/chunk-AJWRO5WE.mjs.map +1 -0
- package/dist/chunk-ALCLXXTY.mjs +187 -0
- package/dist/chunk-ALCLXXTY.mjs.map +1 -0
- package/dist/{chunk-CHFHNEMO.mjs → chunk-AOBXKNS5.mjs} +627 -84
- package/dist/chunk-AOBXKNS5.mjs.map +1 -0
- package/dist/{chunk-B6N4ZB2H.mjs → chunk-C2ROET2V.mjs} +3 -3
- 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-3QJO55ZF.mjs → chunk-HNIQFZKB.mjs} +5 -3
- package/dist/{chunk-3QJO55ZF.mjs.map → chunk-HNIQFZKB.mjs.map} +1 -1
- package/dist/{chunk-PRNYWD7K.mjs → chunk-JDEOUK5V.mjs} +67 -239
- package/dist/chunk-JDEOUK5V.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-UHE2TTLK.mjs → chunk-NM3CRAAL.mjs} +9 -8
- package/dist/chunk-NM3CRAAL.mjs.map +1 -0
- package/dist/chunk-PFE6GMNE.mjs +603 -0
- package/dist/chunk-PFE6GMNE.mjs.map +1 -0
- package/dist/{chunk-S2XHZS7W.mjs → chunk-QGQX7SFC.mjs} +2 -2
- package/dist/chunk-QGQX7SFC.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-RBRLLZL5.mjs +81 -0
- package/dist/chunk-RBRLLZL5.mjs.map +1 -0
- package/dist/{chunk-HXP3ZSPC.mjs → chunk-SADGIRS2.mjs} +3 -3
- 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-TU4YJICB.mjs → chunk-VVKWFZAH.mjs} +41 -16
- package/dist/chunk-VVKWFZAH.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-W4UIVMVI.mjs +10 -0
- package/dist/chunk-W4UIVMVI.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-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-Cw4qUGsw.d.ts} +7 -0
- package/dist/{client-plugins-g4bzuCmo.d.mts → client-plugins-DQQ1adXM.d.mts} +7 -0
- package/dist/client-plugins.d.mts +2 -1
- package/dist/client-plugins.d.ts +2 -1
- package/dist/client.cjs +922 -91
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.mts +121 -3
- package/dist/client.d.ts +121 -3
- package/dist/client.mjs +23 -16
- package/dist/config.d.mts +2 -1
- package/dist/config.d.ts +2 -1
- package/dist/cron.cjs.map +1 -1
- package/dist/cron.mjs +1 -1
- package/dist/{devtools-AE4RVXCM.mjs → devtools-LVC3VB5P.mjs} +10 -10
- 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 +14 -2
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.mjs +10 -10
- package/dist/i18n/server.cjs +2 -2
- package/dist/i18n/server.cjs.map +1 -1
- package/dist/i18n/server.mjs +1 -1
- package/dist/index.cjs +2852 -463
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +13 -12
- package/dist/index.d.ts +13 -12
- package/dist/index.mjs +152 -109
- package/dist/index.mjs.map +1 -1
- package/dist/integrations.d.mts +2 -1
- package/dist/integrations.d.ts +2 -1
- package/dist/internal/build-runtime.cjs +1616 -149
- package/dist/internal/build-runtime.cjs.map +1 -1
- package/dist/internal/build-runtime.d.mts +4 -3
- package/dist/internal/build-runtime.d.ts +4 -3
- package/dist/internal/build-runtime.mjs +27 -25
- package/dist/internal/client-runtime.cjs.map +1 -1
- package/dist/internal/client-runtime.mjs +1 -1
- package/dist/internal/config-runtime.cjs +13 -2
- package/dist/internal/config-runtime.cjs.map +1 -1
- package/dist/internal/config-runtime.d.mts +3 -2
- package/dist/internal/config-runtime.d.ts +3 -2
- package/dist/internal/config-runtime.mjs +9 -9
- package/dist/internal/production-runtime.cjs +285 -9
- package/dist/internal/production-runtime.cjs.map +1 -1
- package/dist/internal/production-runtime.d.mts +4 -4
- package/dist/internal/production-runtime.d.ts +4 -4
- package/dist/internal/production-runtime.mjs +10 -8
- package/dist/{metadata-DAXRaOHx.d.ts → metadata-BAPg_Nmo.d.ts} +1 -1
- package/dist/{metadata-C9NZxMDW.d.mts → metadata-_6i9oFG3.d.mts} +1 -1
- package/dist/middleware.cjs +2 -2
- package/dist/middleware.cjs.map +1 -1
- package/dist/middleware.d.mts +4 -3
- package/dist/middleware.d.ts +4 -3
- 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 +1032 -92
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.mts +2 -1
- package/dist/plugin.d.ts +2 -1
- package/dist/plugin.mjs +23 -21
- package/dist/{production-runtime-DRkCHUvJ.d.ts → production-runtime-BoJDc5mc.d.ts} +1 -1
- package/dist/{production-runtime-flrjp_nC.d.mts → production-runtime-DPfgMV9Y.d.mts} +1 -1
- package/dist/routes.cjs +276 -6
- package/dist/routes.cjs.map +1 -1
- package/dist/routes.d.mts +1 -1
- package/dist/routes.d.ts +1 -1
- package/dist/routes.mjs +4 -4
- package/dist/runtime-9nQjVM7X.d.mts +206 -0
- package/dist/runtime-DgeS2skB.d.ts +206 -0
- 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 +3 -2
- package/dist/server-plugins.d.ts +3 -2
- package/dist/server-query-client.cjs +278 -7
- 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 +1233 -118
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.mts +8 -7
- package/dist/server.d.ts +8 -7
- package/dist/server.mjs +53 -33
- 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 +4 -3
- package/dist/testing.d.ts +4 -3
- 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/{utils-DOXXivjL.d.mts → utils-CHXlMDkg.d.mts} +1 -1
- package/dist/{utils-DA1yo54_.d.ts → utils-Drsyz1Vj.d.ts} +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 +1039 -93
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.d.mts +2 -1
- package/dist/vite.d.ts +2 -1
- package/dist/vite.mjs +23 -21
- package/dist/workflows.cjs +6 -8
- package/dist/workflows.cjs.map +1 -1
- package/dist/workflows.mjs +1 -1
- package/package.json +12 -5
- package/types/api.d.ts +44 -0
- package/types/client.d.ts +220 -16
- 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-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-JLWMCADZ.mjs.map +0 -1
- package/dist/chunk-JN3UU635.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-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-3U3ZUQAQ.mjs.map} +0 -0
- /package/dist/{chunk-B6N4ZB2H.mjs.map → chunk-C2ROET2V.mjs.map} +0 -0
- /package/dist/{chunk-HXP3ZSPC.mjs.map → chunk-SADGIRS2.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/dist/{devtools-AE4RVXCM.mjs.map → devtools-LVC3VB5P.mjs.map} +0 -0
package/dist/api.d.mts
CHANGED
|
@@ -1,157 +1,15 @@
|
|
|
1
|
+
export { A as APIRouteMatch, c as APIRouteParamValue, b as APIRouteParams, q as AnyEndpointMiddleware, D as DELETE, e as EndpointErrorContracts, E as EndpointErrorDefinition, d as EndpointErrorDefinitions, f as EndpointFail, g as EndpointFailure, v as EndpointHandler, s as EndpointInvalidationContext, r as EndpointInvalidationTarget, t as EndpointInvalidations, p as EndpointMiddleware, l as EndpointMiddlewareContext, o as EndpointMiddlewareResult, u as EndpointOptions, j as EndpointParamValue, k as EndpointParams, G as GET, H as HEAD, I as InferEndpointMiddlewareContext, O as OPTIONS, y as PATCH, P as POST, x as PUT, T as TypedEndpoint, w as createEndpoint, i as invokeAPIRouteEndpoint, h as isEndpointFailure, a as isWebResponse, m as matchAPIRoute, n as normalizeRouteResponse } from './runtime-9nQjVM7X.mjs';
|
|
1
2
|
export { APIRoute, APIRouteManager, APIRouteManagerOptions, API_ROUTE_METHODS } from './api/route-manager.mjs';
|
|
2
|
-
export {
|
|
3
|
+
export { r as APIClient, h as APIClientError, b as APIClientOptions, i as APIClientSystemError, c as APIClientWithoutIntegrationsOptions, g as APIResult, A as APIRouteRefMetadata, C as CacheKey, l as CacheOptions, k as CachePolicy, p as ClientOptions, a as FARM_API_ROUTE_META_SYMBOL, F as FARM_API_ROUTE_REF_SYMBOL, n as InvalidateOptions, I as InvalidateTarget, o as OptimisticOptions, O as OptimisticUpdate, R as RequestEvent, j as ResponseEvent, m as RetryOptions, q as RouteAPIClient, s as ServerAPIClient, S as ServerAPIClientOptions, d as ServerAPIClientWithoutIntegrationsOptions, f as StatusEvent, e as StatusPhase, t as createAPIClient, w as createServerAPIClient, v as getAPIRouteRefMetadata, u as isAPIRouteRef } from './client-BT1mFQas.mjs';
|
|
4
|
+
export { F as FarmAPIStream, c as FarmStreamResponse, a as MultipartField, M as MultipartSchema, b as MultipartValues, T as TypedFormData, e as isFarmAPIStream, d as isJSONStreamResponse, i as isMultipartSchema, j as jsonStream, m as multipart, r as readJSONStream, t as toFormData } from './transport-BmbGTXA5.mjs';
|
|
3
5
|
import { Plugin } from 'vite';
|
|
4
|
-
|
|
6
|
+
import './cache.mjs';
|
|
5
7
|
import './route-runtime-DoOHzCAD.mjs';
|
|
6
8
|
import './types-BH1lhg5G.mjs';
|
|
7
9
|
import './runtime-DeAAZ6gO.mjs';
|
|
8
10
|
import './resolver-DlOPpjkB.mjs';
|
|
9
11
|
import './integration-api-CHT2OKAf.mjs';
|
|
10
12
|
import './client-cache-D-EZ7XVW.mjs';
|
|
11
|
-
import './cache.mjs';
|
|
12
|
-
|
|
13
|
-
type AnySchema = {
|
|
14
|
-
_output?: any;
|
|
15
|
-
_input?: any;
|
|
16
|
-
parse?: (data: unknown) => any;
|
|
17
|
-
};
|
|
18
|
-
type MaybePromise<T> = T | Promise<T>;
|
|
19
|
-
type Simplify<T> = {
|
|
20
|
-
[TKey in keyof T]: T[TKey];
|
|
21
|
-
} & {};
|
|
22
|
-
type UnionToIntersection<T> = (T extends unknown ? (value: T) => void : never) extends (value: infer TIntersection) => void ? TIntersection : never;
|
|
23
|
-
type InferOutput<T> = T extends {
|
|
24
|
-
_output: infer O;
|
|
25
|
-
} ? O : T extends {
|
|
26
|
-
parse: (data: unknown) => infer R;
|
|
27
|
-
} ? R : unknown;
|
|
28
|
-
type InferHeadersOutput<T> = [T] extends [never] ? Record<string, string> : T extends AnySchema ? InferOutput<T> : Record<string, string>;
|
|
29
|
-
type EndpointParamValue = string | string[];
|
|
30
|
-
type EndpointParams = Record<string, EndpointParamValue>;
|
|
31
|
-
type EndpointMiddlewareContext<TContext extends object = {}, TBody = unknown, TQuery = unknown, THeaders = Record<string, string>> = {
|
|
32
|
-
body: TBody;
|
|
33
|
-
query: TQuery;
|
|
34
|
-
headers: THeaders;
|
|
35
|
-
request: Request;
|
|
36
|
-
/** Context accumulated from middleware that ran earlier in the chain. */
|
|
37
|
-
context: Readonly<TContext>;
|
|
38
|
-
params: EndpointParams;
|
|
39
|
-
};
|
|
40
|
-
type EndpointMiddlewareResult<TProvidedContext extends object = object> = TProvidedContext | true | false | Response;
|
|
41
|
-
/** A plain async function. No wrapper or `next()` callback is required. */
|
|
42
|
-
type EndpointMiddleware<TProvidedContext extends object = object, TContext extends object = {}, TBody = unknown, TQuery = unknown, THeaders = Record<string, string>> = (ctx: EndpointMiddlewareContext<TContext, TBody, TQuery, THeaders>) => MaybePromise<EndpointMiddlewareResult<TProvidedContext>>;
|
|
43
|
-
type AnyEndpointMiddleware = (ctx: EndpointMiddlewareContext<any, any, any, any>) => unknown;
|
|
44
|
-
type ValidateEndpointMiddlewares<TMiddlewares extends readonly AnyEndpointMiddleware[]> = {
|
|
45
|
-
readonly [TIndex in keyof TMiddlewares]: TMiddlewares[TIndex] extends AnyEndpointMiddleware ? [Awaited<ReturnType<TMiddlewares[TIndex]>>] extends [EndpointMiddlewareResult<object>] ? TMiddlewares[TIndex] : never : never;
|
|
46
|
-
};
|
|
47
|
-
type ContextFromMiddlewareResult<TResult> = Exclude<TResult, Response | boolean> extends infer TContext ? [TContext] extends [never] ? {} : TContext extends object ? TContext : {} : {};
|
|
48
|
-
type ContextFromMiddleware<TMiddleware> = TMiddleware extends (...args: any[]) => infer TResult ? ContextFromMiddlewareResult<Awaited<TResult>> : {};
|
|
49
|
-
type InferEndpointMiddlewareContext<TMiddlewares extends readonly ((...args: any[]) => any)[], TContext extends object = {}> = TMiddlewares extends readonly [infer TMiddleware, ...infer TRest] ? TMiddleware extends (...args: any[]) => any ? TRest extends readonly ((...args: any[]) => any)[] ? InferEndpointMiddlewareContext<TRest, Simplify<TContext & ContextFromMiddleware<TMiddleware>>> : Simplify<TContext> : Simplify<TContext> : number extends TMiddlewares["length"] ? Simplify<TContext & UnionToIntersection<ContextFromMiddleware<TMiddlewares[number]>>> : Simplify<TContext>;
|
|
50
|
-
type EndpointOptions<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TMiddlewares extends readonly AnyEndpointMiddleware[] = readonly []> = {
|
|
51
|
-
method?: "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "PATCH" | "OPTIONS";
|
|
52
|
-
body?: TBody;
|
|
53
|
-
query?: TQuery;
|
|
54
|
-
headers?: THeaders;
|
|
55
|
-
middleware?: TMiddlewares;
|
|
56
|
-
/** @deprecated Use plain functions in `middleware` for Farm endpoint middleware. */
|
|
57
|
-
use?: any[];
|
|
58
|
-
};
|
|
59
|
-
type EndpointHandler<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any, TContext extends object = {}> = (ctx: {
|
|
60
|
-
body: InferOutput<TBody>;
|
|
61
|
-
query: InferOutput<TQuery>;
|
|
62
|
-
headers: InferHeadersOutput<THeaders>;
|
|
63
|
-
request: Request;
|
|
64
|
-
context: Readonly<TContext>;
|
|
65
|
-
params: EndpointParams;
|
|
66
|
-
}) => Promise<TResponse> | TResponse;
|
|
67
|
-
type TypedEndpoint<TBody = never, TQuery = never, TResponse = any, THeaders = Record<string, string>> = {
|
|
68
|
-
__types: {
|
|
69
|
-
body: TBody;
|
|
70
|
-
query: TQuery;
|
|
71
|
-
headers: THeaders;
|
|
72
|
-
response: TResponse;
|
|
73
|
-
};
|
|
74
|
-
__path?: string;
|
|
75
|
-
__method?: string;
|
|
76
|
-
} & ((options?: {
|
|
77
|
-
body?: TBody;
|
|
78
|
-
query?: TQuery;
|
|
79
|
-
}) => Promise<TResponse>);
|
|
80
|
-
type CreatedEndpoint<TBody extends AnySchema, TQuery extends AnySchema, THeaders extends AnySchema, TResponse> = TypedEndpoint<InferOutput<TBody>, InferOutput<TQuery>, Awaited<TResponse>, InferHeadersOutput<THeaders>>;
|
|
81
|
-
type AnyEndpointOptions = EndpointOptions<AnySchema, AnySchema, AnySchema, readonly AnyEndpointMiddleware[]>;
|
|
82
|
-
type EndpointBodyFromOptions<TOptions> = TOptions extends {
|
|
83
|
-
body: infer TBody extends AnySchema;
|
|
84
|
-
} ? TBody : never;
|
|
85
|
-
type EndpointQueryFromOptions<TOptions> = TOptions extends {
|
|
86
|
-
query: infer TQuery extends AnySchema;
|
|
87
|
-
} ? TQuery : never;
|
|
88
|
-
type EndpointHeadersFromOptions<TOptions> = TOptions extends {
|
|
89
|
-
headers: infer THeaders extends AnySchema;
|
|
90
|
-
} ? THeaders : never;
|
|
91
|
-
type EndpointMiddlewaresFromOptions<TOptions> = TOptions extends {
|
|
92
|
-
middleware: infer TMiddlewares extends readonly AnyEndpointMiddleware[];
|
|
93
|
-
} ? TMiddlewares : readonly [];
|
|
94
|
-
type MethodlessEndpointOptions = Omit<AnyEndpointOptions, "method">;
|
|
95
|
-
type EndpointHandlerFromOptions<TOptions, TResponse> = EndpointHandler<EndpointBodyFromOptions<TOptions>, EndpointQueryFromOptions<TOptions>, EndpointHeadersFromOptions<TOptions>, TResponse, InferEndpointMiddlewareContext<EndpointMiddlewaresFromOptions<TOptions>>>;
|
|
96
|
-
type ValidatedEndpointHandlerFromOptions<TOptions, TResponse> = EndpointHandlerFromOptions<TOptions, TResponse> & (EndpointMiddlewaresFromOptions<TOptions> extends ValidateEndpointMiddlewares<EndpointMiddlewaresFromOptions<TOptions>> ? unknown : never);
|
|
97
|
-
type CreatedEndpointFromOptions<TOptions, TResponse> = CreatedEndpoint<EndpointBodyFromOptions<TOptions>, EndpointQueryFromOptions<TOptions>, EndpointHeadersFromOptions<TOptions>, TResponse>;
|
|
98
|
-
/**
|
|
99
|
-
* Create a Farm.js API endpoint
|
|
100
|
-
*
|
|
101
|
-
* Supports two patterns:
|
|
102
|
-
* 1. File-based routing (path auto-inferred from file location):
|
|
103
|
-
* `export const POST = createEndpoint({ method: 'POST', body: schema }, handler)`
|
|
104
|
-
* `createEndpoint({ method: 'GET', query: z.object({...}) }, handler)`
|
|
105
|
-
*
|
|
106
|
-
* 2. Explicit path (for routes.ts at project root):
|
|
107
|
-
* `createEndpoint('/api/hello', { method: 'GET', query: z.object({...}) }, handler)`
|
|
108
|
-
*/
|
|
109
|
-
declare function createEndpoint<const TOptions extends AnyEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
110
|
-
declare function createEndpoint<const TOptions extends AnyEndpointOptions, TResponse = any>(path: string, options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
111
|
-
declare function createEndpoint<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: EndpointOptions<TBody, TQuery, THeaders, readonly []>, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
112
|
-
declare function createEndpoint<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(path: string, options: EndpointOptions<TBody, TQuery, THeaders, readonly []>, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
113
|
-
/**
|
|
114
|
-
* Convenience method for GET requests
|
|
115
|
-
*/
|
|
116
|
-
declare function GET<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
117
|
-
declare function GET<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
118
|
-
declare function GET<TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<never, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<never, TQuery, THeaders, TResponse>): CreatedEndpoint<never, TQuery, THeaders, TResponse>;
|
|
119
|
-
/**
|
|
120
|
-
* Convenience method for HEAD requests
|
|
121
|
-
*/
|
|
122
|
-
declare function HEAD<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
123
|
-
declare function HEAD<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
124
|
-
declare function HEAD<TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<never, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<never, TQuery, THeaders, TResponse>): CreatedEndpoint<never, TQuery, THeaders, TResponse>;
|
|
125
|
-
/**
|
|
126
|
-
* Convenience method for POST requests
|
|
127
|
-
*/
|
|
128
|
-
declare function POST<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
129
|
-
declare function POST<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
130
|
-
declare function POST<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<TBody, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
131
|
-
/**
|
|
132
|
-
* Convenience method for PUT requests
|
|
133
|
-
*/
|
|
134
|
-
declare function PUT<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
135
|
-
declare function PUT<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
136
|
-
declare function PUT<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<TBody, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
137
|
-
/**
|
|
138
|
-
* Convenience method for DELETE requests
|
|
139
|
-
*/
|
|
140
|
-
declare function DELETE<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
141
|
-
declare function DELETE<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
142
|
-
declare function DELETE<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<TBody, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
143
|
-
/**
|
|
144
|
-
* Convenience method for PATCH requests
|
|
145
|
-
*/
|
|
146
|
-
declare function PATCH<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
147
|
-
declare function PATCH<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
148
|
-
declare function PATCH<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<TBody, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
149
|
-
/**
|
|
150
|
-
* Convenience method for OPTIONS requests
|
|
151
|
-
*/
|
|
152
|
-
declare function OPTIONS<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
153
|
-
declare function OPTIONS<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
154
|
-
declare function OPTIONS<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<TBody, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
155
13
|
|
|
156
14
|
/**
|
|
157
15
|
* Farm.js API Routes Vite Plugin
|
|
@@ -187,4 +45,4 @@ interface ApiRoute {
|
|
|
187
45
|
*/
|
|
188
46
|
declare function farmApiPlugin(options?: FarmApiPluginOptions): Plugin;
|
|
189
47
|
|
|
190
|
-
export { type
|
|
48
|
+
export { type ApiRoute, type FarmApiPluginOptions, farmApiPlugin };
|
package/dist/api.d.ts
CHANGED
|
@@ -1,157 +1,15 @@
|
|
|
1
|
+
export { A as APIRouteMatch, c as APIRouteParamValue, b as APIRouteParams, q as AnyEndpointMiddleware, D as DELETE, e as EndpointErrorContracts, E as EndpointErrorDefinition, d as EndpointErrorDefinitions, f as EndpointFail, g as EndpointFailure, v as EndpointHandler, s as EndpointInvalidationContext, r as EndpointInvalidationTarget, t as EndpointInvalidations, p as EndpointMiddleware, l as EndpointMiddlewareContext, o as EndpointMiddlewareResult, u as EndpointOptions, j as EndpointParamValue, k as EndpointParams, G as GET, H as HEAD, I as InferEndpointMiddlewareContext, O as OPTIONS, y as PATCH, P as POST, x as PUT, T as TypedEndpoint, w as createEndpoint, i as invokeAPIRouteEndpoint, h as isEndpointFailure, a as isWebResponse, m as matchAPIRoute, n as normalizeRouteResponse } from './runtime-DgeS2skB.js';
|
|
1
2
|
export { APIRoute, APIRouteManager, APIRouteManagerOptions, API_ROUTE_METHODS } from './api/route-manager.js';
|
|
2
|
-
export {
|
|
3
|
+
export { r as APIClient, h as APIClientError, b as APIClientOptions, i as APIClientSystemError, c as APIClientWithoutIntegrationsOptions, g as APIResult, A as APIRouteRefMetadata, C as CacheKey, l as CacheOptions, k as CachePolicy, p as ClientOptions, a as FARM_API_ROUTE_META_SYMBOL, F as FARM_API_ROUTE_REF_SYMBOL, n as InvalidateOptions, I as InvalidateTarget, o as OptimisticOptions, O as OptimisticUpdate, R as RequestEvent, j as ResponseEvent, m as RetryOptions, q as RouteAPIClient, s as ServerAPIClient, S as ServerAPIClientOptions, d as ServerAPIClientWithoutIntegrationsOptions, f as StatusEvent, e as StatusPhase, t as createAPIClient, w as createServerAPIClient, v as getAPIRouteRefMetadata, u as isAPIRouteRef } from './client-Nn0q4eO4.js';
|
|
4
|
+
export { F as FarmAPIStream, c as FarmStreamResponse, a as MultipartField, M as MultipartSchema, b as MultipartValues, T as TypedFormData, e as isFarmAPIStream, d as isJSONStreamResponse, i as isMultipartSchema, j as jsonStream, m as multipart, r as readJSONStream, t as toFormData } from './transport-BmbGTXA5.js';
|
|
3
5
|
import { Plugin } from 'vite';
|
|
4
|
-
|
|
6
|
+
import './cache.js';
|
|
5
7
|
import './route-runtime-DoOHzCAD.js';
|
|
6
8
|
import './types-BH1lhg5G.js';
|
|
7
9
|
import './runtime-B6GvwDS1.js';
|
|
8
10
|
import './resolver-C6iecsDV.js';
|
|
9
11
|
import './integration-api-CHT2OKAf.js';
|
|
10
12
|
import './client-cache-CIlyBlmx.js';
|
|
11
|
-
import './cache.js';
|
|
12
|
-
|
|
13
|
-
type AnySchema = {
|
|
14
|
-
_output?: any;
|
|
15
|
-
_input?: any;
|
|
16
|
-
parse?: (data: unknown) => any;
|
|
17
|
-
};
|
|
18
|
-
type MaybePromise<T> = T | Promise<T>;
|
|
19
|
-
type Simplify<T> = {
|
|
20
|
-
[TKey in keyof T]: T[TKey];
|
|
21
|
-
} & {};
|
|
22
|
-
type UnionToIntersection<T> = (T extends unknown ? (value: T) => void : never) extends (value: infer TIntersection) => void ? TIntersection : never;
|
|
23
|
-
type InferOutput<T> = T extends {
|
|
24
|
-
_output: infer O;
|
|
25
|
-
} ? O : T extends {
|
|
26
|
-
parse: (data: unknown) => infer R;
|
|
27
|
-
} ? R : unknown;
|
|
28
|
-
type InferHeadersOutput<T> = [T] extends [never] ? Record<string, string> : T extends AnySchema ? InferOutput<T> : Record<string, string>;
|
|
29
|
-
type EndpointParamValue = string | string[];
|
|
30
|
-
type EndpointParams = Record<string, EndpointParamValue>;
|
|
31
|
-
type EndpointMiddlewareContext<TContext extends object = {}, TBody = unknown, TQuery = unknown, THeaders = Record<string, string>> = {
|
|
32
|
-
body: TBody;
|
|
33
|
-
query: TQuery;
|
|
34
|
-
headers: THeaders;
|
|
35
|
-
request: Request;
|
|
36
|
-
/** Context accumulated from middleware that ran earlier in the chain. */
|
|
37
|
-
context: Readonly<TContext>;
|
|
38
|
-
params: EndpointParams;
|
|
39
|
-
};
|
|
40
|
-
type EndpointMiddlewareResult<TProvidedContext extends object = object> = TProvidedContext | true | false | Response;
|
|
41
|
-
/** A plain async function. No wrapper or `next()` callback is required. */
|
|
42
|
-
type EndpointMiddleware<TProvidedContext extends object = object, TContext extends object = {}, TBody = unknown, TQuery = unknown, THeaders = Record<string, string>> = (ctx: EndpointMiddlewareContext<TContext, TBody, TQuery, THeaders>) => MaybePromise<EndpointMiddlewareResult<TProvidedContext>>;
|
|
43
|
-
type AnyEndpointMiddleware = (ctx: EndpointMiddlewareContext<any, any, any, any>) => unknown;
|
|
44
|
-
type ValidateEndpointMiddlewares<TMiddlewares extends readonly AnyEndpointMiddleware[]> = {
|
|
45
|
-
readonly [TIndex in keyof TMiddlewares]: TMiddlewares[TIndex] extends AnyEndpointMiddleware ? [Awaited<ReturnType<TMiddlewares[TIndex]>>] extends [EndpointMiddlewareResult<object>] ? TMiddlewares[TIndex] : never : never;
|
|
46
|
-
};
|
|
47
|
-
type ContextFromMiddlewareResult<TResult> = Exclude<TResult, Response | boolean> extends infer TContext ? [TContext] extends [never] ? {} : TContext extends object ? TContext : {} : {};
|
|
48
|
-
type ContextFromMiddleware<TMiddleware> = TMiddleware extends (...args: any[]) => infer TResult ? ContextFromMiddlewareResult<Awaited<TResult>> : {};
|
|
49
|
-
type InferEndpointMiddlewareContext<TMiddlewares extends readonly ((...args: any[]) => any)[], TContext extends object = {}> = TMiddlewares extends readonly [infer TMiddleware, ...infer TRest] ? TMiddleware extends (...args: any[]) => any ? TRest extends readonly ((...args: any[]) => any)[] ? InferEndpointMiddlewareContext<TRest, Simplify<TContext & ContextFromMiddleware<TMiddleware>>> : Simplify<TContext> : Simplify<TContext> : number extends TMiddlewares["length"] ? Simplify<TContext & UnionToIntersection<ContextFromMiddleware<TMiddlewares[number]>>> : Simplify<TContext>;
|
|
50
|
-
type EndpointOptions<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TMiddlewares extends readonly AnyEndpointMiddleware[] = readonly []> = {
|
|
51
|
-
method?: "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "PATCH" | "OPTIONS";
|
|
52
|
-
body?: TBody;
|
|
53
|
-
query?: TQuery;
|
|
54
|
-
headers?: THeaders;
|
|
55
|
-
middleware?: TMiddlewares;
|
|
56
|
-
/** @deprecated Use plain functions in `middleware` for Farm endpoint middleware. */
|
|
57
|
-
use?: any[];
|
|
58
|
-
};
|
|
59
|
-
type EndpointHandler<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any, TContext extends object = {}> = (ctx: {
|
|
60
|
-
body: InferOutput<TBody>;
|
|
61
|
-
query: InferOutput<TQuery>;
|
|
62
|
-
headers: InferHeadersOutput<THeaders>;
|
|
63
|
-
request: Request;
|
|
64
|
-
context: Readonly<TContext>;
|
|
65
|
-
params: EndpointParams;
|
|
66
|
-
}) => Promise<TResponse> | TResponse;
|
|
67
|
-
type TypedEndpoint<TBody = never, TQuery = never, TResponse = any, THeaders = Record<string, string>> = {
|
|
68
|
-
__types: {
|
|
69
|
-
body: TBody;
|
|
70
|
-
query: TQuery;
|
|
71
|
-
headers: THeaders;
|
|
72
|
-
response: TResponse;
|
|
73
|
-
};
|
|
74
|
-
__path?: string;
|
|
75
|
-
__method?: string;
|
|
76
|
-
} & ((options?: {
|
|
77
|
-
body?: TBody;
|
|
78
|
-
query?: TQuery;
|
|
79
|
-
}) => Promise<TResponse>);
|
|
80
|
-
type CreatedEndpoint<TBody extends AnySchema, TQuery extends AnySchema, THeaders extends AnySchema, TResponse> = TypedEndpoint<InferOutput<TBody>, InferOutput<TQuery>, Awaited<TResponse>, InferHeadersOutput<THeaders>>;
|
|
81
|
-
type AnyEndpointOptions = EndpointOptions<AnySchema, AnySchema, AnySchema, readonly AnyEndpointMiddleware[]>;
|
|
82
|
-
type EndpointBodyFromOptions<TOptions> = TOptions extends {
|
|
83
|
-
body: infer TBody extends AnySchema;
|
|
84
|
-
} ? TBody : never;
|
|
85
|
-
type EndpointQueryFromOptions<TOptions> = TOptions extends {
|
|
86
|
-
query: infer TQuery extends AnySchema;
|
|
87
|
-
} ? TQuery : never;
|
|
88
|
-
type EndpointHeadersFromOptions<TOptions> = TOptions extends {
|
|
89
|
-
headers: infer THeaders extends AnySchema;
|
|
90
|
-
} ? THeaders : never;
|
|
91
|
-
type EndpointMiddlewaresFromOptions<TOptions> = TOptions extends {
|
|
92
|
-
middleware: infer TMiddlewares extends readonly AnyEndpointMiddleware[];
|
|
93
|
-
} ? TMiddlewares : readonly [];
|
|
94
|
-
type MethodlessEndpointOptions = Omit<AnyEndpointOptions, "method">;
|
|
95
|
-
type EndpointHandlerFromOptions<TOptions, TResponse> = EndpointHandler<EndpointBodyFromOptions<TOptions>, EndpointQueryFromOptions<TOptions>, EndpointHeadersFromOptions<TOptions>, TResponse, InferEndpointMiddlewareContext<EndpointMiddlewaresFromOptions<TOptions>>>;
|
|
96
|
-
type ValidatedEndpointHandlerFromOptions<TOptions, TResponse> = EndpointHandlerFromOptions<TOptions, TResponse> & (EndpointMiddlewaresFromOptions<TOptions> extends ValidateEndpointMiddlewares<EndpointMiddlewaresFromOptions<TOptions>> ? unknown : never);
|
|
97
|
-
type CreatedEndpointFromOptions<TOptions, TResponse> = CreatedEndpoint<EndpointBodyFromOptions<TOptions>, EndpointQueryFromOptions<TOptions>, EndpointHeadersFromOptions<TOptions>, TResponse>;
|
|
98
|
-
/**
|
|
99
|
-
* Create a Farm.js API endpoint
|
|
100
|
-
*
|
|
101
|
-
* Supports two patterns:
|
|
102
|
-
* 1. File-based routing (path auto-inferred from file location):
|
|
103
|
-
* `export const POST = createEndpoint({ method: 'POST', body: schema }, handler)`
|
|
104
|
-
* `createEndpoint({ method: 'GET', query: z.object({...}) }, handler)`
|
|
105
|
-
*
|
|
106
|
-
* 2. Explicit path (for routes.ts at project root):
|
|
107
|
-
* `createEndpoint('/api/hello', { method: 'GET', query: z.object({...}) }, handler)`
|
|
108
|
-
*/
|
|
109
|
-
declare function createEndpoint<const TOptions extends AnyEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
110
|
-
declare function createEndpoint<const TOptions extends AnyEndpointOptions, TResponse = any>(path: string, options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
111
|
-
declare function createEndpoint<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: EndpointOptions<TBody, TQuery, THeaders, readonly []>, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
112
|
-
declare function createEndpoint<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(path: string, options: EndpointOptions<TBody, TQuery, THeaders, readonly []>, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
113
|
-
/**
|
|
114
|
-
* Convenience method for GET requests
|
|
115
|
-
*/
|
|
116
|
-
declare function GET<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
117
|
-
declare function GET<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
118
|
-
declare function GET<TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<never, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<never, TQuery, THeaders, TResponse>): CreatedEndpoint<never, TQuery, THeaders, TResponse>;
|
|
119
|
-
/**
|
|
120
|
-
* Convenience method for HEAD requests
|
|
121
|
-
*/
|
|
122
|
-
declare function HEAD<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
123
|
-
declare function HEAD<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
124
|
-
declare function HEAD<TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<never, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<never, TQuery, THeaders, TResponse>): CreatedEndpoint<never, TQuery, THeaders, TResponse>;
|
|
125
|
-
/**
|
|
126
|
-
* Convenience method for POST requests
|
|
127
|
-
*/
|
|
128
|
-
declare function POST<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
129
|
-
declare function POST<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
130
|
-
declare function POST<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<TBody, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
131
|
-
/**
|
|
132
|
-
* Convenience method for PUT requests
|
|
133
|
-
*/
|
|
134
|
-
declare function PUT<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
135
|
-
declare function PUT<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
136
|
-
declare function PUT<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<TBody, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
137
|
-
/**
|
|
138
|
-
* Convenience method for DELETE requests
|
|
139
|
-
*/
|
|
140
|
-
declare function DELETE<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
141
|
-
declare function DELETE<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
142
|
-
declare function DELETE<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<TBody, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
143
|
-
/**
|
|
144
|
-
* Convenience method for PATCH requests
|
|
145
|
-
*/
|
|
146
|
-
declare function PATCH<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
147
|
-
declare function PATCH<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
148
|
-
declare function PATCH<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<TBody, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
149
|
-
/**
|
|
150
|
-
* Convenience method for OPTIONS requests
|
|
151
|
-
*/
|
|
152
|
-
declare function OPTIONS<T = any>(handler: EndpointHandler<never, never, never, T>): CreatedEndpoint<never, never, never, T>;
|
|
153
|
-
declare function OPTIONS<const TOptions extends MethodlessEndpointOptions, TResponse = any>(options: TOptions, handler: ValidatedEndpointHandlerFromOptions<TOptions, TResponse>): CreatedEndpointFromOptions<TOptions, TResponse>;
|
|
154
|
-
declare function OPTIONS<TBody extends AnySchema = never, TQuery extends AnySchema = never, THeaders extends AnySchema = never, TResponse = any>(options: Omit<EndpointOptions<TBody, TQuery, THeaders, readonly []>, "method">, handler: EndpointHandler<TBody, TQuery, THeaders, TResponse>): CreatedEndpoint<TBody, TQuery, THeaders, TResponse>;
|
|
155
13
|
|
|
156
14
|
/**
|
|
157
15
|
* Farm.js API Routes Vite Plugin
|
|
@@ -187,4 +45,4 @@ interface ApiRoute {
|
|
|
187
45
|
*/
|
|
188
46
|
declare function farmApiPlugin(options?: FarmApiPluginOptions): Plugin;
|
|
189
47
|
|
|
190
|
-
export { type
|
|
48
|
+
export { type ApiRoute, type FarmApiPluginOptions, farmApiPlugin };
|
package/dist/api.mjs
CHANGED
|
@@ -1,50 +1,70 @@
|
|
|
1
1
|
import {
|
|
2
|
-
DELETE,
|
|
3
|
-
GET,
|
|
4
|
-
HEAD,
|
|
5
|
-
OPTIONS,
|
|
6
|
-
PATCH,
|
|
7
|
-
POST,
|
|
8
|
-
PUT,
|
|
9
|
-
createEndpoint,
|
|
10
2
|
farmApiPlugin
|
|
11
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JDEOUK5V.mjs";
|
|
12
4
|
import {
|
|
5
|
+
APIClientError,
|
|
6
|
+
FARM_API_ROUTE_META_SYMBOL,
|
|
7
|
+
FARM_API_ROUTE_REF_SYMBOL,
|
|
13
8
|
createAPIClient,
|
|
14
|
-
createServerAPIClient
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
createServerAPIClient,
|
|
10
|
+
getAPIRouteRefMetadata,
|
|
11
|
+
isAPIRouteRef
|
|
12
|
+
} from "./chunk-W2CRQFF6.mjs";
|
|
13
|
+
import "./chunk-TQAEEJB4.mjs";
|
|
17
14
|
import "./chunk-E6EPN5BT.mjs";
|
|
18
15
|
import "./chunk-QGOHVJ6J.mjs";
|
|
19
16
|
import {
|
|
20
17
|
APIRouteManager,
|
|
21
18
|
API_ROUTE_METHODS
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-Z5CQMP54.mjs";
|
|
20
|
+
import "./chunk-2ED5Q2GH.mjs";
|
|
24
21
|
import "./chunk-GN72QAIH.mjs";
|
|
25
22
|
import "./chunk-FQYDHKKU.mjs";
|
|
23
|
+
import "./chunk-C2ROET2V.mjs";
|
|
24
|
+
import "./chunk-QKVUNGAH.mjs";
|
|
25
|
+
import "./chunk-GQVGIUSN.mjs";
|
|
26
26
|
import "./chunk-J4FNJ5IU.mjs";
|
|
27
27
|
import {
|
|
28
|
+
DELETE,
|
|
29
|
+
EndpointFailure,
|
|
30
|
+
GET,
|
|
31
|
+
HEAD,
|
|
32
|
+
OPTIONS,
|
|
33
|
+
PATCH,
|
|
34
|
+
POST,
|
|
35
|
+
PUT,
|
|
36
|
+
createEndpoint,
|
|
28
37
|
invokeAPIRouteEndpoint,
|
|
38
|
+
isEndpointFailure,
|
|
29
39
|
isWebResponse,
|
|
30
40
|
matchAPIRoute,
|
|
31
41
|
normalizeRouteResponse
|
|
32
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-PFE6GMNE.mjs";
|
|
33
43
|
import "./chunk-RHIFZZUI.mjs";
|
|
34
44
|
import "./chunk-LM2YNO4U.mjs";
|
|
35
|
-
import "./chunk-B6N4ZB2H.mjs";
|
|
36
|
-
import "./chunk-QKVUNGAH.mjs";
|
|
37
|
-
import "./chunk-QM6VV26B.mjs";
|
|
38
45
|
import "./chunk-44ZCFSKE.mjs";
|
|
39
|
-
import
|
|
40
|
-
|
|
46
|
+
import {
|
|
47
|
+
isFarmAPIStream,
|
|
48
|
+
isJSONStreamResponse,
|
|
49
|
+
isMultipartSchema,
|
|
50
|
+
jsonStream,
|
|
51
|
+
multipart,
|
|
52
|
+
readJSONStream,
|
|
53
|
+
toFormData
|
|
54
|
+
} from "./chunk-ALCLXXTY.mjs";
|
|
55
|
+
import "./chunk-V3XURYJO.mjs";
|
|
41
56
|
import "./chunk-WZ5QFROO.mjs";
|
|
57
|
+
import "./chunk-RBRLLZL5.mjs";
|
|
42
58
|
import "./chunk-7ZY5AIJO.mjs";
|
|
43
59
|
import "./chunk-CGILA3WO.mjs";
|
|
44
60
|
export {
|
|
61
|
+
APIClientError,
|
|
45
62
|
APIRouteManager,
|
|
46
63
|
API_ROUTE_METHODS,
|
|
47
64
|
DELETE,
|
|
65
|
+
EndpointFailure,
|
|
66
|
+
FARM_API_ROUTE_META_SYMBOL,
|
|
67
|
+
FARM_API_ROUTE_REF_SYMBOL,
|
|
48
68
|
GET,
|
|
49
69
|
HEAD,
|
|
50
70
|
OPTIONS,
|
|
@@ -55,9 +75,19 @@ export {
|
|
|
55
75
|
createEndpoint,
|
|
56
76
|
createServerAPIClient,
|
|
57
77
|
farmApiPlugin,
|
|
78
|
+
getAPIRouteRefMetadata,
|
|
58
79
|
invokeAPIRouteEndpoint,
|
|
80
|
+
isAPIRouteRef,
|
|
81
|
+
isEndpointFailure,
|
|
82
|
+
isFarmAPIStream,
|
|
83
|
+
isJSONStreamResponse,
|
|
84
|
+
isMultipartSchema,
|
|
59
85
|
isWebResponse,
|
|
86
|
+
jsonStream,
|
|
60
87
|
matchAPIRoute,
|
|
61
|
-
|
|
88
|
+
multipart,
|
|
89
|
+
normalizeRouteResponse,
|
|
90
|
+
readJSONStream,
|
|
91
|
+
toFormData
|
|
62
92
|
};
|
|
63
93
|
//# sourceMappingURL=api.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as FarmConfig, x as ParsedRoute, p as RouteModule, r as LayoutModule, z as SSGCollectionResult, t as FarmRequest, u as FarmResponse, _ as FarmMdxResolvedConfig, $ as ResolvedFarmDevtoolsConfig } from './client-plugins-
|
|
1
|
+
import { F as FarmConfig, x as ParsedRoute, p as RouteModule, r as LayoutModule, z as SSGCollectionResult, t as FarmRequest, u as FarmResponse, _ as FarmMdxResolvedConfig, $ as ResolvedFarmDevtoolsConfig } from './client-plugins-Cw4qUGsw.js';
|
|
2
2
|
import { F as FarmDocsResolvedConfig } from './types-C9N-nk5R.js';
|
|
3
3
|
import { FarmMarkdownResolvedConfig } from './markdown.js';
|
|
4
4
|
import { FarmWorkflowsResolvedConfig } from './workflows.js';
|
|
@@ -6,7 +6,7 @@ import { FarmCronResolvedConfig } from './cron.js';
|
|
|
6
6
|
import { R as ResolvedFarmImageConfig } from './image-config-Duob7wER.js';
|
|
7
7
|
import { ProgrammaticRedirectRoute, ProgrammaticRouteSearchClientOptions } from './routes.js';
|
|
8
8
|
import { ViteDevServer } from 'vite';
|
|
9
|
-
import { M as MetadataImageKind } from './metadata-
|
|
9
|
+
import { M as MetadataImageKind } from './metadata-BAPg_Nmo.js';
|
|
10
10
|
import { R as ResolvedFarmRouteRuntimeConfig } from './route-runtime-DoOHzCAD.js';
|
|
11
11
|
import { R as ResolvedFarmI18nConfig } from './types-BH1lhg5G.js';
|
|
12
12
|
import { F as FarmI18nRuntime } from './runtime-B6GvwDS1.js';
|
|
@@ -30,6 +30,22 @@ interface RouteEntry {
|
|
|
30
30
|
source?: "file" | "programmatic";
|
|
31
31
|
sourceRoot: string;
|
|
32
32
|
}
|
|
33
|
+
interface RouteSlotEntry extends RouteEntry {
|
|
34
|
+
name: string;
|
|
35
|
+
ownerPattern: string;
|
|
36
|
+
interception: boolean;
|
|
37
|
+
fallback: boolean;
|
|
38
|
+
containerId: string;
|
|
39
|
+
}
|
|
40
|
+
interface MatchedRouteSlot {
|
|
41
|
+
name: string;
|
|
42
|
+
ownerPattern: string;
|
|
43
|
+
containerId: string;
|
|
44
|
+
interception: boolean;
|
|
45
|
+
fallback: boolean;
|
|
46
|
+
route: RouteSlotEntry;
|
|
47
|
+
params: Record<string, string>;
|
|
48
|
+
}
|
|
33
49
|
interface MetadataImageEntry extends RouteEntry {
|
|
34
50
|
kind: MetadataImageKind;
|
|
35
51
|
fileName: "opengraph-image" | "twitter-image";
|
|
@@ -43,6 +59,7 @@ declare class RouteManager {
|
|
|
43
59
|
private config;
|
|
44
60
|
private routes;
|
|
45
61
|
private layouts;
|
|
62
|
+
private routeSlots;
|
|
46
63
|
private loadings;
|
|
47
64
|
private errors;
|
|
48
65
|
private metadataImages;
|
|
@@ -58,10 +75,13 @@ declare class RouteManager {
|
|
|
58
75
|
/**
|
|
59
76
|
* Find matching route for a given URL path
|
|
60
77
|
*/
|
|
61
|
-
matchRoute(pathname: string
|
|
78
|
+
matchRoute(pathname: string, options?: {
|
|
79
|
+
interceptFrom?: string;
|
|
80
|
+
}): {
|
|
62
81
|
route: RouteEntry | null;
|
|
63
82
|
params: Record<string, string>;
|
|
64
83
|
layouts: RouteEntry[];
|
|
84
|
+
slots: MatchedRouteSlot[];
|
|
65
85
|
};
|
|
66
86
|
/**
|
|
67
87
|
* Get all registered routes
|
|
@@ -71,6 +91,7 @@ declare class RouteManager {
|
|
|
71
91
|
* Get all registered layouts
|
|
72
92
|
*/
|
|
73
93
|
getLayouts(): Map<string, RouteEntry>;
|
|
94
|
+
getRouteSlots(): Map<string, RouteSlotEntry>;
|
|
74
95
|
/** Resolve route rules, inherited layouts, and the page export in precedence order. */
|
|
75
96
|
resolveRouteRuntimeConfig(pattern: string): Promise<ResolvedFarmRouteRuntimeConfig>;
|
|
76
97
|
/**
|
|
@@ -129,6 +150,18 @@ declare class RouteManager {
|
|
|
129
150
|
pattern: string;
|
|
130
151
|
modulePath: string;
|
|
131
152
|
}>;
|
|
153
|
+
slots: Array<{
|
|
154
|
+
name: string;
|
|
155
|
+
ownerPattern: string;
|
|
156
|
+
pattern: string;
|
|
157
|
+
modulePath: string;
|
|
158
|
+
containerId: string;
|
|
159
|
+
interception: boolean;
|
|
160
|
+
fallback: boolean;
|
|
161
|
+
shouldHydrate: boolean;
|
|
162
|
+
isClientComponent: boolean;
|
|
163
|
+
segments: RouteEntry["route"]["segments"];
|
|
164
|
+
}>;
|
|
132
165
|
};
|
|
133
166
|
/**
|
|
134
167
|
* Load a route module dynamically
|
|
@@ -149,6 +182,8 @@ declare class RouteManager {
|
|
|
149
182
|
* Find all layouts that should wrap a given path
|
|
150
183
|
*/
|
|
151
184
|
private findMatchingLayouts;
|
|
185
|
+
private findMatchingRouteSlots;
|
|
186
|
+
private matchesRoutePrefix;
|
|
152
187
|
private findNearestBoundary;
|
|
153
188
|
/**
|
|
154
189
|
* Log discovered routes for debugging
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as FarmConfig, x as ParsedRoute, p as RouteModule, r as LayoutModule, z as SSGCollectionResult, t as FarmRequest, u as FarmResponse, _ as FarmMdxResolvedConfig, $ as ResolvedFarmDevtoolsConfig } from './client-plugins-
|
|
1
|
+
import { F as FarmConfig, x as ParsedRoute, p as RouteModule, r as LayoutModule, z as SSGCollectionResult, t as FarmRequest, u as FarmResponse, _ as FarmMdxResolvedConfig, $ as ResolvedFarmDevtoolsConfig } from './client-plugins-DQQ1adXM.mjs';
|
|
2
2
|
import { F as FarmDocsResolvedConfig } from './types-C9N-nk5R.mjs';
|
|
3
3
|
import { FarmMarkdownResolvedConfig } from './markdown.mjs';
|
|
4
4
|
import { FarmWorkflowsResolvedConfig } from './workflows.mjs';
|
|
@@ -6,7 +6,7 @@ import { FarmCronResolvedConfig } from './cron.mjs';
|
|
|
6
6
|
import { R as ResolvedFarmImageConfig } from './image-config-Duob7wER.mjs';
|
|
7
7
|
import { ProgrammaticRedirectRoute, ProgrammaticRouteSearchClientOptions } from './routes.mjs';
|
|
8
8
|
import { ViteDevServer } from 'vite';
|
|
9
|
-
import { M as MetadataImageKind } from './metadata-
|
|
9
|
+
import { M as MetadataImageKind } from './metadata-_6i9oFG3.mjs';
|
|
10
10
|
import { R as ResolvedFarmRouteRuntimeConfig } from './route-runtime-DoOHzCAD.mjs';
|
|
11
11
|
import { R as ResolvedFarmI18nConfig } from './types-BH1lhg5G.mjs';
|
|
12
12
|
import { F as FarmI18nRuntime } from './runtime-DeAAZ6gO.mjs';
|
|
@@ -30,6 +30,22 @@ interface RouteEntry {
|
|
|
30
30
|
source?: "file" | "programmatic";
|
|
31
31
|
sourceRoot: string;
|
|
32
32
|
}
|
|
33
|
+
interface RouteSlotEntry extends RouteEntry {
|
|
34
|
+
name: string;
|
|
35
|
+
ownerPattern: string;
|
|
36
|
+
interception: boolean;
|
|
37
|
+
fallback: boolean;
|
|
38
|
+
containerId: string;
|
|
39
|
+
}
|
|
40
|
+
interface MatchedRouteSlot {
|
|
41
|
+
name: string;
|
|
42
|
+
ownerPattern: string;
|
|
43
|
+
containerId: string;
|
|
44
|
+
interception: boolean;
|
|
45
|
+
fallback: boolean;
|
|
46
|
+
route: RouteSlotEntry;
|
|
47
|
+
params: Record<string, string>;
|
|
48
|
+
}
|
|
33
49
|
interface MetadataImageEntry extends RouteEntry {
|
|
34
50
|
kind: MetadataImageKind;
|
|
35
51
|
fileName: "opengraph-image" | "twitter-image";
|
|
@@ -43,6 +59,7 @@ declare class RouteManager {
|
|
|
43
59
|
private config;
|
|
44
60
|
private routes;
|
|
45
61
|
private layouts;
|
|
62
|
+
private routeSlots;
|
|
46
63
|
private loadings;
|
|
47
64
|
private errors;
|
|
48
65
|
private metadataImages;
|
|
@@ -58,10 +75,13 @@ declare class RouteManager {
|
|
|
58
75
|
/**
|
|
59
76
|
* Find matching route for a given URL path
|
|
60
77
|
*/
|
|
61
|
-
matchRoute(pathname: string
|
|
78
|
+
matchRoute(pathname: string, options?: {
|
|
79
|
+
interceptFrom?: string;
|
|
80
|
+
}): {
|
|
62
81
|
route: RouteEntry | null;
|
|
63
82
|
params: Record<string, string>;
|
|
64
83
|
layouts: RouteEntry[];
|
|
84
|
+
slots: MatchedRouteSlot[];
|
|
65
85
|
};
|
|
66
86
|
/**
|
|
67
87
|
* Get all registered routes
|
|
@@ -71,6 +91,7 @@ declare class RouteManager {
|
|
|
71
91
|
* Get all registered layouts
|
|
72
92
|
*/
|
|
73
93
|
getLayouts(): Map<string, RouteEntry>;
|
|
94
|
+
getRouteSlots(): Map<string, RouteSlotEntry>;
|
|
74
95
|
/** Resolve route rules, inherited layouts, and the page export in precedence order. */
|
|
75
96
|
resolveRouteRuntimeConfig(pattern: string): Promise<ResolvedFarmRouteRuntimeConfig>;
|
|
76
97
|
/**
|
|
@@ -129,6 +150,18 @@ declare class RouteManager {
|
|
|
129
150
|
pattern: string;
|
|
130
151
|
modulePath: string;
|
|
131
152
|
}>;
|
|
153
|
+
slots: Array<{
|
|
154
|
+
name: string;
|
|
155
|
+
ownerPattern: string;
|
|
156
|
+
pattern: string;
|
|
157
|
+
modulePath: string;
|
|
158
|
+
containerId: string;
|
|
159
|
+
interception: boolean;
|
|
160
|
+
fallback: boolean;
|
|
161
|
+
shouldHydrate: boolean;
|
|
162
|
+
isClientComponent: boolean;
|
|
163
|
+
segments: RouteEntry["route"]["segments"];
|
|
164
|
+
}>;
|
|
132
165
|
};
|
|
133
166
|
/**
|
|
134
167
|
* Load a route module dynamically
|
|
@@ -149,6 +182,8 @@ declare class RouteManager {
|
|
|
149
182
|
* Find all layouts that should wrap a given path
|
|
150
183
|
*/
|
|
151
184
|
private findMatchingLayouts;
|
|
185
|
+
private findMatchingRouteSlots;
|
|
186
|
+
private matchesRoutePrefix;
|
|
152
187
|
private findNearestBoundary;
|
|
153
188
|
/**
|
|
154
189
|
* Log discovered routes for debugging
|