@openapi-qraft/react 1.1.2 → 1.1.4

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 (134) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +8 -2
  3. package/dist/QraftContext.d.ts +11 -0
  4. package/dist/QraftContext.d.ts.map +1 -0
  5. package/dist/QraftContext.js +4 -0
  6. package/dist/QraftContext.js.map +1 -0
  7. package/dist/RequestClient.d.ts +19 -0
  8. package/dist/RequestClient.d.ts.map +1 -0
  9. package/dist/RequestClient.js +2 -0
  10. package/dist/RequestClient.js.map +1 -0
  11. package/dist/ServiceOperation.d.ts +329 -0
  12. package/dist/ServiceOperation.d.ts.map +1 -0
  13. package/dist/ServiceOperation.js +2 -0
  14. package/dist/ServiceOperation.js.map +1 -0
  15. package/dist/callbacks/cancelQueries.d.ts +5 -0
  16. package/dist/callbacks/cancelQueries.d.ts.map +1 -0
  17. package/dist/callbacks/cancelQueries.js +5 -0
  18. package/dist/callbacks/cancelQueries.js.map +1 -0
  19. package/dist/callbacks/getInfiniteQueryData.d.ts +6 -0
  20. package/dist/callbacks/getInfiniteQueryData.d.ts.map +1 -0
  21. package/dist/callbacks/getInfiniteQueryData.js +8 -0
  22. package/dist/callbacks/getInfiniteQueryData.js.map +1 -0
  23. package/dist/callbacks/getInfiniteQueryKey.d.ts +5 -0
  24. package/dist/callbacks/getInfiniteQueryKey.d.ts.map +1 -0
  25. package/dist/callbacks/getInfiniteQueryKey.js +5 -0
  26. package/dist/callbacks/getInfiniteQueryKey.js.map +1 -0
  27. package/dist/callbacks/getMutationKey.d.ts +5 -0
  28. package/dist/callbacks/getMutationKey.d.ts.map +1 -0
  29. package/dist/callbacks/getMutationKey.js +5 -0
  30. package/dist/callbacks/getMutationKey.js.map +1 -0
  31. package/dist/callbacks/getQueryData.d.ts +5 -0
  32. package/dist/callbacks/getQueryData.d.ts.map +1 -0
  33. package/dist/callbacks/getQueryData.js +6 -0
  34. package/dist/callbacks/getQueryData.js.map +1 -0
  35. package/dist/callbacks/getQueryKey.d.ts +5 -0
  36. package/dist/callbacks/getQueryKey.d.ts.map +1 -0
  37. package/dist/callbacks/getQueryKey.js +5 -0
  38. package/dist/callbacks/getQueryKey.js.map +1 -0
  39. package/dist/callbacks/invalidateQueries.d.ts +5 -0
  40. package/dist/callbacks/invalidateQueries.d.ts.map +1 -0
  41. package/dist/callbacks/invalidateQueries.js +5 -0
  42. package/dist/callbacks/invalidateQueries.js.map +1 -0
  43. package/dist/callbacks/mutationFn.d.ts +4 -0
  44. package/dist/callbacks/mutationFn.d.ts.map +1 -0
  45. package/dist/callbacks/mutationFn.js +8 -0
  46. package/dist/callbacks/mutationFn.js.map +1 -0
  47. package/dist/callbacks/queryFn.d.ts +7 -0
  48. package/dist/callbacks/queryFn.d.ts.map +1 -0
  49. package/dist/callbacks/queryFn.js +9 -0
  50. package/dist/callbacks/queryFn.js.map +1 -0
  51. package/dist/callbacks/resetQueries.d.ts +5 -0
  52. package/dist/callbacks/resetQueries.d.ts.map +1 -0
  53. package/dist/callbacks/resetQueries.js +5 -0
  54. package/dist/callbacks/resetQueries.js.map +1 -0
  55. package/dist/callbacks/setInfiniteQueryData.d.ts +6 -0
  56. package/dist/callbacks/setInfiniteQueryData.d.ts.map +1 -0
  57. package/dist/callbacks/setInfiniteQueryData.js +9 -0
  58. package/dist/callbacks/setInfiniteQueryData.js.map +1 -0
  59. package/dist/callbacks/setQueryData.d.ts +5 -0
  60. package/dist/callbacks/setQueryData.d.ts.map +1 -0
  61. package/dist/callbacks/setQueryData.js +9 -0
  62. package/dist/callbacks/setQueryData.js.map +1 -0
  63. package/dist/callbacks/useInfiniteQuery.d.ts +7 -0
  64. package/dist/callbacks/useInfiniteQuery.d.ts.map +1 -0
  65. package/dist/callbacks/useInfiniteQuery.js +28 -0
  66. package/dist/callbacks/useInfiniteQuery.js.map +1 -0
  67. package/dist/callbacks/useMutation.d.ts +7 -0
  68. package/dist/callbacks/useMutation.d.ts.map +1 -0
  69. package/dist/callbacks/useMutation.js +39 -0
  70. package/dist/callbacks/useMutation.js.map +1 -0
  71. package/dist/callbacks/useMutationState.d.ts +7 -0
  72. package/dist/callbacks/useMutationState.d.ts.map +1 -0
  73. package/dist/callbacks/useMutationState.js +29 -0
  74. package/dist/callbacks/useMutationState.js.map +1 -0
  75. package/dist/callbacks/useQueries.d.ts +6 -0
  76. package/dist/callbacks/useQueries.d.ts.map +1 -0
  77. package/dist/callbacks/useQueries.js +37 -0
  78. package/dist/callbacks/useQueries.js.map +1 -0
  79. package/dist/callbacks/useQuery.d.ts +7 -0
  80. package/dist/callbacks/useQuery.d.ts.map +1 -0
  81. package/dist/callbacks/useQuery.js +27 -0
  82. package/dist/callbacks/useQuery.js.map +1 -0
  83. package/dist/callbacks/useSuspenseInfiniteQuery.d.ts +7 -0
  84. package/dist/callbacks/useSuspenseInfiniteQuery.d.ts.map +1 -0
  85. package/dist/callbacks/useSuspenseInfiniteQuery.js +28 -0
  86. package/dist/callbacks/useSuspenseInfiniteQuery.js.map +1 -0
  87. package/dist/callbacks/useSuspenseQueries.d.ts +6 -0
  88. package/dist/callbacks/useSuspenseQueries.d.ts.map +1 -0
  89. package/dist/callbacks/useSuspenseQueries.js +37 -0
  90. package/dist/callbacks/useSuspenseQueries.js.map +1 -0
  91. package/dist/callbacks/useSuspenseQuery.d.ts +7 -0
  92. package/dist/callbacks/useSuspenseQuery.d.ts.map +1 -0
  93. package/dist/callbacks/useSuspenseQuery.js +27 -0
  94. package/dist/callbacks/useSuspenseQuery.js.map +1 -0
  95. package/dist/index.d.ts +9 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +4 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/lib/callQueryClientMethodWithQueryFilters.d.ts +11 -0
  100. package/dist/lib/callQueryClientMethodWithQueryFilters.d.ts.map +1 -0
  101. package/dist/lib/callQueryClientMethodWithQueryFilters.js +53 -0
  102. package/dist/lib/callQueryClientMethodWithQueryFilters.js.map +1 -0
  103. package/dist/lib/composeInfiniteQueryKey.d.ts +4 -0
  104. package/dist/lib/composeInfiniteQueryKey.d.ts.map +1 -0
  105. package/dist/lib/composeInfiniteQueryKey.js +4 -0
  106. package/dist/lib/composeInfiniteQueryKey.js.map +1 -0
  107. package/dist/lib/composeMutationKey.d.ts +10 -0
  108. package/dist/lib/composeMutationKey.d.ts.map +1 -0
  109. package/dist/lib/composeMutationKey.js +21 -0
  110. package/dist/lib/composeMutationKey.js.map +1 -0
  111. package/dist/lib/composeQueryKey.d.ts +4 -0
  112. package/dist/lib/composeQueryKey.d.ts.map +1 -0
  113. package/dist/lib/composeQueryKey.js +4 -0
  114. package/dist/lib/composeQueryKey.js.map +1 -0
  115. package/dist/lib/createRecursiveProxy.d.ts +9 -0
  116. package/dist/lib/createRecursiveProxy.d.ts.map +1 -0
  117. package/dist/lib/createRecursiveProxy.js +29 -0
  118. package/dist/lib/createRecursiveProxy.js.map +1 -0
  119. package/dist/lib/request.d.ts +32 -0
  120. package/dist/lib/request.d.ts.map +1 -0
  121. package/dist/lib/request.js +179 -0
  122. package/dist/lib/request.js.map +1 -0
  123. package/dist/lib/shelfMerge.d.ts +7 -0
  124. package/dist/lib/shelfMerge.d.ts.map +1 -0
  125. package/dist/lib/shelfMerge.js +28 -0
  126. package/dist/lib/shelfMerge.js.map +1 -0
  127. package/dist/qraftAPIClient.d.ts +36 -0
  128. package/dist/qraftAPIClient.d.ts.map +1 -0
  129. package/dist/qraftAPIClient.js +31 -0
  130. package/dist/qraftAPIClient.js.map +1 -0
  131. package/package.json +2 -2
  132. package/src/ServiceOperation.ts +45 -2
  133. package/src/callbacks/resetQueries.ts +22 -0
  134. package/src/lib/callQueryClientMethodWithQueryFilters.ts +36 -26
@@ -1,4 +1,4 @@
1
- import type {
1
+ import {
2
2
  CancelOptions,
3
3
  DefaultError,
4
4
  FetchStatus,
@@ -12,6 +12,7 @@ import type {
12
12
  QueriesPlaceholderDataFunction,
13
13
  Query,
14
14
  QueryClient,
15
+ ResetOptions,
15
16
  SetDataOptions,
16
17
  Updater,
17
18
  } from '@tanstack/query-core';
@@ -65,7 +66,8 @@ export interface ServiceOperationQuery<
65
66
  ServiceOperationSetQueryData<TSchema, TData, TParams>,
66
67
  ServiceOperationSetInfiniteQueryData<TSchema, TData, TParams>,
67
68
  ServiceOperationInvalidateQueries<TSchema, TData, TParams, TError>,
68
- ServiceOperationCancelQueries<TSchema, TData, TParams, TError> {
69
+ ServiceOperationCancelQueries<TSchema, TData, TParams, TError>,
70
+ ServiceOperationResetQueries<TSchema, TData, TParams, TError> {
69
71
  schema: TSchema;
70
72
  types: {
71
73
  parameters: TParams;
@@ -296,6 +298,47 @@ export interface ServiceOperationCancelQueriesCallback<
296
298
  ): Promise<void>;
297
299
  }
298
300
 
301
+ interface ServiceOperationResetQueries<
302
+ TSchema extends { url: string; method: string },
303
+ TData,
304
+ TParams = {},
305
+ TError = DefaultError,
306
+ > {
307
+ resetQueries(
308
+ filters:
309
+ | QueryFiltersByParameters<TSchema, TData, TParams, TError>
310
+ | QueryFiltersByQueryKey<TSchema, TData, TParams, TError>,
311
+ options: ResetOptions,
312
+ queryClient: QueryClient
313
+ ): Promise<void>;
314
+ resetQueries(
315
+ filters:
316
+ | QueryFiltersByParameters<TSchema, TData, TParams, TError>
317
+ | QueryFiltersByQueryKey<TSchema, TData, TParams, TError>,
318
+ queryClient: QueryClient
319
+ ): Promise<void>;
320
+ resetQueries(queryClient: QueryClient): Promise<void>;
321
+ }
322
+
323
+ /**
324
+ * @internal
325
+ */
326
+ export interface ServiceOperationResetQueriesCallback<
327
+ TSchema extends { url: string; method: string },
328
+ TData,
329
+ TParams = {},
330
+ TError = DefaultError,
331
+ > extends ServiceOperationResetQueries<TSchema, TData, TParams, TError> {
332
+ resetQueries(
333
+ filters:
334
+ | QueryFiltersByParameters<TSchema, TData, TParams, TError>
335
+ | QueryFiltersByQueryKey<TSchema, TData, TParams, TError>
336
+ | QueryClient,
337
+ options?: ResetOptions | QueryClient,
338
+ queryClient?: QueryClient
339
+ ): Promise<void>;
340
+ }
341
+
299
342
  interface ServiceOperationUseSuspenseQueries<
300
343
  TSchema extends { url: string; method: string },
301
344
  TData,
@@ -0,0 +1,22 @@
1
+ import { callQueryClientMethodWithQueryFilters } from '../lib/callQueryClientMethodWithQueryFilters.js';
2
+ import type { QraftClientOptions } from '../qraftAPIClient.js';
3
+ import type { RequestClientSchema } from '../RequestClient.js';
4
+ import type { ServiceOperationResetQueriesCallback } from '../ServiceOperation.js';
5
+
6
+ export function resetQueries<TData>(
7
+ qraftOptions: QraftClientOptions | undefined,
8
+ schema: RequestClientSchema,
9
+ args: Parameters<
10
+ ServiceOperationResetQueriesCallback<
11
+ RequestClientSchema,
12
+ unknown,
13
+ TData
14
+ >['resetQueries']
15
+ >
16
+ ): Promise<void> {
17
+ return callQueryClientMethodWithQueryFilters(
18
+ 'resetQueries',
19
+ schema,
20
+ args as never
21
+ ) as never;
22
+ }
@@ -24,7 +24,10 @@ export function callQueryClientMethodWithQueryFilters<
24
24
  : undefined
25
25
  ) as QueryClient | undefined;
26
26
 
27
- const filters = args.length === 1 ? undefined : args[0];
27
+ const filters = composeFilters(
28
+ schema,
29
+ args.length === 1 ? undefined : args[0]
30
+ );
28
31
  const options = args.length === 3 ? args[1] : undefined;
29
32
 
30
33
  if (!queryClient) throw new Error('queryClient is required');
@@ -33,41 +36,48 @@ export function callQueryClientMethodWithQueryFilters<
33
36
  `queryClient is invalid, ${queryFilterMethod} method does not exist`
34
37
  );
35
38
 
39
+ if (options)
40
+ // @ts-expect-error
41
+ return queryClient[queryFilterMethod](filters, options);
42
+
43
+ // @ts-expect-error
44
+ return queryClient[queryFilterMethod](filters);
45
+ }
46
+
47
+ /**
48
+ * Replaces the `parameters` field in the filters with a `queryKey` field based on the schema.
49
+ * If no filters are provided, a `queryKey` will be composed schema's base query key.
50
+ * @param schema
51
+ * @param filters
52
+ */
53
+ function composeFilters<Filters extends object>(
54
+ schema: RequestClientSchema,
55
+ filters: Filters | undefined
56
+ ) {
36
57
  if (!filters) {
37
- return queryClient[queryFilterMethod](
38
- {
39
- queryKey: composeQueryKey(schema, undefined),
40
- },
41
- options as never
42
- ) as never;
58
+ return {
59
+ queryKey: composeQueryKey(schema, undefined),
60
+ };
43
61
  }
44
62
 
45
63
  if ('queryKey' in filters) {
46
- return queryClient[queryFilterMethod](
47
- filters as never,
48
- options as never
49
- ) as never;
64
+ return filters;
50
65
  }
51
66
 
52
67
  if ('parameters' in filters) {
53
- const { parameters, ...filtersRest } = filters;
68
+ const { parameters, ...filtersWithoutParameters } = filters;
54
69
 
55
- return queryClient[queryFilterMethod](
56
- {
57
- ...filtersRest,
58
- queryKey: composeQueryKey(schema, parameters),
59
- } as never,
60
- options as never
61
- ) as never;
70
+ Object.assign(filtersWithoutParameters, {
71
+ queryKey: composeQueryKey(schema, parameters),
72
+ });
73
+
74
+ return filtersWithoutParameters;
62
75
  }
63
76
 
64
- return queryClient[queryFilterMethod](
65
- {
66
- ...filters,
67
- queryKey: composeQueryKey(schema, undefined),
68
- } as never,
69
- options as never
70
- ) as never;
77
+ return {
78
+ ...filters,
79
+ queryKey: composeQueryKey(schema, undefined),
80
+ };
71
81
  }
72
82
 
73
83
  type QueryFiltersMethod<QFMethod extends keyof typeof QueryClient.prototype> =