@trpc/tanstack-react-query 11.19.0 → 11.21.1-canary.20.10e2ef98f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +4 -4
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +4 -4
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +12 -12
- package/src/internals/Context.tsx +1 -1
- package/src/internals/createOptionsProxy.ts +3 -2
package/dist/index.cjs
CHANGED
|
@@ -469,7 +469,7 @@ function trackResult(result, onTrackResult) {
|
|
|
469
469
|
/**
|
|
470
470
|
* Create a typed proxy from your router types. Can also be used on the server.
|
|
471
471
|
*
|
|
472
|
-
* @see https://trpc.io/docs/client/tanstack-react-query/setup#
|
|
472
|
+
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3c-set-up-without-react-context
|
|
473
473
|
* @see https://trpc.io/docs/client/tanstack-react-query/server-components#5-create-a-trpc-caller-for-server-components
|
|
474
474
|
*/
|
|
475
475
|
function createTRPCOptionsProxy(opts) {
|
|
@@ -609,7 +609,7 @@ function createTRPCOptionsProxy(opts) {
|
|
|
609
609
|
/**
|
|
610
610
|
* Create a set of type-safe provider-consumers
|
|
611
611
|
*
|
|
612
|
-
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-
|
|
612
|
+
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-set-up-the-trpc-context-provider
|
|
613
613
|
*/
|
|
614
614
|
function createTRPCContext() {
|
|
615
615
|
const TRPCClientContext = react.createContext(null);
|
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataTag, DefinedInitialDataInfiniteOptions, DefinedInitialDataOptions, InfiniteData, QueryClient, QueryFilters, SkipToken, UndefinedInitialDataInfiniteOptions, UndefinedInitialDataOptions, UnusedSkipTokenInfiniteOptions, UnusedSkipTokenOptions, UseMutationOptions } from "@tanstack/react-query";
|
|
2
2
|
import { TRPCClient, TRPCClientErrorLike, TRPCRequestOptions, TRPCUntypedClient } from "@trpc/client";
|
|
3
|
-
import { AnyTRPCProcedure, AnyTRPCRootTypes, AnyTRPCRouter, TRPCProcedureType, TRPCRouterRecord, inferProcedureInput, inferRouterContext, inferTransformedProcedureOutput } from "@trpc/server";
|
|
3
|
+
import { AnyTRPCProcedure, AnyTRPCRootTypes, AnyTRPCRouter, TRPCProcedureType, TRPCRouterRecord, inferProcedureErrorShape, inferProcedureInput, inferRouterContext, inferTransformedProcedureOutput } from "@trpc/server";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import { DistributiveOmit, MaybePromise, coerceAsyncIterableToArray, inferAsyncIterableYield } from "@trpc/server/unstable-core-do-not-import";
|
|
6
6
|
import { TRPCConnectionState } from "@trpc/client/unstable-internals";
|
|
@@ -416,7 +416,7 @@ type DecoratedRouterRecord<TRoot extends AnyTRPCRootTypes, TRecord extends TRPCR
|
|
|
416
416
|
input: inferProcedureInput<$Value>;
|
|
417
417
|
output: inferTransformedProcedureOutput<TRoot, $Value>;
|
|
418
418
|
transformer: TRoot['transformer'];
|
|
419
|
-
errorShape: TRoot
|
|
419
|
+
errorShape: inferProcedureErrorShape<TRoot, $Value>;
|
|
420
420
|
featureFlags: TFeatureFlags;
|
|
421
421
|
}> : never : never; };
|
|
422
422
|
type TRPCOptionsProxy<TRouter extends AnyTRPCRouter, TFeatureFlags extends FeatureFlags = DefaultFeatureFlags> = DecoratedRouterRecord<TRouter['_def']['_config']['$types'], TRouter['_def']['record'], TFeatureFlags> & DecorateRouterKeyable<TFeatureFlags>;
|
|
@@ -437,7 +437,7 @@ type TRPCOptionsProxyOptions<TRouter extends AnyTRPCRouter, TFeatureFlags extend
|
|
|
437
437
|
/**
|
|
438
438
|
* Create a typed proxy from your router types. Can also be used on the server.
|
|
439
439
|
*
|
|
440
|
-
* @see https://trpc.io/docs/client/tanstack-react-query/setup#
|
|
440
|
+
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3c-set-up-without-react-context
|
|
441
441
|
* @see https://trpc.io/docs/client/tanstack-react-query/server-components#5-create-a-trpc-caller-for-server-components
|
|
442
442
|
*/
|
|
443
443
|
export declare function createTRPCOptionsProxy<TRouter extends AnyTRPCRouter, TFeatureFlags extends FeatureFlags = DefaultFeatureFlags>(opts: TRPCOptionsProxyOptions<TRouter, TFeatureFlags>): TRPCOptionsProxy<TRouter, TFeatureFlags>;
|
|
@@ -456,7 +456,7 @@ interface CreateTRPCContextResult<TRouter extends AnyTRPCRouter, TFeatureFlags e
|
|
|
456
456
|
/**
|
|
457
457
|
* Create a set of type-safe provider-consumers
|
|
458
458
|
*
|
|
459
|
-
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-
|
|
459
|
+
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-set-up-the-trpc-context-provider
|
|
460
460
|
*/
|
|
461
461
|
export declare function createTRPCContext<TRouter extends AnyTRPCRouter, TFeatureFlags extends FeatureFlags = DefaultFeatureFlags>(): CreateTRPCContextResult<TRouter, TFeatureFlags>;
|
|
462
462
|
//#endregion
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/internals/types.ts","../src/internals/infiniteQueryOptions.ts","../src/internals/mutationOptions.ts","../src/internals/queryOptions.ts","../src/internals/subscriptionOptions.ts","../src/internals/createOptionsProxy.ts","../src/internals/Context.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/internals/types.ts","../src/internals/infiniteQueryOptions.ts","../src/internals/mutationOptions.ts","../src/internals/queryOptions.ts","../src/internals/subscriptionOptions.ts","../src/internals/createOptionsProxy.ts","../src/internals/Context.tsx"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { TRPCClient, TRPCClientErrorLike, TRPCRequestOptions, TRPCUntypedClient } from "@trpc/client";
|
|
3
|
-
import { AnyTRPCProcedure, AnyTRPCRootTypes, AnyTRPCRouter, TRPCProcedureType, TRPCRouterRecord, inferProcedureInput, inferRouterContext, inferTransformedProcedureOutput } from "@trpc/server";
|
|
3
|
+
import { AnyTRPCProcedure, AnyTRPCRootTypes, AnyTRPCRouter, TRPCProcedureType, TRPCRouterRecord, inferProcedureErrorShape, inferProcedureInput, inferRouterContext, inferTransformedProcedureOutput } from "@trpc/server";
|
|
4
4
|
import { DataTag, DefinedInitialDataInfiniteOptions, DefinedInitialDataOptions, InfiniteData, QueryClient, QueryFilters, SkipToken, UndefinedInitialDataInfiniteOptions, UndefinedInitialDataOptions, UnusedSkipTokenInfiniteOptions, UnusedSkipTokenOptions, UseMutationOptions } from "@tanstack/react-query";
|
|
5
5
|
import { DistributiveOmit, MaybePromise, coerceAsyncIterableToArray, inferAsyncIterableYield } from "@trpc/server/unstable-core-do-not-import";
|
|
6
6
|
import { TRPCConnectionState } from "@trpc/client/unstable-internals";
|
|
@@ -416,7 +416,7 @@ type DecoratedRouterRecord<TRoot extends AnyTRPCRootTypes, TRecord extends TRPCR
|
|
|
416
416
|
input: inferProcedureInput<$Value>;
|
|
417
417
|
output: inferTransformedProcedureOutput<TRoot, $Value>;
|
|
418
418
|
transformer: TRoot['transformer'];
|
|
419
|
-
errorShape: TRoot
|
|
419
|
+
errorShape: inferProcedureErrorShape<TRoot, $Value>;
|
|
420
420
|
featureFlags: TFeatureFlags;
|
|
421
421
|
}> : never : never; };
|
|
422
422
|
type TRPCOptionsProxy<TRouter extends AnyTRPCRouter, TFeatureFlags extends FeatureFlags = DefaultFeatureFlags> = DecoratedRouterRecord<TRouter['_def']['_config']['$types'], TRouter['_def']['record'], TFeatureFlags> & DecorateRouterKeyable<TFeatureFlags>;
|
|
@@ -437,7 +437,7 @@ type TRPCOptionsProxyOptions<TRouter extends AnyTRPCRouter, TFeatureFlags extend
|
|
|
437
437
|
/**
|
|
438
438
|
* Create a typed proxy from your router types. Can also be used on the server.
|
|
439
439
|
*
|
|
440
|
-
* @see https://trpc.io/docs/client/tanstack-react-query/setup#
|
|
440
|
+
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3c-set-up-without-react-context
|
|
441
441
|
* @see https://trpc.io/docs/client/tanstack-react-query/server-components#5-create-a-trpc-caller-for-server-components
|
|
442
442
|
*/
|
|
443
443
|
export declare function createTRPCOptionsProxy<TRouter extends AnyTRPCRouter, TFeatureFlags extends FeatureFlags = DefaultFeatureFlags>(opts: TRPCOptionsProxyOptions<TRouter, TFeatureFlags>): TRPCOptionsProxy<TRouter, TFeatureFlags>;
|
|
@@ -456,7 +456,7 @@ interface CreateTRPCContextResult<TRouter extends AnyTRPCRouter, TFeatureFlags e
|
|
|
456
456
|
/**
|
|
457
457
|
* Create a set of type-safe provider-consumers
|
|
458
458
|
*
|
|
459
|
-
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-
|
|
459
|
+
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-set-up-the-trpc-context-provider
|
|
460
460
|
*/
|
|
461
461
|
export declare function createTRPCContext<TRouter extends AnyTRPCRouter, TFeatureFlags extends FeatureFlags = DefaultFeatureFlags>(): CreateTRPCContextResult<TRouter, TFeatureFlags>;
|
|
462
462
|
//#endregion
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/internals/types.ts","../src/internals/infiniteQueryOptions.ts","../src/internals/mutationOptions.ts","../src/internals/queryOptions.ts","../src/internals/subscriptionOptions.ts","../src/internals/createOptionsProxy.ts","../src/internals/Context.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/internals/types.ts","../src/internals/infiniteQueryOptions.ts","../src/internals/mutationOptions.ts","../src/internals/queryOptions.ts","../src/internals/subscriptionOptions.ts","../src/internals/createOptionsProxy.ts","../src/internals/Context.tsx"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -445,7 +445,7 @@ function trackResult(result, onTrackResult) {
|
|
|
445
445
|
/**
|
|
446
446
|
* Create a typed proxy from your router types. Can also be used on the server.
|
|
447
447
|
*
|
|
448
|
-
* @see https://trpc.io/docs/client/tanstack-react-query/setup#
|
|
448
|
+
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3c-set-up-without-react-context
|
|
449
449
|
* @see https://trpc.io/docs/client/tanstack-react-query/server-components#5-create-a-trpc-caller-for-server-components
|
|
450
450
|
*/
|
|
451
451
|
function createTRPCOptionsProxy(opts) {
|
|
@@ -585,7 +585,7 @@ function createTRPCOptionsProxy(opts) {
|
|
|
585
585
|
/**
|
|
586
586
|
* Create a set of type-safe provider-consumers
|
|
587
587
|
*
|
|
588
|
-
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-
|
|
588
|
+
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-set-up-the-trpc-context-provider
|
|
589
589
|
*/
|
|
590
590
|
function createTRPCContext() {
|
|
591
591
|
const TRPCClientContext = React.createContext(null);
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/internals/utils.ts","../src/internals/infiniteQueryOptions.ts","../src/internals/mutationOptions.ts","../src/internals/queryOptions.ts","../src/internals/subscriptionOptions.ts","../src/internals/createOptionsProxy.ts","../src/internals/Context.tsx"],"sourcesContent":["import { skipToken, type QueryClient } from '@tanstack/react-query';\nimport {\n isFunction,\n isObject,\n run,\n} from '@trpc/server/unstable-core-do-not-import';\nimport type {\n AnyTRPCMutationKey,\n AnyTRPCQueryKey,\n FeatureFlags,\n QueryType,\n TRPCMutationKeyWithoutPrefix,\n TRPCQueryKey,\n TRPCQueryKeyWithoutPrefix,\n TRPCQueryKeyWithPrefix,\n TRPCQueryOptionsResult,\n} from './types';\n\n/**\n * @internal\n */\nexport function createTRPCOptionsResult(value: {\n path: string[];\n}): TRPCQueryOptionsResult['trpc'] {\n const path = value.path.join('.');\n\n return {\n path,\n };\n}\n\nexport function isPrefixedQueryKey(\n queryKey: TRPCQueryKey<any>,\n): queryKey is TRPCQueryKeyWithPrefix {\n return queryKey.length >= 3;\n}\n\nexport function readQueryKey(queryKey: AnyTRPCQueryKey) {\n if (isPrefixedQueryKey(queryKey)) {\n return {\n type: 'prefixed' as const,\n prefix: queryKey[0],\n path: queryKey[1],\n args: queryKey[2],\n };\n } else {\n return {\n type: 'unprefixed' as const,\n prefix: undefined,\n path: queryKey[0],\n args: queryKey[1],\n };\n }\n}\n\n/**\n * @internal\n */\nexport function getClientArgs<TOptions, TFeatureFlags extends FeatureFlags>(\n queryKey: TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n opts: TOptions,\n infiniteParams?: {\n pageParam: any;\n direction: 'forward' | 'backward';\n },\n) {\n const queryKeyData = readQueryKey(queryKey);\n\n let input = queryKeyData.args?.input;\n if (infiniteParams) {\n input = {\n ...(queryKeyData.args?.input ?? {}),\n ...(infiniteParams.pageParam !== undefined\n ? { cursor: infiniteParams.pageParam }\n : {}),\n direction: infiniteParams.direction,\n };\n }\n return [queryKeyData.path.join('.'), input, (opts as any)?.trpc] as const;\n}\n\n/**\n * @internal\n */\nexport async function buildQueryFromAsyncIterable<\n TQueryKey extends TRPCQueryKey<any>,\n>(\n asyncIterable: AsyncIterable<unknown>,\n queryClient: QueryClient,\n queryKey: TQueryKey,\n) {\n const queryCache = queryClient.getQueryCache();\n\n const query = queryCache.build(queryClient, {\n queryKey,\n });\n\n query.setState({\n data: [],\n status: 'success',\n });\n\n const aggregate: unknown[] = [];\n for await (const value of asyncIterable) {\n aggregate.push(value);\n\n query.setState({\n data: [...aggregate],\n });\n }\n return aggregate;\n}\n\n/**\n * To allow easy interactions with groups of related queries, such as\n * invalidating all queries of a router, we use an array as the path when\n * storing in tanstack query.\n *\n * @internal\n */\nexport function getQueryKeyInternal(opts: {\n path: string[];\n input?: unknown;\n type: QueryType;\n prefix: string | undefined;\n}): AnyTRPCQueryKey {\n const key = run((): TRPCQueryKeyWithoutPrefix => {\n const { input, type } = opts;\n\n // Construct a query key that is easy to destructure and flexible for\n // partial selecting etc.\n // https://github.com/trpc/trpc/issues/3128\n\n // some parts of the path may be dot-separated, split them up\n const splitPath = opts.path.flatMap((part) => part.split('.'));\n\n if (!input && type === 'any') {\n // this matches also all mutations (see `getMutationKeyInternal`)\n\n // for `utils.invalidate()` to match all queries (including vanilla react-query)\n // we don't want nested array if path is empty, i.e. `[]` instead of `[[]]`\n return splitPath.length ? [splitPath] : ([] as unknown as TRPCQueryKey);\n }\n\n if (\n type === 'infinite' &&\n isObject(input) &&\n ('direction' in input || 'cursor' in input)\n ) {\n const {\n cursor: _,\n direction: __,\n ...inputWithoutCursorAndDirection\n } = input;\n return [\n splitPath,\n {\n input: inputWithoutCursorAndDirection,\n type: 'infinite',\n },\n ];\n }\n\n return [\n splitPath,\n {\n ...(typeof input !== 'undefined' &&\n input !== skipToken && { input: input }),\n ...(type && type !== 'any' && { type: type }),\n },\n ];\n });\n\n if (opts.prefix) {\n key.unshift([opts.prefix]);\n }\n return key;\n}\n\n/**\n * @internal\n */\nexport function getMutationKeyInternal(opts: {\n prefix: string | undefined;\n path: string[];\n}): AnyTRPCMutationKey {\n // some parts of the path may be dot-separated, split them up\n const key: TRPCMutationKeyWithoutPrefix = [\n opts.path.flatMap((part) => part.split('.')),\n ];\n\n if (opts.prefix) {\n key.unshift([opts.prefix]);\n }\n return key;\n}\n\n/**\n * @internal\n */\nexport function unwrapLazyArg<T>(valueOrLazy: T | (() => T)): T {\n return (isFunction(valueOrLazy) ? valueOrLazy() : valueOrLazy) as T;\n}\n","import type {\n DataTag,\n DefinedInitialDataInfiniteOptions,\n QueryClient,\n QueryFunction,\n SkipToken,\n UndefinedInitialDataInfiniteOptions,\n UnusedSkipTokenInfiniteOptions,\n} from '@tanstack/react-query';\nimport { infiniteQueryOptions, skipToken } from '@tanstack/react-query';\nimport type { TRPCClientErrorLike, TRPCUntypedClient } from '@trpc/client';\nimport type { DistributiveOmit } from '@trpc/server/unstable-core-do-not-import';\nimport type {\n ExtractCursorType,\n FeatureFlags,\n ResolverDef,\n TRPCInfiniteData,\n TRPCQueryBaseOptions,\n TRPCQueryKey,\n TRPCQueryOptionsResult,\n} from './types';\nimport { createTRPCOptionsResult, getClientArgs } from './utils';\n\ntype ReservedOptions =\n 'queryKey' | 'queryFn' | 'queryHashFn' | 'queryHash' | 'initialPageParam';\n\ninterface UndefinedTRPCInfiniteQueryOptionsIn<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {\n initialCursor?: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\ninterface UndefinedTRPCInfiniteQueryOptionsOut<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n 'initialPageParam'\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n TRPCInfiniteData<TInput, TData>,\n TError\n >;\n initialPageParam: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\ninterface DefinedTRPCInfiniteQueryOptionsIn<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {\n initialCursor?: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\ninterface DefinedTRPCInfiniteQueryOptionsOut<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n 'initialPageParam'\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n TRPCInfiniteData<TInput, TData>,\n TError\n >;\n initialPageParam: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\ninterface UnusedSkipTokenTRPCInfiniteQueryOptionsIn<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UnusedSkipTokenInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {\n initialCursor?: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\ninterface UnusedSkipTokenTRPCInfiniteQueryOptionsOut<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UnusedSkipTokenInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n 'initialPageParam'\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n TRPCInfiniteData<TInput, TData>,\n TError\n >;\n initialPageParam: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\nexport interface TRPCInfiniteQueryOptions<TDef extends ResolverDef> {\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'] | SkipToken,\n opts: DefinedTRPCInfiniteQueryOptionsIn<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >,\n ): DefinedTRPCInfiniteQueryOptionsOut<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >;\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'],\n opts: UnusedSkipTokenTRPCInfiniteQueryOptionsIn<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >,\n ): UnusedSkipTokenTRPCInfiniteQueryOptionsOut<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >;\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'] | SkipToken,\n opts: UndefinedTRPCInfiniteQueryOptionsIn<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >,\n ): UndefinedTRPCInfiniteQueryOptionsOut<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >;\n}\n\ntype AnyTRPCInfiniteQueryOptionsIn<TFeatureFlags extends FeatureFlags> =\n | DefinedTRPCInfiniteQueryOptionsIn<any, any, any, any, TFeatureFlags>\n | UnusedSkipTokenTRPCInfiniteQueryOptionsIn<any, any, any, any, TFeatureFlags>\n | UndefinedTRPCInfiniteQueryOptionsIn<any, any, any, any, TFeatureFlags>;\n\ntype AnyTRPCInfiniteQueryOptionsOut<TFeatureFlags extends FeatureFlags> =\n | DefinedTRPCInfiniteQueryOptionsOut<any, any, any, any, TFeatureFlags>\n | UnusedSkipTokenTRPCInfiniteQueryOptionsOut<\n any,\n any,\n any,\n any,\n TFeatureFlags\n >\n | UndefinedTRPCInfiniteQueryOptionsOut<any, any, any, any, TFeatureFlags>;\n\nexport function trpcInfiniteQueryOptions<\n TFeatureFlags extends FeatureFlags,\n>(args: {\n input: unknown;\n query: typeof TRPCUntypedClient.prototype.query;\n queryClient: QueryClient | (() => QueryClient);\n path: string[];\n queryKey: TRPCQueryKey<TFeatureFlags['keyPrefix']>;\n opts: AnyTRPCInfiniteQueryOptionsIn<TFeatureFlags> | undefined;\n}): AnyTRPCInfiniteQueryOptionsOut<TFeatureFlags> {\n const { input, query, path, queryKey, opts } = args;\n const inputIsSkipToken = input === skipToken;\n\n const queryFn: QueryFunction<\n unknown,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n unknown\n > = async (queryFnContext) => {\n const actualOpts = {\n ...opts,\n trpc: {\n ...opts?.trpc,\n ...(opts?.trpc?.abortOnUnmount\n ? { signal: queryFnContext.signal }\n : { signal: null }),\n },\n };\n\n const result = await query(\n ...getClientArgs(queryKey, actualOpts, {\n direction: queryFnContext.direction,\n pageParam: queryFnContext.pageParam,\n }),\n );\n\n return result;\n };\n\n return Object.assign(\n infiniteQueryOptions({\n ...(opts ?? ({} as AnyTRPCInfiniteQueryOptionsIn<TFeatureFlags>)),\n queryKey,\n queryFn: inputIsSkipToken ? skipToken : queryFn,\n initialPageParam: opts?.initialCursor ?? (input as any)?.cursor,\n }),\n { trpc: createTRPCOptionsResult({ path }) },\n );\n}\n","import type {\n MutationFunction,\n QueryClient,\n UseMutationOptions,\n} from '@tanstack/react-query';\nimport type { TRPCClientErrorLike, TRPCUntypedClient } from '@trpc/client';\nimport type {\n DistributiveOmit,\n MaybePromise,\n} from '@trpc/server/unstable-core-do-not-import';\nimport type {\n DefaultFeatureFlags,\n FeatureFlags,\n KeyPrefixOptions,\n ResolverDef,\n TRPCMutationKey,\n TRPCQueryBaseOptions,\n TRPCQueryOptionsResult,\n} from './types';\nimport {\n createTRPCOptionsResult,\n getClientArgs,\n getMutationKeyInternal,\n unwrapLazyArg,\n} from './utils';\n\ntype ReservedOptions = 'mutationKey' | 'mutationFn';\n\ntype TRPCMutationOptionsIn<\n TInput,\n TError,\n TOutput,\n TContext,\n TFeatureFlags extends FeatureFlags,\n> = DistributiveOmit<\n UseMutationOptions<TOutput, TError, TInput, TContext>,\n ReservedOptions\n> &\n TRPCQueryBaseOptions &\n KeyPrefixOptions<TFeatureFlags>;\n\ninterface TRPCMutationOptionsOut<\n TInput,\n TError,\n TOutput,\n TContext,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n UseMutationOptions<TOutput, TError, TInput, TContext>,\n TRPCQueryOptionsResult {\n mutationKey: TRPCMutationKey<TFeatureFlags['keyPrefix']>;\n}\n\nexport interface TRPCMutationOptions<\n TDef extends ResolverDef,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> {\n <TContext = unknown>(\n opts?: TRPCMutationOptionsIn<\n TDef['input'],\n TRPCClientErrorLike<TDef>,\n TDef['output'],\n TContext,\n TFeatureFlags\n >,\n ): TRPCMutationOptionsOut<\n TDef['input'],\n TRPCClientErrorLike<TDef>,\n TDef['output'],\n TContext,\n TFeatureFlags\n >;\n}\n\n/**\n * @internal\n */\nexport interface MutationOptionsOverride {\n onSuccess: (opts: {\n /**\n * Calls the original function that was defined in the query's `onSuccess` option\n */\n originalFn: () => MaybePromise<void>;\n queryClient: QueryClient;\n /**\n * Meta data passed in from the `useMutation()` hook\n */\n meta: Record<string, unknown>;\n }) => MaybePromise<void>;\n}\n\ntype AnyTRPCMutationOptionsIn<TFeatureFlags extends FeatureFlags> =\n TRPCMutationOptionsIn<unknown, unknown, unknown, unknown, TFeatureFlags>;\n\ntype AnyTRPCMutationOptionsOut<TFeatureFlags extends FeatureFlags> =\n TRPCMutationOptionsOut<unknown, unknown, unknown, unknown, TFeatureFlags>;\n\n/**\n * @internal\n */\nexport function trpcMutationOptions<TFeatureFlags extends FeatureFlags>(args: {\n mutate: typeof TRPCUntypedClient.prototype.mutation;\n queryClient: QueryClient | (() => QueryClient);\n path: string[];\n prefix: string | undefined;\n opts: AnyTRPCMutationOptionsIn<TFeatureFlags> | undefined;\n overrides: MutationOptionsOverride | undefined;\n}): AnyTRPCMutationOptionsOut<TFeatureFlags> {\n const { mutate, path, prefix, opts, overrides } = args;\n const queryClient = unwrapLazyArg(args.queryClient);\n\n const mutationKey = getMutationKeyInternal({\n path,\n prefix: opts?.keyPrefix ?? prefix,\n }) as TRPCMutationKey<TFeatureFlags['keyPrefix']>;\n\n const defaultOpts = queryClient.defaultMutationOptions(\n queryClient.getMutationDefaults(mutationKey),\n );\n\n const mutationSuccessOverride: MutationOptionsOverride['onSuccess'] =\n overrides?.onSuccess ?? ((options) => options.originalFn());\n\n const mutationFn: MutationFunction = async (input) => {\n const result = await mutate(\n ...getClientArgs([...mutationKey, { input }] as any, opts),\n );\n\n return result;\n };\n\n return {\n ...opts,\n mutationKey,\n mutationFn,\n onSuccess(...args) {\n const originalFn = () =>\n opts?.onSuccess?.(...args) ?? defaultOpts?.onSuccess?.(...args);\n\n return mutationSuccessOverride({\n originalFn,\n queryClient,\n meta: opts?.meta ?? defaultOpts?.meta ?? {},\n });\n },\n trpc: createTRPCOptionsResult({ path }),\n };\n}\n","import type {\n DataTag,\n DefinedInitialDataOptions,\n QueryClient,\n QueryFunction,\n SkipToken,\n UndefinedInitialDataOptions,\n UnusedSkipTokenOptions,\n} from '@tanstack/react-query';\nimport { queryOptions, skipToken } from '@tanstack/react-query';\nimport type { TRPCClientErrorLike, TRPCUntypedClient } from '@trpc/client';\nimport type {\n coerceAsyncIterableToArray,\n DistributiveOmit,\n} from '@trpc/server/unstable-core-do-not-import';\nimport { isAsyncIterable } from '@trpc/server/unstable-core-do-not-import';\nimport type {\n DefaultFeatureFlags,\n FeatureFlags,\n ResolverDef,\n TRPCQueryBaseOptions,\n TRPCQueryKey,\n TRPCQueryOptionsResult,\n} from './types';\nimport {\n buildQueryFromAsyncIterable,\n createTRPCOptionsResult,\n getClientArgs,\n unwrapLazyArg,\n} from './utils';\n\ntype ReservedOptions = 'queryKey' | 'queryFn' | 'queryHashFn' | 'queryHash';\n\ninterface UndefinedTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UndefinedInitialDataOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {}\n\ninterface UndefinedTRPCQueryOptionsOut<\n TQueryFnData,\n TOutput,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n UndefinedInitialDataOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TOutput>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n coerceAsyncIterableToArray<TOutput>,\n TError\n >;\n}\n\ninterface DefinedTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n DefinedInitialDataOptions<\n coerceAsyncIterableToArray<NoInfer<TQueryFnData>>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {}\n\ninterface DefinedTRPCQueryOptionsOut<\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DefinedInitialDataOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n coerceAsyncIterableToArray<TData>,\n TError\n >;\n}\n\ninterface UnusedSkipTokenTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UnusedSkipTokenOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {}\n\ninterface UnusedSkipTokenTRPCQueryOptionsOut<\n TQueryFnData,\n TOutput,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n UnusedSkipTokenOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TOutput>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n coerceAsyncIterableToArray<TOutput>,\n TError\n >;\n}\n\nexport interface TRPCQueryOptions<\n TDef extends ResolverDef,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> {\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'] | SkipToken,\n opts: DefinedTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >,\n ): DefinedTRPCQueryOptionsOut<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >;\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'],\n opts?: UnusedSkipTokenTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >,\n ): UnusedSkipTokenTRPCQueryOptionsOut<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >;\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'] | SkipToken,\n opts?: UndefinedTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >,\n ): UndefinedTRPCQueryOptionsOut<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >;\n}\n\ntype AnyTRPCQueryOptionsIn<TFeatureFlags extends FeatureFlags> =\n | DefinedTRPCQueryOptionsIn<unknown, unknown, unknown, TFeatureFlags>\n | UnusedSkipTokenTRPCQueryOptionsIn<unknown, unknown, unknown, TFeatureFlags>\n | UndefinedTRPCQueryOptionsIn<unknown, unknown, unknown, TFeatureFlags>;\n\ntype AnyTRPCQueryOptionsOut<\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> =\n | DefinedTRPCQueryOptionsOut<unknown, unknown, unknown, TFeatureFlags>\n | UnusedSkipTokenTRPCQueryOptionsOut<unknown, unknown, unknown, TFeatureFlags>\n | UndefinedTRPCQueryOptionsOut<unknown, unknown, unknown, TFeatureFlags>;\n\n/**\n * @internal\n */\nexport function trpcQueryOptions<TFeatureFlags extends FeatureFlags>(args: {\n input: unknown;\n query: typeof TRPCUntypedClient.prototype.query;\n queryClient: QueryClient | (() => QueryClient);\n path: string[];\n queryKey: TRPCQueryKey<TFeatureFlags['keyPrefix']>;\n opts: AnyTRPCQueryOptionsIn<TFeatureFlags> | undefined;\n}): AnyTRPCQueryOptionsOut<TFeatureFlags> {\n const { input, query, path, queryKey, opts } = args;\n const queryClient = unwrapLazyArg(args.queryClient);\n\n const inputIsSkipToken = input === skipToken;\n\n const queryFn: QueryFunction<\n unknown,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n > = async (queryFnContext) => {\n const actualOpts = {\n ...opts,\n trpc: {\n ...opts?.trpc,\n ...(opts?.trpc?.abortOnUnmount\n ? { signal: queryFnContext.signal }\n : { signal: null }),\n },\n };\n const queryKey = queryFnContext.queryKey;\n\n const result = await query(...getClientArgs(queryKey, actualOpts));\n\n if (isAsyncIterable(result)) {\n return buildQueryFromAsyncIterable(result, queryClient, queryKey);\n }\n\n return result;\n };\n\n return Object.assign(\n queryOptions({\n ...opts,\n queryKey: queryKey,\n queryFn: inputIsSkipToken ? skipToken : queryFn,\n }),\n { trpc: createTRPCOptionsResult({ path }) },\n );\n}\n","import type { SkipToken } from '@tanstack/react-query';\nimport { hashKey, skipToken } from '@tanstack/react-query';\nimport type { TRPCClientErrorLike, TRPCUntypedClient } from '@trpc/client';\nimport type { TRPCConnectionState } from '@trpc/client/unstable-internals';\nimport type { Unsubscribable } from '@trpc/server/observable';\nimport type { inferAsyncIterableYield } from '@trpc/server/unstable-core-do-not-import';\nimport * as React from 'react';\nimport type {\n DefaultFeatureFlags,\n FeatureFlags,\n ResolverDef,\n TRPCQueryKey,\n TRPCQueryOptionsResult,\n} from './types';\nimport { createTRPCOptionsResult } from './utils';\n\ninterface BaseTRPCSubscriptionOptionsIn<TOutput, TError> {\n enabled?: boolean;\n onStarted?: () => void;\n onData?: (data: inferAsyncIterableYield<TOutput>) => void;\n onError?: (err: TError) => void;\n onConnectionStateChange?: (state: TRPCConnectionState<TError>) => void;\n}\n\ninterface UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError> {\n onStarted?: () => void;\n onData?: (data: inferAsyncIterableYield<TOutput>) => void;\n onError?: (err: TError) => void;\n onConnectionStateChange?: (state: TRPCConnectionState<TError>) => void;\n}\n\ninterface TRPCSubscriptionOptionsOut<\n TOutput,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError>,\n TRPCQueryOptionsResult {\n enabled: boolean;\n queryKey: TRPCQueryKey<TFeatureFlags['keyPrefix']>;\n subscribe: (\n innerOpts: UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError>,\n ) => Unsubscribable;\n}\n\nexport interface TRPCSubscriptionOptions<\n TDef extends ResolverDef,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> {\n (\n input: TDef['input'],\n opts?: UnusedSkipTokenTRPCSubscriptionOptionsIn<\n inferAsyncIterableYield<TDef['output']>,\n TRPCClientErrorLike<TDef>\n >,\n ): TRPCSubscriptionOptionsOut<\n inferAsyncIterableYield<TDef['output']>,\n TRPCClientErrorLike<TDef>,\n TFeatureFlags\n >;\n (\n input: TDef['input'] | SkipToken,\n opts?: BaseTRPCSubscriptionOptionsIn<\n inferAsyncIterableYield<TDef['output']>,\n TRPCClientErrorLike<TDef>\n >,\n ): TRPCSubscriptionOptionsOut<\n inferAsyncIterableYield<TDef['output']>,\n TRPCClientErrorLike<TDef>,\n TFeatureFlags\n >;\n}\nexport type TRPCSubscriptionStatus =\n 'idle' | 'connecting' | 'pending' | 'error';\n\nexport interface TRPCSubscriptionBaseResult<TOutput, TError> {\n status: TRPCSubscriptionStatus;\n data: undefined | TOutput;\n error: null | TError;\n /**\n * Reset the subscription\n */\n reset: () => void;\n}\n\nexport interface TRPCSubscriptionIdleResult<\n TOutput,\n> extends TRPCSubscriptionBaseResult<TOutput, null> {\n status: 'idle';\n data: undefined;\n error: null;\n}\n\nexport interface TRPCSubscriptionConnectingResult<\n TOutput,\n TError,\n> extends TRPCSubscriptionBaseResult<TOutput, TError> {\n status: 'connecting';\n data: undefined | TOutput;\n error: TError | null;\n}\n\nexport interface TRPCSubscriptionPendingResult<\n TOutput,\n> extends TRPCSubscriptionBaseResult<TOutput, undefined> {\n status: 'pending';\n data: TOutput | undefined;\n error: null;\n}\n\nexport interface TRPCSubscriptionErrorResult<\n TOutput,\n TError,\n> extends TRPCSubscriptionBaseResult<TOutput, TError> {\n status: 'error';\n data: TOutput | undefined;\n error: TError;\n}\n\nexport type TRPCSubscriptionResult<TOutput, TError> =\n | TRPCSubscriptionIdleResult<TOutput>\n | TRPCSubscriptionConnectingResult<TOutput, TError>\n | TRPCSubscriptionErrorResult<TOutput, TError>\n | TRPCSubscriptionPendingResult<TOutput>;\n\ntype AnyTRPCSubscriptionOptionsIn =\n | BaseTRPCSubscriptionOptionsIn<unknown, unknown>\n | UnusedSkipTokenTRPCSubscriptionOptionsIn<unknown, unknown>;\n\ntype AnyTRPCSubscriptionOptionsOut<TFeatureFlags extends FeatureFlags> =\n TRPCSubscriptionOptionsOut<unknown, unknown, TFeatureFlags>;\n\n/**\n * @internal\n */\nexport const trpcSubscriptionOptions = <\n TFeatureFlags extends FeatureFlags,\n>(args: {\n subscribe: typeof TRPCUntypedClient.prototype.subscription;\n path: string[];\n queryKey: TRPCQueryKey<TFeatureFlags['keyPrefix']>;\n /**\n * The raw input before queryKey serialization. Required to correctly detect\n * `skipToken` because `getQueryKeyInternal` strips it from the queryKey args.\n */\n input: unknown;\n opts?: AnyTRPCSubscriptionOptionsIn;\n}): AnyTRPCSubscriptionOptionsOut<TFeatureFlags> => {\n const { subscribe, path, queryKey, input, opts = {} } = args;\n const enabled = 'enabled' in opts ? !!opts.enabled : input !== skipToken;\n\n const _subscribe: ReturnType<\n TRPCSubscriptionOptions<any, TFeatureFlags>\n >['subscribe'] = (innerOpts) => {\n return subscribe(\n path.join('.'),\n input === skipToken ? undefined : input,\n innerOpts,\n );\n };\n\n return {\n ...opts,\n enabled,\n subscribe: _subscribe,\n queryKey,\n trpc: createTRPCOptionsResult({ path }),\n };\n};\n\nexport function useSubscription<TOutput, TError>(\n opts: TRPCSubscriptionOptionsOut<TOutput, TError, any>,\n): TRPCSubscriptionResult<TOutput, TError> {\n type $Result = TRPCSubscriptionResult<TOutput, TError>;\n\n const optsRef = React.useRef(opts);\n optsRef.current = opts;\n\n const trackedProps = React.useRef(new Set<keyof $Result>([]));\n\n const addTrackedProp = React.useCallback((key: keyof $Result) => {\n trackedProps.current.add(key);\n }, []);\n\n type Unsubscribe = () => void;\n const currentSubscriptionRef = React.useRef<Unsubscribe>(() => {\n // noop\n });\n\n const reset = React.useCallback((): void => {\n // unsubscribe from the previous subscription\n currentSubscriptionRef.current?.();\n\n updateState(getInitialState);\n if (!opts.enabled) {\n return;\n }\n const subscription = opts.subscribe({\n onStarted: () => {\n optsRef.current.onStarted?.();\n updateState((prev) => ({\n ...(prev as any),\n status: 'pending',\n error: null,\n }));\n },\n onData: (data) => {\n optsRef.current.onData?.(data);\n updateState((prev) => ({\n ...(prev as any),\n status: 'pending',\n data,\n error: null,\n }));\n },\n onError: (error) => {\n optsRef.current.onError?.(error);\n updateState((prev) => ({\n ...(prev as any),\n status: 'error',\n error,\n }));\n },\n onConnectionStateChange: (result) => {\n optsRef.current.onConnectionStateChange?.(result);\n updateState((prev) => {\n switch (result.state) {\n case 'connecting':\n return {\n ...prev,\n status: 'connecting',\n error: result.error,\n };\n case 'pending':\n // handled in onStarted\n return prev;\n case 'idle':\n return {\n ...prev,\n status: 'idle',\n data: undefined,\n error: null,\n };\n }\n });\n },\n });\n\n currentSubscriptionRef.current = () => {\n subscription.unsubscribe();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hashKey(opts.queryKey), opts.enabled]);\n\n const getInitialState = React.useCallback((): $Result => {\n return opts.enabled\n ? {\n data: undefined,\n error: null,\n status: 'connecting',\n reset,\n }\n : {\n data: undefined,\n error: null,\n status: 'idle',\n reset,\n };\n }, [opts.enabled, reset]);\n\n const resultRef = React.useRef<$Result>(getInitialState());\n\n const [state, setState] = React.useState<$Result>(\n trackResult(resultRef, addTrackedProp),\n );\n\n state.reset = reset;\n\n const updateState = React.useCallback(\n (callback: (prevState: $Result) => $Result) => {\n const prev = resultRef.current;\n const next = (resultRef.current = callback(prev));\n\n let shouldUpdate = false;\n for (const key of trackedProps.current) {\n if (prev[key] !== next[key]) {\n shouldUpdate = true;\n break;\n }\n }\n if (shouldUpdate) {\n setState(trackResult(resultRef, addTrackedProp));\n }\n },\n [addTrackedProp],\n );\n\n React.useEffect(() => {\n if (!opts.enabled) {\n return;\n }\n reset();\n\n return () => {\n currentSubscriptionRef.current?.();\n };\n }, [reset, opts.enabled]);\n\n return state;\n}\n\nfunction trackResult<T extends object>(\n result: React.RefObject<T>,\n onTrackResult: (key: keyof T) => void,\n): T {\n const trackedResult = new Proxy(result.current, {\n get(_target, prop) {\n onTrackResult(prop as keyof T);\n // Bypass target, so that we always get the latest value\n return result.current[prop as keyof T];\n },\n });\n\n return trackedResult;\n}\n","import type { DataTag, QueryClient, QueryFilters } from '@tanstack/react-query';\nimport type {\n TRPCClient,\n TRPCClientErrorLike,\n TRPCRequestOptions,\n} from '@trpc/client';\nimport { getUntypedClient, TRPCUntypedClient } from '@trpc/client';\nimport type {\n AnyTRPCProcedure,\n AnyTRPCRootTypes,\n AnyTRPCRouter,\n inferProcedureInput,\n inferRouterContext,\n inferTransformedProcedureOutput,\n TRPCProcedureType,\n TRPCRouterRecord,\n} from '@trpc/server';\nimport { callTRPCProcedure, createTRPCRecursiveProxy } from '@trpc/server';\nimport type { MaybePromise } from '@trpc/server/unstable-core-do-not-import';\nimport {\n trpcInfiniteQueryOptions,\n type TRPCInfiniteQueryOptions,\n} from './infiniteQueryOptions';\nimport type { MutationOptionsOverride } from './mutationOptions';\nimport {\n trpcMutationOptions,\n type TRPCMutationOptions,\n} from './mutationOptions';\nimport { trpcQueryOptions, type TRPCQueryOptions } from './queryOptions';\nimport {\n trpcSubscriptionOptions,\n type TRPCSubscriptionOptions,\n} from './subscriptionOptions';\nimport type {\n DefaultFeatureFlags,\n FeatureFlags,\n KeyPrefixOptions,\n OptionalCursorInput,\n ResolverDef,\n TRPCInfiniteData,\n TRPCMutationKey,\n TRPCQueryKey,\n WithRequired,\n} from './types';\nimport {\n getMutationKeyInternal,\n getQueryKeyInternal,\n unwrapLazyArg,\n} from './utils';\n\nexport interface DecorateRouterKeyable<TFeatureFlags extends FeatureFlags> {\n /**\n * Calculate the TanStack Query Key for any path, could be used to invalidate every procedure beneath this path\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/query-keys\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryKey\n */\n pathKey: () => TRPCQueryKey<TFeatureFlags['keyPrefix']>;\n\n /**\n * Calculate a TanStack Query Filter for any path, could be used to manipulate every procedure beneath this path\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/filters\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryFilter\n */\n pathFilter: (\n filters?: QueryFilters<TRPCQueryKey<TFeatureFlags['keyPrefix']>>,\n ) => WithRequired<\n QueryFilters<TRPCQueryKey<TFeatureFlags['keyPrefix']>>,\n 'queryKey'\n >;\n}\n\ninterface TypeHelper<TDef extends ResolverDef> {\n /**\n * @internal prefer using inferInput and inferOutput to access types\n */\n '~types': {\n input: TDef['input'];\n output: TDef['output'];\n errorShape: TDef['errorShape'];\n };\n}\n\nexport type inferInput<\n TProcedure extends\n | DecorateInfiniteQueryProcedure<any>\n | DecorateQueryProcedure<any>\n | DecorateMutationProcedure<any>,\n> = TProcedure['~types']['input'];\n\nexport type inferOutput<\n TProcedure extends\n | DecorateInfiniteQueryProcedure<any>\n | DecorateQueryProcedure<any>\n | DecorateMutationProcedure<any>,\n> = TProcedure['~types']['output'];\n\nexport interface DecorateInfiniteQueryProcedure<\n TDef extends ResolverDef,\n> extends TypeHelper<TDef> {\n /**\n * Create a set of type-safe infinite query options that can be passed to `useInfiniteQuery`, `prefetchInfiniteQuery` etc.\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/reference/infiniteQueryOptions#infinitequeryoptions\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#infiniteQueryOptions\n */\n infiniteQueryOptions: TRPCInfiniteQueryOptions<TDef>;\n\n /**\n * Calculate the TanStack Query Key for a Infinite Query Procedure\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/query-keys\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryKey\n */\n infiniteQueryKey: (input?: Partial<TDef['input']>) => DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TRPCInfiniteData<TDef['input'], TDef['output']>,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >;\n\n /**\n * Calculate a TanStack Query Filter for a Infinite Query Procedure\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/filters\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryFilter\n */\n infiniteQueryFilter: (\n input?: Partial<TDef['input']>,\n filters?: QueryFilters<\n DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TRPCInfiniteData<TDef['input'], TDef['output']>,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >\n >,\n ) => WithRequired<\n QueryFilters<\n DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TRPCInfiniteData<TDef['input'], TDef['output']>,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >\n >,\n 'queryKey'\n >;\n}\nexport interface DecorateQueryProcedure<TDef extends ResolverDef>\n extends TypeHelper<TDef>, DecorateRouterKeyable<TDef['featureFlags']> {\n /**\n * Create a set of type-safe query options that can be passed to `useQuery`, `prefetchQuery` etc.\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/reference/queryOptions#queryoptions\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryOptions\n */\n queryOptions: TRPCQueryOptions<TDef>;\n\n /**\n * Calculate the TanStack Query Key for a Query Procedure\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/query-keys\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryKey\n */\n queryKey: (input?: Partial<TDef['input']>) => DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TDef['output'],\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >;\n\n /**\n * Calculate a TanStack Query Filter for a Query Procedure\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/filters\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryFilter\n */\n queryFilter: (\n input?: Partial<TDef['input']>,\n filters?: QueryFilters<\n DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TDef['output'],\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >\n >,\n ) => WithRequired<\n QueryFilters<\n DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TDef['output'],\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >\n >,\n 'queryKey'\n >;\n}\n\nexport interface DecorateMutationProcedure<\n TDef extends ResolverDef,\n> extends TypeHelper<TDef> {\n /**\n * Create a set of type-safe mutation options that can be passed to `useMutation`\n *\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#mutationOptions\n */\n mutationOptions: TRPCMutationOptions<TDef>;\n\n /**\n * Calculate the TanStack Mutation Key for a Mutation Procedure\n *\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#mutationKey\n */\n mutationKey: () => TRPCMutationKey<TDef['featureFlags']['keyPrefix']>;\n}\n\nexport interface DecorateSubscriptionProcedure<\n TDef extends ResolverDef,\n> extends TypeHelper<TDef> {\n /**\n * Create a set of type-safe subscription options that can be passed to `useSubscription`\n *\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#subscriptionOptions\n */\n subscriptionOptions: TRPCSubscriptionOptions<TDef>;\n}\n\nexport type DecorateProcedure<\n TType extends TRPCProcedureType,\n TDef extends ResolverDef,\n> = TType extends 'query'\n ? DecorateQueryProcedure<TDef> &\n (TDef['input'] extends OptionalCursorInput\n ? DecorateInfiniteQueryProcedure<TDef>\n : Record<string, never>)\n : TType extends 'mutation'\n ? DecorateMutationProcedure<TDef>\n : TType extends 'subscription'\n ? DecorateSubscriptionProcedure<TDef>\n : never;\n\n/**\n * @internal\n */\nexport type DecoratedRouterRecord<\n TRoot extends AnyTRPCRootTypes,\n TRecord extends TRPCRouterRecord,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> = {\n [TKey in keyof TRecord]: TRecord[TKey] extends infer $Value\n ? $Value extends TRPCRouterRecord\n ? DecoratedRouterRecord<TRoot, $Value, TFeatureFlags> &\n DecorateRouterKeyable<TFeatureFlags>\n : $Value extends AnyTRPCProcedure\n ? DecorateProcedure<\n $Value['_def']['type'],\n {\n input: inferProcedureInput<$Value>;\n output: inferTransformedProcedureOutput<TRoot, $Value>;\n transformer: TRoot['transformer'];\n errorShape: TRoot['errorShape'];\n featureFlags: TFeatureFlags;\n }\n >\n : never\n : never;\n};\n\nexport type TRPCOptionsProxy<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> = DecoratedRouterRecord<\n TRouter['_def']['_config']['$types'],\n TRouter['_def']['record'],\n TFeatureFlags\n> &\n DecorateRouterKeyable<TFeatureFlags>;\n\nexport type TRPCOptionsProxyOptionsBase<\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> = {\n queryClient: QueryClient | (() => QueryClient);\n overrides?: {\n mutations?: MutationOptionsOverride;\n };\n} & KeyPrefixOptions<TFeatureFlags>;\n\nexport interface TRPCOptionsProxyOptionsInternal<\n TRouter extends AnyTRPCRouter,\n> {\n router: TRouter;\n ctx:\n | inferRouterContext<TRouter>\n | (() => MaybePromise<inferRouterContext<TRouter>>);\n}\n\nexport interface TRPCOptionsProxyOptionsExternal<\n TRouter extends AnyTRPCRouter,\n> {\n client: TRPCUntypedClient<TRouter> | TRPCClient<TRouter>;\n}\n\nexport type TRPCOptionsProxyOptions<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> = TRPCOptionsProxyOptionsBase<TFeatureFlags> &\n (\n | TRPCOptionsProxyOptionsInternal<TRouter>\n | TRPCOptionsProxyOptionsExternal<TRouter>\n );\n\ntype UtilsMethods =\n | keyof DecorateQueryProcedure<any>\n | keyof DecorateInfiniteQueryProcedure<any>\n | keyof DecorateMutationProcedure<any>\n | keyof DecorateSubscriptionProcedure<any>;\n\n/**\n * Create a typed proxy from your router types. Can also be used on the server.\n *\n * @see https://trpc.io/docs/client/tanstack-react-query/setup#3b-setup-without-react-context\n * @see https://trpc.io/docs/client/tanstack-react-query/server-components#5-create-a-trpc-caller-for-server-components\n */\nexport function createTRPCOptionsProxy<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n>(\n opts: TRPCOptionsProxyOptions<TRouter, TFeatureFlags>,\n): TRPCOptionsProxy<TRouter, TFeatureFlags> {\n const prefix = opts.keyPrefix;\n\n const callIt = (type: TRPCProcedureType): any => {\n return (path: string, input: unknown, trpcOpts: TRPCRequestOptions) => {\n if ('router' in opts) {\n return Promise.resolve(unwrapLazyArg(opts.ctx)).then((ctx) =>\n callTRPCProcedure({\n router: opts.router,\n path: path,\n getRawInput: async () => input,\n ctx: ctx,\n type: type,\n signal: undefined,\n batchIndex: 0,\n }),\n );\n }\n\n const untypedClient =\n opts.client instanceof TRPCUntypedClient\n ? opts.client\n : getUntypedClient(opts.client);\n\n return untypedClient[type](path, input, trpcOpts);\n };\n };\n\n return createTRPCRecursiveProxy(({ args, path: _path }) => {\n const path = [..._path];\n const utilName = path.pop() as UtilsMethods;\n const [arg1, arg2] = args as any[];\n\n const contextMap: Record<UtilsMethods, () => unknown> = {\n '~types': undefined as any,\n\n pathKey: () => {\n return getQueryKeyInternal({\n path,\n type: 'any',\n prefix,\n });\n },\n pathFilter: (): QueryFilters => {\n return {\n ...arg1,\n queryKey: getQueryKeyInternal({\n path,\n type: 'any',\n prefix,\n }),\n };\n },\n\n queryOptions: () => {\n return trpcQueryOptions({\n input: arg1,\n opts: arg2,\n path,\n queryClient: opts.queryClient,\n queryKey: getQueryKeyInternal({\n path,\n input: arg1,\n type: 'query',\n prefix,\n }),\n query: callIt('query'),\n });\n },\n queryKey: () => {\n return getQueryKeyInternal({\n path,\n input: arg1,\n type: 'query',\n prefix,\n });\n },\n queryFilter: (): QueryFilters => {\n return {\n ...arg2,\n queryKey: getQueryKeyInternal({\n path,\n input: arg1,\n type: 'query',\n prefix,\n }),\n };\n },\n\n infiniteQueryOptions: () => {\n return trpcInfiniteQueryOptions({\n input: arg1,\n opts: arg2,\n path,\n queryClient: opts.queryClient,\n queryKey: getQueryKeyInternal({\n path,\n input: arg1,\n type: 'infinite',\n prefix,\n }),\n query: callIt('query'),\n });\n },\n infiniteQueryKey: () => {\n return getQueryKeyInternal({\n path,\n input: arg1,\n type: 'infinite',\n prefix,\n });\n },\n infiniteQueryFilter: (): QueryFilters => {\n return {\n ...arg2,\n queryKey: getQueryKeyInternal({\n path,\n input: arg1,\n type: 'infinite',\n prefix,\n }),\n };\n },\n\n mutationOptions: () => {\n return trpcMutationOptions({\n opts: arg1,\n path,\n prefix,\n queryClient: opts.queryClient,\n mutate: callIt('mutation'),\n overrides: opts.overrides?.mutations,\n });\n },\n mutationKey: () => {\n return getMutationKeyInternal({\n path,\n prefix,\n });\n },\n\n subscriptionOptions: () => {\n return trpcSubscriptionOptions({\n opts: arg2,\n path,\n input: arg1,\n queryKey: getQueryKeyInternal({\n path,\n input: arg1,\n type: 'any',\n prefix,\n }),\n subscribe: callIt('subscription'),\n });\n },\n };\n\n return contextMap[utilName]();\n });\n}\n","import type { QueryClient } from '@tanstack/react-query';\nimport type { TRPCClient } from '@trpc/client';\nimport type { AnyTRPCRouter } from '@trpc/server';\nimport * as React from 'react';\nimport type { TRPCOptionsProxy } from './createOptionsProxy';\nimport { createTRPCOptionsProxy } from './createOptionsProxy';\nimport type {\n DefaultFeatureFlags,\n FeatureFlags,\n KeyPrefixOptions,\n} from './types';\n\ntype TRPCProviderType<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> = React.FC<\n {\n children: React.ReactNode;\n queryClient: QueryClient;\n trpcClient: TRPCClient<TRouter>;\n } & KeyPrefixOptions<TFeatureFlags>\n>;\n\nexport interface CreateTRPCContextResult<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> {\n TRPCProvider: TRPCProviderType<TRouter, TFeatureFlags>;\n useTRPC: () => TRPCOptionsProxy<TRouter, TFeatureFlags>;\n useTRPCClient: () => TRPCClient<TRouter>;\n}\n\n/**\n * Create a set of type-safe provider-consumers\n *\n * @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-setup-the-trpc-context-provider\n */\nexport function createTRPCContext<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n>(): CreateTRPCContextResult<TRouter, TFeatureFlags> {\n const TRPCClientContext = React.createContext<TRPCClient<TRouter> | null>(\n null,\n );\n const TRPCContext = React.createContext<TRPCOptionsProxy<\n TRouter,\n TFeatureFlags\n > | null>(null);\n\n const TRPCProvider: TRPCProviderType<TRouter, TFeatureFlags> = (props) => {\n const value = React.useMemo(\n () =>\n createTRPCOptionsProxy<TRouter, TFeatureFlags>({\n client: props.trpcClient,\n queryClient: props.queryClient,\n keyPrefix: props.keyPrefix as any,\n }),\n [props.trpcClient, props.queryClient, props.keyPrefix],\n );\n return (\n <TRPCClientContext.Provider value={props.trpcClient}>\n <TRPCContext.Provider value={value}>\n {props.children}\n </TRPCContext.Provider>\n </TRPCClientContext.Provider>\n );\n };\n TRPCProvider.displayName = 'TRPCProvider';\n\n function useTRPC() {\n const utils = React.useContext(TRPCContext);\n if (!utils) {\n throw new Error('useTRPC() can only be used inside of a <TRPCProvider>');\n }\n return utils;\n }\n\n function useTRPCClient() {\n const client = React.useContext(TRPCClientContext);\n if (!client) {\n throw new Error(\n 'useTRPCClient() can only be used inside of a <TRPCProvider>',\n );\n }\n return client;\n }\n\n return { TRPCProvider, useTRPC, useTRPCClient };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/internals/utils.ts","../src/internals/infiniteQueryOptions.ts","../src/internals/mutationOptions.ts","../src/internals/queryOptions.ts","../src/internals/subscriptionOptions.ts","../src/internals/createOptionsProxy.ts","../src/internals/Context.tsx"],"sourcesContent":["import { skipToken, type QueryClient } from '@tanstack/react-query';\nimport {\n isFunction,\n isObject,\n run,\n} from '@trpc/server/unstable-core-do-not-import';\nimport type {\n AnyTRPCMutationKey,\n AnyTRPCQueryKey,\n FeatureFlags,\n QueryType,\n TRPCMutationKeyWithoutPrefix,\n TRPCQueryKey,\n TRPCQueryKeyWithoutPrefix,\n TRPCQueryKeyWithPrefix,\n TRPCQueryOptionsResult,\n} from './types';\n\n/**\n * @internal\n */\nexport function createTRPCOptionsResult(value: {\n path: string[];\n}): TRPCQueryOptionsResult['trpc'] {\n const path = value.path.join('.');\n\n return {\n path,\n };\n}\n\nexport function isPrefixedQueryKey(\n queryKey: TRPCQueryKey<any>,\n): queryKey is TRPCQueryKeyWithPrefix {\n return queryKey.length >= 3;\n}\n\nexport function readQueryKey(queryKey: AnyTRPCQueryKey) {\n if (isPrefixedQueryKey(queryKey)) {\n return {\n type: 'prefixed' as const,\n prefix: queryKey[0],\n path: queryKey[1],\n args: queryKey[2],\n };\n } else {\n return {\n type: 'unprefixed' as const,\n prefix: undefined,\n path: queryKey[0],\n args: queryKey[1],\n };\n }\n}\n\n/**\n * @internal\n */\nexport function getClientArgs<TOptions, TFeatureFlags extends FeatureFlags>(\n queryKey: TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n opts: TOptions,\n infiniteParams?: {\n pageParam: any;\n direction: 'forward' | 'backward';\n },\n) {\n const queryKeyData = readQueryKey(queryKey);\n\n let input = queryKeyData.args?.input;\n if (infiniteParams) {\n input = {\n ...(queryKeyData.args?.input ?? {}),\n ...(infiniteParams.pageParam !== undefined\n ? { cursor: infiniteParams.pageParam }\n : {}),\n direction: infiniteParams.direction,\n };\n }\n return [queryKeyData.path.join('.'), input, (opts as any)?.trpc] as const;\n}\n\n/**\n * @internal\n */\nexport async function buildQueryFromAsyncIterable<\n TQueryKey extends TRPCQueryKey<any>,\n>(\n asyncIterable: AsyncIterable<unknown>,\n queryClient: QueryClient,\n queryKey: TQueryKey,\n) {\n const queryCache = queryClient.getQueryCache();\n\n const query = queryCache.build(queryClient, {\n queryKey,\n });\n\n query.setState({\n data: [],\n status: 'success',\n });\n\n const aggregate: unknown[] = [];\n for await (const value of asyncIterable) {\n aggregate.push(value);\n\n query.setState({\n data: [...aggregate],\n });\n }\n return aggregate;\n}\n\n/**\n * To allow easy interactions with groups of related queries, such as\n * invalidating all queries of a router, we use an array as the path when\n * storing in tanstack query.\n *\n * @internal\n */\nexport function getQueryKeyInternal(opts: {\n path: string[];\n input?: unknown;\n type: QueryType;\n prefix: string | undefined;\n}): AnyTRPCQueryKey {\n const key = run((): TRPCQueryKeyWithoutPrefix => {\n const { input, type } = opts;\n\n // Construct a query key that is easy to destructure and flexible for\n // partial selecting etc.\n // https://github.com/trpc/trpc/issues/3128\n\n // some parts of the path may be dot-separated, split them up\n const splitPath = opts.path.flatMap((part) => part.split('.'));\n\n if (!input && type === 'any') {\n // this matches also all mutations (see `getMutationKeyInternal`)\n\n // for `utils.invalidate()` to match all queries (including vanilla react-query)\n // we don't want nested array if path is empty, i.e. `[]` instead of `[[]]`\n return splitPath.length ? [splitPath] : ([] as unknown as TRPCQueryKey);\n }\n\n if (\n type === 'infinite' &&\n isObject(input) &&\n ('direction' in input || 'cursor' in input)\n ) {\n const {\n cursor: _,\n direction: __,\n ...inputWithoutCursorAndDirection\n } = input;\n return [\n splitPath,\n {\n input: inputWithoutCursorAndDirection,\n type: 'infinite',\n },\n ];\n }\n\n return [\n splitPath,\n {\n ...(typeof input !== 'undefined' &&\n input !== skipToken && { input: input }),\n ...(type && type !== 'any' && { type: type }),\n },\n ];\n });\n\n if (opts.prefix) {\n key.unshift([opts.prefix]);\n }\n return key;\n}\n\n/**\n * @internal\n */\nexport function getMutationKeyInternal(opts: {\n prefix: string | undefined;\n path: string[];\n}): AnyTRPCMutationKey {\n // some parts of the path may be dot-separated, split them up\n const key: TRPCMutationKeyWithoutPrefix = [\n opts.path.flatMap((part) => part.split('.')),\n ];\n\n if (opts.prefix) {\n key.unshift([opts.prefix]);\n }\n return key;\n}\n\n/**\n * @internal\n */\nexport function unwrapLazyArg<T>(valueOrLazy: T | (() => T)): T {\n return (isFunction(valueOrLazy) ? valueOrLazy() : valueOrLazy) as T;\n}\n","import type {\n DataTag,\n DefinedInitialDataInfiniteOptions,\n QueryClient,\n QueryFunction,\n SkipToken,\n UndefinedInitialDataInfiniteOptions,\n UnusedSkipTokenInfiniteOptions,\n} from '@tanstack/react-query';\nimport { infiniteQueryOptions, skipToken } from '@tanstack/react-query';\nimport type { TRPCClientErrorLike, TRPCUntypedClient } from '@trpc/client';\nimport type { DistributiveOmit } from '@trpc/server/unstable-core-do-not-import';\nimport type {\n ExtractCursorType,\n FeatureFlags,\n ResolverDef,\n TRPCInfiniteData,\n TRPCQueryBaseOptions,\n TRPCQueryKey,\n TRPCQueryOptionsResult,\n} from './types';\nimport { createTRPCOptionsResult, getClientArgs } from './utils';\n\ntype ReservedOptions =\n 'queryKey' | 'queryFn' | 'queryHashFn' | 'queryHash' | 'initialPageParam';\n\ninterface UndefinedTRPCInfiniteQueryOptionsIn<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {\n initialCursor?: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\ninterface UndefinedTRPCInfiniteQueryOptionsOut<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n 'initialPageParam'\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n TRPCInfiniteData<TInput, TData>,\n TError\n >;\n initialPageParam: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\ninterface DefinedTRPCInfiniteQueryOptionsIn<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {\n initialCursor?: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\ninterface DefinedTRPCInfiniteQueryOptionsOut<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n 'initialPageParam'\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n TRPCInfiniteData<TInput, TData>,\n TError\n >;\n initialPageParam: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\ninterface UnusedSkipTokenTRPCInfiniteQueryOptionsIn<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UnusedSkipTokenInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {\n initialCursor?: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\ninterface UnusedSkipTokenTRPCInfiniteQueryOptionsOut<\n TInput,\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UnusedSkipTokenInfiniteOptions<\n TQueryFnData,\n TError,\n TRPCInfiniteData<TInput, TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n NonNullable<ExtractCursorType<TInput>> | null\n >,\n 'initialPageParam'\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n TRPCInfiniteData<TInput, TData>,\n TError\n >;\n initialPageParam: NonNullable<ExtractCursorType<TInput>> | null;\n}\n\nexport interface TRPCInfiniteQueryOptions<TDef extends ResolverDef> {\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'] | SkipToken,\n opts: DefinedTRPCInfiniteQueryOptionsIn<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >,\n ): DefinedTRPCInfiniteQueryOptionsOut<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >;\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'],\n opts: UnusedSkipTokenTRPCInfiniteQueryOptionsIn<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >,\n ): UnusedSkipTokenTRPCInfiniteQueryOptionsOut<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >;\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'] | SkipToken,\n opts: UndefinedTRPCInfiniteQueryOptionsIn<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >,\n ): UndefinedTRPCInfiniteQueryOptionsOut<\n TDef['input'],\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TDef['featureFlags']\n >;\n}\n\ntype AnyTRPCInfiniteQueryOptionsIn<TFeatureFlags extends FeatureFlags> =\n | DefinedTRPCInfiniteQueryOptionsIn<any, any, any, any, TFeatureFlags>\n | UnusedSkipTokenTRPCInfiniteQueryOptionsIn<any, any, any, any, TFeatureFlags>\n | UndefinedTRPCInfiniteQueryOptionsIn<any, any, any, any, TFeatureFlags>;\n\ntype AnyTRPCInfiniteQueryOptionsOut<TFeatureFlags extends FeatureFlags> =\n | DefinedTRPCInfiniteQueryOptionsOut<any, any, any, any, TFeatureFlags>\n | UnusedSkipTokenTRPCInfiniteQueryOptionsOut<\n any,\n any,\n any,\n any,\n TFeatureFlags\n >\n | UndefinedTRPCInfiniteQueryOptionsOut<any, any, any, any, TFeatureFlags>;\n\nexport function trpcInfiniteQueryOptions<\n TFeatureFlags extends FeatureFlags,\n>(args: {\n input: unknown;\n query: typeof TRPCUntypedClient.prototype.query;\n queryClient: QueryClient | (() => QueryClient);\n path: string[];\n queryKey: TRPCQueryKey<TFeatureFlags['keyPrefix']>;\n opts: AnyTRPCInfiniteQueryOptionsIn<TFeatureFlags> | undefined;\n}): AnyTRPCInfiniteQueryOptionsOut<TFeatureFlags> {\n const { input, query, path, queryKey, opts } = args;\n const inputIsSkipToken = input === skipToken;\n\n const queryFn: QueryFunction<\n unknown,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n unknown\n > = async (queryFnContext) => {\n const actualOpts = {\n ...opts,\n trpc: {\n ...opts?.trpc,\n ...(opts?.trpc?.abortOnUnmount\n ? { signal: queryFnContext.signal }\n : { signal: null }),\n },\n };\n\n const result = await query(\n ...getClientArgs(queryKey, actualOpts, {\n direction: queryFnContext.direction,\n pageParam: queryFnContext.pageParam,\n }),\n );\n\n return result;\n };\n\n return Object.assign(\n infiniteQueryOptions({\n ...(opts ?? ({} as AnyTRPCInfiniteQueryOptionsIn<TFeatureFlags>)),\n queryKey,\n queryFn: inputIsSkipToken ? skipToken : queryFn,\n initialPageParam: opts?.initialCursor ?? (input as any)?.cursor,\n }),\n { trpc: createTRPCOptionsResult({ path }) },\n );\n}\n","import type {\n MutationFunction,\n QueryClient,\n UseMutationOptions,\n} from '@tanstack/react-query';\nimport type { TRPCClientErrorLike, TRPCUntypedClient } from '@trpc/client';\nimport type {\n DistributiveOmit,\n MaybePromise,\n} from '@trpc/server/unstable-core-do-not-import';\nimport type {\n DefaultFeatureFlags,\n FeatureFlags,\n KeyPrefixOptions,\n ResolverDef,\n TRPCMutationKey,\n TRPCQueryBaseOptions,\n TRPCQueryOptionsResult,\n} from './types';\nimport {\n createTRPCOptionsResult,\n getClientArgs,\n getMutationKeyInternal,\n unwrapLazyArg,\n} from './utils';\n\ntype ReservedOptions = 'mutationKey' | 'mutationFn';\n\ntype TRPCMutationOptionsIn<\n TInput,\n TError,\n TOutput,\n TContext,\n TFeatureFlags extends FeatureFlags,\n> = DistributiveOmit<\n UseMutationOptions<TOutput, TError, TInput, TContext>,\n ReservedOptions\n> &\n TRPCQueryBaseOptions &\n KeyPrefixOptions<TFeatureFlags>;\n\ninterface TRPCMutationOptionsOut<\n TInput,\n TError,\n TOutput,\n TContext,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n UseMutationOptions<TOutput, TError, TInput, TContext>,\n TRPCQueryOptionsResult {\n mutationKey: TRPCMutationKey<TFeatureFlags['keyPrefix']>;\n}\n\nexport interface TRPCMutationOptions<\n TDef extends ResolverDef,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> {\n <TContext = unknown>(\n opts?: TRPCMutationOptionsIn<\n TDef['input'],\n TRPCClientErrorLike<TDef>,\n TDef['output'],\n TContext,\n TFeatureFlags\n >,\n ): TRPCMutationOptionsOut<\n TDef['input'],\n TRPCClientErrorLike<TDef>,\n TDef['output'],\n TContext,\n TFeatureFlags\n >;\n}\n\n/**\n * @internal\n */\nexport interface MutationOptionsOverride {\n onSuccess: (opts: {\n /**\n * Calls the original function that was defined in the query's `onSuccess` option\n */\n originalFn: () => MaybePromise<void>;\n queryClient: QueryClient;\n /**\n * Meta data passed in from the `useMutation()` hook\n */\n meta: Record<string, unknown>;\n }) => MaybePromise<void>;\n}\n\ntype AnyTRPCMutationOptionsIn<TFeatureFlags extends FeatureFlags> =\n TRPCMutationOptionsIn<unknown, unknown, unknown, unknown, TFeatureFlags>;\n\ntype AnyTRPCMutationOptionsOut<TFeatureFlags extends FeatureFlags> =\n TRPCMutationOptionsOut<unknown, unknown, unknown, unknown, TFeatureFlags>;\n\n/**\n * @internal\n */\nexport function trpcMutationOptions<TFeatureFlags extends FeatureFlags>(args: {\n mutate: typeof TRPCUntypedClient.prototype.mutation;\n queryClient: QueryClient | (() => QueryClient);\n path: string[];\n prefix: string | undefined;\n opts: AnyTRPCMutationOptionsIn<TFeatureFlags> | undefined;\n overrides: MutationOptionsOverride | undefined;\n}): AnyTRPCMutationOptionsOut<TFeatureFlags> {\n const { mutate, path, prefix, opts, overrides } = args;\n const queryClient = unwrapLazyArg(args.queryClient);\n\n const mutationKey = getMutationKeyInternal({\n path,\n prefix: opts?.keyPrefix ?? prefix,\n }) as TRPCMutationKey<TFeatureFlags['keyPrefix']>;\n\n const defaultOpts = queryClient.defaultMutationOptions(\n queryClient.getMutationDefaults(mutationKey),\n );\n\n const mutationSuccessOverride: MutationOptionsOverride['onSuccess'] =\n overrides?.onSuccess ?? ((options) => options.originalFn());\n\n const mutationFn: MutationFunction = async (input) => {\n const result = await mutate(\n ...getClientArgs([...mutationKey, { input }] as any, opts),\n );\n\n return result;\n };\n\n return {\n ...opts,\n mutationKey,\n mutationFn,\n onSuccess(...args) {\n const originalFn = () =>\n opts?.onSuccess?.(...args) ?? defaultOpts?.onSuccess?.(...args);\n\n return mutationSuccessOverride({\n originalFn,\n queryClient,\n meta: opts?.meta ?? defaultOpts?.meta ?? {},\n });\n },\n trpc: createTRPCOptionsResult({ path }),\n };\n}\n","import type {\n DataTag,\n DefinedInitialDataOptions,\n QueryClient,\n QueryFunction,\n SkipToken,\n UndefinedInitialDataOptions,\n UnusedSkipTokenOptions,\n} from '@tanstack/react-query';\nimport { queryOptions, skipToken } from '@tanstack/react-query';\nimport type { TRPCClientErrorLike, TRPCUntypedClient } from '@trpc/client';\nimport type {\n coerceAsyncIterableToArray,\n DistributiveOmit,\n} from '@trpc/server/unstable-core-do-not-import';\nimport { isAsyncIterable } from '@trpc/server/unstable-core-do-not-import';\nimport type {\n DefaultFeatureFlags,\n FeatureFlags,\n ResolverDef,\n TRPCQueryBaseOptions,\n TRPCQueryKey,\n TRPCQueryOptionsResult,\n} from './types';\nimport {\n buildQueryFromAsyncIterable,\n createTRPCOptionsResult,\n getClientArgs,\n unwrapLazyArg,\n} from './utils';\n\ntype ReservedOptions = 'queryKey' | 'queryFn' | 'queryHashFn' | 'queryHash';\n\ninterface UndefinedTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UndefinedInitialDataOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {}\n\ninterface UndefinedTRPCQueryOptionsOut<\n TQueryFnData,\n TOutput,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n UndefinedInitialDataOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TOutput>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n coerceAsyncIterableToArray<TOutput>,\n TError\n >;\n}\n\ninterface DefinedTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n DefinedInitialDataOptions<\n coerceAsyncIterableToArray<NoInfer<TQueryFnData>>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {}\n\ninterface DefinedTRPCQueryOptionsOut<\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DefinedInitialDataOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n coerceAsyncIterableToArray<TData>,\n TError\n >;\n}\n\ninterface UnusedSkipTokenTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n DistributiveOmit<\n UnusedSkipTokenOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {}\n\ninterface UnusedSkipTokenTRPCQueryOptionsOut<\n TQueryFnData,\n TOutput,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n UnusedSkipTokenOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TOutput>,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<\n TRPCQueryKey<TFeatureFlags['keyPrefix']>,\n coerceAsyncIterableToArray<TOutput>,\n TError\n >;\n}\n\nexport interface TRPCQueryOptions<\n TDef extends ResolverDef,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> {\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'] | SkipToken,\n opts: DefinedTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >,\n ): DefinedTRPCQueryOptionsOut<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >;\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'],\n opts?: UnusedSkipTokenTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >,\n ): UnusedSkipTokenTRPCQueryOptionsOut<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >;\n <TQueryFnData extends TDef['output'], TData = TQueryFnData>(\n input: TDef['input'] | SkipToken,\n opts?: UndefinedTRPCQueryOptionsIn<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >,\n ): UndefinedTRPCQueryOptionsOut<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>,\n TFeatureFlags\n >;\n}\n\ntype AnyTRPCQueryOptionsIn<TFeatureFlags extends FeatureFlags> =\n | DefinedTRPCQueryOptionsIn<unknown, unknown, unknown, TFeatureFlags>\n | UnusedSkipTokenTRPCQueryOptionsIn<unknown, unknown, unknown, TFeatureFlags>\n | UndefinedTRPCQueryOptionsIn<unknown, unknown, unknown, TFeatureFlags>;\n\ntype AnyTRPCQueryOptionsOut<\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> =\n | DefinedTRPCQueryOptionsOut<unknown, unknown, unknown, TFeatureFlags>\n | UnusedSkipTokenTRPCQueryOptionsOut<unknown, unknown, unknown, TFeatureFlags>\n | UndefinedTRPCQueryOptionsOut<unknown, unknown, unknown, TFeatureFlags>;\n\n/**\n * @internal\n */\nexport function trpcQueryOptions<TFeatureFlags extends FeatureFlags>(args: {\n input: unknown;\n query: typeof TRPCUntypedClient.prototype.query;\n queryClient: QueryClient | (() => QueryClient);\n path: string[];\n queryKey: TRPCQueryKey<TFeatureFlags['keyPrefix']>;\n opts: AnyTRPCQueryOptionsIn<TFeatureFlags> | undefined;\n}): AnyTRPCQueryOptionsOut<TFeatureFlags> {\n const { input, query, path, queryKey, opts } = args;\n const queryClient = unwrapLazyArg(args.queryClient);\n\n const inputIsSkipToken = input === skipToken;\n\n const queryFn: QueryFunction<\n unknown,\n TRPCQueryKey<TFeatureFlags['keyPrefix']>\n > = async (queryFnContext) => {\n const actualOpts = {\n ...opts,\n trpc: {\n ...opts?.trpc,\n ...(opts?.trpc?.abortOnUnmount\n ? { signal: queryFnContext.signal }\n : { signal: null }),\n },\n };\n const queryKey = queryFnContext.queryKey;\n\n const result = await query(...getClientArgs(queryKey, actualOpts));\n\n if (isAsyncIterable(result)) {\n return buildQueryFromAsyncIterable(result, queryClient, queryKey);\n }\n\n return result;\n };\n\n return Object.assign(\n queryOptions({\n ...opts,\n queryKey: queryKey,\n queryFn: inputIsSkipToken ? skipToken : queryFn,\n }),\n { trpc: createTRPCOptionsResult({ path }) },\n );\n}\n","import type { SkipToken } from '@tanstack/react-query';\nimport { hashKey, skipToken } from '@tanstack/react-query';\nimport type { TRPCClientErrorLike, TRPCUntypedClient } from '@trpc/client';\nimport type { TRPCConnectionState } from '@trpc/client/unstable-internals';\nimport type { Unsubscribable } from '@trpc/server/observable';\nimport type { inferAsyncIterableYield } from '@trpc/server/unstable-core-do-not-import';\nimport * as React from 'react';\nimport type {\n DefaultFeatureFlags,\n FeatureFlags,\n ResolverDef,\n TRPCQueryKey,\n TRPCQueryOptionsResult,\n} from './types';\nimport { createTRPCOptionsResult } from './utils';\n\ninterface BaseTRPCSubscriptionOptionsIn<TOutput, TError> {\n enabled?: boolean;\n onStarted?: () => void;\n onData?: (data: inferAsyncIterableYield<TOutput>) => void;\n onError?: (err: TError) => void;\n onConnectionStateChange?: (state: TRPCConnectionState<TError>) => void;\n}\n\ninterface UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError> {\n onStarted?: () => void;\n onData?: (data: inferAsyncIterableYield<TOutput>) => void;\n onError?: (err: TError) => void;\n onConnectionStateChange?: (state: TRPCConnectionState<TError>) => void;\n}\n\ninterface TRPCSubscriptionOptionsOut<\n TOutput,\n TError,\n TFeatureFlags extends FeatureFlags,\n>\n extends\n UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError>,\n TRPCQueryOptionsResult {\n enabled: boolean;\n queryKey: TRPCQueryKey<TFeatureFlags['keyPrefix']>;\n subscribe: (\n innerOpts: UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError>,\n ) => Unsubscribable;\n}\n\nexport interface TRPCSubscriptionOptions<\n TDef extends ResolverDef,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> {\n (\n input: TDef['input'],\n opts?: UnusedSkipTokenTRPCSubscriptionOptionsIn<\n inferAsyncIterableYield<TDef['output']>,\n TRPCClientErrorLike<TDef>\n >,\n ): TRPCSubscriptionOptionsOut<\n inferAsyncIterableYield<TDef['output']>,\n TRPCClientErrorLike<TDef>,\n TFeatureFlags\n >;\n (\n input: TDef['input'] | SkipToken,\n opts?: BaseTRPCSubscriptionOptionsIn<\n inferAsyncIterableYield<TDef['output']>,\n TRPCClientErrorLike<TDef>\n >,\n ): TRPCSubscriptionOptionsOut<\n inferAsyncIterableYield<TDef['output']>,\n TRPCClientErrorLike<TDef>,\n TFeatureFlags\n >;\n}\nexport type TRPCSubscriptionStatus =\n 'idle' | 'connecting' | 'pending' | 'error';\n\nexport interface TRPCSubscriptionBaseResult<TOutput, TError> {\n status: TRPCSubscriptionStatus;\n data: undefined | TOutput;\n error: null | TError;\n /**\n * Reset the subscription\n */\n reset: () => void;\n}\n\nexport interface TRPCSubscriptionIdleResult<\n TOutput,\n> extends TRPCSubscriptionBaseResult<TOutput, null> {\n status: 'idle';\n data: undefined;\n error: null;\n}\n\nexport interface TRPCSubscriptionConnectingResult<\n TOutput,\n TError,\n> extends TRPCSubscriptionBaseResult<TOutput, TError> {\n status: 'connecting';\n data: undefined | TOutput;\n error: TError | null;\n}\n\nexport interface TRPCSubscriptionPendingResult<\n TOutput,\n> extends TRPCSubscriptionBaseResult<TOutput, undefined> {\n status: 'pending';\n data: TOutput | undefined;\n error: null;\n}\n\nexport interface TRPCSubscriptionErrorResult<\n TOutput,\n TError,\n> extends TRPCSubscriptionBaseResult<TOutput, TError> {\n status: 'error';\n data: TOutput | undefined;\n error: TError;\n}\n\nexport type TRPCSubscriptionResult<TOutput, TError> =\n | TRPCSubscriptionIdleResult<TOutput>\n | TRPCSubscriptionConnectingResult<TOutput, TError>\n | TRPCSubscriptionErrorResult<TOutput, TError>\n | TRPCSubscriptionPendingResult<TOutput>;\n\ntype AnyTRPCSubscriptionOptionsIn =\n | BaseTRPCSubscriptionOptionsIn<unknown, unknown>\n | UnusedSkipTokenTRPCSubscriptionOptionsIn<unknown, unknown>;\n\ntype AnyTRPCSubscriptionOptionsOut<TFeatureFlags extends FeatureFlags> =\n TRPCSubscriptionOptionsOut<unknown, unknown, TFeatureFlags>;\n\n/**\n * @internal\n */\nexport const trpcSubscriptionOptions = <\n TFeatureFlags extends FeatureFlags,\n>(args: {\n subscribe: typeof TRPCUntypedClient.prototype.subscription;\n path: string[];\n queryKey: TRPCQueryKey<TFeatureFlags['keyPrefix']>;\n /**\n * The raw input before queryKey serialization. Required to correctly detect\n * `skipToken` because `getQueryKeyInternal` strips it from the queryKey args.\n */\n input: unknown;\n opts?: AnyTRPCSubscriptionOptionsIn;\n}): AnyTRPCSubscriptionOptionsOut<TFeatureFlags> => {\n const { subscribe, path, queryKey, input, opts = {} } = args;\n const enabled = 'enabled' in opts ? !!opts.enabled : input !== skipToken;\n\n const _subscribe: ReturnType<\n TRPCSubscriptionOptions<any, TFeatureFlags>\n >['subscribe'] = (innerOpts) => {\n return subscribe(\n path.join('.'),\n input === skipToken ? undefined : input,\n innerOpts,\n );\n };\n\n return {\n ...opts,\n enabled,\n subscribe: _subscribe,\n queryKey,\n trpc: createTRPCOptionsResult({ path }),\n };\n};\n\nexport function useSubscription<TOutput, TError>(\n opts: TRPCSubscriptionOptionsOut<TOutput, TError, any>,\n): TRPCSubscriptionResult<TOutput, TError> {\n type $Result = TRPCSubscriptionResult<TOutput, TError>;\n\n const optsRef = React.useRef(opts);\n optsRef.current = opts;\n\n const trackedProps = React.useRef(new Set<keyof $Result>([]));\n\n const addTrackedProp = React.useCallback((key: keyof $Result) => {\n trackedProps.current.add(key);\n }, []);\n\n type Unsubscribe = () => void;\n const currentSubscriptionRef = React.useRef<Unsubscribe>(() => {\n // noop\n });\n\n const reset = React.useCallback((): void => {\n // unsubscribe from the previous subscription\n currentSubscriptionRef.current?.();\n\n updateState(getInitialState);\n if (!opts.enabled) {\n return;\n }\n const subscription = opts.subscribe({\n onStarted: () => {\n optsRef.current.onStarted?.();\n updateState((prev) => ({\n ...(prev as any),\n status: 'pending',\n error: null,\n }));\n },\n onData: (data) => {\n optsRef.current.onData?.(data);\n updateState((prev) => ({\n ...(prev as any),\n status: 'pending',\n data,\n error: null,\n }));\n },\n onError: (error) => {\n optsRef.current.onError?.(error);\n updateState((prev) => ({\n ...(prev as any),\n status: 'error',\n error,\n }));\n },\n onConnectionStateChange: (result) => {\n optsRef.current.onConnectionStateChange?.(result);\n updateState((prev) => {\n switch (result.state) {\n case 'connecting':\n return {\n ...prev,\n status: 'connecting',\n error: result.error,\n };\n case 'pending':\n // handled in onStarted\n return prev;\n case 'idle':\n return {\n ...prev,\n status: 'idle',\n data: undefined,\n error: null,\n };\n }\n });\n },\n });\n\n currentSubscriptionRef.current = () => {\n subscription.unsubscribe();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hashKey(opts.queryKey), opts.enabled]);\n\n const getInitialState = React.useCallback((): $Result => {\n return opts.enabled\n ? {\n data: undefined,\n error: null,\n status: 'connecting',\n reset,\n }\n : {\n data: undefined,\n error: null,\n status: 'idle',\n reset,\n };\n }, [opts.enabled, reset]);\n\n const resultRef = React.useRef<$Result>(getInitialState());\n\n const [state, setState] = React.useState<$Result>(\n trackResult(resultRef, addTrackedProp),\n );\n\n state.reset = reset;\n\n const updateState = React.useCallback(\n (callback: (prevState: $Result) => $Result) => {\n const prev = resultRef.current;\n const next = (resultRef.current = callback(prev));\n\n let shouldUpdate = false;\n for (const key of trackedProps.current) {\n if (prev[key] !== next[key]) {\n shouldUpdate = true;\n break;\n }\n }\n if (shouldUpdate) {\n setState(trackResult(resultRef, addTrackedProp));\n }\n },\n [addTrackedProp],\n );\n\n React.useEffect(() => {\n if (!opts.enabled) {\n return;\n }\n reset();\n\n return () => {\n currentSubscriptionRef.current?.();\n };\n }, [reset, opts.enabled]);\n\n return state;\n}\n\nfunction trackResult<T extends object>(\n result: React.RefObject<T>,\n onTrackResult: (key: keyof T) => void,\n): T {\n const trackedResult = new Proxy(result.current, {\n get(_target, prop) {\n onTrackResult(prop as keyof T);\n // Bypass target, so that we always get the latest value\n return result.current[prop as keyof T];\n },\n });\n\n return trackedResult;\n}\n","import type { DataTag, QueryClient, QueryFilters } from '@tanstack/react-query';\nimport type {\n TRPCClient,\n TRPCClientErrorLike,\n TRPCRequestOptions,\n} from '@trpc/client';\nimport { getUntypedClient, TRPCUntypedClient } from '@trpc/client';\nimport type {\n AnyTRPCProcedure,\n AnyTRPCRootTypes,\n AnyTRPCRouter,\n inferProcedureErrorShape,\n inferProcedureInput,\n inferRouterContext,\n inferTransformedProcedureOutput,\n TRPCProcedureType,\n TRPCRouterRecord,\n} from '@trpc/server';\nimport { callTRPCProcedure, createTRPCRecursiveProxy } from '@trpc/server';\nimport type { MaybePromise } from '@trpc/server/unstable-core-do-not-import';\nimport {\n trpcInfiniteQueryOptions,\n type TRPCInfiniteQueryOptions,\n} from './infiniteQueryOptions';\nimport type { MutationOptionsOverride } from './mutationOptions';\nimport {\n trpcMutationOptions,\n type TRPCMutationOptions,\n} from './mutationOptions';\nimport { trpcQueryOptions, type TRPCQueryOptions } from './queryOptions';\nimport {\n trpcSubscriptionOptions,\n type TRPCSubscriptionOptions,\n} from './subscriptionOptions';\nimport type {\n DefaultFeatureFlags,\n FeatureFlags,\n KeyPrefixOptions,\n OptionalCursorInput,\n ResolverDef,\n TRPCInfiniteData,\n TRPCMutationKey,\n TRPCQueryKey,\n WithRequired,\n} from './types';\nimport {\n getMutationKeyInternal,\n getQueryKeyInternal,\n unwrapLazyArg,\n} from './utils';\n\nexport interface DecorateRouterKeyable<TFeatureFlags extends FeatureFlags> {\n /**\n * Calculate the TanStack Query Key for any path, could be used to invalidate every procedure beneath this path\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/query-keys\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryKey\n */\n pathKey: () => TRPCQueryKey<TFeatureFlags['keyPrefix']>;\n\n /**\n * Calculate a TanStack Query Filter for any path, could be used to manipulate every procedure beneath this path\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/filters\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryFilter\n */\n pathFilter: (\n filters?: QueryFilters<TRPCQueryKey<TFeatureFlags['keyPrefix']>>,\n ) => WithRequired<\n QueryFilters<TRPCQueryKey<TFeatureFlags['keyPrefix']>>,\n 'queryKey'\n >;\n}\n\ninterface TypeHelper<TDef extends ResolverDef> {\n /**\n * @internal prefer using inferInput and inferOutput to access types\n */\n '~types': {\n input: TDef['input'];\n output: TDef['output'];\n errorShape: TDef['errorShape'];\n };\n}\n\nexport type inferInput<\n TProcedure extends\n | DecorateInfiniteQueryProcedure<any>\n | DecorateQueryProcedure<any>\n | DecorateMutationProcedure<any>,\n> = TProcedure['~types']['input'];\n\nexport type inferOutput<\n TProcedure extends\n | DecorateInfiniteQueryProcedure<any>\n | DecorateQueryProcedure<any>\n | DecorateMutationProcedure<any>,\n> = TProcedure['~types']['output'];\n\nexport interface DecorateInfiniteQueryProcedure<\n TDef extends ResolverDef,\n> extends TypeHelper<TDef> {\n /**\n * Create a set of type-safe infinite query options that can be passed to `useInfiniteQuery`, `prefetchInfiniteQuery` etc.\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/reference/infiniteQueryOptions#infinitequeryoptions\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#infiniteQueryOptions\n */\n infiniteQueryOptions: TRPCInfiniteQueryOptions<TDef>;\n\n /**\n * Calculate the TanStack Query Key for a Infinite Query Procedure\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/query-keys\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryKey\n */\n infiniteQueryKey: (input?: Partial<TDef['input']>) => DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TRPCInfiniteData<TDef['input'], TDef['output']>,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >;\n\n /**\n * Calculate a TanStack Query Filter for a Infinite Query Procedure\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/filters\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryFilter\n */\n infiniteQueryFilter: (\n input?: Partial<TDef['input']>,\n filters?: QueryFilters<\n DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TRPCInfiniteData<TDef['input'], TDef['output']>,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >\n >,\n ) => WithRequired<\n QueryFilters<\n DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TRPCInfiniteData<TDef['input'], TDef['output']>,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >\n >,\n 'queryKey'\n >;\n}\nexport interface DecorateQueryProcedure<TDef extends ResolverDef>\n extends TypeHelper<TDef>, DecorateRouterKeyable<TDef['featureFlags']> {\n /**\n * Create a set of type-safe query options that can be passed to `useQuery`, `prefetchQuery` etc.\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/reference/queryOptions#queryoptions\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryOptions\n */\n queryOptions: TRPCQueryOptions<TDef>;\n\n /**\n * Calculate the TanStack Query Key for a Query Procedure\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/query-keys\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryKey\n */\n queryKey: (input?: Partial<TDef['input']>) => DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TDef['output'],\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >;\n\n /**\n * Calculate a TanStack Query Filter for a Query Procedure\n *\n * @see https://tanstack.com/query/latest/docs/framework/react/guides/filters\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#queryFilter\n */\n queryFilter: (\n input?: Partial<TDef['input']>,\n filters?: QueryFilters<\n DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TDef['output'],\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >\n >,\n ) => WithRequired<\n QueryFilters<\n DataTag<\n TRPCQueryKey<TDef['featureFlags']['keyPrefix']>,\n TDef['output'],\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >\n >,\n 'queryKey'\n >;\n}\n\nexport interface DecorateMutationProcedure<\n TDef extends ResolverDef,\n> extends TypeHelper<TDef> {\n /**\n * Create a set of type-safe mutation options that can be passed to `useMutation`\n *\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#mutationOptions\n */\n mutationOptions: TRPCMutationOptions<TDef>;\n\n /**\n * Calculate the TanStack Mutation Key for a Mutation Procedure\n *\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#mutationKey\n */\n mutationKey: () => TRPCMutationKey<TDef['featureFlags']['keyPrefix']>;\n}\n\nexport interface DecorateSubscriptionProcedure<\n TDef extends ResolverDef,\n> extends TypeHelper<TDef> {\n /**\n * Create a set of type-safe subscription options that can be passed to `useSubscription`\n *\n * @see https://trpc.io/docs/client/tanstack-react-query/usage#subscriptionOptions\n */\n subscriptionOptions: TRPCSubscriptionOptions<TDef>;\n}\n\nexport type DecorateProcedure<\n TType extends TRPCProcedureType,\n TDef extends ResolverDef,\n> = TType extends 'query'\n ? DecorateQueryProcedure<TDef> &\n (TDef['input'] extends OptionalCursorInput\n ? DecorateInfiniteQueryProcedure<TDef>\n : Record<string, never>)\n : TType extends 'mutation'\n ? DecorateMutationProcedure<TDef>\n : TType extends 'subscription'\n ? DecorateSubscriptionProcedure<TDef>\n : never;\n\n/**\n * @internal\n */\nexport type DecoratedRouterRecord<\n TRoot extends AnyTRPCRootTypes,\n TRecord extends TRPCRouterRecord,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> = {\n [TKey in keyof TRecord]: TRecord[TKey] extends infer $Value\n ? $Value extends TRPCRouterRecord\n ? DecoratedRouterRecord<TRoot, $Value, TFeatureFlags> &\n DecorateRouterKeyable<TFeatureFlags>\n : $Value extends AnyTRPCProcedure\n ? DecorateProcedure<\n $Value['_def']['type'],\n {\n input: inferProcedureInput<$Value>;\n output: inferTransformedProcedureOutput<TRoot, $Value>;\n transformer: TRoot['transformer'];\n errorShape: inferProcedureErrorShape<TRoot, $Value>;\n featureFlags: TFeatureFlags;\n }\n >\n : never\n : never;\n};\n\nexport type TRPCOptionsProxy<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> = DecoratedRouterRecord<\n TRouter['_def']['_config']['$types'],\n TRouter['_def']['record'],\n TFeatureFlags\n> &\n DecorateRouterKeyable<TFeatureFlags>;\n\nexport type TRPCOptionsProxyOptionsBase<\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> = {\n queryClient: QueryClient | (() => QueryClient);\n overrides?: {\n mutations?: MutationOptionsOverride;\n };\n} & KeyPrefixOptions<TFeatureFlags>;\n\nexport interface TRPCOptionsProxyOptionsInternal<\n TRouter extends AnyTRPCRouter,\n> {\n router: TRouter;\n ctx:\n | inferRouterContext<TRouter>\n | (() => MaybePromise<inferRouterContext<TRouter>>);\n}\n\nexport interface TRPCOptionsProxyOptionsExternal<\n TRouter extends AnyTRPCRouter,\n> {\n client: TRPCUntypedClient<TRouter> | TRPCClient<TRouter>;\n}\n\nexport type TRPCOptionsProxyOptions<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> = TRPCOptionsProxyOptionsBase<TFeatureFlags> &\n (\n | TRPCOptionsProxyOptionsInternal<TRouter>\n | TRPCOptionsProxyOptionsExternal<TRouter>\n );\n\ntype UtilsMethods =\n | keyof DecorateQueryProcedure<any>\n | keyof DecorateInfiniteQueryProcedure<any>\n | keyof DecorateMutationProcedure<any>\n | keyof DecorateSubscriptionProcedure<any>;\n\n/**\n * Create a typed proxy from your router types. Can also be used on the server.\n *\n * @see https://trpc.io/docs/client/tanstack-react-query/setup#3c-set-up-without-react-context\n * @see https://trpc.io/docs/client/tanstack-react-query/server-components#5-create-a-trpc-caller-for-server-components\n */\nexport function createTRPCOptionsProxy<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n>(\n opts: TRPCOptionsProxyOptions<TRouter, TFeatureFlags>,\n): TRPCOptionsProxy<TRouter, TFeatureFlags> {\n const prefix = opts.keyPrefix;\n\n const callIt = (type: TRPCProcedureType): any => {\n return (path: string, input: unknown, trpcOpts: TRPCRequestOptions) => {\n if ('router' in opts) {\n return Promise.resolve(unwrapLazyArg(opts.ctx)).then((ctx) =>\n callTRPCProcedure({\n router: opts.router,\n path: path,\n getRawInput: async () => input,\n ctx: ctx,\n type: type,\n signal: undefined,\n batchIndex: 0,\n }),\n );\n }\n\n const untypedClient =\n opts.client instanceof TRPCUntypedClient\n ? opts.client\n : getUntypedClient(opts.client);\n\n return untypedClient[type](path, input, trpcOpts);\n };\n };\n\n return createTRPCRecursiveProxy(({ args, path: _path }) => {\n const path = [..._path];\n const utilName = path.pop() as UtilsMethods;\n const [arg1, arg2] = args as any[];\n\n const contextMap: Record<UtilsMethods, () => unknown> = {\n '~types': undefined as any,\n\n pathKey: () => {\n return getQueryKeyInternal({\n path,\n type: 'any',\n prefix,\n });\n },\n pathFilter: (): QueryFilters => {\n return {\n ...arg1,\n queryKey: getQueryKeyInternal({\n path,\n type: 'any',\n prefix,\n }),\n };\n },\n\n queryOptions: () => {\n return trpcQueryOptions({\n input: arg1,\n opts: arg2,\n path,\n queryClient: opts.queryClient,\n queryKey: getQueryKeyInternal({\n path,\n input: arg1,\n type: 'query',\n prefix,\n }),\n query: callIt('query'),\n });\n },\n queryKey: () => {\n return getQueryKeyInternal({\n path,\n input: arg1,\n type: 'query',\n prefix,\n });\n },\n queryFilter: (): QueryFilters => {\n return {\n ...arg2,\n queryKey: getQueryKeyInternal({\n path,\n input: arg1,\n type: 'query',\n prefix,\n }),\n };\n },\n\n infiniteQueryOptions: () => {\n return trpcInfiniteQueryOptions({\n input: arg1,\n opts: arg2,\n path,\n queryClient: opts.queryClient,\n queryKey: getQueryKeyInternal({\n path,\n input: arg1,\n type: 'infinite',\n prefix,\n }),\n query: callIt('query'),\n });\n },\n infiniteQueryKey: () => {\n return getQueryKeyInternal({\n path,\n input: arg1,\n type: 'infinite',\n prefix,\n });\n },\n infiniteQueryFilter: (): QueryFilters => {\n return {\n ...arg2,\n queryKey: getQueryKeyInternal({\n path,\n input: arg1,\n type: 'infinite',\n prefix,\n }),\n };\n },\n\n mutationOptions: () => {\n return trpcMutationOptions({\n opts: arg1,\n path,\n prefix,\n queryClient: opts.queryClient,\n mutate: callIt('mutation'),\n overrides: opts.overrides?.mutations,\n });\n },\n mutationKey: () => {\n return getMutationKeyInternal({\n path,\n prefix,\n });\n },\n\n subscriptionOptions: () => {\n return trpcSubscriptionOptions({\n opts: arg2,\n path,\n input: arg1,\n queryKey: getQueryKeyInternal({\n path,\n input: arg1,\n type: 'any',\n prefix,\n }),\n subscribe: callIt('subscription'),\n });\n },\n };\n\n return contextMap[utilName]();\n });\n}\n","import type { QueryClient } from '@tanstack/react-query';\nimport type { TRPCClient } from '@trpc/client';\nimport type { AnyTRPCRouter } from '@trpc/server';\nimport * as React from 'react';\nimport type { TRPCOptionsProxy } from './createOptionsProxy';\nimport { createTRPCOptionsProxy } from './createOptionsProxy';\nimport type {\n DefaultFeatureFlags,\n FeatureFlags,\n KeyPrefixOptions,\n} from './types';\n\ntype TRPCProviderType<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> = React.FC<\n {\n children: React.ReactNode;\n queryClient: QueryClient;\n trpcClient: TRPCClient<TRouter>;\n } & KeyPrefixOptions<TFeatureFlags>\n>;\n\nexport interface CreateTRPCContextResult<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n> {\n TRPCProvider: TRPCProviderType<TRouter, TFeatureFlags>;\n useTRPC: () => TRPCOptionsProxy<TRouter, TFeatureFlags>;\n useTRPCClient: () => TRPCClient<TRouter>;\n}\n\n/**\n * Create a set of type-safe provider-consumers\n *\n * @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-set-up-the-trpc-context-provider\n */\nexport function createTRPCContext<\n TRouter extends AnyTRPCRouter,\n TFeatureFlags extends FeatureFlags = DefaultFeatureFlags,\n>(): CreateTRPCContextResult<TRouter, TFeatureFlags> {\n const TRPCClientContext = React.createContext<TRPCClient<TRouter> | null>(\n null,\n );\n const TRPCContext = React.createContext<TRPCOptionsProxy<\n TRouter,\n TFeatureFlags\n > | null>(null);\n\n const TRPCProvider: TRPCProviderType<TRouter, TFeatureFlags> = (props) => {\n const value = React.useMemo(\n () =>\n createTRPCOptionsProxy<TRouter, TFeatureFlags>({\n client: props.trpcClient,\n queryClient: props.queryClient,\n keyPrefix: props.keyPrefix as any,\n }),\n [props.trpcClient, props.queryClient, props.keyPrefix],\n );\n return (\n <TRPCClientContext.Provider value={props.trpcClient}>\n <TRPCContext.Provider value={value}>\n {props.children}\n </TRPCContext.Provider>\n </TRPCClientContext.Provider>\n );\n };\n TRPCProvider.displayName = 'TRPCProvider';\n\n function useTRPC() {\n const utils = React.useContext(TRPCContext);\n if (!utils) {\n throw new Error('useTRPC() can only be used inside of a <TRPCProvider>');\n }\n return utils;\n }\n\n function useTRPCClient() {\n const client = React.useContext(TRPCClientContext);\n if (!client) {\n throw new Error(\n 'useTRPCClient() can only be used inside of a <TRPCProvider>',\n );\n }\n return client;\n }\n\n return { TRPCProvider, useTRPC, useTRPCClient };\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/tanstack-react-query",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "11.
|
|
4
|
+
"version": "11.21.1-canary.20.10e2ef98f",
|
|
5
5
|
"description": "TanStack React Query Integration for tRPC",
|
|
6
6
|
"author": "juliusmarminge",
|
|
7
7
|
"license": "MIT",
|
|
@@ -56,27 +56,27 @@
|
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@tanstack/react-query": "^5.80.3",
|
|
59
|
-
"@trpc/client": "11.
|
|
60
|
-
"@trpc/server": "11.
|
|
59
|
+
"@trpc/client": "11.21.1",
|
|
60
|
+
"@trpc/server": "11.21.1",
|
|
61
61
|
"react": ">=18.2.0",
|
|
62
62
|
"typescript": ">=5.7.2"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@tanstack/intent": "^0.0.27",
|
|
66
66
|
"@tanstack/react-query": "^5.80.3",
|
|
67
|
-
"@trpc/client": "11.
|
|
68
|
-
"@trpc/server": "11.
|
|
69
|
-
"@types/node": "
|
|
67
|
+
"@trpc/client": "11.21.1",
|
|
68
|
+
"@trpc/server": "11.21.1",
|
|
69
|
+
"@types/node": "^24.13.4",
|
|
70
70
|
"@types/react": "^19.1.0",
|
|
71
|
-
"eslint": "
|
|
71
|
+
"eslint": "^10.10.0",
|
|
72
72
|
"event-source-polyfill": "^1.0.31",
|
|
73
73
|
"konn": "^0.7.0",
|
|
74
74
|
"react": "^19.1.0",
|
|
75
75
|
"react-dom": "^19.1.0",
|
|
76
|
-
"tsdown": "
|
|
77
|
-
"typescript": "
|
|
78
|
-
"vitest": "
|
|
79
|
-
"ws": "
|
|
76
|
+
"tsdown": "0.23.0",
|
|
77
|
+
"typescript": "^7.0.2",
|
|
78
|
+
"vitest": "^5.0.0",
|
|
79
|
+
"ws": "^8.21.3",
|
|
80
80
|
"zod": "^4.2.1"
|
|
81
81
|
},
|
|
82
82
|
"publishConfig": {
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"bin": {
|
|
92
92
|
"intent": "./bin/intent.js"
|
|
93
93
|
},
|
|
94
|
-
"gitHead": "
|
|
94
|
+
"gitHead": "10e2ef98f7842b94eb3026e4f9bcfe62cc39b088"
|
|
95
95
|
}
|
|
@@ -33,7 +33,7 @@ export interface CreateTRPCContextResult<
|
|
|
33
33
|
/**
|
|
34
34
|
* Create a set of type-safe provider-consumers
|
|
35
35
|
*
|
|
36
|
-
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-
|
|
36
|
+
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-set-up-the-trpc-context-provider
|
|
37
37
|
*/
|
|
38
38
|
export function createTRPCContext<
|
|
39
39
|
TRouter extends AnyTRPCRouter,
|
|
@@ -9,6 +9,7 @@ import type {
|
|
|
9
9
|
AnyTRPCProcedure,
|
|
10
10
|
AnyTRPCRootTypes,
|
|
11
11
|
AnyTRPCRouter,
|
|
12
|
+
inferProcedureErrorShape,
|
|
12
13
|
inferProcedureInput,
|
|
13
14
|
inferRouterContext,
|
|
14
15
|
inferTransformedProcedureOutput,
|
|
@@ -274,7 +275,7 @@ export type DecoratedRouterRecord<
|
|
|
274
275
|
input: inferProcedureInput<$Value>;
|
|
275
276
|
output: inferTransformedProcedureOutput<TRoot, $Value>;
|
|
276
277
|
transformer: TRoot['transformer'];
|
|
277
|
-
errorShape: TRoot
|
|
278
|
+
errorShape: inferProcedureErrorShape<TRoot, $Value>;
|
|
278
279
|
featureFlags: TFeatureFlags;
|
|
279
280
|
}
|
|
280
281
|
>
|
|
@@ -334,7 +335,7 @@ type UtilsMethods =
|
|
|
334
335
|
/**
|
|
335
336
|
* Create a typed proxy from your router types. Can also be used on the server.
|
|
336
337
|
*
|
|
337
|
-
* @see https://trpc.io/docs/client/tanstack-react-query/setup#
|
|
338
|
+
* @see https://trpc.io/docs/client/tanstack-react-query/setup#3c-set-up-without-react-context
|
|
338
339
|
* @see https://trpc.io/docs/client/tanstack-react-query/server-components#5-create-a-trpc-caller-for-server-components
|
|
339
340
|
*/
|
|
340
341
|
export function createTRPCOptionsProxy<
|