@orpc/react 0.0.0-next.e9dc36e → 0.0.0-next.ee0aeaf

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 (65) hide show
  1. package/dist/index.js +16 -16
  2. package/dist/src/general-utils.d.ts +6 -6
  3. package/dist/src/procedure-hooks.d.ts +4 -4
  4. package/dist/src/procedure-utils.d.ts +12 -12
  5. package/dist/src/react-context.d.ts +2 -2
  6. package/dist/src/react-hooks.d.ts +2 -2
  7. package/dist/src/react-utils.d.ts +2 -2
  8. package/dist/src/types.d.ts +4 -3
  9. package/dist/src/use-queries/builder.d.ts +2 -2
  10. package/dist/src/use-queries/builders.d.ts +2 -2
  11. package/package.json +14 -17
  12. package/dist/index.js.map +0 -1
  13. package/dist/src/general-hooks.d.ts.map +0 -1
  14. package/dist/src/general-utils.d.ts.map +0 -1
  15. package/dist/src/index.d.ts.map +0 -1
  16. package/dist/src/orpc-path.d.ts.map +0 -1
  17. package/dist/src/procedure-hooks.d.ts.map +0 -1
  18. package/dist/src/procedure-utils.d.ts.map +0 -1
  19. package/dist/src/react-context.d.ts.map +0 -1
  20. package/dist/src/react-hooks.d.ts.map +0 -1
  21. package/dist/src/react-utils.d.ts.map +0 -1
  22. package/dist/src/react.d.ts.map +0 -1
  23. package/dist/src/tanstack-key.d.ts.map +0 -1
  24. package/dist/src/tanstack-query.d.ts.map +0 -1
  25. package/dist/src/types.d.ts.map +0 -1
  26. package/dist/src/use-queries/builder.d.ts.map +0 -1
  27. package/dist/src/use-queries/builders.d.ts.map +0 -1
  28. package/dist/src/use-queries/hook.d.ts.map +0 -1
  29. package/dist/tsconfig.tsbuildinfo +0 -1
  30. package/src/general-hooks.test-d.ts +0 -151
  31. package/src/general-hooks.test.tsx +0 -232
  32. package/src/general-hooks.ts +0 -101
  33. package/src/general-utils.test-d.ts +0 -454
  34. package/src/general-utils.test.tsx +0 -818
  35. package/src/general-utils.ts +0 -393
  36. package/src/index.ts +0 -8
  37. package/src/orpc-path.test-d.ts +0 -13
  38. package/src/orpc-path.test.ts +0 -12
  39. package/src/orpc-path.ts +0 -24
  40. package/src/procedure-hooks.test-d.ts +0 -321
  41. package/src/procedure-hooks.test.tsx +0 -388
  42. package/src/procedure-hooks.ts +0 -271
  43. package/src/procedure-utils.test-d.ts +0 -476
  44. package/src/procedure-utils.test.tsx +0 -330
  45. package/src/procedure-utils.ts +0 -312
  46. package/src/react-context.ts +0 -43
  47. package/src/react-hooks.ts +0 -94
  48. package/src/react-utils.ts +0 -98
  49. package/src/react.test-d.ts +0 -89
  50. package/src/react.test.tsx +0 -102
  51. package/src/react.tsx +0 -81
  52. package/src/tanstack-key.test-d.ts +0 -35
  53. package/src/tanstack-key.test.ts +0 -62
  54. package/src/tanstack-key.ts +0 -64
  55. package/src/tanstack-query.ts +0 -27
  56. package/src/types.ts +0 -7
  57. package/src/use-queries/builder.test-d.ts +0 -29
  58. package/src/use-queries/builder.test.ts +0 -25
  59. package/src/use-queries/builder.ts +0 -71
  60. package/src/use-queries/builders.test-d.ts +0 -30
  61. package/src/use-queries/builders.test.tsx +0 -29
  62. package/src/use-queries/builders.ts +0 -101
  63. package/src/use-queries/hook.test-d.ts +0 -64
  64. package/src/use-queries/hook.test.tsx +0 -89
  65. package/src/use-queries/hook.ts +0 -57
package/dist/index.js CHANGED
@@ -275,7 +275,7 @@ function createProcedureHooks(options) {
275
275
  return useQuery(
276
276
  {
277
277
  queryKey: getQueryKeyFromPath(options.path, { input, type: "query" }),
278
- queryFn: () => client(input),
278
+ queryFn: ({ signal }) => client(input, { signal }),
279
279
  ...options_
280
280
  },
281
281
  context.queryClient
@@ -291,7 +291,7 @@ function createProcedureHooks(options) {
291
291
  input,
292
292
  type: "infinite"
293
293
  }),
294
- queryFn: ({ pageParam }) => client({ ...input, cursor: pageParam }),
294
+ queryFn: ({ pageParam, signal }) => client({ ...input, cursor: pageParam }, { signal }),
295
295
  ...rest
296
296
  },
297
297
  context.queryClient
@@ -303,7 +303,7 @@ function createProcedureHooks(options) {
303
303
  return useSuspenseQuery(
304
304
  {
305
305
  queryKey: getQueryKeyFromPath(options.path, { input, type: "query" }),
306
- queryFn: () => client(input),
306
+ queryFn: ({ signal }) => client(input, { signal }),
307
307
  ...options_
308
308
  },
309
309
  context.queryClient
@@ -319,7 +319,7 @@ function createProcedureHooks(options) {
319
319
  input,
320
320
  type: "infinite"
321
321
  }),
322
- queryFn: ({ pageParam }) => client({ ...input, cursor: pageParam }),
322
+ queryFn: ({ pageParam, signal }) => client({ ...input, cursor: pageParam }, { signal }),
323
323
  ...rest
324
324
  },
325
325
  context.queryClient
@@ -331,7 +331,7 @@ function createProcedureHooks(options) {
331
331
  return usePrefetchQuery(
332
332
  {
333
333
  queryKey: getQueryKeyFromPath(options.path, { input, type: "query" }),
334
- queryFn: () => client(input),
334
+ queryFn: ({ signal }) => client(input, { signal }),
335
335
  ...options_
336
336
  },
337
337
  context.queryClient
@@ -347,7 +347,7 @@ function createProcedureHooks(options) {
347
347
  input,
348
348
  type: "infinite"
349
349
  }),
350
- queryFn: ({ pageParam }) => client({ ...input, cursor: pageParam }),
350
+ queryFn: ({ pageParam, signal }) => client({ ...input, cursor: pageParam }, { signal }),
351
351
  ...rest
352
352
  },
353
353
  context.queryClient
@@ -374,7 +374,7 @@ function createProcedureUtils(options) {
374
374
  fetchQuery(input, options_) {
375
375
  return options.queryClient.fetchQuery({
376
376
  queryKey: getQueryKeyFromPath(options.path, { input, type: "query" }),
377
- queryFn: () => options.client(input),
377
+ queryFn: ({ signal }) => options.client(input, { signal }),
378
378
  ...options_
379
379
  });
380
380
  },
@@ -385,8 +385,8 @@ function createProcedureUtils(options) {
385
385
  input,
386
386
  type: "infinite"
387
387
  }),
388
- queryFn: ({ pageParam }) => {
389
- return options.client({ ...input, pageParam });
388
+ queryFn: ({ pageParam, signal }) => {
389
+ return options.client({ ...input, pageParam }, { signal });
390
390
  },
391
391
  ...rest
392
392
  });
@@ -397,7 +397,7 @@ function createProcedureUtils(options) {
397
397
  input,
398
398
  type: "query"
399
399
  }),
400
- queryFn: () => options.client(input),
400
+ queryFn: ({ signal }) => options.client(input, { signal }),
401
401
  ...options_
402
402
  });
403
403
  },
@@ -408,8 +408,8 @@ function createProcedureUtils(options) {
408
408
  input,
409
409
  type: "infinite"
410
410
  }),
411
- queryFn: ({ pageParam }) => {
412
- return options.client({ ...input, cursor: pageParam });
411
+ queryFn: ({ pageParam, signal }) => {
412
+ return options.client({ ...input, cursor: pageParam }, { signal });
413
413
  },
414
414
  ...rest
415
415
  });
@@ -436,7 +436,7 @@ function createProcedureUtils(options) {
436
436
  input,
437
437
  type: "query"
438
438
  }),
439
- queryFn: () => options.client(input),
439
+ queryFn: ({ signal }) => options.client(input, { signal }),
440
440
  ...options_
441
441
  });
442
442
  },
@@ -447,8 +447,8 @@ function createProcedureUtils(options) {
447
447
  input,
448
448
  type: "infinite"
449
449
  }),
450
- queryFn: ({ pageParam }) => {
451
- return options.client({ ...input, pageParam });
450
+ queryFn: ({ pageParam, signal }) => {
451
+ return options.client({ ...input, pageParam }, { signal });
452
452
  },
453
453
  ...rest
454
454
  });
@@ -584,7 +584,7 @@ function createUseQueriesBuilder(options) {
584
584
  return (input, options_) => {
585
585
  return {
586
586
  queryKey: getQueryKeyFromPath(options.path, { input, type: "query" }),
587
- queryFn: () => options.client(input),
587
+ queryFn: ({ signal }) => options.client(input, { signal }),
588
588
  ...options_
589
589
  };
590
590
  };
@@ -2,17 +2,17 @@ import type { Schema, SchemaInput, SchemaOutput } from '@orpc/contract';
2
2
  import type { PartialDeep, SetOptional } from '@orpc/shared';
3
3
  import type { CancelOptions, DefaultError, InfiniteData, InvalidateOptions, MutationFilters, MutationObserverOptions, OmitKeyof, QueryClient, QueryKey, QueryObserverOptions, RefetchOptions, ResetOptions, SetDataOptions, Updater } from '@tanstack/react-query';
4
4
  import type { ORPCInvalidateQueryFilters, ORPCQueryFilters } from './tanstack-query';
5
- import type { SchemaInputForInfiniteQuery } from './types';
5
+ import type { InferCursor, SchemaInputForInfiniteQuery } from './types';
6
6
  export interface GeneralUtils<TInputSchema extends Schema, TOutputSchema extends Schema, TFuncOutput extends SchemaOutput<TOutputSchema>> {
7
7
  getQueriesData: (filters?: OmitKeyof<ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>, 'queryType'>) => [QueryKey, SchemaOutput<TOutputSchema, TFuncOutput> | undefined][];
8
8
  getInfiniteQueriesData: (filters?: OmitKeyof<ORPCQueryFilters<PartialDeep<SchemaInputForInfiniteQuery<TInputSchema>>>, 'queryType'>) => [
9
9
  QueryKey,
10
- undefined | InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']>
10
+ undefined | InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>>
11
11
  ][];
12
12
  setQueriesData: (filters: OmitKeyof<ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>, 'queryType'>, updater: Updater<SchemaOutput<TOutputSchema, TFuncOutput> | undefined, SchemaOutput<TOutputSchema, TFuncOutput> | undefined>, options?: SetDataOptions) => [QueryKey, SchemaOutput<TOutputSchema, TFuncOutput> | undefined][];
13
- setInfiniteQueriesData: (filters: OmitKeyof<ORPCQueryFilters<PartialDeep<SchemaInputForInfiniteQuery<TInputSchema>>>, 'queryType'>, updater: Updater<InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']> | undefined, InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']> | undefined>, options?: SetDataOptions) => [
13
+ setInfiniteQueriesData: (filters: OmitKeyof<ORPCQueryFilters<PartialDeep<SchemaInputForInfiniteQuery<TInputSchema>>>, 'queryType'>, updater: Updater<InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>> | undefined, InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>> | undefined>, options?: SetDataOptions) => [
14
14
  QueryKey,
15
- undefined | InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']>
15
+ undefined | InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>>
16
16
  ][];
17
17
  invalidate: (filters?: ORPCInvalidateQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>, options?: InvalidateOptions) => Promise<void>;
18
18
  refetch: (filters?: ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>, options?: RefetchOptions) => Promise<void>;
@@ -22,9 +22,9 @@ export interface GeneralUtils<TInputSchema extends Schema, TOutputSchema extends
22
22
  isFetching: (filters?: ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>) => number;
23
23
  isMutating: (filters?: SetOptional<MutationFilters, 'mutationKey'>) => number;
24
24
  getQueryDefaults: (filters?: Pick<ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>, 'input' | 'queryKey'>) => OmitKeyof<QueryObserverOptions<SchemaOutput<TOutputSchema, TFuncOutput>>, 'queryKey'>;
25
- getInfiniteQueryDefaults: (filters?: Pick<ORPCQueryFilters<PartialDeep<SchemaInputForInfiniteQuery<TInputSchema>>>, 'input' | 'queryKey'>) => OmitKeyof<QueryObserverOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>>, QueryKey, SchemaInput<TInputSchema>['cursor']>, 'queryKey'>;
25
+ getInfiniteQueryDefaults: (filters?: Pick<ORPCQueryFilters<PartialDeep<SchemaInputForInfiniteQuery<TInputSchema>>>, 'input' | 'queryKey'>) => OmitKeyof<QueryObserverOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>>, QueryKey, InferCursor<TInputSchema>>, 'queryKey'>;
26
26
  setQueryDefaults: (options: Partial<OmitKeyof<QueryObserverOptions<SchemaOutput<TOutputSchema, TFuncOutput>>, 'queryKey'>>, filters?: Pick<ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>, 'input' | 'queryKey'>) => void;
27
- setInfiniteQueryDefaults: (options: Partial<OmitKeyof<QueryObserverOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>>, QueryKey, SchemaInput<TInputSchema>['cursor']>, 'queryKey'>>, filters?: Pick<ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>, 'input' | 'queryKey'>) => void;
27
+ setInfiniteQueryDefaults: (options: Partial<OmitKeyof<QueryObserverOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>>, QueryKey, InferCursor<TInputSchema>>, 'queryKey'>>, filters?: Pick<ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>, 'input' | 'queryKey'>) => void;
28
28
  getMutationDefaults: (filters?: Pick<MutationFilters, 'mutationKey'>) => MutationObserverOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaInput<TInputSchema>>;
29
29
  setMutationDefaults: (options: OmitKeyof<MutationObserverOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaInput<TInputSchema>>, 'mutationKey'>, filters?: Pick<MutationFilters, 'mutationKey'>) => void;
30
30
  }
@@ -1,19 +1,19 @@
1
1
  import type { Schema, SchemaInput, SchemaOutput } from '@orpc/contract';
2
- import type { SchemaInputForInfiniteQuery } from './types';
2
+ import type { InferCursor, SchemaInputForInfiniteQuery } from './types';
3
3
  import { type PartialOnUndefinedDeep, type SetOptional } from '@orpc/shared';
4
4
  import { type DefaultError, type FetchInfiniteQueryOptions, type FetchQueryOptions, type InfiniteData, type QueryKey, type UseInfiniteQueryOptions, type UseInfiniteQueryResult, type UseMutationOptions, type UseMutationResult, type UseQueryOptions, type UseQueryResult, type UseSuspenseInfiniteQueryOptions, type UseSuspenseInfiniteQueryResult, type UseSuspenseQueryOptions, type UseSuspenseQueryResult } from '@tanstack/react-query';
5
5
  import { type ORPCContext } from './react-context';
6
6
  export interface ProcedureHooks<TInputSchema extends Schema, TOutputSchema extends Schema, TFuncOutput extends SchemaOutput<TOutputSchema>> {
7
7
  useQuery: <USelectData = SchemaOutput<TOutputSchema, TFuncOutput>>(input: SchemaInput<TInputSchema>, options?: SetOptional<UseQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, USelectData>, 'queryFn' | 'queryKey'>) => UseQueryResult<USelectData>;
8
- useInfiniteQuery: <USelectData = InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']>>(options: PartialOnUndefinedDeep<SetOptional<UseInfiniteQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, USelectData, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, SchemaInput<TInputSchema>['cursor']>, 'queryFn' | 'queryKey'> & {
8
+ useInfiniteQuery: <USelectData = InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>>>(options: PartialOnUndefinedDeep<SetOptional<UseInfiniteQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, USelectData, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, InferCursor<TInputSchema>>, 'queryFn' | 'queryKey'> & {
9
9
  input: SchemaInputForInfiniteQuery<TInputSchema>;
10
10
  }>) => UseInfiniteQueryResult<USelectData>;
11
11
  useSuspenseQuery: <USelectData = SchemaOutput<TOutputSchema, TFuncOutput>>(input: SchemaInput<TInputSchema>, options?: SetOptional<UseSuspenseQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, USelectData>, 'queryFn' | 'queryKey'>) => UseSuspenseQueryResult<USelectData>;
12
- useSuspenseInfiniteQuery: <USelectData = InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']>>(options: PartialOnUndefinedDeep<SetOptional<UseSuspenseInfiniteQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, USelectData, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, SchemaInput<TInputSchema>['cursor']>, 'queryFn' | 'queryKey'> & {
12
+ useSuspenseInfiniteQuery: <USelectData = InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>>>(options: PartialOnUndefinedDeep<SetOptional<UseSuspenseInfiniteQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, USelectData, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, InferCursor<TInputSchema>>, 'queryFn' | 'queryKey'> & {
13
13
  input: SchemaInputForInfiniteQuery<TInputSchema>;
14
14
  }>) => UseSuspenseInfiniteQueryResult<USelectData>;
15
15
  usePrefetchQuery: (input: SchemaInput<TInputSchema>, options?: FetchQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>>) => void;
16
- usePrefetchInfiniteQuery: (options: PartialOnUndefinedDeep<SetOptional<FetchInfiniteQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, SchemaInput<TInputSchema>['cursor']>, 'queryKey' | 'queryFn'> & {
16
+ usePrefetchInfiniteQuery: (options: PartialOnUndefinedDeep<SetOptional<FetchInfiniteQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, InferCursor<TInputSchema>>, 'queryKey' | 'queryFn'> & {
17
17
  input: SchemaInputForInfiniteQuery<TInputSchema>;
18
18
  }>) => void;
19
19
  useMutation: (options?: SetOptional<UseMutationOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaInput<TInputSchema>>, 'mutationFn' | 'mutationKey'>) => UseMutationResult<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaInput<TInputSchema>>;
@@ -1,30 +1,30 @@
1
- import type { ProcedureClient } from '@orpc/client';
2
1
  import type { Schema, SchemaInput, SchemaOutput } from '@orpc/contract';
2
+ import type { Caller } from '@orpc/server';
3
3
  import type { PartialOnUndefinedDeep, SetOptional } from '@orpc/shared';
4
4
  import type { DefaultError, EnsureInfiniteQueryDataOptions, EnsureQueryDataOptions, FetchInfiniteQueryOptions, FetchQueryOptions, InfiniteData, QueryClient, QueryKey, QueryState, SetDataOptions, Updater } from '@tanstack/react-query';
5
- import type { SchemaInputForInfiniteQuery } from './types';
5
+ import type { InferCursor, SchemaInputForInfiniteQuery } from './types';
6
6
  export interface ProcedureUtils<TInputSchema extends Schema, TOutputSchema extends Schema, TFuncOutput extends SchemaOutput<TOutputSchema>> {
7
7
  fetchQuery: (input: SchemaInput<TInputSchema>, options?: SetOptional<FetchQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>>, 'queryKey' | 'queryFn'>) => Promise<SchemaOutput<TOutputSchema, TFuncOutput>>;
8
- fetchInfiniteQuery: (options: PartialOnUndefinedDeep<SetOptional<FetchInfiniteQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, SchemaInput<TInputSchema>['cursor']>, 'queryKey' | 'queryFn'> & {
8
+ fetchInfiniteQuery: (options: PartialOnUndefinedDeep<SetOptional<FetchInfiniteQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, InferCursor<TInputSchema>>, 'queryKey' | 'queryFn'> & {
9
9
  input: SchemaInputForInfiniteQuery<TInputSchema>;
10
- }>) => Promise<InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']>>;
10
+ }>) => Promise<InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>>>;
11
11
  prefetchQuery: (input: SchemaInput<TInputSchema>, options?: SetOptional<FetchQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>>, 'queryKey' | 'queryFn'>) => Promise<void>;
12
- prefetchInfiniteQuery: (options: PartialOnUndefinedDeep<SetOptional<FetchInfiniteQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, SchemaInput<TInputSchema>['cursor']>, 'queryKey' | 'queryFn'> & {
12
+ prefetchInfiniteQuery: (options: PartialOnUndefinedDeep<SetOptional<FetchInfiniteQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, InferCursor<TInputSchema>>, 'queryKey' | 'queryFn'> & {
13
13
  input: SchemaInputForInfiniteQuery<TInputSchema>;
14
14
  }>) => Promise<void>;
15
15
  getQueryData: (input: SchemaInput<TInputSchema>) => SchemaOutput<TOutputSchema, TFuncOutput> | undefined;
16
- getInfiniteQueryData: (input: SchemaInputForInfiniteQuery<TInputSchema>) => InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']> | undefined;
16
+ getInfiniteQueryData: (input: SchemaInputForInfiniteQuery<TInputSchema>) => InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>> | undefined;
17
17
  ensureQueryData: (input: SchemaInput<TInputSchema>, options?: SetOptional<EnsureQueryDataOptions<SchemaOutput<TOutputSchema, TFuncOutput>>, 'queryFn' | 'queryKey'>) => Promise<SchemaOutput<TOutputSchema, TFuncOutput>>;
18
- ensureInfiniteQueryData: (options: PartialOnUndefinedDeep<SetOptional<EnsureInfiniteQueryDataOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, SchemaInput<TInputSchema>['cursor']>, 'queryKey' | 'queryFn'> & {
18
+ ensureInfiniteQueryData: (options: PartialOnUndefinedDeep<SetOptional<EnsureInfiniteQueryDataOptions<SchemaOutput<TOutputSchema, TFuncOutput>, DefaultError, SchemaOutput<TOutputSchema, TFuncOutput>, QueryKey, InferCursor<TInputSchema>>, 'queryKey' | 'queryFn'> & {
19
19
  input: SchemaInputForInfiniteQuery<TInputSchema>;
20
- }>) => Promise<InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']>>;
20
+ }>) => Promise<InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>>>;
21
21
  getQueryState: (input: SchemaInput<TInputSchema>) => QueryState<SchemaOutput<TOutputSchema, TFuncOutput>> | undefined;
22
- getInfiniteQueryState: (input: SchemaInputForInfiniteQuery<TInputSchema>) => QueryState<InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']>> | undefined;
22
+ getInfiniteQueryState: (input: SchemaInputForInfiniteQuery<TInputSchema>) => QueryState<InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>>> | undefined;
23
23
  setQueryData: (input: SchemaInput<TInputSchema>, updater: Updater<SchemaOutput<TOutputSchema, TFuncOutput> | undefined, SchemaOutput<TOutputSchema, TFuncOutput> | undefined>, options?: SetDataOptions) => SchemaOutput<TOutputSchema, TFuncOutput> | undefined;
24
- setInfiniteQueryData: (input: SchemaInputForInfiniteQuery<TInputSchema>, updater: Updater<InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']> | undefined, InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']> | undefined>, options?: SetDataOptions) => InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, SchemaInput<TInputSchema>['cursor']> | undefined;
24
+ setInfiniteQueryData: (input: SchemaInputForInfiniteQuery<TInputSchema>, updater: Updater<InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>> | undefined, InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>> | undefined>, options?: SetDataOptions) => InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>, InferCursor<TInputSchema>> | undefined;
25
25
  }
26
- export interface CreateProcedureUtilsOptions<TInputSchema extends Schema = undefined, TOutputSchema extends Schema = undefined, TFuncOutput extends SchemaOutput<TOutputSchema> = SchemaOutput<TOutputSchema>> {
27
- client: ProcedureClient<TInputSchema, TOutputSchema, TFuncOutput>;
26
+ export interface CreateProcedureUtilsOptions<TInputSchema extends Schema, TOutputSchema extends Schema, TFuncOutput> {
27
+ client: Caller<SchemaInput<TInputSchema>, SchemaOutput<TOutputSchema, TFuncOutput>>;
28
28
  queryClient: QueryClient;
29
29
  /**
30
30
  * The path of procedure on sever
@@ -1,10 +1,10 @@
1
- import type { RouterClientWithContractRouter, RouterClientWithRouter } from '@orpc/client';
1
+ import type { RouterClient } from '@orpc/client';
2
2
  import type { ContractRouter } from '@orpc/contract';
3
3
  import type { Router } from '@orpc/server';
4
4
  import type { QueryClient } from '@tanstack/react-query';
5
5
  import { type Context } from 'react';
6
6
  export interface ORPCContextValue<TRouter extends ContractRouter | Router<any>> {
7
- client: TRouter extends ContractRouter ? RouterClientWithContractRouter<TRouter> : TRouter extends Router<any> ? RouterClientWithRouter<TRouter> : never;
7
+ client: RouterClient<TRouter>;
8
8
  queryClient: QueryClient;
9
9
  }
10
10
  export type ORPCContext<TRouter extends ContractRouter | Router<any>> = Context<ORPCContextValue<TRouter> | undefined>;
@@ -1,5 +1,5 @@
1
1
  import type { ContractProcedure, ContractRouter, SchemaOutput } from '@orpc/contract';
2
- import type { Procedure, Router } from '@orpc/server';
2
+ import type { Lazy, Procedure, Router } from '@orpc/server';
3
3
  import type { ORPCContext } from './react-context';
4
4
  import { type GeneralHooks } from './general-hooks';
5
5
  import { type ProcedureHooks } from './procedure-hooks';
@@ -7,7 +7,7 @@ export type ORPCHooksWithContractRouter<TRouter extends ContractRouter> = {
7
7
  [K in keyof TRouter]: TRouter[K] extends ContractProcedure<infer UInputSchema, infer UOutputSchema> ? ProcedureHooks<UInputSchema, UOutputSchema, SchemaOutput<UOutputSchema>> & GeneralHooks<UInputSchema, UOutputSchema, SchemaOutput<UOutputSchema>> : TRouter[K] extends ContractRouter ? ORPCHooksWithContractRouter<TRouter[K]> : never;
8
8
  } & GeneralHooks<undefined, undefined, unknown>;
9
9
  export type ORPCHooksWithRouter<TRouter extends Router<any>> = {
10
- [K in keyof TRouter]: TRouter[K] extends Procedure<any, any, infer UInputSchema, infer UOutputSchema, infer UFuncOutput> ? ProcedureHooks<UInputSchema, UOutputSchema, UFuncOutput> & GeneralHooks<UInputSchema, UOutputSchema, UFuncOutput> : TRouter[K] extends Router<any> ? ORPCHooksWithRouter<TRouter[K]> : never;
10
+ [K in keyof TRouter]: TRouter[K] extends Procedure<any, any, infer UInputSchema, infer UOutputSchema, infer UFuncOutput> | Lazy<Procedure<any, any, infer UInputSchema, infer UOutputSchema, infer UFuncOutput>> ? ProcedureHooks<UInputSchema, UOutputSchema, UFuncOutput> & GeneralHooks<UInputSchema, UOutputSchema, UFuncOutput> : TRouter[K] extends Router<any> ? ORPCHooksWithRouter<TRouter[K]> : never;
11
11
  } & GeneralHooks<undefined, undefined, unknown>;
12
12
  export interface CreateORPCHooksOptions<TRouter extends ContractRouter | Router<any>> {
13
13
  context: ORPCContext<TRouter>;
@@ -1,5 +1,5 @@
1
1
  import type { ContractProcedure, ContractRouter, SchemaOutput } from '@orpc/contract';
2
- import type { Procedure, Router } from '@orpc/server';
2
+ import type { Lazy, Procedure, Router } from '@orpc/server';
3
3
  import type { ORPCContextValue } from './react-context';
4
4
  import { type GeneralUtils } from './general-utils';
5
5
  import { type ProcedureUtils } from './procedure-utils';
@@ -7,7 +7,7 @@ export type ORPCUtilsWithContractRouter<TRouter extends ContractRouter> = {
7
7
  [K in keyof TRouter]: TRouter[K] extends ContractProcedure<infer UInputSchema, infer UOutputSchema> ? ProcedureUtils<UInputSchema, UOutputSchema, SchemaOutput<UOutputSchema>> & GeneralUtils<UInputSchema, UOutputSchema, SchemaOutput<UOutputSchema>> : TRouter[K] extends ContractRouter ? ORPCUtilsWithContractRouter<TRouter[K]> : never;
8
8
  } & GeneralUtils<undefined, undefined, unknown>;
9
9
  export type ORPCUtilsWithRouter<TRouter extends Router<any>> = {
10
- [K in keyof TRouter]: TRouter[K] extends Procedure<any, any, infer UInputSchema, infer UOutputSchema, infer UFuncOutput> ? ProcedureUtils<UInputSchema, UOutputSchema, UFuncOutput> & GeneralUtils<UInputSchema, UOutputSchema, UFuncOutput> : TRouter[K] extends Router<any> ? ORPCUtilsWithRouter<TRouter[K]> : never;
10
+ [K in keyof TRouter]: TRouter[K] extends Procedure<any, any, infer UInputSchema, infer UOutputSchema, infer UFuncOutput> | Lazy<Procedure<any, any, infer UInputSchema, infer UOutputSchema, infer UFuncOutput>> ? ProcedureUtils<UInputSchema, UOutputSchema, UFuncOutput> & GeneralUtils<UInputSchema, UOutputSchema, UFuncOutput> : TRouter[K] extends Router<any> ? ORPCUtilsWithRouter<TRouter[K]> : never;
11
11
  } & GeneralUtils<undefined, undefined, unknown>;
12
12
  export interface CreateORPCUtilsOptions<TRouter extends ContractRouter | Router<any>> {
13
13
  contextValue: ORPCContextValue<TRouter>;
@@ -1,5 +1,6 @@
1
1
  import type { Schema, SchemaInput } from '@orpc/contract';
2
- export type SchemaInputForInfiniteQuery<TInputSchema extends Schema> = Omit<SchemaInput<TInputSchema>, 'cursor'> & (Record<string | number, any> & {
3
- cursor?: never;
4
- });
2
+ export type SchemaInputForInfiniteQuery<TInputSchema extends Schema> = Omit<SchemaInput<TInputSchema>, 'cursor'>;
3
+ export type InferCursor<TInputSchema extends Schema> = SchemaInput<TInputSchema> extends {
4
+ cursor?: any;
5
+ } ? SchemaInput<TInputSchema>['cursor'] : never;
5
6
  //# sourceMappingURL=types.d.ts.map
@@ -1,5 +1,5 @@
1
- import type { ProcedureClient } from '@orpc/client';
2
1
  import type { Schema, SchemaInput, SchemaOutput } from '@orpc/contract';
2
+ import type { Caller } from '@orpc/server';
3
3
  import type { SetOptional } from '@orpc/shared';
4
4
  import type { DefaultError, OmitKeyof, QueriesPlaceholderDataFunction, QueryKey, UseQueryOptions } from '@tanstack/react-query';
5
5
  type UseQueryOptionsForUseQueries<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = OmitKeyof<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'placeholderData'> & {
@@ -9,7 +9,7 @@ export interface UseQueriesBuilder<TInputSchema extends Schema, TOutputSchema ex
9
9
  (input: SchemaInput<TInputSchema>, options?: SetOptional<UseQueryOptionsForUseQueries<SchemaOutput<TOutputSchema, TFuncOutput>>, 'queryFn' | 'queryKey'>): UseQueryOptionsForUseQueries<SchemaOutput<TOutputSchema, TFuncOutput>>;
10
10
  }
11
11
  export interface CreateUseQueriesBuilderOptions<TInputSchema extends Schema, TOutputSchema extends Schema, TFuncOutput extends SchemaOutput<TOutputSchema>> {
12
- client: ProcedureClient<TInputSchema, TOutputSchema, TFuncOutput>;
12
+ client: Caller<SchemaInput<TInputSchema>, SchemaOutput<TOutputSchema, TFuncOutput>>;
13
13
  /**
14
14
  * The path of procedure on server
15
15
  */
@@ -1,4 +1,4 @@
1
- import type { RouterClientWithContractRouter, RouterClientWithRouter } from '@orpc/client';
1
+ import type { RouterClient } from '@orpc/client';
2
2
  import type { ContractProcedure, ContractRouter, SchemaOutput } from '@orpc/contract';
3
3
  import type { Procedure, Router } from '@orpc/server';
4
4
  import { type UseQueriesBuilder } from './builder';
@@ -9,7 +9,7 @@ export type UseQueriesBuildersWithRouter<TRouter extends Router<any>> = {
9
9
  [K in keyof TRouter]: TRouter[K] extends Procedure<any, any, infer UInputSchema, infer UOutputSchema, infer UFuncOutput> ? UseQueriesBuilder<UInputSchema, UOutputSchema, UFuncOutput> : TRouter[K] extends Router<any> ? UseQueriesBuildersWithRouter<TRouter[K]> : never;
10
10
  };
11
11
  export interface CreateUseQueriesBuildersOptions<TRouter extends Router<any> | ContractRouter> {
12
- client: TRouter extends Router<any> ? RouterClientWithRouter<TRouter> : TRouter extends ContractRouter ? RouterClientWithContractRouter<TRouter> : never;
12
+ client: RouterClient<TRouter>;
13
13
  /**
14
14
  * The path of router on server
15
15
  */
package/package.json CHANGED
@@ -1,21 +1,17 @@
1
1
  {
2
2
  "name": "@orpc/react",
3
3
  "type": "module",
4
- "version": "0.0.0-next.e9dc36e",
5
- "author": {
6
- "name": "unnoq",
7
- "email": "contact@unnoq.com",
8
- "url": "https://unnoq.com"
9
- },
4
+ "version": "0.0.0-next.ee0aeaf",
10
5
  "license": "MIT",
11
- "homepage": "https://github.com/unnoq/orpc",
6
+ "homepage": "https://orpc.unnoq.com",
12
7
  "repository": {
13
8
  "type": "git",
14
- "url": "https://github.com/unnoq/orpc.git",
9
+ "url": "git+https://github.com/unnoq/orpc.git",
15
10
  "directory": "packages/react"
16
11
  },
17
12
  "keywords": [
18
- "unnoq"
13
+ "unnoq",
14
+ "orpc"
19
15
  ],
20
16
  "exports": {
21
17
  ".": {
@@ -28,21 +24,22 @@
28
24
  }
29
25
  },
30
26
  "files": [
31
- "dist",
32
- "src"
27
+ "!**/*.map",
28
+ "!**/*.tsbuildinfo",
29
+ "dist"
33
30
  ],
34
31
  "peerDependencies": {
35
- "@tanstack/react-query": ">=5.59.0",
32
+ "@tanstack/react-query": ">=5.55.0",
36
33
  "react": ">=18.3.0",
37
- "@orpc/client": "0.0.0-next.e9dc36e",
38
- "@orpc/server": "0.0.0-next.e9dc36e",
39
- "@orpc/contract": "0.0.0-next.e9dc36e"
34
+ "@orpc/client": "0.0.0-next.ee0aeaf",
35
+ "@orpc/contract": "0.0.0-next.ee0aeaf",
36
+ "@orpc/server": "0.0.0-next.ee0aeaf"
40
37
  },
41
38
  "dependencies": {
42
- "@orpc/shared": "0.0.0-next.e9dc36e"
39
+ "@orpc/shared": "0.0.0-next.ee0aeaf"
43
40
  },
44
41
  "devDependencies": {
45
- "zod": "^3.23.8"
42
+ "zod": "^3.24.1"
46
43
  },
47
44
  "scripts": {
48
45
  "build": "tsup --clean --sourcemap --entry.index=src/index.ts --format=esm --onSuccess='tsc -b --noCheck'",
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/general-hooks.ts","../src/react-context.ts","../src/orpc-path.ts","../src/tanstack-key.ts","../src/general-utils.ts","../src/procedure-hooks.ts","../src/procedure-utils.ts","../src/react-hooks.ts","../src/react-utils.ts","../src/use-queries/hook.ts","../src/use-queries/builder.ts","../src/use-queries/builders.ts","../src/react.tsx"],"sourcesContent":["import type { Schema, SchemaInput, SchemaOutput } from '@orpc/contract'\nimport type { PartialDeep, SetOptional } from '@orpc/shared'\nimport type { ORPCQueryFilters } from './tanstack-query'\nimport {\n type DefaultError,\n type Mutation,\n type MutationFilters,\n type MutationState,\n useIsFetching,\n useIsMutating,\n useMutationState,\n} from '@tanstack/react-query'\nimport { type ORPCContext, useORPCContext } from './react-context'\nimport { getMutationKeyFromPath, getQueryKeyFromPath } from './tanstack-key'\n\nexport interface GeneralHooks<\n TInputSchema extends Schema,\n TOutputSchema extends Schema,\n TFuncOutput extends SchemaOutput<TOutputSchema>,\n> {\n useIsFetching: (\n filers?: ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>,\n ) => number\n useIsMutating: (filters?: SetOptional<MutationFilters, 'mutationKey'>) => number\n\n useMutationState: <\n UResult = MutationState<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaInput<TInputSchema>\n >,\n >(options?: {\n filters?: SetOptional<MutationFilters, 'mutationKey'>\n select?: (\n mutation: Mutation<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaInput<TInputSchema>\n >,\n ) => UResult\n }\n ) => UResult[]\n}\n\nexport interface CreateGeneralHooksOptions {\n context: ORPCContext<any>\n\n /**\n * The path of the router or procedure on server.\n *\n * @internal\n */\n path: string[]\n}\n\nexport function createGeneralHooks<\n TInputSchema extends Schema = undefined,\n TOutputSchema extends Schema = undefined,\n TFuncOutput extends\n SchemaOutput<TOutputSchema> = SchemaOutput<TOutputSchema>,\n>(\n options: CreateGeneralHooksOptions,\n): GeneralHooks<TInputSchema, TOutputSchema, TFuncOutput> {\n return {\n useIsFetching(filters) {\n const { queryType, input, ...rest } = filters ?? {}\n const context = useORPCContext(options.context)\n return useIsFetching(\n {\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: queryType,\n }),\n ...rest,\n },\n context.queryClient,\n )\n },\n useIsMutating(filters) {\n const context = useORPCContext(options.context)\n return useIsMutating(\n { mutationKey: getMutationKeyFromPath(options.path), ...filters },\n context.queryClient,\n )\n },\n\n useMutationState(options_) {\n const context = useORPCContext(options.context)\n return useMutationState(\n {\n ...(options_ as any),\n filters: {\n mutationKey: getMutationKeyFromPath(options.path),\n ...options_?.filters,\n },\n },\n context.queryClient,\n )\n },\n }\n}\n","import type {\n RouterClientWithContractRouter,\n RouterClientWithRouter,\n} from '@orpc/client'\nimport type { ContractRouter } from '@orpc/contract'\nimport type { Router } from '@orpc/server'\nimport type { QueryClient } from '@tanstack/react-query'\nimport { type Context, createContext, useContext } from 'react'\n\nexport interface ORPCContextValue<\n TRouter extends ContractRouter | Router<any>,\n> {\n client: TRouter extends ContractRouter\n ? RouterClientWithContractRouter<TRouter>\n : TRouter extends Router<any>\n ? RouterClientWithRouter<TRouter>\n : never\n queryClient: QueryClient\n}\n\nexport type ORPCContext<TRouter extends ContractRouter | Router<any>> = Context<\n ORPCContextValue<TRouter> | undefined\n>\n\nexport function createORPCContext<\n TRouter extends ContractRouter | Router<any>,\n>(): ORPCContext<TRouter> {\n return createContext(undefined as any)\n}\n\nexport function useORPCContext<TRouter extends ContractRouter | Router<any>>(\n context: ORPCContext<TRouter>,\n): ORPCContextValue<TRouter> {\n const value = useContext(context)\n\n if (!value) {\n throw new Error(\n 'useORPCContext must be used within a <ORPCContext.Provider>, please see the docs',\n )\n }\n\n return value\n}\n","import type { ProcedureHooks } from './procedure-hooks'\nimport type {\n ORPCHooksWithContractRouter,\n ORPCHooksWithRouter,\n} from './react-hooks'\n\nexport const orpcPathSymbol = Symbol('orpcPathSymbol')\n\nexport function getORPCPath(\n orpc:\n | ORPCHooksWithContractRouter<any>\n | ORPCHooksWithRouter<any>\n | ProcedureHooks<any, any, any>,\n): string[] {\n const val = Reflect.get(orpc, orpcPathSymbol)\n\n if (!Array.isArray(val)) {\n throw new TypeError(\n 'orpcPathSymbol is not implemented, please use getORPCPath with correct instance.',\n )\n }\n\n return val\n}\n","import type { SchemaInput } from '@orpc/contract'\nimport type { PartialDeep } from '@orpc/shared'\nimport type { MutationKey, QueryKey } from '@tanstack/react-query'\nimport type { ProcedureHooks } from './procedure-hooks'\nimport type {\n ORPCHooksWithContractRouter,\n ORPCHooksWithRouter,\n} from './react-hooks'\nimport { getORPCPath } from './orpc-path'\n\nexport type QueryType = 'query' | 'infinite' | undefined\n\nexport interface GetQueryKeyOptions<TInput> {\n input?: TInput\n type?: QueryType\n}\n\nexport function getQueryKey<\n T extends\n | ORPCHooksWithContractRouter<any>\n | ORPCHooksWithRouter<any>\n | ProcedureHooks<any, any, any>,\n>(\n orpc: T,\n options?: GetQueryKeyOptions<\n T extends ProcedureHooks<infer UInputSchema, any, any>\n ? PartialDeep<SchemaInput<UInputSchema>>\n : unknown\n >,\n): QueryKey {\n const path = getORPCPath(orpc)\n return getQueryKeyFromPath(path, options)\n}\n\nexport function getQueryKeyFromPath(\n path: string[],\n options?: GetQueryKeyOptions<unknown>,\n): QueryKey {\n const withInput\n = options?.input !== undefined ? { input: options?.input } : {}\n const withType = options?.type !== undefined ? { type: options?.type } : {}\n\n return [\n path,\n {\n ...withInput,\n ...withType,\n },\n ]\n}\n\nexport function getMutationKey<\n T extends\n | ORPCHooksWithContractRouter<any>\n | ORPCHooksWithRouter<any>\n | ProcedureHooks<any, any, any>,\n>(orpc: T): MutationKey {\n const path = getORPCPath(orpc)\n return getMutationKeyFromPath(path)\n}\n\nexport function getMutationKeyFromPath(path: string[]): MutationKey {\n return [path]\n}\n","import type { Schema, SchemaInput, SchemaOutput } from '@orpc/contract'\nimport type { PartialDeep, SetOptional } from '@orpc/shared'\nimport type {\n CancelOptions,\n DefaultError,\n InfiniteData,\n InvalidateOptions,\n MutationFilters,\n MutationObserverOptions,\n OmitKeyof,\n QueryClient,\n QueryKey,\n QueryObserverOptions,\n RefetchOptions,\n ResetOptions,\n SetDataOptions,\n Updater,\n} from '@tanstack/react-query'\nimport type {\n ORPCInvalidateQueryFilters,\n ORPCQueryFilters,\n} from './tanstack-query'\nimport type { SchemaInputForInfiniteQuery } from './types'\nimport { getMutationKeyFromPath, getQueryKeyFromPath } from './tanstack-key'\n\nexport interface GeneralUtils<\n TInputSchema extends Schema,\n TOutputSchema extends Schema,\n TFuncOutput extends SchemaOutput<TOutputSchema>,\n> {\n getQueriesData: (\n filters?: OmitKeyof<\n ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>,\n 'queryType'\n >,\n ) => [QueryKey, SchemaOutput<TOutputSchema, TFuncOutput> | undefined][]\n getInfiniteQueriesData: (\n filters?: OmitKeyof<\n ORPCQueryFilters<PartialDeep<SchemaInputForInfiniteQuery<TInputSchema>>>,\n 'queryType'\n >,\n ) => [\n QueryKey,\n | undefined\n | InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >,\n ][]\n\n setQueriesData: (\n filters: OmitKeyof<\n ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>,\n 'queryType'\n >,\n updater: Updater<\n SchemaOutput<TOutputSchema, TFuncOutput> | undefined,\n SchemaOutput<TOutputSchema, TFuncOutput> | undefined\n >,\n options?: SetDataOptions,\n ) => [QueryKey, SchemaOutput<TOutputSchema, TFuncOutput> | undefined][]\n setInfiniteQueriesData: (\n filters: OmitKeyof<\n ORPCQueryFilters<PartialDeep<SchemaInputForInfiniteQuery<TInputSchema>>>,\n 'queryType'\n >,\n updater: Updater<\n | InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >\n | undefined,\n | InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >\n | undefined\n >,\n options?: SetDataOptions,\n ) => [\n QueryKey,\n | undefined\n | InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >,\n ][]\n\n invalidate: (\n filters?: ORPCInvalidateQueryFilters<\n PartialDeep<SchemaInput<TInputSchema>>\n >,\n options?: InvalidateOptions,\n ) => Promise<void>\n refetch: (\n filters?: ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>,\n options?: RefetchOptions,\n ) => Promise<void>\n cancel: (\n filters?: ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>,\n options?: CancelOptions,\n ) => Promise<void>\n remove: (\n filters?: ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>,\n ) => void\n reset: (\n filters?: ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>,\n options?: ResetOptions,\n ) => Promise<void>\n\n isFetching: (\n filters?: ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>,\n ) => number\n isMutating: (filters?: SetOptional<MutationFilters, 'mutationKey'>) => number\n\n getQueryDefaults: (\n filters?: Pick<\n ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>,\n 'input' | 'queryKey'\n >,\n ) => OmitKeyof<\n QueryObserverOptions<SchemaOutput<TOutputSchema, TFuncOutput>>,\n 'queryKey'\n >\n getInfiniteQueryDefaults: (\n filters?: Pick<\n ORPCQueryFilters<PartialDeep<SchemaInputForInfiniteQuery<TInputSchema>>>,\n 'input' | 'queryKey'\n >,\n ) => OmitKeyof<\n QueryObserverOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaOutput<TOutputSchema, TFuncOutput>,\n InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>>,\n QueryKey,\n SchemaInput<TInputSchema>['cursor']\n >,\n 'queryKey'\n >\n\n setQueryDefaults: (\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<SchemaOutput<TOutputSchema, TFuncOutput>>,\n 'queryKey'\n >\n >,\n filters?: Pick<\n ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>,\n 'input' | 'queryKey'\n >,\n ) => void\n setInfiniteQueryDefaults: (\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaOutput<TOutputSchema, TFuncOutput>,\n InfiniteData<SchemaOutput<TOutputSchema, TFuncOutput>>,\n QueryKey,\n SchemaInput<TInputSchema>['cursor']\n >,\n 'queryKey'\n >\n >,\n filters?: Pick<\n ORPCQueryFilters<PartialDeep<SchemaInput<TInputSchema>>>,\n 'input' | 'queryKey'\n >,\n ) => void\n\n getMutationDefaults: (\n filters?: Pick<MutationFilters, 'mutationKey'>,\n ) => MutationObserverOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaInput<TInputSchema>\n >\n setMutationDefaults: (\n options: OmitKeyof<\n MutationObserverOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaInput<TInputSchema>\n >,\n 'mutationKey'\n >,\n filters?: Pick<MutationFilters, 'mutationKey'>,\n ) => void\n}\n\nexport interface CreateGeneralUtilsOptions {\n queryClient: QueryClient\n\n /**\n * The path of the router or procedure on server.\n *\n * @internal\n */\n path: string[]\n}\n\nexport function createGeneralUtils<\n TInputSchema extends Schema = undefined,\n TOutputSchema extends Schema = undefined,\n TFuncOutput extends\n SchemaOutput<TOutputSchema> = SchemaOutput<TOutputSchema>,\n>(\n options: CreateGeneralUtilsOptions,\n): GeneralUtils<TInputSchema, TOutputSchema, TFuncOutput> {\n return {\n getQueriesData(filters) {\n const { input, ...rest } = filters ?? {}\n return options.queryClient.getQueriesData({\n queryKey: getQueryKeyFromPath(options.path, { input, type: 'query' }),\n ...rest,\n }) as any\n },\n getInfiniteQueriesData(filters) {\n const { input, ...rest } = filters ?? {}\n return options.queryClient.getQueriesData({\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: 'infinite',\n }),\n ...rest,\n }) as any\n },\n\n setQueriesData(filters, updater, options_) {\n const { input, ...rest } = filters\n return options.queryClient.setQueriesData(\n {\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: 'query',\n }),\n ...rest,\n },\n updater,\n options_,\n ) as any\n },\n setInfiniteQueriesData(filters, updater, options_) {\n const { input, ...rest } = filters\n return options.queryClient.setQueriesData(\n {\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: 'infinite',\n }),\n ...rest,\n },\n updater,\n options_,\n ) as any\n },\n\n invalidate(filters, options_) {\n const { input, queryType, ...rest } = filters ?? {}\n return options.queryClient.invalidateQueries(\n {\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: queryType,\n }),\n ...rest,\n },\n options_,\n )\n },\n refetch(filters, options_) {\n const { input, queryType, ...rest } = filters ?? {}\n return options.queryClient.refetchQueries(\n {\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: queryType,\n }),\n ...rest,\n },\n options_,\n )\n },\n cancel(filters, options_) {\n const { input, queryType, ...rest } = filters ?? {}\n return options.queryClient.cancelQueries(\n {\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: queryType,\n }),\n ...rest,\n },\n options_,\n )\n },\n remove(filters) {\n const { input, queryType, ...rest } = filters ?? {}\n return options.queryClient.removeQueries({\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: queryType,\n }),\n ...rest,\n })\n },\n reset(filters, options_) {\n const { input, queryType, ...rest } = filters ?? {}\n return options.queryClient.resetQueries(\n {\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: queryType,\n }),\n ...rest,\n },\n options_,\n )\n },\n\n isFetching(filters) {\n const { input, queryType, ...rest } = filters ?? {}\n return options.queryClient.isFetching({\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: queryType,\n }),\n ...rest,\n })\n },\n isMutating(filters) {\n return options.queryClient.isMutating({\n mutationKey: getMutationKeyFromPath(options.path),\n ...filters,\n })\n },\n\n getQueryDefaults(filters) {\n return options.queryClient.getQueryDefaults(\n filters?.queryKey\n ?? getQueryKeyFromPath(options.path, {\n input: filters?.input,\n type: 'query',\n }),\n )\n },\n getInfiniteQueryDefaults(filters) {\n return options.queryClient.getQueryDefaults(\n filters?.queryKey\n ?? getQueryKeyFromPath(options.path, {\n input: filters?.input,\n type: 'infinite',\n }),\n ) as any\n },\n\n setQueryDefaults(options_, filters) {\n return options.queryClient.setQueryDefaults(\n filters?.queryKey\n ?? getQueryKeyFromPath(options.path, {\n input: filters?.input,\n type: 'query',\n }),\n options_ as any,\n )\n },\n setInfiniteQueryDefaults(options_, filters) {\n return options.queryClient.setQueryDefaults(\n filters?.queryKey\n ?? getQueryKeyFromPath(options.path, {\n input: filters?.input,\n type: 'infinite',\n }),\n options_ as any,\n )\n },\n\n getMutationDefaults(filters) {\n return options.queryClient.getMutationDefaults(\n filters?.mutationKey ?? getMutationKeyFromPath(options.path),\n )\n },\n setMutationDefaults(options_, filters) {\n return options.queryClient.setMutationDefaults(\n filters?.mutationKey ?? getMutationKeyFromPath(options.path),\n options_,\n )\n },\n }\n}\n","import type { Schema, SchemaInput, SchemaOutput } from '@orpc/contract'\nimport type { SchemaInputForInfiniteQuery } from './types'\nimport {\n get,\n type PartialOnUndefinedDeep,\n type SetOptional,\n} from '@orpc/shared'\nimport {\n type DefaultError,\n type FetchInfiniteQueryOptions,\n type FetchQueryOptions,\n type InfiniteData,\n type QueryKey,\n useInfiniteQuery,\n type UseInfiniteQueryOptions,\n type UseInfiniteQueryResult,\n useMutation,\n type UseMutationOptions,\n type UseMutationResult,\n usePrefetchInfiniteQuery,\n usePrefetchQuery,\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n useSuspenseInfiniteQuery,\n type UseSuspenseInfiniteQueryOptions,\n type UseSuspenseInfiniteQueryResult,\n useSuspenseQuery,\n type UseSuspenseQueryOptions,\n type UseSuspenseQueryResult,\n} from '@tanstack/react-query'\nimport { orpcPathSymbol } from './orpc-path'\nimport { type ORPCContext, useORPCContext } from './react-context'\nimport { getMutationKeyFromPath, getQueryKeyFromPath } from './tanstack-key'\n\nexport interface ProcedureHooks<\n TInputSchema extends Schema,\n TOutputSchema extends Schema,\n TFuncOutput extends SchemaOutput<TOutputSchema>,\n> {\n useQuery: <USelectData = SchemaOutput<TOutputSchema, TFuncOutput>>(\n input: SchemaInput<TInputSchema>,\n options?: SetOptional<\n UseQueryOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n USelectData\n >,\n 'queryFn' | 'queryKey'\n >,\n ) => UseQueryResult<USelectData>\n useInfiniteQuery: <\n USelectData = InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >,\n >(\n options: PartialOnUndefinedDeep<\n SetOptional<\n UseInfiniteQueryOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n USelectData,\n SchemaOutput<TOutputSchema, TFuncOutput>,\n QueryKey,\n SchemaInput<TInputSchema>['cursor']\n >,\n 'queryFn' | 'queryKey'\n > & {\n input: SchemaInputForInfiniteQuery<TInputSchema>\n }\n >,\n ) => UseInfiniteQueryResult<USelectData>\n\n useSuspenseQuery: <USelectData = SchemaOutput<TOutputSchema, TFuncOutput>>(\n input: SchemaInput<TInputSchema>,\n options?: SetOptional<\n UseSuspenseQueryOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n USelectData\n >,\n 'queryFn' | 'queryKey'\n >,\n ) => UseSuspenseQueryResult<USelectData>\n useSuspenseInfiniteQuery: <\n USelectData = InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >,\n >(\n options: PartialOnUndefinedDeep<\n SetOptional<\n UseSuspenseInfiniteQueryOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n USelectData,\n SchemaOutput<TOutputSchema, TFuncOutput>,\n QueryKey,\n SchemaInput<TInputSchema>['cursor']\n >,\n 'queryFn' | 'queryKey'\n > & {\n input: SchemaInputForInfiniteQuery<TInputSchema>\n }\n >,\n ) => UseSuspenseInfiniteQueryResult<USelectData>\n\n usePrefetchQuery: (\n input: SchemaInput<TInputSchema>,\n options?: FetchQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>>,\n ) => void\n usePrefetchInfiniteQuery: (\n options: PartialOnUndefinedDeep<\n SetOptional<\n FetchInfiniteQueryOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaOutput<TOutputSchema, TFuncOutput>,\n QueryKey,\n SchemaInput<TInputSchema>['cursor']\n >,\n 'queryKey' | 'queryFn'\n > & {\n input: SchemaInputForInfiniteQuery<TInputSchema>\n }\n >,\n ) => void\n\n useMutation: (\n options?: SetOptional<\n UseMutationOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaInput<TInputSchema>\n >,\n 'mutationFn' | 'mutationKey'\n >,\n ) => UseMutationResult<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaInput<TInputSchema>\n >\n}\n\nexport interface CreateProcedureHooksOptions {\n context: ORPCContext<any>\n\n /**\n * The path of the procedure on server.\n *\n * @internal\n */\n path: string[]\n}\n\nexport function createProcedureHooks<\n TInputSchema extends Schema = undefined,\n TOutputSchema extends Schema = undefined,\n TFuncOutput extends\n SchemaOutput<TOutputSchema> = SchemaOutput<TOutputSchema>,\n>(\n options: CreateProcedureHooksOptions,\n): ProcedureHooks<TInputSchema, TOutputSchema, TFuncOutput> {\n return {\n [orpcPathSymbol as any]: options.path,\n\n useQuery(input, options_) {\n const context = useORPCContext(options.context)\n const client = get(context.client, options.path) as any\n return useQuery(\n {\n queryKey: getQueryKeyFromPath(options.path, { input, type: 'query' }),\n queryFn: () => client(input),\n ...options_,\n },\n context.queryClient,\n )\n },\n useInfiniteQuery(options_) {\n const { input, ...rest } = options_\n const context = useORPCContext(options.context)\n const client = get(context.client, options.path) as any\n return useInfiniteQuery(\n {\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: 'infinite',\n }),\n queryFn: ({ pageParam }) =>\n client({ ...(input as any), cursor: pageParam }),\n ...(rest as any),\n },\n context.queryClient,\n )\n },\n\n useSuspenseQuery(input, options_) {\n const context = useORPCContext(options.context)\n const client = get(context.client, options.path) as any\n return useSuspenseQuery(\n {\n queryKey: getQueryKeyFromPath(options.path, { input, type: 'query' }),\n queryFn: () => client(input),\n ...options_,\n },\n context.queryClient,\n )\n },\n useSuspenseInfiniteQuery(options_) {\n const { input, ...rest } = options_\n const context = useORPCContext(options.context)\n const client = get(context.client, options.path) as any\n return useSuspenseInfiniteQuery(\n {\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: 'infinite',\n }),\n queryFn: ({ pageParam }) =>\n client({ ...(input as any), cursor: pageParam }),\n ...(rest as any),\n },\n context.queryClient,\n )\n },\n\n usePrefetchQuery(input, options_) {\n const context = useORPCContext(options.context)\n const client = get(context.client, options.path) as any\n return usePrefetchQuery(\n {\n queryKey: getQueryKeyFromPath(options.path, { input, type: 'query' }),\n queryFn: () => client(input),\n ...options_,\n },\n context.queryClient,\n )\n },\n usePrefetchInfiniteQuery(options_) {\n const { input, ...rest } = options_\n const context = useORPCContext(options.context)\n const client = get(context.client, options.path) as any\n return usePrefetchInfiniteQuery(\n {\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: 'infinite',\n }),\n queryFn: ({ pageParam }) =>\n client({ ...(input as any), cursor: pageParam }),\n ...(rest as any),\n },\n context.queryClient,\n )\n },\n\n useMutation(options_) {\n const context = useORPCContext(options.context)\n const client = get(context.client, options.path) as any\n return useMutation(\n {\n mutationKey: getMutationKeyFromPath(options.path),\n mutationFn: input => client(input),\n ...options_,\n },\n context.queryClient,\n )\n },\n }\n}\n","import type { ProcedureClient } from '@orpc/client'\nimport type { Schema, SchemaInput, SchemaOutput } from '@orpc/contract'\nimport type { PartialOnUndefinedDeep, SetOptional } from '@orpc/shared'\nimport type {\n DefaultError,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n QueryClient,\n QueryKey,\n QueryState,\n SetDataOptions,\n Updater,\n} from '@tanstack/react-query'\nimport type { SchemaInputForInfiniteQuery } from './types'\nimport { getQueryKeyFromPath } from './tanstack-key'\n\nexport interface ProcedureUtils<\n TInputSchema extends Schema,\n TOutputSchema extends Schema,\n TFuncOutput extends SchemaOutput<TOutputSchema>,\n> {\n fetchQuery: (\n input: SchemaInput<TInputSchema>,\n options?: SetOptional<\n FetchQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>>,\n 'queryKey' | 'queryFn'\n >,\n ) => Promise<SchemaOutput<TOutputSchema, TFuncOutput>>\n fetchInfiniteQuery: (\n options: PartialOnUndefinedDeep<\n SetOptional<\n FetchInfiniteQueryOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaOutput<TOutputSchema, TFuncOutput>,\n QueryKey,\n SchemaInput<TInputSchema>['cursor']\n >,\n 'queryKey' | 'queryFn'\n > & {\n input: SchemaInputForInfiniteQuery<TInputSchema>\n }\n >,\n ) => Promise<\n InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >\n >\n\n prefetchQuery: (\n input: SchemaInput<TInputSchema>,\n options?: SetOptional<\n FetchQueryOptions<SchemaOutput<TOutputSchema, TFuncOutput>>,\n 'queryKey' | 'queryFn'\n >,\n ) => Promise<void>\n prefetchInfiniteQuery: (\n options: PartialOnUndefinedDeep<\n SetOptional<\n FetchInfiniteQueryOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaOutput<TOutputSchema, TFuncOutput>,\n QueryKey,\n SchemaInput<TInputSchema>['cursor']\n >,\n 'queryKey' | 'queryFn'\n > & {\n input: SchemaInputForInfiniteQuery<TInputSchema>\n }\n >,\n ) => Promise<void>\n\n getQueryData: (\n input: SchemaInput<TInputSchema>,\n ) => SchemaOutput<TOutputSchema, TFuncOutput> | undefined\n getInfiniteQueryData: (\n input: SchemaInputForInfiniteQuery<TInputSchema>,\n ) => | InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >\n | undefined\n\n ensureQueryData: (\n input: SchemaInput<TInputSchema>,\n options?: SetOptional<\n EnsureQueryDataOptions<SchemaOutput<TOutputSchema, TFuncOutput>>,\n 'queryFn' | 'queryKey'\n >,\n ) => Promise<SchemaOutput<TOutputSchema, TFuncOutput>>\n ensureInfiniteQueryData: (\n options: PartialOnUndefinedDeep<\n SetOptional<\n EnsureInfiniteQueryDataOptions<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n DefaultError,\n SchemaOutput<TOutputSchema, TFuncOutput>,\n QueryKey,\n SchemaInput<TInputSchema>['cursor']\n >,\n 'queryKey' | 'queryFn'\n > & {\n input: SchemaInputForInfiniteQuery<TInputSchema>\n }\n >,\n ) => Promise<\n InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >\n >\n\n getQueryState: (\n input: SchemaInput<TInputSchema>,\n ) => QueryState<SchemaOutput<TOutputSchema, TFuncOutput>> | undefined\n getInfiniteQueryState: (\n input: SchemaInputForInfiniteQuery<TInputSchema>,\n ) => | QueryState<\n InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >\n >\n | undefined\n\n setQueryData: (\n input: SchemaInput<TInputSchema>,\n updater: Updater<\n SchemaOutput<TOutputSchema, TFuncOutput> | undefined,\n SchemaOutput<TOutputSchema, TFuncOutput> | undefined\n >,\n options?: SetDataOptions,\n ) => SchemaOutput<TOutputSchema, TFuncOutput> | undefined\n setInfiniteQueryData: (\n input: SchemaInputForInfiniteQuery<TInputSchema>,\n updater: Updater<\n | InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >\n | undefined,\n | InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >\n | undefined\n >,\n options?: SetDataOptions,\n ) => | InfiniteData<\n SchemaOutput<TOutputSchema, TFuncOutput>,\n SchemaInput<TInputSchema>['cursor']\n >\n | undefined\n}\n\nexport interface CreateProcedureUtilsOptions<\n TInputSchema extends Schema = undefined,\n TOutputSchema extends Schema = undefined,\n TFuncOutput extends\n SchemaOutput<TOutputSchema> = SchemaOutput<TOutputSchema>,\n> {\n client: ProcedureClient<TInputSchema, TOutputSchema, TFuncOutput>\n queryClient: QueryClient\n\n /**\n * The path of procedure on sever\n */\n path: string[]\n}\n\nexport function createProcedureUtils<\n TInputSchema extends Schema,\n TOutputSchema extends Schema,\n TFuncOutput extends SchemaOutput<TOutputSchema>,\n>(\n options: CreateProcedureUtilsOptions<\n TInputSchema,\n TOutputSchema,\n TFuncOutput\n >,\n): ProcedureUtils<TInputSchema, TOutputSchema, TFuncOutput> {\n return {\n fetchQuery(input, options_) {\n return options.queryClient.fetchQuery({\n queryKey: getQueryKeyFromPath(options.path, { input, type: 'query' }),\n queryFn: () => options.client(input),\n ...options_,\n })\n },\n fetchInfiniteQuery(options_) {\n const { input, ...rest } = options_\n return options.queryClient.fetchInfiniteQuery({\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: 'infinite',\n }),\n queryFn: ({ pageParam }) => {\n return options.client({ ...(input as any), pageParam } as any)\n },\n ...(rest as any),\n })\n },\n\n prefetchQuery(input, options_) {\n return options.queryClient.prefetchQuery({\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: 'query',\n }),\n queryFn: () => options.client(input),\n ...options_,\n })\n },\n prefetchInfiniteQuery(options_) {\n const { input, ...rest } = options_\n return options.queryClient.prefetchInfiniteQuery({\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: 'infinite',\n }),\n queryFn: ({ pageParam }) => {\n return options.client({ ...(input as any), cursor: pageParam } as any)\n },\n ...(rest as any),\n })\n },\n\n getQueryData(input) {\n return options.queryClient.getQueryData(\n getQueryKeyFromPath(options.path, {\n input,\n type: 'query',\n }),\n )\n },\n getInfiniteQueryData(input) {\n return options.queryClient.getQueryData(\n getQueryKeyFromPath(options.path, {\n input,\n type: 'infinite',\n }),\n )\n },\n\n ensureQueryData(input, options_) {\n return options.queryClient.ensureQueryData({\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: 'query',\n }),\n queryFn: () => options.client(input),\n ...options_,\n })\n },\n ensureInfiniteQueryData(options_) {\n const { input, ...rest } = options_\n return options.queryClient.ensureInfiniteQueryData({\n queryKey: getQueryKeyFromPath(options.path, {\n input,\n type: 'infinite',\n }),\n queryFn: ({ pageParam }) => {\n return options.client({ ...(input as any), pageParam } as any)\n },\n ...(rest as any),\n })\n },\n\n getQueryState(input) {\n return options.queryClient.getQueryState(\n getQueryKeyFromPath(options.path, {\n input,\n type: 'query',\n }),\n )\n },\n getInfiniteQueryState(input) {\n return options.queryClient.getQueryState(\n getQueryKeyFromPath(options.path, {\n input,\n type: 'infinite',\n }),\n )\n },\n\n setQueryData(input, updater, options_) {\n return options.queryClient.setQueryData(\n getQueryKeyFromPath(options.path, {\n input,\n type: 'query',\n }),\n updater,\n options_,\n )\n },\n setInfiniteQueryData(input, updater, options_) {\n return options.queryClient.setQueryData(\n getQueryKeyFromPath(options.path, {\n input,\n type: 'infinite',\n }),\n updater,\n options_,\n )\n },\n }\n}\n","import type {\n ContractProcedure,\n ContractRouter,\n SchemaOutput,\n} from '@orpc/contract'\nimport type { Procedure, Router } from '@orpc/server'\nimport type { ORPCContext } from './react-context'\nimport { createGeneralHooks, type GeneralHooks } from './general-hooks'\nimport { orpcPathSymbol } from './orpc-path'\nimport { createProcedureHooks, type ProcedureHooks } from './procedure-hooks'\n\nexport type ORPCHooksWithContractRouter<TRouter extends ContractRouter> = {\n [K in keyof TRouter]: TRouter[K] extends ContractProcedure<\n infer UInputSchema,\n infer UOutputSchema\n >\n ? ProcedureHooks<UInputSchema, UOutputSchema, SchemaOutput<UOutputSchema>> & GeneralHooks<UInputSchema, UOutputSchema, SchemaOutput<UOutputSchema>>\n : TRouter[K] extends ContractRouter\n ? ORPCHooksWithContractRouter<TRouter[K]>\n : never\n} & GeneralHooks<undefined, undefined, unknown>\n\nexport type ORPCHooksWithRouter<TRouter extends Router<any>> = {\n [K in keyof TRouter]: TRouter[K] extends Procedure<any, any, infer UInputSchema, infer UOutputSchema, infer UFuncOutput>\n ? ProcedureHooks<UInputSchema, UOutputSchema, UFuncOutput> & GeneralHooks<UInputSchema, UOutputSchema, UFuncOutput>\n : TRouter[K] extends Router<any>\n ? ORPCHooksWithRouter<TRouter[K]>\n : never\n} & GeneralHooks<undefined, undefined, unknown>\n\nexport interface CreateORPCHooksOptions<\n TRouter extends ContractRouter | Router<any>,\n> {\n context: ORPCContext<TRouter>\n\n /**\n * The path of the router.\n *\n * @internal\n */\n path?: string[]\n}\n\nexport function createORPCHooks<TRouter extends ContractRouter | Router<any>>(\n options: CreateORPCHooksOptions<TRouter>,\n): TRouter extends Router<any>\n ? ORPCHooksWithRouter<TRouter>\n : TRouter extends ContractRouter\n ? ORPCHooksWithContractRouter<TRouter>\n : never {\n const path = options.path ?? []\n const generalHooks = createGeneralHooks({ context: options.context, path })\n\n // for sure root is not procedure, so do not it procedure hooks on root\n const procedureHooks = path.length\n ? createProcedureHooks({\n context: options.context,\n path,\n })\n : {}\n\n return new Proxy(\n {\n [orpcPathSymbol]: path,\n\n ...generalHooks,\n ...procedureHooks,\n },\n {\n get(target, key) {\n const value = Reflect.get(target, key)\n\n if (typeof key !== 'string') {\n return value\n }\n\n const nextHooks = createORPCHooks({\n context: options.context,\n path: [...path, key],\n })\n\n if (typeof value !== 'function') {\n return nextHooks\n }\n\n return new Proxy(value, {\n get(_, key) {\n return Reflect.get(nextHooks, key)\n },\n })\n },\n },\n ) as any\n}\n","import type {\n ContractProcedure,\n ContractRouter,\n SchemaOutput,\n} from '@orpc/contract'\nimport type { Procedure, Router } from '@orpc/server'\nimport type { ORPCContextValue } from './react-context'\nimport { createGeneralUtils, type GeneralUtils } from './general-utils'\nimport { createProcedureUtils, type ProcedureUtils } from './procedure-utils'\n\nexport type ORPCUtilsWithContractRouter<TRouter extends ContractRouter> = {\n [K in keyof TRouter]: TRouter[K] extends ContractProcedure<infer UInputSchema, infer UOutputSchema>\n ? ProcedureUtils<UInputSchema, UOutputSchema, SchemaOutput<UOutputSchema>> & GeneralUtils<UInputSchema, UOutputSchema, SchemaOutput<UOutputSchema>>\n : TRouter[K] extends ContractRouter\n ? ORPCUtilsWithContractRouter<TRouter[K]>\n : never\n} & GeneralUtils<undefined, undefined, unknown>\n\nexport type ORPCUtilsWithRouter<TRouter extends Router<any>> = {\n [K in keyof TRouter]: TRouter[K] extends Procedure<any, any, infer UInputSchema, infer UOutputSchema, infer UFuncOutput>\n ? ProcedureUtils<UInputSchema, UOutputSchema, UFuncOutput> & GeneralUtils<UInputSchema, UOutputSchema, UFuncOutput>\n : TRouter[K] extends Router<any>\n ? ORPCUtilsWithRouter<TRouter[K]>\n : never\n} & GeneralUtils<undefined, undefined, unknown>\n\nexport interface CreateORPCUtilsOptions<\n TRouter extends ContractRouter | Router<any>,\n> {\n contextValue: ORPCContextValue<TRouter>\n\n /**\n * The path of the router.\n *\n * @internal\n */\n path?: string[]\n}\n\nexport function createORPCUtils<TRouter extends ContractRouter | Router<any>>(\n options: CreateORPCUtilsOptions<TRouter>,\n): TRouter extends Router<any>\n ? ORPCUtilsWithRouter<TRouter>\n : TRouter extends ContractRouter\n ? ORPCUtilsWithContractRouter<TRouter>\n : never {\n const path = options.path ?? []\n const client = options.contextValue.client as any\n\n const generalUtils = createGeneralUtils({\n queryClient: options.contextValue.queryClient,\n path,\n })\n\n // for sure root is not procedure, so do not it procedure utils on root\n const procedureUtils = path.length\n ? createProcedureUtils({\n client,\n queryClient: options.contextValue.queryClient,\n path,\n })\n : {}\n\n return new Proxy(\n {\n ...generalUtils,\n ...procedureUtils,\n },\n {\n get(target, key) {\n const value = Reflect.get(target, key)\n\n if (typeof key !== 'string') {\n return value\n }\n\n const nextUtils = createORPCUtils({\n ...options,\n contextValue: {\n ...options.contextValue,\n client: client[key],\n },\n path: [...path, key],\n })\n\n if (typeof value !== 'function') {\n return nextUtils\n }\n\n return new Proxy(value, {\n get(_, key) {\n return Reflect.get(nextUtils, key)\n },\n })\n },\n },\n ) as any\n}\n","import type { ContractRouter } from '@orpc/contract'\nimport type { Router } from '@orpc/server'\nimport {\n type QueriesOptions,\n type QueriesResults,\n useQueries,\n} from '@tanstack/react-query'\nimport { type ORPCContext, useORPCContext } from '../react-context'\nimport {\n createUseQueriesBuilders,\n type UseQueriesBuildersWithContractRouter,\n type UseQueriesBuildersWithRouter,\n} from './builders'\n\nexport interface UseQueriesWithContractRouter<TRouter extends ContractRouter> {\n <T extends Array<any> = [], TCombinedResult = QueriesResults<T>>(\n build: (\n builders: UseQueriesBuildersWithContractRouter<TRouter>,\n ) => [...QueriesOptions<T>],\n combine?: (result: QueriesResults<T>) => TCombinedResult,\n ): TCombinedResult\n}\n\nexport interface UseQueriesWithRouter<TRouter extends Router<any>> {\n <T extends Array<any> = [], TCombinedResult = QueriesResults<T>>(\n build: (\n builders: UseQueriesBuildersWithRouter<TRouter>,\n ) => [...QueriesOptions<T>],\n combine?: (result: QueriesResults<T>) => TCombinedResult,\n ): TCombinedResult\n}\n\nexport interface UseQueriesFactoryOptions<\n TRouter extends Router<any> | ContractRouter,\n> {\n context: ORPCContext<TRouter>\n}\n\nexport function useQueriesFactory<TRouter extends Router<any> | ContractRouter>(\n options: UseQueriesFactoryOptions<TRouter>,\n): TRouter extends Router<any>\n ? UseQueriesWithRouter<TRouter>\n : TRouter extends ContractRouter\n ? UseQueriesWithContractRouter<TRouter>\n : never {\n const Hook = (build: any, combine?: any): any => {\n const orpc = useORPCContext(options.context)\n const builders = createUseQueriesBuilders({ client: orpc.client as any })\n\n return useQueries({\n queries: build(builders),\n combine,\n })\n }\n\n return Hook as any\n}\n","import type { ProcedureClient } from '@orpc/client'\nimport type { Schema, SchemaInput, SchemaOutput } from '@orpc/contract'\nimport type { SetOptional } from '@orpc/shared'\nimport type {\n DefaultError,\n OmitKeyof,\n QueriesPlaceholderDataFunction,\n QueryKey,\n UseQueryOptions,\n} from '@tanstack/react-query'\nimport { getQueryKeyFromPath } from '../tanstack-key'\n\ntype UseQueryOptionsForUseQueries<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = OmitKeyof<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\nexport interface UseQueriesBuilder<\n TInputSchema extends Schema,\n TOutputSchema extends Schema,\n TFuncOutput extends SchemaOutput<TOutputSchema>,\n> {\n (\n input: SchemaInput<TInputSchema>,\n options?: SetOptional<\n UseQueryOptionsForUseQueries<SchemaOutput<TOutputSchema, TFuncOutput>>,\n 'queryFn' | 'queryKey'\n >,\n ): UseQueryOptionsForUseQueries<SchemaOutput<TOutputSchema, TFuncOutput>>\n}\n\nexport interface CreateUseQueriesBuilderOptions<\n TInputSchema extends Schema,\n TOutputSchema extends Schema,\n TFuncOutput extends SchemaOutput<TOutputSchema>,\n> {\n client: ProcedureClient<TInputSchema, TOutputSchema, TFuncOutput>\n\n /**\n * The path of procedure on server\n */\n path: string[]\n}\n\nexport function createUseQueriesBuilder<\n TInputSchema extends Schema = undefined,\n TOutputSchema extends Schema = undefined,\n TFuncOutput extends\n SchemaOutput<TOutputSchema> = SchemaOutput<TOutputSchema>,\n>(\n options: CreateUseQueriesBuilderOptions<\n TInputSchema,\n TOutputSchema,\n TFuncOutput\n >,\n): UseQueriesBuilder<TInputSchema, TOutputSchema, TFuncOutput> {\n return (input, options_) => {\n return {\n queryKey: getQueryKeyFromPath(options.path, { input, type: 'query' }),\n queryFn: () => options.client(input),\n ...options_,\n }\n }\n}\n","import type {\n RouterClientWithContractRouter,\n RouterClientWithRouter,\n} from '@orpc/client'\nimport type {\n ContractProcedure,\n ContractRouter,\n SchemaOutput,\n} from '@orpc/contract'\nimport type { Procedure, Router } from '@orpc/server'\nimport type {} from '@tanstack/react-query'\nimport { createUseQueriesBuilder, type UseQueriesBuilder } from './builder'\n\nexport type UseQueriesBuildersWithContractRouter<\n TRouter extends ContractRouter,\n> = {\n [K in keyof TRouter]: TRouter[K] extends ContractProcedure<\n infer UInputSchema,\n infer UOutputSchema\n >\n ? UseQueriesBuilder<\n UInputSchema,\n UOutputSchema,\n SchemaOutput<UOutputSchema>\n >\n : TRouter[K] extends ContractRouter\n ? UseQueriesBuildersWithContractRouter<TRouter[K]>\n : never\n}\n\nexport type UseQueriesBuildersWithRouter<TRouter extends Router<any>> = {\n [K in keyof TRouter]: TRouter[K] extends Procedure<\n any,\n any,\n infer UInputSchema,\n infer UOutputSchema,\n infer UFuncOutput\n >\n ? UseQueriesBuilder<UInputSchema, UOutputSchema, UFuncOutput>\n : TRouter[K] extends Router<any>\n ? UseQueriesBuildersWithRouter<TRouter[K]>\n : never\n}\n\nexport interface CreateUseQueriesBuildersOptions<\n TRouter extends Router<any> | ContractRouter,\n> {\n client: TRouter extends Router<any>\n ? RouterClientWithRouter<TRouter>\n : TRouter extends ContractRouter\n ? RouterClientWithContractRouter<TRouter>\n : never\n\n /**\n * The path of router on server\n */\n path?: string[]\n}\n\nexport function createUseQueriesBuilders<\n TRouter extends Router<any> | ContractRouter,\n>(\n options: CreateUseQueriesBuildersOptions<TRouter>,\n): TRouter extends Router<any>\n ? UseQueriesBuildersWithRouter<TRouter>\n : TRouter extends ContractRouter\n ? UseQueriesBuildersWithContractRouter<TRouter>\n : never {\n const path = options.path ?? []\n const client = options.client as any\n\n /**\n * For sure root is not procedure so do not create builder on root\n */\n const builder = path.length ? createUseQueriesBuilder({ client, path }) : {}\n\n return new Proxy(builder, {\n get(target, key) {\n const value = Reflect.get(target, key)\n\n if (typeof key !== 'string') {\n return value\n }\n\n const nextBuilders = createUseQueriesBuilders({\n client: client[key],\n path: [...path, key],\n })\n\n if (typeof value !== 'function') {\n return nextBuilders\n }\n\n return new Proxy(value, {\n get(_, key) {\n return Reflect.get(nextBuilders, key)\n },\n })\n },\n }) as any\n}\n","import type { ContractRouter } from '@orpc/contract'\nimport type { Router } from '@orpc/server'\nimport {\n createORPCContext,\n type ORPCContext,\n type ORPCContextValue,\n useORPCContext,\n} from './react-context'\nimport {\n createORPCHooks,\n type ORPCHooksWithContractRouter,\n type ORPCHooksWithRouter,\n} from './react-hooks'\nimport {\n createORPCUtils,\n type ORPCUtilsWithContractRouter,\n type ORPCUtilsWithRouter,\n} from './react-utils'\nimport {\n useQueriesFactory,\n type UseQueriesWithContractRouter,\n type UseQueriesWithRouter,\n} from './use-queries/hook'\n\nexport type ORPCReactWithContractRouter<TRouter extends ContractRouter> =\n ORPCHooksWithContractRouter<TRouter> & {\n useContext: () => ORPCContextValue<TRouter>\n useUtils: () => ORPCUtilsWithContractRouter<TRouter>\n useQueries: UseQueriesWithContractRouter<TRouter>\n }\n\nexport type ORPCReactWithRouter<TRouter extends Router<any>> =\n ORPCHooksWithRouter<TRouter> & {\n useContext: () => ORPCContextValue<TRouter>\n useUtils: () => ORPCUtilsWithRouter<TRouter>\n useQueries: UseQueriesWithRouter<TRouter>\n }\n\nexport function createORPCReact<\n TRouter extends ContractRouter | Router<any>,\n>(): {\n orpc: TRouter extends Router<any>\n ? ORPCReactWithRouter<TRouter>\n : TRouter extends ContractRouter\n ? ORPCReactWithContractRouter<TRouter>\n : never\n ORPCContext: ORPCContext<TRouter>\n} {\n const Context = createORPCContext<TRouter>()\n const useContext = () => useORPCContext(Context)\n const useUtils = () => createORPCUtils({ contextValue: useContext() })\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const useQueries = useQueriesFactory({ context: Context })\n const hooks = createORPCHooks({ context: Context })\n\n const orpc = new Proxy(\n {\n useContext,\n useUtils,\n useQueries,\n },\n {\n get(target, key) {\n const value = Reflect.get(target, key)\n const nextHooks = Reflect.get(hooks, key)\n\n if (typeof value !== 'function') {\n return nextHooks\n }\n\n return new Proxy(value, {\n get(_, key) {\n return Reflect.get(nextHooks, key)\n },\n })\n },\n },\n )\n\n return { orpc: orpc as any, ORPCContext: Context }\n}\n"],"mappings":"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","names":["key","key","key","useContext","useQueries","key"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"general-hooks.d.ts","sourceRoot":"","sources":["../../src/general-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,aAAa,EAInB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,iBAAiB,CAAA;AAGlE,MAAM,WAAW,YAAY,CAC3B,YAAY,SAAS,MAAM,EAC3B,aAAa,SAAS,MAAM,EAC5B,WAAW,SAAS,YAAY,CAAC,aAAa,CAAC;IAE/C,aAAa,EAAE,CACb,MAAM,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,KAC9D,MAAM,CAAA;IACX,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,eAAe,EAAE,aAAa,CAAC,KAAK,MAAM,CAAA;IAEhF,gBAAgB,EAAE,CAChB,OAAO,GAAG,aAAa,CACrB,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,EACxC,YAAY,EACZ,WAAW,CAAC,YAAY,CAAC,CAC1B,EACD,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,WAAW,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;QACrD,MAAM,CAAC,EAAE,CACP,QAAQ,EAAE,QAAQ,CAChB,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,EACxC,YAAY,EACZ,WAAW,CAAC,YAAY,CAAC,CAC1B,KACE,OAAO,CAAA;KACb,KACI,OAAO,EAAE,CAAA;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IAEzB;;;;OAIG;IACH,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,wBAAgB,kBAAkB,CAChC,YAAY,SAAS,MAAM,GAAG,SAAS,EACvC,aAAa,SAAS,MAAM,GAAG,SAAS,EACxC,WAAW,SACX,YAAY,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC,EAEzD,OAAO,EAAE,yBAAyB,GACjC,YAAY,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,CAsCxD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"general-utils.d.ts","sourceRoot":"","sources":["../../src/general-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"orpc-path.d.ts","sourceRoot":"","sources":["../../src/orpc-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EACV,2BAA2B,EAC3B,mBAAmB,EACpB,MAAM,eAAe,CAAA;AAEtB,eAAO,MAAM,cAAc,eAA2B,CAAA;AAEtD,wBAAgB,WAAW,CACzB,IAAI,EACA,2BAA2B,CAAC,GAAG,CAAC,GAChC,mBAAmB,CAAC,GAAG,CAAC,GACxB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAChC,MAAM,EAAE,CAUV"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"procedure-hooks.d.ts","sourceRoot":"","sources":["../../src/procedure-hooks.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"procedure-utils.d.ts","sourceRoot":"","sources":["../../src/procedure-utils.ts"],"names":[],"mappings":"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"}