@orpc/react 0.15.0 → 0.16.0

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.
@@ -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>>;
@@ -2,28 +2,28 @@ import type { Schema, SchemaInput, SchemaOutput } from '@orpc/contract';
2
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>> {
26
+ export interface CreateProcedureUtilsOptions<TInputSchema extends Schema, TOutputSchema extends Schema, TFuncOutput> {
27
27
  client: Caller<SchemaInput<TInputSchema>, SchemaOutput<TOutputSchema, TFuncOutput>>;
28
28
  queryClient: QueryClient;
29
29
  /**
@@ -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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orpc/react",
3
3
  "type": "module",
4
- "version": "0.15.0",
4
+ "version": "0.16.0",
5
5
  "license": "MIT",
6
6
  "homepage": "https://orpc.unnoq.com",
7
7
  "repository": {
@@ -31,12 +31,12 @@
31
31
  "peerDependencies": {
32
32
  "@tanstack/react-query": ">=5.55.0",
33
33
  "react": ">=18.3.0",
34
- "@orpc/client": "0.15.0",
35
- "@orpc/contract": "0.15.0",
36
- "@orpc/server": "0.15.0"
34
+ "@orpc/client": "0.16.0",
35
+ "@orpc/server": "0.16.0",
36
+ "@orpc/contract": "0.16.0"
37
37
  },
38
38
  "dependencies": {
39
- "@orpc/shared": "0.15.0"
39
+ "@orpc/shared": "0.16.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "zod": "^3.24.1"