@@ -77,7 +77,9 @@ export type ResolveDataShape<
7777 ? { queries : Q }
7878 : { queries : Q ; payload : E }
7979 : E extends never
80- ? { queries : Q ; deferredQueries : D }
80+ ? D extends never
81+ ? { queries : Q }
82+ : { queries : Q ; deferredQueries : D }
8183 : { queries : Q ; deferredQueries : D ; payload : E } ;
8284
8385/** Use: `(...args: OptionalGenericArg<T>) => void;`
@@ -118,10 +120,10 @@ export type CreateUseLoaderArgs<
118120 ) => R ;
119121} ;
120122
121- export type UseLoader < A , R > = (
122- ...args : OptionalGenericArg < A >
123- ) => UseQueryResult < R > ;
124-
123+ export type UseLoader < A , R , Q extends _Q , D extends _D , E > = {
124+ ( ...args : OptionalGenericArg < A > ) : UseQueryResult < R > ;
125+ original_args : CreateUseLoaderArgs < Q , D , E , R , A > ;
126+ } ;
125127export type ComponentWithLoaderData <
126128 P extends Record < string , any > ,
127129 R extends unknown
@@ -212,9 +214,9 @@ export type CreateLoaderArgs<
212214
213215export type CreateLoader <
214216 P extends unknown ,
215- Q extends _Q ,
216- D extends _D ,
217- E extends _E ,
217+ Q extends _Q = never ,
218+ D extends _D = never ,
219+ E extends _E = never ,
218220 R extends unknown = MakeDataRequired < Q > ,
219221 A = never
220222> = (
@@ -230,7 +232,7 @@ export type Loader<
230232 A = never
231233> = {
232234 /** A hook that runs all queries and returns aggregated result */
233- useLoader : UseLoader < A , R > ;
235+ useLoader : UseLoader < A , R , Q , D , E > ;
234236 /** Generates an argument for the `queries` based on component props */
235237 queriesArg ?: ( props : P ) => A ;
236238 /** Determines what to render while loading (with no data to fallback on) */
@@ -266,32 +268,7 @@ export type Loader<
266268 Ab = A
267269 > (
268270 newLoader : Partial < CreateLoaderArgs < Pb , Qb , Db , Eb , Rb , Ab > >
269- ) => Loader <
270- Pb ,
271- Rb ,
272- Qb extends Q
273- ? Db extends D
274- ? Eb extends E
275- ? Q
276- : Qb
277- : Qb
278- : Qb ,
279- Qb extends Q
280- ? Db extends D
281- ? Eb extends E
282- ? D
283- : Db
284- : Db
285- : Db ,
286- Qb extends Q
287- ? Db extends D
288- ? Eb extends E
289- ? E
290- : Eb
291- : Eb
292- : Eb ,
293- Ab
294- > ;
271+ ) => Loader < Pb , Rb , Qb , Db , Eb , Ab > ;
295272 /** The component to use to switch between rendering the different query states. */
296273 LoaderComponent : Component < CustomLoaderProps > ;
297274} ;
0 commit comments