@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 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#3b-setup-without-react-context
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-setup-the-trpc-context-provider
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['errorShape'];
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#3b-setup-without-react-context
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-setup-the-trpc-context-provider
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
@@ -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['errorShape'];
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#3b-setup-without-react-context
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-setup-the-trpc-context-provider
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
@@ -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#3b-setup-without-react-context
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-setup-the-trpc-context-provider
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);
@@ -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.19.0",
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.19.0",
60
- "@trpc/server": "11.19.0",
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.19.0",
68
- "@trpc/server": "11.19.0",
69
- "@types/node": "catalog:",
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": "catalog:",
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": "catalog:",
77
- "typescript": "catalog:",
78
- "vitest": "catalog:",
79
- "ws": "catalog:",
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": "fcc6bca0ece2762e393e6d8c8527bbaa17a878d2"
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-setup-the-trpc-context-provider
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['errorShape'];
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#3b-setup-without-react-context
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<