diff --git a/src/createTRPCSvelte.ts b/src/createTRPCSvelte.ts index fa70270..ec24ba7 100644 --- a/src/createTRPCSvelte.ts +++ b/src/createTRPCSvelte.ts @@ -5,6 +5,7 @@ import { CreateMutationResult, CreateQueryOptions, CreateQueryResult, + InfiniteData, QueryClient, QueryClientConfig, StoreOrVal, @@ -36,7 +37,7 @@ import { } from '@trpc/server/shared'; import { BROWSER } from 'esm-env'; import { Readable, derived, readable } from 'svelte/store'; -import { getArrayQueryKey } from './internals/getArrayQueryKey'; +import { QueryKey, getArrayQueryKey } from './internals/getArrayQueryKey'; import type { TRPCSSRData } from './server/utils'; import { DecorateProcedureUtils, @@ -66,23 +67,27 @@ export type UserExposedOptions = type DecorateProcedure = TProcedure extends AnyQueryProcedure ? { - query: ( + query: >( input: StoreOrVal>, options?: StoreOrVal< UserExposedOptions< CreateQueryOptions< inferTransformedProcedureOutput, - TRPCClientErrorLike + TRPCClientErrorLike, + TData, + QueryKey > > >, - ) => CreateQueryResult< - inferTransformedProcedureOutput, - TRPCClientErrorLike - >; - } & (inferProcedureInput extends { cursor?: any } + ) => CreateQueryResult>; + } & (inferProcedureInput extends { cursor?: infer TCursor } ? { - infiniteQuery: ( + infiniteQuery: < + TData = InfiniteData< + inferTransformedProcedureOutput, + TCursor + >, + >( input: StoreOrVal< Omit, 'cursor'> >, @@ -90,12 +95,16 @@ type DecorateProcedure = UserExposedOptions< CreateInfiniteQueryOptions< inferTransformedProcedureOutput, - TRPCClientErrorLike + TRPCClientErrorLike, + TData, + inferTransformedProcedureOutput, + QueryKey, + TCursor > > >, ) => CreateInfiniteQueryResult< - inferTransformedProcedureOutput, + TData, TRPCClientErrorLike >; }