const trpc = useTRPC();
// Stable reference to the "combine" function
const combineData = useCallback(
(
// --- THIS IS CRAZY ---
result: Parameters<
Exclude<
Parameters<
typeof useQueries<
Array<
ReturnType<typeof trpc.projects.plannedTime.get.queryOptions>
>
>
>[0]["combine"],
undefined
>
>[0],
) => return result.flatMap((r) => r.data ?? []),
[trpc],
);
const data = useQueries({
queries: sections.map((section) =>
trpc.projects.plannedTime.get.queryOptions({
projectId,
startDate: section.start,
endDate: section.end,
}),
),
combine: combineData,
});
const trpc = useTRPC();
// Stable reference to the "combine" function
const combineData = useCallback(
(
// --- THIS IS CRAZY ---
result: Parameters<
Exclude<
Parameters<
typeof useQueries<
Array<
ReturnType<typeof trpc.projects.plannedTime.get.queryOptions>
>
>
>[0]["combine"],
undefined
>
>[0],
) => return result.flatMap((r) => r.data ?? []),
[trpc],
);
const data = useQueries({
queries: sections.map((section) =>
trpc.projects.plannedTime.get.queryOptions({
projectId,
startDate: section.start,
endDate: section.end,
}),
),
combine: combineData,
});