@trpc/tanstack-react-query 11.1.3-alpha-tmp-tsdown.23 → 11.1.3-alpha-tmp-tsdown.26

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.
Files changed (60) hide show
  1. package/dist/index.cjs +465 -0
  2. package/dist/index.d.cts +420 -0
  3. package/dist/index.d.cts.map +1 -0
  4. package/dist/index.d.mts +420 -8
  5. package/dist/index.d.mts.map +1 -0
  6. package/dist/index.mjs +441 -4
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +13 -14
  9. package/dist/_virtual/rolldown_runtime.js +0 -30
  10. package/dist/index.d.ts +0 -8
  11. package/dist/index.js +0 -7
  12. package/dist/internals/Context.d.mts +0 -28
  13. package/dist/internals/Context.d.mts.map +0 -1
  14. package/dist/internals/Context.d.ts +0 -28
  15. package/dist/internals/Context.d.ts.map +0 -1
  16. package/dist/internals/Context.js +0 -46
  17. package/dist/internals/Context.mjs +0 -46
  18. package/dist/internals/Context.mjs.map +0 -1
  19. package/dist/internals/createOptionsProxy.d.mts +0 -161
  20. package/dist/internals/createOptionsProxy.d.mts.map +0 -1
  21. package/dist/internals/createOptionsProxy.d.ts +0 -161
  22. package/dist/internals/createOptionsProxy.d.ts.map +0 -1
  23. package/dist/internals/createOptionsProxy.js +0 -111
  24. package/dist/internals/createOptionsProxy.mjs +0 -111
  25. package/dist/internals/createOptionsProxy.mjs.map +0 -1
  26. package/dist/internals/infiniteQueryOptions.d.mts +0 -55
  27. package/dist/internals/infiniteQueryOptions.d.mts.map +0 -1
  28. package/dist/internals/infiniteQueryOptions.d.ts +0 -55
  29. package/dist/internals/infiniteQueryOptions.d.ts.map +0 -1
  30. package/dist/internals/infiniteQueryOptions.js +0 -32
  31. package/dist/internals/infiniteQueryOptions.mjs +0 -32
  32. package/dist/internals/infiniteQueryOptions.mjs.map +0 -1
  33. package/dist/internals/mutationOptions.d.mts +0 -34
  34. package/dist/internals/mutationOptions.d.mts.map +0 -1
  35. package/dist/internals/mutationOptions.d.ts +0 -34
  36. package/dist/internals/mutationOptions.d.ts.map +0 -1
  37. package/dist/internals/mutationOptions.js +0 -34
  38. package/dist/internals/mutationOptions.mjs +0 -35
  39. package/dist/internals/mutationOptions.mjs.map +0 -1
  40. package/dist/internals/queryOptions.d.mts +0 -46
  41. package/dist/internals/queryOptions.d.mts.map +0 -1
  42. package/dist/internals/queryOptions.d.ts +0 -46
  43. package/dist/internals/queryOptions.d.ts.map +0 -1
  44. package/dist/internals/queryOptions.js +0 -35
  45. package/dist/internals/queryOptions.mjs +0 -35
  46. package/dist/internals/queryOptions.mjs.map +0 -1
  47. package/dist/internals/subscriptionOptions.d.mts +0 -66
  48. package/dist/internals/subscriptionOptions.d.mts.map +0 -1
  49. package/dist/internals/subscriptionOptions.d.ts +0 -66
  50. package/dist/internals/subscriptionOptions.d.ts.map +0 -1
  51. package/dist/internals/subscriptionOptions.js +0 -132
  52. package/dist/internals/subscriptionOptions.mjs +0 -131
  53. package/dist/internals/subscriptionOptions.mjs.map +0 -1
  54. package/dist/internals/types.d.mts +0 -84
  55. package/dist/internals/types.d.mts.map +0 -1
  56. package/dist/internals/types.d.ts +0 -84
  57. package/dist/internals/types.d.ts.map +0 -1
  58. package/dist/internals/utils.js +0 -89
  59. package/dist/internals/utils.mjs +0 -84
  60. package/dist/internals/utils.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutationOptions.mjs","names":["args: {\n mutate: typeof TRPCUntypedClient.prototype.mutation;\n queryClient: QueryClient | (() => QueryClient);\n path: readonly string[];\n opts: AnyTRPCMutationOptionsIn;\n overrides: MutationOptionsOverride | undefined;\n}","mutationSuccessOverride: MutationOptionsOverride['onSuccess']","mutationFn: MutationFunction","args"],"sources":["../../src/internals/mutationOptions.ts"],"sourcesContent":["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 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\ninterface TRPCMutationOptionsIn<TInput, TError, TOutput, TContext>\n extends DistributiveOmit<\n UseMutationOptions<TOutput, TError, TInput, TContext>,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {}\n\ninterface TRPCMutationOptionsOut<TInput, TError, TOutput, TContext>\n extends UseMutationOptions<TOutput, TError, TInput, TContext>,\n TRPCQueryOptionsResult {\n mutationKey: TRPCMutationKey;\n}\n\nexport interface TRPCMutationOptions<TDef extends ResolverDef> {\n <TContext = unknown>(\n opts?: TRPCMutationOptionsIn<\n TDef['input'],\n TRPCClientErrorLike<TDef>,\n TDef['output'],\n TContext\n >,\n ): TRPCMutationOptionsOut<\n TDef['input'],\n TRPCClientErrorLike<TDef>,\n TDef['output'],\n TContext\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 = TRPCMutationOptionsIn<\n unknown,\n unknown,\n unknown,\n unknown\n>;\n\ntype AnyTRPCMutationOptionsOut = TRPCMutationOptionsOut<\n unknown,\n unknown,\n unknown,\n unknown\n>;\n\n/**\n * @internal\n */\nexport function trpcMutationOptions(args: {\n mutate: typeof TRPCUntypedClient.prototype.mutation;\n queryClient: QueryClient | (() => QueryClient);\n path: readonly string[];\n opts: AnyTRPCMutationOptionsIn;\n overrides: MutationOptionsOverride | undefined;\n}): AnyTRPCMutationOptionsOut {\n const { mutate, path, opts, overrides } = args;\n const queryClient = unwrapLazyArg(args.queryClient);\n\n const mutationKey = getMutationKeyInternal(path);\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(...getClientArgs([path, { input }], opts));\n\n return result;\n };\n\n return {\n ...opts,\n mutationKey: 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"],"mappings":";;;;;;AAwFA,SAAgB,oBAAoBA,MAMN;CAC5B,MAAM,EAAE,QAAQ,MAAM,MAAM,WAAW,GAAG;CAC1C,MAAM,cAAc,cAAc,KAAK,YAAY;CAEnD,MAAM,cAAc,uBAAuB,KAAK;CAEhD,MAAM,cAAc,YAAY,uBAC9B,YAAY,oBAAoB,YAAY,CAC7C;CAED,MAAMC,0BACJ,WAAW,cAAc,CAAC,YAAY,QAAQ,YAAY;CAE5D,MAAMC,aAA+B,OAAO,UAAU;EACpD,MAAM,SAAS,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,MAAO,CAAC,GAAE,KAAK,CAAC;AAEtE,SAAO;CACR;AAED,QAAO;EACL,GAAG;EACU;EACb;EACA,UAAU,GAAGC,QAAM;GACjB,MAAM,aAAa,MACjB,MAAM,YAAY,GAAGA,OAAK,IAAI,aAAa,YAAY,GAAGA,OAAK;AAEjE,UAAO,wBAAwB;IAC7B;IACA;IACA,MAAM,MAAM,QAAQ,aAAa,QAAQ,CAAE;GAC5C,EAAC;EACH;EACD,MAAM,wBAAwB,EAAE,KAAM,EAAC;CACxC;AACF"}
@@ -1,46 +0,0 @@
1
- import { ResolverDef, TRPCQueryBaseOptions, TRPCQueryKey, TRPCQueryOptionsResult } from "./types.mjs";
2
- import { TRPCClientErrorLike, TRPCUntypedClient } from "@trpc/client";
3
- import { DataTag, DefinedInitialDataOptions, QueryClient, SkipToken, UndefinedInitialDataOptions, UnusedSkipTokenOptions } from "@tanstack/react-query";
4
- import { DistributiveOmit, coerceAsyncIterableToArray } from "@trpc/server/unstable-core-do-not-import";
5
-
6
- //#region src/internals/queryOptions.d.ts
7
- type ReservedOptions = 'queryKey' | 'queryFn' | 'queryHashFn' | 'queryHash';
8
- interface UndefinedTRPCQueryOptionsIn<TQueryFnData, TData, TError> extends DistributiveOmit<UndefinedInitialDataOptions<coerceAsyncIterableToArray<TQueryFnData>, TError, coerceAsyncIterableToArray<TData>, TRPCQueryKey>, ReservedOptions>, TRPCQueryBaseOptions {}
9
- interface UndefinedTRPCQueryOptionsOut<TQueryFnData, TOutput, TError> extends UndefinedInitialDataOptions<coerceAsyncIterableToArray<TQueryFnData>, TError, coerceAsyncIterableToArray<TOutput>, TRPCQueryKey>, TRPCQueryOptionsResult {
10
- queryKey: DataTag<TRPCQueryKey, coerceAsyncIterableToArray<TOutput>, TError>;
11
- }
12
- interface DefinedTRPCQueryOptionsIn<TQueryFnData, TData, TError> extends DistributiveOmit<DefinedInitialDataOptions<coerceAsyncIterableToArray<NoInfer<TQueryFnData>>, TError, coerceAsyncIterableToArray<TData>, TRPCQueryKey>, ReservedOptions>, TRPCQueryBaseOptions {}
13
- interface DefinedTRPCQueryOptionsOut<TQueryFnData, TData, TError> extends DefinedInitialDataOptions<coerceAsyncIterableToArray<TQueryFnData>, TError, coerceAsyncIterableToArray<TData>, TRPCQueryKey>, TRPCQueryOptionsResult {
14
- queryKey: DataTag<TRPCQueryKey, coerceAsyncIterableToArray<TData>, TError>;
15
- }
16
- interface UnusedSkipTokenTRPCQueryOptionsIn<TQueryFnData, TData, TError> extends DistributiveOmit<UnusedSkipTokenOptions<coerceAsyncIterableToArray<TQueryFnData>, TError, coerceAsyncIterableToArray<TData>, TRPCQueryKey>, ReservedOptions>, TRPCQueryBaseOptions {}
17
- interface UnusedSkipTokenTRPCQueryOptionsOut<TQueryFnData, TOutput, TError> extends UnusedSkipTokenOptions<coerceAsyncIterableToArray<TQueryFnData>, TError, coerceAsyncIterableToArray<TOutput>, TRPCQueryKey>, TRPCQueryOptionsResult {
18
- queryKey: DataTag<TRPCQueryKey, coerceAsyncIterableToArray<TOutput>, TError>;
19
- }
20
- interface TRPCQueryOptions<TDef extends ResolverDef> {
21
- <TQueryFnData extends TDef['output'], TData = TQueryFnData>(input: TDef['input'] | SkipToken, opts: DefinedTRPCQueryOptionsIn<TQueryFnData, TData, TRPCClientErrorLike<{
22
- transformer: TDef['transformer'];
23
- errorShape: TDef['errorShape'];
24
- }>>): DefinedTRPCQueryOptionsOut<TQueryFnData, TData, TRPCClientErrorLike<{
25
- transformer: TDef['transformer'];
26
- errorShape: TDef['errorShape'];
27
- }>>;
28
- <TQueryFnData extends TDef['output'], TData = TQueryFnData>(input: TDef['input'], opts?: UnusedSkipTokenTRPCQueryOptionsIn<TQueryFnData, TData, TRPCClientErrorLike<{
29
- transformer: TDef['transformer'];
30
- errorShape: TDef['errorShape'];
31
- }>>): UnusedSkipTokenTRPCQueryOptionsOut<TQueryFnData, TData, TRPCClientErrorLike<{
32
- transformer: TDef['transformer'];
33
- errorShape: TDef['errorShape'];
34
- }>>;
35
- <TQueryFnData extends TDef['output'], TData = TQueryFnData>(input: TDef['input'] | SkipToken, opts?: UndefinedTRPCQueryOptionsIn<TQueryFnData, TData, TRPCClientErrorLike<{
36
- transformer: TDef['transformer'];
37
- errorShape: TDef['errorShape'];
38
- }>>): UndefinedTRPCQueryOptionsOut<TQueryFnData, TData, TRPCClientErrorLike<{
39
- transformer: TDef['transformer'];
40
- errorShape: TDef['errorShape'];
41
- }>>;
42
- }
43
-
44
- //#endregion
45
- export { TRPCQueryOptions };
46
- //# sourceMappingURL=queryOptions.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queryOptions.d.mts","names":[],"sources":["../../src/internals/queryOptions.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- import { ResolverDef, TRPCQueryBaseOptions, TRPCQueryKey, TRPCQueryOptionsResult } from "./types.js";
2
- import { DataTag, DefinedInitialDataOptions, QueryClient, SkipToken, UndefinedInitialDataOptions, UnusedSkipTokenOptions } from "@tanstack/react-query";
3
- import { TRPCClientErrorLike, TRPCUntypedClient } from "@trpc/client";
4
- import { DistributiveOmit, coerceAsyncIterableToArray } from "@trpc/server/unstable-core-do-not-import";
5
-
6
- //#region src/internals/queryOptions.d.ts
7
- type ReservedOptions = 'queryKey' | 'queryFn' | 'queryHashFn' | 'queryHash';
8
- interface UndefinedTRPCQueryOptionsIn<TQueryFnData, TData, TError> extends DistributiveOmit<UndefinedInitialDataOptions<coerceAsyncIterableToArray<TQueryFnData>, TError, coerceAsyncIterableToArray<TData>, TRPCQueryKey>, ReservedOptions>, TRPCQueryBaseOptions {}
9
- interface UndefinedTRPCQueryOptionsOut<TQueryFnData, TOutput, TError> extends UndefinedInitialDataOptions<coerceAsyncIterableToArray<TQueryFnData>, TError, coerceAsyncIterableToArray<TOutput>, TRPCQueryKey>, TRPCQueryOptionsResult {
10
- queryKey: DataTag<TRPCQueryKey, coerceAsyncIterableToArray<TOutput>, TError>;
11
- }
12
- interface DefinedTRPCQueryOptionsIn<TQueryFnData, TData, TError> extends DistributiveOmit<DefinedInitialDataOptions<coerceAsyncIterableToArray<NoInfer<TQueryFnData>>, TError, coerceAsyncIterableToArray<TData>, TRPCQueryKey>, ReservedOptions>, TRPCQueryBaseOptions {}
13
- interface DefinedTRPCQueryOptionsOut<TQueryFnData, TData, TError> extends DefinedInitialDataOptions<coerceAsyncIterableToArray<TQueryFnData>, TError, coerceAsyncIterableToArray<TData>, TRPCQueryKey>, TRPCQueryOptionsResult {
14
- queryKey: DataTag<TRPCQueryKey, coerceAsyncIterableToArray<TData>, TError>;
15
- }
16
- interface UnusedSkipTokenTRPCQueryOptionsIn<TQueryFnData, TData, TError> extends DistributiveOmit<UnusedSkipTokenOptions<coerceAsyncIterableToArray<TQueryFnData>, TError, coerceAsyncIterableToArray<TData>, TRPCQueryKey>, ReservedOptions>, TRPCQueryBaseOptions {}
17
- interface UnusedSkipTokenTRPCQueryOptionsOut<TQueryFnData, TOutput, TError> extends UnusedSkipTokenOptions<coerceAsyncIterableToArray<TQueryFnData>, TError, coerceAsyncIterableToArray<TOutput>, TRPCQueryKey>, TRPCQueryOptionsResult {
18
- queryKey: DataTag<TRPCQueryKey, coerceAsyncIterableToArray<TOutput>, TError>;
19
- }
20
- interface TRPCQueryOptions<TDef extends ResolverDef> {
21
- <TQueryFnData extends TDef['output'], TData = TQueryFnData>(input: TDef['input'] | SkipToken, opts: DefinedTRPCQueryOptionsIn<TQueryFnData, TData, TRPCClientErrorLike<{
22
- transformer: TDef['transformer'];
23
- errorShape: TDef['errorShape'];
24
- }>>): DefinedTRPCQueryOptionsOut<TQueryFnData, TData, TRPCClientErrorLike<{
25
- transformer: TDef['transformer'];
26
- errorShape: TDef['errorShape'];
27
- }>>;
28
- <TQueryFnData extends TDef['output'], TData = TQueryFnData>(input: TDef['input'], opts?: UnusedSkipTokenTRPCQueryOptionsIn<TQueryFnData, TData, TRPCClientErrorLike<{
29
- transformer: TDef['transformer'];
30
- errorShape: TDef['errorShape'];
31
- }>>): UnusedSkipTokenTRPCQueryOptionsOut<TQueryFnData, TData, TRPCClientErrorLike<{
32
- transformer: TDef['transformer'];
33
- errorShape: TDef['errorShape'];
34
- }>>;
35
- <TQueryFnData extends TDef['output'], TData = TQueryFnData>(input: TDef['input'] | SkipToken, opts?: UndefinedTRPCQueryOptionsIn<TQueryFnData, TData, TRPCClientErrorLike<{
36
- transformer: TDef['transformer'];
37
- errorShape: TDef['errorShape'];
38
- }>>): UndefinedTRPCQueryOptionsOut<TQueryFnData, TData, TRPCClientErrorLike<{
39
- transformer: TDef['transformer'];
40
- errorShape: TDef['errorShape'];
41
- }>>;
42
- }
43
-
44
- //#endregion
45
- export { TRPCQueryOptions };
46
- //# sourceMappingURL=queryOptions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queryOptions.d.ts","names":[],"sources":["../../src/internals/queryOptions.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
2
- const require__Users_julius_dev_trpc_packages_tanstack_react_query_src_internals_utils = require('./utils.js');
3
- const __tanstack_react_query = require_rolldown_runtime.__toESM(require("@tanstack/react-query"));
4
- const __trpc_server_unstable_core_do_not_import = require_rolldown_runtime.__toESM(require("@trpc/server/unstable-core-do-not-import"));
5
-
6
- //#region src/internals/queryOptions.ts
7
- /**
8
- * @internal
9
- */
10
- function trpcQueryOptions(args) {
11
- const { input, query, path, queryKey, opts } = args;
12
- const queryClient = require__Users_julius_dev_trpc_packages_tanstack_react_query_src_internals_utils.unwrapLazyArg(args.queryClient);
13
- const inputIsSkipToken = input === __tanstack_react_query.skipToken;
14
- const queryFn = async (queryFnContext) => {
15
- const actualOpts = {
16
- ...opts,
17
- trpc: {
18
- ...opts?.trpc,
19
- ...opts?.trpc?.abortOnUnmount ? { signal: queryFnContext.signal } : { signal: null }
20
- }
21
- };
22
- const queryKey$1 = queryFnContext.queryKey;
23
- const result = await query(...require__Users_julius_dev_trpc_packages_tanstack_react_query_src_internals_utils.getClientArgs(queryKey$1, actualOpts));
24
- if ((0, __trpc_server_unstable_core_do_not_import.isAsyncIterable)(result)) return require__Users_julius_dev_trpc_packages_tanstack_react_query_src_internals_utils.buildQueryFromAsyncIterable(result, queryClient, queryKey$1);
25
- return result;
26
- };
27
- return Object.assign((0, __tanstack_react_query.queryOptions)({
28
- ...opts,
29
- queryKey,
30
- queryFn: inputIsSkipToken ? __tanstack_react_query.skipToken : queryFn
31
- }), { trpc: require__Users_julius_dev_trpc_packages_tanstack_react_query_src_internals_utils.createTRPCOptionsResult({ path }) });
32
- }
33
-
34
- //#endregion
35
- exports.trpcQueryOptions = trpcQueryOptions;
@@ -1,35 +0,0 @@
1
- import { buildQueryFromAsyncIterable, createTRPCOptionsResult, getClientArgs, unwrapLazyArg } from "./utils.mjs";
2
- import { queryOptions, skipToken } from "@tanstack/react-query";
3
- import { isAsyncIterable } from "@trpc/server/unstable-core-do-not-import";
4
-
5
- //#region src/internals/queryOptions.ts
6
- /**
7
- * @internal
8
- */
9
- function trpcQueryOptions(args) {
10
- const { input, query, path, queryKey, opts } = args;
11
- const queryClient = unwrapLazyArg(args.queryClient);
12
- const inputIsSkipToken = input === skipToken;
13
- const queryFn = async (queryFnContext) => {
14
- const actualOpts = {
15
- ...opts,
16
- trpc: {
17
- ...opts?.trpc,
18
- ...opts?.trpc?.abortOnUnmount ? { signal: queryFnContext.signal } : { signal: null }
19
- }
20
- };
21
- const queryKey$1 = queryFnContext.queryKey;
22
- const result = await query(...getClientArgs(queryKey$1, actualOpts));
23
- if (isAsyncIterable(result)) return buildQueryFromAsyncIterable(result, queryClient, queryKey$1);
24
- return result;
25
- };
26
- return Object.assign(queryOptions({
27
- ...opts,
28
- queryKey,
29
- queryFn: inputIsSkipToken ? skipToken : queryFn
30
- }), { trpc: createTRPCOptionsResult({ path }) });
31
- }
32
-
33
- //#endregion
34
- export { trpcQueryOptions };
35
- //# sourceMappingURL=queryOptions.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queryOptions.mjs","names":["args: {\n input: unknown;\n query: typeof TRPCUntypedClient.prototype.query;\n queryClient: QueryClient | (() => QueryClient);\n path: readonly string[];\n queryKey: TRPCQueryKey;\n opts: AnyTRPCQueryOptionsIn;\n}","queryFn: QueryFunction<unknown, TRPCQueryKey>","queryKey"],"sources":["../../src/internals/queryOptions.ts"],"sourcesContent":["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 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<TQueryFnData, TData, TError>\n extends DistributiveOmit<\n UndefinedInitialDataOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {}\n\ninterface UndefinedTRPCQueryOptionsOut<TQueryFnData, TOutput, TError>\n extends UndefinedInitialDataOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TOutput>,\n TRPCQueryKey\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<TRPCQueryKey, coerceAsyncIterableToArray<TOutput>, TError>;\n}\n\ninterface DefinedTRPCQueryOptionsIn<TQueryFnData, TData, TError>\n extends DistributiveOmit<\n DefinedInitialDataOptions<\n coerceAsyncIterableToArray<NoInfer<TQueryFnData>>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {}\n\ninterface DefinedTRPCQueryOptionsOut<TQueryFnData, TData, TError>\n extends DefinedInitialDataOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<TRPCQueryKey, coerceAsyncIterableToArray<TData>, TError>;\n}\n\ninterface UnusedSkipTokenTRPCQueryOptionsIn<TQueryFnData, TData, TError>\n extends DistributiveOmit<\n UnusedSkipTokenOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TData>,\n TRPCQueryKey\n >,\n ReservedOptions\n >,\n TRPCQueryBaseOptions {}\n\ninterface UnusedSkipTokenTRPCQueryOptionsOut<TQueryFnData, TOutput, TError>\n extends UnusedSkipTokenOptions<\n coerceAsyncIterableToArray<TQueryFnData>,\n TError,\n coerceAsyncIterableToArray<TOutput>,\n TRPCQueryKey\n >,\n TRPCQueryOptionsResult {\n queryKey: DataTag<TRPCQueryKey, coerceAsyncIterableToArray<TOutput>, TError>;\n}\n\nexport interface TRPCQueryOptions<TDef extends ResolverDef> {\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 >,\n ): DefinedTRPCQueryOptionsOut<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\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 >,\n ): UnusedSkipTokenTRPCQueryOptionsOut<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\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 >,\n ): UndefinedTRPCQueryOptionsOut<\n TQueryFnData,\n TData,\n TRPCClientErrorLike<{\n transformer: TDef['transformer'];\n errorShape: TDef['errorShape'];\n }>\n >;\n}\n\ntype AnyTRPCQueryOptionsIn =\n | DefinedTRPCQueryOptionsIn<unknown, unknown, unknown>\n | UnusedSkipTokenTRPCQueryOptionsIn<unknown, unknown, unknown>\n | UndefinedTRPCQueryOptionsIn<unknown, unknown, unknown>;\n\ntype AnyTRPCQueryOptionsOut =\n | DefinedTRPCQueryOptionsOut<unknown, unknown, unknown>\n | UnusedSkipTokenTRPCQueryOptionsOut<unknown, unknown, unknown>\n | UndefinedTRPCQueryOptionsOut<unknown, unknown, unknown>;\n\n/**\n * @internal\n */\nexport function trpcQueryOptions(args: {\n input: unknown;\n query: typeof TRPCUntypedClient.prototype.query;\n queryClient: QueryClient | (() => QueryClient);\n path: readonly string[];\n queryKey: TRPCQueryKey;\n opts: AnyTRPCQueryOptionsIn;\n}): AnyTRPCQueryOptionsOut {\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<unknown, TRPCQueryKey> = async (\n queryFnContext,\n ) => {\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,\n queryFn: inputIsSkipToken ? skipToken : queryFn,\n }),\n { trpc: createTRPCOptionsResult({ path }) },\n );\n}\n"],"mappings":";;;;;;;;AA0KA,SAAgB,iBAAiBA,MAON;CACzB,MAAM,EAAE,OAAO,OAAO,MAAM,UAAU,MAAM,GAAG;CAC/C,MAAM,cAAc,cAAc,KAAK,YAAY;CAEnD,MAAM,mBAAmB,UAAU;CAEnC,MAAMC,UAAgD,OACpD,mBACG;EACH,MAAM,aAAa;GACjB,GAAG;GACH,MAAM;IACJ,GAAG,MAAM;IACT,GAAI,MAAM,MAAM,iBACZ,EAAE,QAAQ,eAAe,OAAQ,IACjC,EAAE,QAAQ,KAAM;GACrB;EACF;EACD,MAAMC,aAAW,eAAe;EAEhC,MAAM,SAAS,MAAM,MAAM,GAAG,cAAcA,YAAU,WAAW,CAAC;AAElE,MAAI,gBAAgB,OAAO,CACzB,QAAO,4BAA4B,QAAQ,aAAaA,WAAS;AAGnE,SAAO;CACR;AAED,QAAO,OAAO,OACZ,aAAa;EACX,GAAG;EACH;EACA,SAAS,mBAAmB,YAAY;CACzC,EAAC,EACF,EAAE,MAAM,wBAAwB,EAAE,KAAM,EAAC,CAAE,EAC5C;AACF"}
@@ -1,66 +0,0 @@
1
- import { ResolverDef, TRPCQueryKey, TRPCQueryOptionsResult } from "./types.mjs";
2
- import { TRPCClientErrorLike, TRPCUntypedClient } from "@trpc/client";
3
- import { SkipToken } from "@tanstack/react-query";
4
- import { inferAsyncIterableYield } from "@trpc/server/unstable-core-do-not-import";
5
- import { TRPCConnectionState } from "@trpc/client/unstable-internals";
6
- import { Unsubscribable } from "@trpc/server/observable";
7
-
8
- //#region src/internals/subscriptionOptions.d.ts
9
- interface BaseTRPCSubscriptionOptionsIn<TOutput, TError> {
10
- enabled?: boolean;
11
- onStarted?: () => void;
12
- onData?: (data: inferAsyncIterableYield<TOutput>) => void;
13
- onError?: (err: TError) => void;
14
- onConnectionStateChange?: (state: TRPCConnectionState<TError>) => void;
15
- }
16
- interface UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError> {
17
- onStarted?: () => void;
18
- onData?: (data: inferAsyncIterableYield<TOutput>) => void;
19
- onError?: (err: TError) => void;
20
- onConnectionStateChange?: (state: TRPCConnectionState<TError>) => void;
21
- }
22
- interface TRPCSubscriptionOptionsOut<TOutput, TError> extends UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError>, TRPCQueryOptionsResult {
23
- enabled: boolean;
24
- queryKey: TRPCQueryKey;
25
- subscribe: (innerOpts: UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError>) => Unsubscribable;
26
- }
27
- interface TRPCSubscriptionOptions<TDef extends ResolverDef> {
28
- (input: TDef['input'], opts?: UnusedSkipTokenTRPCSubscriptionOptionsIn<inferAsyncIterableYield<TDef['output']>, TRPCClientErrorLike<TDef>>): TRPCSubscriptionOptionsOut<inferAsyncIterableYield<TDef['output']>, TRPCClientErrorLike<TDef>>;
29
- (input: TDef['input'] | SkipToken, opts?: BaseTRPCSubscriptionOptionsIn<inferAsyncIterableYield<TDef['output']>, TRPCClientErrorLike<TDef>>): TRPCSubscriptionOptionsOut<inferAsyncIterableYield<TDef['output']>, TRPCClientErrorLike<TDef>>;
30
- }
31
- type TRPCSubscriptionStatus = 'idle' | 'connecting' | 'pending' | 'error';
32
- interface TRPCSubscriptionBaseResult<TOutput, TError> {
33
- status: TRPCSubscriptionStatus;
34
- data: undefined | TOutput;
35
- error: null | TError;
36
- /**
37
- * Reset the subscription
38
- */
39
- reset: () => void;
40
- }
41
- interface TRPCSubscriptionIdleResult<TOutput> extends TRPCSubscriptionBaseResult<TOutput, null> {
42
- status: 'idle';
43
- data: undefined;
44
- error: null;
45
- }
46
- interface TRPCSubscriptionConnectingResult<TOutput, TError> extends TRPCSubscriptionBaseResult<TOutput, TError> {
47
- status: 'connecting';
48
- data: undefined | TOutput;
49
- error: TError | null;
50
- }
51
- interface TRPCSubscriptionPendingResult<TOutput> extends TRPCSubscriptionBaseResult<TOutput, undefined> {
52
- status: 'pending';
53
- data: TOutput | undefined;
54
- error: null;
55
- }
56
- interface TRPCSubscriptionErrorResult<TOutput, TError> extends TRPCSubscriptionBaseResult<TOutput, TError> {
57
- status: 'error';
58
- data: TOutput | undefined;
59
- error: TError;
60
- }
61
- type TRPCSubscriptionResult<TOutput, TError> = TRPCSubscriptionIdleResult<TOutput> | TRPCSubscriptionConnectingResult<TOutput, TError> | TRPCSubscriptionErrorResult<TOutput, TError> | TRPCSubscriptionPendingResult<TOutput>;
62
- declare function useSubscription<TOutput, TError>(opts: TRPCSubscriptionOptionsOut<TOutput, TError>): TRPCSubscriptionResult<TOutput, TError>;
63
-
64
- //#endregion
65
- export { TRPCSubscriptionConnectingResult, TRPCSubscriptionErrorResult, TRPCSubscriptionIdleResult, TRPCSubscriptionOptions, TRPCSubscriptionPendingResult, TRPCSubscriptionResult, TRPCSubscriptionStatus, useSubscription as useSubscription$1 };
66
- //# sourceMappingURL=subscriptionOptions.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscriptionOptions.d.mts","names":[],"sources":["../../src/internals/subscriptionOptions.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- import { ResolverDef, TRPCQueryKey, TRPCQueryOptionsResult } from "./types.js";
2
- import { SkipToken } from "@tanstack/react-query";
3
- import { TRPCClientErrorLike, TRPCUntypedClient } from "@trpc/client";
4
- import { inferAsyncIterableYield } from "@trpc/server/unstable-core-do-not-import";
5
- import { TRPCConnectionState } from "@trpc/client/unstable-internals";
6
- import { Unsubscribable } from "@trpc/server/observable";
7
-
8
- //#region src/internals/subscriptionOptions.d.ts
9
- interface BaseTRPCSubscriptionOptionsIn<TOutput, TError> {
10
- enabled?: boolean;
11
- onStarted?: () => void;
12
- onData?: (data: inferAsyncIterableYield<TOutput>) => void;
13
- onError?: (err: TError) => void;
14
- onConnectionStateChange?: (state: TRPCConnectionState<TError>) => void;
15
- }
16
- interface UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError> {
17
- onStarted?: () => void;
18
- onData?: (data: inferAsyncIterableYield<TOutput>) => void;
19
- onError?: (err: TError) => void;
20
- onConnectionStateChange?: (state: TRPCConnectionState<TError>) => void;
21
- }
22
- interface TRPCSubscriptionOptionsOut<TOutput, TError> extends UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError>, TRPCQueryOptionsResult {
23
- enabled: boolean;
24
- queryKey: TRPCQueryKey;
25
- subscribe: (innerOpts: UnusedSkipTokenTRPCSubscriptionOptionsIn<TOutput, TError>) => Unsubscribable;
26
- }
27
- interface TRPCSubscriptionOptions<TDef extends ResolverDef> {
28
- (input: TDef['input'], opts?: UnusedSkipTokenTRPCSubscriptionOptionsIn<inferAsyncIterableYield<TDef['output']>, TRPCClientErrorLike<TDef>>): TRPCSubscriptionOptionsOut<inferAsyncIterableYield<TDef['output']>, TRPCClientErrorLike<TDef>>;
29
- (input: TDef['input'] | SkipToken, opts?: BaseTRPCSubscriptionOptionsIn<inferAsyncIterableYield<TDef['output']>, TRPCClientErrorLike<TDef>>): TRPCSubscriptionOptionsOut<inferAsyncIterableYield<TDef['output']>, TRPCClientErrorLike<TDef>>;
30
- }
31
- type TRPCSubscriptionStatus = 'idle' | 'connecting' | 'pending' | 'error';
32
- interface TRPCSubscriptionBaseResult<TOutput, TError> {
33
- status: TRPCSubscriptionStatus;
34
- data: undefined | TOutput;
35
- error: null | TError;
36
- /**
37
- * Reset the subscription
38
- */
39
- reset: () => void;
40
- }
41
- interface TRPCSubscriptionIdleResult<TOutput> extends TRPCSubscriptionBaseResult<TOutput, null> {
42
- status: 'idle';
43
- data: undefined;
44
- error: null;
45
- }
46
- interface TRPCSubscriptionConnectingResult<TOutput, TError> extends TRPCSubscriptionBaseResult<TOutput, TError> {
47
- status: 'connecting';
48
- data: undefined | TOutput;
49
- error: TError | null;
50
- }
51
- interface TRPCSubscriptionPendingResult<TOutput> extends TRPCSubscriptionBaseResult<TOutput, undefined> {
52
- status: 'pending';
53
- data: TOutput | undefined;
54
- error: null;
55
- }
56
- interface TRPCSubscriptionErrorResult<TOutput, TError> extends TRPCSubscriptionBaseResult<TOutput, TError> {
57
- status: 'error';
58
- data: TOutput | undefined;
59
- error: TError;
60
- }
61
- type TRPCSubscriptionResult<TOutput, TError> = TRPCSubscriptionIdleResult<TOutput> | TRPCSubscriptionConnectingResult<TOutput, TError> | TRPCSubscriptionErrorResult<TOutput, TError> | TRPCSubscriptionPendingResult<TOutput>;
62
- declare function useSubscription<TOutput, TError>(opts: TRPCSubscriptionOptionsOut<TOutput, TError>): TRPCSubscriptionResult<TOutput, TError>;
63
-
64
- //#endregion
65
- export { TRPCSubscriptionConnectingResult, TRPCSubscriptionErrorResult, TRPCSubscriptionIdleResult, TRPCSubscriptionOptions, TRPCSubscriptionPendingResult, TRPCSubscriptionResult, TRPCSubscriptionStatus, useSubscription };
66
- //# sourceMappingURL=subscriptionOptions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscriptionOptions.d.ts","names":[],"sources":["../../src/internals/subscriptionOptions.ts"],"sourcesContent":[],"mappings":";;;;;;;;UAcU;;EAAA,SAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAA6B,MAAA,CAAA,EAAA,CAAA,IAAA,EAGrB,uBAHqB,CAGG,OAHH,CAAA,EAAA,GAAA,IAAA;EAAA,OAGG,CAAA,EAAA,CAAA,GAAA,EACxB,MADwB,EAAA,GAAA,IAAA;EAAO,uBAA/B,CAAA,EAAA,CAAA,KAAA,EAEkB,mBAFlB,CAEsC,MAFtC,CAAA,EAAA,GAAA,IAAA;;UAKR,wCAH8C,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA;EAAM,SAA1B,CAAA,EAAA,GAAA,GAAA,IAAA;EAAmB,MAAA,CAAA,EAAA,CAAA,IAAA,EAKrC,uBALqC,CAKb,OALa,CAAA,EAAA,GAAA,IAAA;EAG7C,OAAA,CAAA,EAAA,CAAA,GAAA,EAGQ,MAHR,EAAA,GAAA,IAAA;EAAwC,uBAAA,CAAA,EAAA,CAAA,KAAA,EAId,mBAJc,CAIM,MAJN,CAAA,EAAA,GAAA,IAAA;;UAOxC,0BALQ,CAAA,OAAA,EAAA,MAAA,CAAA,SAMR,wCANQ,CAMiC,OANjC,EAM0C,MAN1C,CAAA,EAOd,sBAPc,CAAA;EAAuB,OACvB,EAAA,OAAA;EAAM,QACgC,EAO5C,YAP4C;EAAM,SAA1B,EAAA,CAAA,SAAA,EASrB,wCATqB,CASoB,OATpB,EAS6B,MAT7B,CAAA,EAAA,GAU7B,cAV6B;AAAmB;AAG7C,UAUO,uBAVmB,CAAA,aAUkB,WAVlB,CAAA,CAAA;EAAA,CAAA,KAAA,EAYzB,IAZyB,CAAA,OAAA,CAAA,EAAA,IAAA,CAAA,EAazB,wCAbyB,CAc9B,uBAd8B,CAcN,IAdM,CAAA,QAAA,CAAA,CAAA,EAe9B,mBAf8B,CAeV,IAfU,CAAA,CAAA,CAAA,EAiB/B,0BAjB+B,CAkBhC,uBAlBgC,CAkBR,IAlBQ,CAAA,QAAA,CAAA,CAAA,EAmBhC,mBAnBgC,CAmBZ,IAnBY,CAAA,CAAA;EAAA,CAAA,KACe,EAqBxC,IArBwC,CAAA,OAAA,CAAA,GAqBxB,SArBwB,EAAA,IAAA,CAAA,EAsBxC,6BAtBwC,CAuB7C,uBAvB6C,CAuBrB,IAvBqB,CAAA,QAAA,CAAA,CAAA,EAwB7C,mBAxB6C,CAwBzB,IAxByB,CAAA,CAAA,CAAA,EA0B9C,0BA1B8C,CA2B/C,uBA3B+C,CA2BvB,IA3BuB,CAAA,QAAA,CAAA,CAAA,EA4B/C,mBA5B+C,CA4B3B,IA5B2B,CAAA,CAAA;;AAGvC,KA4BA,sBAAA,GA5BA,MAAA,GAAA,YAAA,GAAA,SAAA,GAAA,OAAA;AAE4C,UAgCvC,0BAhCuC,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA;EAAO,MAAE,EAiCvD,sBAjCuD;EAAM,IAAxD,EAAA,SAAA,GAkCK,OAlCL;EAAwC,KAChD,EAAA,IAAA,GAkCS,MAlCT;EAAc;;AALK;EAQT,KAAA,EAAA,GAAA,GAAA,IAAA;;AAAqC,UAsCrC,0BAtCqC,CAAA,OAAA,CAAA,SAuC5C,0BAvC4C,CAuCjB,OAvCiB,EAAA,IAAA,CAAA,CAAA;EAAW,MAEtD,EAAA,MAAA;EAAI,IAEe,EAAA,SAAA;EAAI,KAA5B,EAAA,IAAA;;AACA,UAwCW,gCAxCX,CAAA,OAAA,EAAA,MAAA,CAAA,SAyCI,0BAzCJ,CAyC+B,OAzC/B,EAyCwC,MAzCxC,CAAA,CAAA;EAAmB,MAFd,EAAA,YAAA;EAAwC,IAKvB,EAAA,SAAA,GAwCR,OAxCQ;EAAI,KAA5B,EAyCK,MAzCL,GAAA,IAAA;;AACA,UA2Ca,6BA3Cb,CAAA,OAAA,CAAA,SA4CM,0BA5CN,CA4CiC,OA5CjC,EAAA,SAAA,CAAA,CAAA;EAAmB,MAFlB,EAAA,SAAA;EAA0B,IAKpB,EA2CH,OA3CG,GAAA,SAAA;EAAI,KAAY,EAAA,IAAA;;AAErB,UA6CW,2BA7CX,CAAA,OAAA,EAAA,MAAA,CAAA,SA8CI,0BA9CJ,CA8C+B,OA9C/B,EA8CwC,MA9CxC,CAAA,CAAA;EAAuB,MACH,EAAA,OAAA;EAAI,IAAxB,EA+CE,OA/CF,GAAA,SAAA;EAAmB,KAFd,EAkDF,MAlDE;;AAKP,KAgDQ,sBAhDR,CAAA,OAAA,EAAA,MAAA,CAAA,GAiDA,0BAjDA,CAiD2B,OAjD3B,CAAA,GAkDA,gCAlDA,CAkDiC,OAlDjC,EAkD0C,MAlD1C,CAAA,GAmDA,2BAnDA,CAmD4B,OAnD5B,EAmDqC,MAnDrC,CAAA,GAoDA,6BApDA,CAoD8B,OApD9B,CAAA;AAoBa,iBAuED,eAvE2B,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,IAAA,EAwEnC,0BAxEmC,CAwER,OAxEQ,EAwEC,MAxED,CAAA,CAAA,EAyExC,sBAzEwC,CAyEjB,OAzEiB,EAyER,MAzEQ,CAAA"}
@@ -1,132 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
2
- const require__Users_julius_dev_trpc_packages_tanstack_react_query_src_internals_utils = require('./utils.js');
3
- const react = require_rolldown_runtime.__toESM(require("react"));
4
- const __tanstack_react_query = require_rolldown_runtime.__toESM(require("@tanstack/react-query"));
5
-
6
- //#region src/internals/subscriptionOptions.ts
7
- /**
8
- * @internal
9
- */
10
- const trpcSubscriptionOptions = (args) => {
11
- const { subscribe, path, queryKey, opts = {} } = args;
12
- const input = queryKey[1]?.input;
13
- const enabled = "enabled" in opts ? !!opts.enabled : input !== __tanstack_react_query.skipToken;
14
- const _subscribe = (innerOpts) => {
15
- return subscribe(path.join("."), input ?? void 0, innerOpts);
16
- };
17
- return {
18
- ...opts,
19
- enabled,
20
- subscribe: _subscribe,
21
- queryKey,
22
- trpc: require__Users_julius_dev_trpc_packages_tanstack_react_query_src_internals_utils.createTRPCOptionsResult({ path })
23
- };
24
- };
25
- function useSubscription(opts) {
26
- const optsRef = react.useRef(opts);
27
- optsRef.current = opts;
28
- const trackedProps = react.useRef(new Set([]));
29
- const addTrackedProp = react.useCallback((key) => {
30
- trackedProps.current.add(key);
31
- }, []);
32
- const currentSubscriptionRef = react.useRef(() => {});
33
- const reset = react.useCallback(() => {
34
- currentSubscriptionRef.current?.();
35
- updateState(getInitialState);
36
- if (!opts.enabled) return;
37
- const subscription = opts.subscribe({
38
- onStarted: () => {
39
- optsRef.current.onStarted?.();
40
- updateState((prev) => ({
41
- ...prev,
42
- status: "pending",
43
- error: null
44
- }));
45
- },
46
- onData: (data) => {
47
- optsRef.current.onData?.(data);
48
- updateState((prev) => ({
49
- ...prev,
50
- status: "pending",
51
- data,
52
- error: null
53
- }));
54
- },
55
- onError: (error) => {
56
- optsRef.current.onError?.(error);
57
- updateState((prev) => ({
58
- ...prev,
59
- status: "error",
60
- error
61
- }));
62
- },
63
- onConnectionStateChange: (result) => {
64
- optsRef.current.onConnectionStateChange?.(result);
65
- updateState((prev) => {
66
- switch (result.state) {
67
- case "connecting": return {
68
- ...prev,
69
- status: "connecting",
70
- error: result.error
71
- };
72
- case "pending": return prev;
73
- case "idle": return {
74
- ...prev,
75
- status: "idle",
76
- data: void 0,
77
- error: null
78
- };
79
- }
80
- });
81
- }
82
- });
83
- currentSubscriptionRef.current = () => {
84
- subscription.unsubscribe();
85
- };
86
- }, [(0, __tanstack_react_query.hashKey)(opts.queryKey), opts.enabled]);
87
- const getInitialState = react.useCallback(() => {
88
- return opts.enabled ? {
89
- data: void 0,
90
- error: null,
91
- status: "connecting",
92
- reset
93
- } : {
94
- data: void 0,
95
- error: null,
96
- status: "idle",
97
- reset
98
- };
99
- }, [opts.enabled, reset]);
100
- const resultRef = react.useRef(getInitialState());
101
- const [state, setState] = react.useState(trackResult(resultRef.current, addTrackedProp));
102
- state.reset = reset;
103
- const updateState = react.useCallback((callback) => {
104
- const prev = resultRef.current;
105
- const next = resultRef.current = callback(prev);
106
- let shouldUpdate = false;
107
- for (const key of trackedProps.current) if (prev[key] !== next[key]) {
108
- shouldUpdate = true;
109
- break;
110
- }
111
- if (shouldUpdate) setState(trackResult(next, addTrackedProp));
112
- }, [addTrackedProp]);
113
- react.useEffect(() => {
114
- if (!opts.enabled) return;
115
- reset();
116
- return () => {
117
- currentSubscriptionRef.current?.();
118
- };
119
- }, [reset, opts.enabled]);
120
- return state;
121
- }
122
- function trackResult(result, onTrackResult) {
123
- const trackedResult = new Proxy(result, { get(target, prop) {
124
- onTrackResult(prop);
125
- return target[prop];
126
- } });
127
- return trackedResult;
128
- }
129
-
130
- //#endregion
131
- exports.trpcSubscriptionOptions = trpcSubscriptionOptions;
132
- exports.useSubscription = useSubscription;
@@ -1,131 +0,0 @@
1
- import { createTRPCOptionsResult } from "./utils.mjs";
2
- import * as React from "react";
3
- import { hashKey, skipToken } from "@tanstack/react-query";
4
-
5
- //#region src/internals/subscriptionOptions.ts
6
- /**
7
- * @internal
8
- */
9
- const trpcSubscriptionOptions = (args) => {
10
- const { subscribe, path, queryKey, opts = {} } = args;
11
- const input = queryKey[1]?.input;
12
- const enabled = "enabled" in opts ? !!opts.enabled : input !== skipToken;
13
- const _subscribe = (innerOpts) => {
14
- return subscribe(path.join("."), input ?? void 0, innerOpts);
15
- };
16
- return {
17
- ...opts,
18
- enabled,
19
- subscribe: _subscribe,
20
- queryKey,
21
- trpc: createTRPCOptionsResult({ path })
22
- };
23
- };
24
- function useSubscription(opts) {
25
- const optsRef = React.useRef(opts);
26
- optsRef.current = opts;
27
- const trackedProps = React.useRef(new Set([]));
28
- const addTrackedProp = React.useCallback((key) => {
29
- trackedProps.current.add(key);
30
- }, []);
31
- const currentSubscriptionRef = React.useRef(() => {});
32
- const reset = React.useCallback(() => {
33
- currentSubscriptionRef.current?.();
34
- updateState(getInitialState);
35
- if (!opts.enabled) return;
36
- const subscription = opts.subscribe({
37
- onStarted: () => {
38
- optsRef.current.onStarted?.();
39
- updateState((prev) => ({
40
- ...prev,
41
- status: "pending",
42
- error: null
43
- }));
44
- },
45
- onData: (data) => {
46
- optsRef.current.onData?.(data);
47
- updateState((prev) => ({
48
- ...prev,
49
- status: "pending",
50
- data,
51
- error: null
52
- }));
53
- },
54
- onError: (error) => {
55
- optsRef.current.onError?.(error);
56
- updateState((prev) => ({
57
- ...prev,
58
- status: "error",
59
- error
60
- }));
61
- },
62
- onConnectionStateChange: (result) => {
63
- optsRef.current.onConnectionStateChange?.(result);
64
- updateState((prev) => {
65
- switch (result.state) {
66
- case "connecting": return {
67
- ...prev,
68
- status: "connecting",
69
- error: result.error
70
- };
71
- case "pending": return prev;
72
- case "idle": return {
73
- ...prev,
74
- status: "idle",
75
- data: void 0,
76
- error: null
77
- };
78
- }
79
- });
80
- }
81
- });
82
- currentSubscriptionRef.current = () => {
83
- subscription.unsubscribe();
84
- };
85
- }, [hashKey(opts.queryKey), opts.enabled]);
86
- const getInitialState = React.useCallback(() => {
87
- return opts.enabled ? {
88
- data: void 0,
89
- error: null,
90
- status: "connecting",
91
- reset
92
- } : {
93
- data: void 0,
94
- error: null,
95
- status: "idle",
96
- reset
97
- };
98
- }, [opts.enabled, reset]);
99
- const resultRef = React.useRef(getInitialState());
100
- const [state, setState] = React.useState(trackResult(resultRef.current, addTrackedProp));
101
- state.reset = reset;
102
- const updateState = React.useCallback((callback) => {
103
- const prev = resultRef.current;
104
- const next = resultRef.current = callback(prev);
105
- let shouldUpdate = false;
106
- for (const key of trackedProps.current) if (prev[key] !== next[key]) {
107
- shouldUpdate = true;
108
- break;
109
- }
110
- if (shouldUpdate) setState(trackResult(next, addTrackedProp));
111
- }, [addTrackedProp]);
112
- React.useEffect(() => {
113
- if (!opts.enabled) return;
114
- reset();
115
- return () => {
116
- currentSubscriptionRef.current?.();
117
- };
118
- }, [reset, opts.enabled]);
119
- return state;
120
- }
121
- function trackResult(result, onTrackResult) {
122
- const trackedResult = new Proxy(result, { get(target, prop) {
123
- onTrackResult(prop);
124
- return target[prop];
125
- } });
126
- return trackedResult;
127
- }
128
-
129
- //#endregion
130
- export { trpcSubscriptionOptions, useSubscription };
131
- //# sourceMappingURL=subscriptionOptions.mjs.map