| 1 | import { av as LinkDescriptor, as as MetaDescriptor, aJ as ServerDataFrom, aK as ClientDataFrom, aL as Func, aM as Equal, aN as Pretty } from '../../route-data-aSUFWnQ6.js';
|
| 2 | import { A as AppLoadContext } from '../../data-CQbyyGzl.js';
|
| 3 | import 'react';
|
| 4 |
|
| 5 | type IsDefined<T> = Equal<T, undefined> extends true ? false : true;
|
| 6 | type RouteModule = {
|
| 7 | meta?: Func;
|
| 8 | links?: Func;
|
| 9 | headers?: Func;
|
| 10 | loader?: Func;
|
| 11 | clientLoader?: Func;
|
| 12 | action?: Func;
|
| 13 | clientAction?: Func;
|
| 14 | HydrateFallback?: unknown;
|
| 15 | default?: unknown;
|
| 16 | ErrorBoundary?: unknown;
|
| 17 | [key: string]: unknown;
|
| 18 | };
|
| 19 | type LinkDescriptors = LinkDescriptor[];
|
| 20 | type RouteInfo = {
|
| 21 | parents: RouteInfo[];
|
| 22 | module: RouteModule;
|
| 23 | id: unknown;
|
| 24 | file: string;
|
| 25 | path: string;
|
| 26 | params: unknown;
|
| 27 | loaderData: unknown;
|
| 28 | actionData: unknown;
|
| 29 | };
|
| 30 | type MetaMatch<T extends RouteInfo> = Pretty<Pick<T, "id" | "params"> & {
|
| 31 | pathname: string;
|
| 32 | meta: MetaDescriptor[];
|
| 33 | data: T["loaderData"];
|
| 34 | handle?: unknown;
|
| 35 | error?: unknown;
|
| 36 | }>;
|
| 37 | type MetaMatches<T extends RouteInfo[]> = T extends [infer F extends RouteInfo, ...infer R extends RouteInfo[]] ? [MetaMatch<F>, ...MetaMatches<R>] : Array<MetaMatch<RouteInfo> | undefined>;
|
| 38 | type CreateMetaArgs<T extends RouteInfo> = {
|
| 39 | location: Location;
|
| 40 | params: T["params"];
|
| 41 | data: T["loaderData"];
|
| 42 | error?: unknown;
|
| 43 | matches: MetaMatches<[...T["parents"], T]>;
|
| 44 | };
|
| 45 | type MetaDescriptors = MetaDescriptor[];
|
| 46 | type HeadersArgs = {
|
| 47 | loaderHeaders: Headers;
|
| 48 | parentHeaders: Headers;
|
| 49 | actionHeaders: Headers;
|
| 50 | errorHeaders: Headers | undefined;
|
| 51 | };
|
| 52 | type IsHydrate<ClientLoader> = ClientLoader extends {
|
| 53 | hydrate: true;
|
| 54 | } ? true : ClientLoader extends {
|
| 55 | hydrate: false;
|
| 56 | } ? false : false;
|
| 57 | type CreateLoaderData<T extends RouteModule> = _CreateLoaderData<ServerDataFrom<T["loader"]>, ClientDataFrom<T["clientLoader"]>, IsHydrate<T["clientLoader"]>, T extends {
|
| 58 | HydrateFallback: Func;
|
| 59 | } ? true : false>;
|
| 60 | type _CreateLoaderData<ServerLoaderData, ClientLoaderData, ClientLoaderHydrate extends boolean, HasHydrateFallback> = [
|
| 61 | HasHydrateFallback,
|
| 62 | ClientLoaderHydrate
|
| 63 | ] extends [true, true] ? IsDefined<ClientLoaderData> extends true ? ClientLoaderData : undefined : [
|
| 64 | IsDefined<ClientLoaderData>,
|
| 65 | IsDefined<ServerLoaderData>
|
| 66 | ] extends [true, true] ? ServerLoaderData | ClientLoaderData : IsDefined<ClientLoaderData> extends true ? ClientLoaderData : IsDefined<ServerLoaderData> extends true ? ServerLoaderData : undefined;
|
| 67 | type CreateActionData<T extends RouteModule> = _CreateActionData<ServerDataFrom<T["action"]>, ClientDataFrom<T["clientAction"]>>;
|
| 68 | type _CreateActionData<ServerActionData, ClientActionData> = Awaited<[
|
| 69 | IsDefined<ServerActionData>,
|
| 70 | IsDefined<ClientActionData>
|
| 71 | ] extends [true, true] ? ServerActionData | ClientActionData : IsDefined<ClientActionData> extends true ? ClientActionData : IsDefined<ServerActionData> extends true ? ServerActionData : undefined>;
|
| 72 | type ClientDataFunctionArgs<T extends RouteInfo> = {
|
| 73 | request: Request;
|
| 74 | params: T["params"];
|
| 75 | };
|
| 76 | type ServerDataFunctionArgs<T extends RouteInfo> = ClientDataFunctionArgs<T> & {
|
| 77 | context: AppLoadContext;
|
| 78 | };
|
| 79 | type CreateServerLoaderArgs<T extends RouteInfo> = ServerDataFunctionArgs<T>;
|
| 80 | type CreateClientLoaderArgs<T extends RouteInfo> = ClientDataFunctionArgs<T> & {
|
| 81 | serverLoader: () => Promise<ServerDataFrom<T["module"]["loader"]>>;
|
| 82 | };
|
| 83 | type CreateServerActionArgs<T extends RouteInfo> = ServerDataFunctionArgs<T>;
|
| 84 | type CreateClientActionArgs<T extends RouteInfo> = ClientDataFunctionArgs<T> & {
|
| 85 | serverAction: () => Promise<ServerDataFrom<T["module"]["action"]>>;
|
| 86 | };
|
| 87 | type CreateHydrateFallbackProps<T extends RouteInfo> = {
|
| 88 | params: T["params"];
|
| 89 | };
|
| 90 | type Match<T extends RouteInfo> = Pretty<Pick<T, "id" | "params"> & {
|
| 91 | pathname: string;
|
| 92 | data: T["loaderData"];
|
| 93 | handle: unknown;
|
| 94 | }>;
|
| 95 | type Matches<T extends RouteInfo[]> = T extends [infer F extends RouteInfo, ...infer R extends RouteInfo[]] ? [Match<F>, ...Matches<R>] : Array<Match<RouteInfo> | undefined>;
|
| 96 | type CreateComponentProps<T extends RouteInfo> = {
|
| 97 | params: T["params"];
|
| 98 | loaderData: T["loaderData"];
|
| 99 | actionData?: T["actionData"];
|
| 100 | matches: Matches<[...T["parents"], T]>;
|
| 101 | };
|
| 102 | type CreateErrorBoundaryProps<T extends RouteInfo> = {
|
| 103 | params: T["params"];
|
| 104 | error: unknown;
|
| 105 | loaderData?: T["loaderData"];
|
| 106 | actionData?: T["actionData"];
|
| 107 | };
|
| 108 |
|
| 109 | export type { CreateActionData, CreateClientActionArgs, CreateClientLoaderArgs, CreateComponentProps, CreateErrorBoundaryProps, CreateHydrateFallbackProps, CreateLoaderData, CreateMetaArgs, CreateServerActionArgs, CreateServerLoaderArgs, HeadersArgs, LinkDescriptors, MetaDescriptors };
|