()
| 304 | |
| 305 | // @ts-expect-error (Page component is not rendered) |
| 306 | function Page() { |
| 307 | const result1 = useQueries< |
| 308 | [[number], [string], [Array<string>, boolean]] |
| 309 | >(() => ({ |
| 310 | queries: [ |
| 311 | { |
| 312 | queryKey: key1, |
| 313 | queryFn: () => 1, |
| 314 | }, |
| 315 | { |
| 316 | queryKey: key2, |
| 317 | queryFn: () => 'string', |
| 318 | }, |
| 319 | { |
| 320 | queryKey: key3, |
| 321 | queryFn: () => ['string[]'], |
| 322 | }, |
| 323 | ], |
| 324 | })) |
| 325 | expectTypeOf(result1[0]).toEqualTypeOf<UseQueryResult<number>>() |
| 326 | expectTypeOf(result1[1]).toEqualTypeOf<UseQueryResult<string>>() |
| 327 | expectTypeOf(result1[2]).toEqualTypeOf< |
| 328 | UseQueryResult<Array<string>, boolean> |
| 329 | >() |
| 330 | expectTypeOf(result1[0].data).toEqualTypeOf<number | undefined>() |
| 331 | expectTypeOf(result1[1].data).toEqualTypeOf<string | undefined>() |
| 332 | expectTypeOf(result1[2].data).toEqualTypeOf<Array<string> | undefined>() |
| 333 | expectTypeOf(result1[2].error).toEqualTypeOf<boolean | null>() |
| 334 | |
| 335 | // TData (3rd element) takes precedence over TQueryFnData (1st element) |
| 336 | const result2 = useQueries< |
| 337 | [[string, unknown, string], [string, unknown, number]] |
| 338 | >(() => ({ |
| 339 | queries: [ |
| 340 | { |
| 341 | queryKey: key1, |
| 342 | queryFn: () => 'string', |
| 343 | select: (a) => { |
| 344 | expectTypeOf(a).toEqualTypeOf<string>() |
| 345 | return a.toLowerCase() |
| 346 | }, |
| 347 | }, |
| 348 | { |
| 349 | queryKey: key2, |
| 350 | queryFn: () => 'string', |
| 351 | select: (a) => { |
| 352 | expectTypeOf(a).toEqualTypeOf<string>() |
| 353 | return parseInt(a) |
| 354 | }, |
| 355 | }, |
| 356 | ], |
| 357 | })) |
| 358 | expectTypeOf(result2[0]).toEqualTypeOf< |
| 359 | UseQueryResult<string, unknown> |
| 360 | >() |
| 361 | expectTypeOf(result2[1]).toEqualTypeOf< |
| 362 | UseQueryResult<number, unknown> |
| 363 | >() |
nothing calls this directly
no test coverage detected