@tanstack/query-core 4.24.10 → 5.0.0-alpha.1

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 (184) hide show
  1. package/build/lib/focusManager.d.ts +1 -3
  2. package/build/lib/focusManager.esm.js +19 -36
  3. package/build/lib/focusManager.esm.js.map +1 -1
  4. package/build/lib/focusManager.js +19 -38
  5. package/build/lib/focusManager.js.map +1 -1
  6. package/build/lib/focusManager.mjs +19 -36
  7. package/build/lib/focusManager.mjs.map +1 -1
  8. package/build/lib/hydration.esm.js +21 -23
  9. package/build/lib/hydration.esm.js.map +1 -1
  10. package/build/lib/hydration.js +21 -25
  11. package/build/lib/hydration.js.map +1 -1
  12. package/build/lib/hydration.mjs +21 -23
  13. package/build/lib/hydration.mjs.map +1 -1
  14. package/build/lib/index.d.ts +1 -2
  15. package/build/lib/index.esm.js +1 -1
  16. package/build/lib/index.js +2 -8
  17. package/build/lib/index.js.map +1 -1
  18. package/build/lib/index.mjs +1 -1
  19. package/build/lib/infiniteQueryBehavior.d.ts +3 -7
  20. package/build/lib/infiniteQueryBehavior.esm.js +52 -75
  21. package/build/lib/infiniteQueryBehavior.esm.js.map +1 -1
  22. package/build/lib/infiniteQueryBehavior.js +50 -77
  23. package/build/lib/infiniteQueryBehavior.js.map +1 -1
  24. package/build/lib/infiniteQueryBehavior.mjs +52 -75
  25. package/build/lib/infiniteQueryBehavior.mjs.map +1 -1
  26. package/build/lib/infiniteQueryObserver.d.ts +4 -4
  27. package/build/lib/infiniteQueryObserver.esm.js +18 -26
  28. package/build/lib/infiniteQueryObserver.esm.js.map +1 -1
  29. package/build/lib/infiniteQueryObserver.js +18 -28
  30. package/build/lib/infiniteQueryObserver.js.map +1 -1
  31. package/build/lib/infiniteQueryObserver.mjs +18 -26
  32. package/build/lib/infiniteQueryObserver.mjs.map +1 -1
  33. package/build/lib/mutation.d.ts +11 -22
  34. package/build/lib/mutation.esm.js +73 -105
  35. package/build/lib/mutation.esm.js.map +1 -1
  36. package/build/lib/mutation.js +73 -107
  37. package/build/lib/mutation.js.map +1 -1
  38. package/build/lib/mutation.mjs +73 -105
  39. package/build/lib/mutation.mjs.map +1 -1
  40. package/build/lib/mutationCache.d.ts +4 -6
  41. package/build/lib/mutationCache.esm.js +23 -32
  42. package/build/lib/mutationCache.esm.js.map +1 -1
  43. package/build/lib/mutationCache.js +23 -34
  44. package/build/lib/mutationCache.js.map +1 -1
  45. package/build/lib/mutationCache.mjs +23 -32
  46. package/build/lib/mutationCache.mjs.map +1 -1
  47. package/build/lib/mutationObserver.d.ts +4 -9
  48. package/build/lib/mutationObserver.esm.js +42 -73
  49. package/build/lib/mutationObserver.esm.js.map +1 -1
  50. package/build/lib/mutationObserver.js +42 -75
  51. package/build/lib/mutationObserver.js.map +1 -1
  52. package/build/lib/mutationObserver.mjs +42 -73
  53. package/build/lib/mutationObserver.mjs.map +1 -1
  54. package/build/lib/notifyManager.esm.js +7 -17
  55. package/build/lib/notifyManager.esm.js.map +1 -1
  56. package/build/lib/notifyManager.js +7 -19
  57. package/build/lib/notifyManager.js.map +1 -1
  58. package/build/lib/notifyManager.mjs +7 -17
  59. package/build/lib/notifyManager.mjs.map +1 -1
  60. package/build/lib/onlineManager.d.ts +1 -3
  61. package/build/lib/onlineManager.esm.js +16 -30
  62. package/build/lib/onlineManager.esm.js.map +1 -1
  63. package/build/lib/onlineManager.js +16 -32
  64. package/build/lib/onlineManager.js.map +1 -1
  65. package/build/lib/onlineManager.mjs +16 -30
  66. package/build/lib/onlineManager.mjs.map +1 -1
  67. package/build/lib/queriesObserver.d.ts +3 -10
  68. package/build/lib/queriesObserver.esm.js +47 -71
  69. package/build/lib/queriesObserver.esm.js.map +1 -1
  70. package/build/lib/queriesObserver.js +49 -75
  71. package/build/lib/queriesObserver.js.map +1 -1
  72. package/build/lib/queriesObserver.mjs +47 -71
  73. package/build/lib/queriesObserver.mjs.map +1 -1
  74. package/build/lib/query.d.ts +14 -21
  75. package/build/lib/query.esm.js +140 -194
  76. package/build/lib/query.esm.js.map +1 -1
  77. package/build/lib/query.js +139 -195
  78. package/build/lib/query.js.map +1 -1
  79. package/build/lib/query.mjs +140 -194
  80. package/build/lib/query.mjs.map +1 -1
  81. package/build/lib/queryCache.d.ts +12 -7
  82. package/build/lib/queryCache.esm.js +21 -45
  83. package/build/lib/queryCache.esm.js.map +1 -1
  84. package/build/lib/queryCache.js +20 -46
  85. package/build/lib/queryCache.js.map +1 -1
  86. package/build/lib/queryCache.mjs +21 -45
  87. package/build/lib/queryCache.mjs.map +1 -1
  88. package/build/lib/queryClient.d.ts +18 -46
  89. package/build/lib/queryClient.esm.js +137 -216
  90. package/build/lib/queryClient.esm.js.map +1 -1
  91. package/build/lib/queryClient.js +136 -217
  92. package/build/lib/queryClient.js.map +1 -1
  93. package/build/lib/queryClient.mjs +137 -216
  94. package/build/lib/queryClient.mjs.map +1 -1
  95. package/build/lib/queryObserver.d.ts +4 -29
  96. package/build/lib/queryObserver.esm.js +176 -258
  97. package/build/lib/queryObserver.esm.js.map +1 -1
  98. package/build/lib/queryObserver.js +176 -260
  99. package/build/lib/queryObserver.js.map +1 -1
  100. package/build/lib/queryObserver.mjs +176 -258
  101. package/build/lib/queryObserver.mjs.map +1 -1
  102. package/build/lib/removable.d.ts +3 -3
  103. package/build/lib/removable.esm.js +10 -14
  104. package/build/lib/removable.esm.js.map +1 -1
  105. package/build/lib/removable.js +10 -16
  106. package/build/lib/removable.js.map +1 -1
  107. package/build/lib/removable.mjs +10 -14
  108. package/build/lib/removable.mjs.map +1 -1
  109. package/build/lib/retryer.d.ts +5 -5
  110. package/build/lib/retryer.esm.js +27 -44
  111. package/build/lib/retryer.esm.js.map +1 -1
  112. package/build/lib/retryer.js +27 -46
  113. package/build/lib/retryer.js.map +1 -1
  114. package/build/lib/retryer.mjs +27 -44
  115. package/build/lib/retryer.mjs.map +1 -1
  116. package/build/lib/subscribable.esm.js +4 -7
  117. package/build/lib/subscribable.esm.js.map +1 -1
  118. package/build/lib/subscribable.js +4 -9
  119. package/build/lib/subscribable.js.map +1 -1
  120. package/build/lib/subscribable.mjs +4 -7
  121. package/build/lib/subscribable.mjs.map +1 -1
  122. package/build/lib/tests/utils.d.ts +3 -12
  123. package/build/lib/types.d.ts +111 -99
  124. package/build/lib/utils.d.ts +8 -18
  125. package/build/lib/utils.esm.js +39 -132
  126. package/build/lib/utils.esm.js.map +1 -1
  127. package/build/lib/utils.js +42 -144
  128. package/build/lib/utils.js.map +1 -1
  129. package/build/lib/utils.mjs +39 -132
  130. package/build/lib/utils.mjs.map +1 -1
  131. package/build/umd/index.development.js +867 -1399
  132. package/build/umd/index.development.js.map +1 -1
  133. package/build/umd/index.production.js +1 -1
  134. package/build/umd/index.production.js.map +1 -1
  135. package/package.json +1 -1
  136. package/src/focusManager.ts +17 -24
  137. package/src/index.ts +1 -11
  138. package/src/infiniteQueryBehavior.ts +54 -94
  139. package/src/infiniteQueryObserver.ts +10 -12
  140. package/src/mutation.ts +68 -92
  141. package/src/mutationCache.ts +27 -27
  142. package/src/mutationObserver.ts +58 -97
  143. package/src/onlineManager.ts +14 -14
  144. package/src/queriesObserver.ts +50 -54
  145. package/src/query.ts +107 -111
  146. package/src/queryCache.ts +42 -41
  147. package/src/queryClient.ts +155 -434
  148. package/src/queryObserver.ts +155 -192
  149. package/src/removable.ts +13 -13
  150. package/src/retryer.ts +5 -5
  151. package/src/subscribable.ts +1 -1
  152. package/src/tests/focusManager.test.tsx +25 -25
  153. package/src/tests/hydration.test.tsx +167 -81
  154. package/src/tests/infiniteQueryBehavior.test.tsx +209 -17
  155. package/src/tests/infiniteQueryObserver.test.tsx +6 -2
  156. package/src/tests/mutationCache.test.tsx +127 -127
  157. package/src/tests/mutationObserver.test.tsx +1 -31
  158. package/src/tests/mutations.test.tsx +62 -43
  159. package/src/tests/onlineManager.test.tsx +12 -4
  160. package/src/tests/queriesObserver.test.tsx +41 -77
  161. package/src/tests/query.test.tsx +175 -243
  162. package/src/tests/queryCache.test.tsx +170 -93
  163. package/src/tests/queryClient.test.tsx +229 -378
  164. package/src/tests/queryObserver.test.tsx +23 -147
  165. package/src/tests/utils.test.tsx +84 -29
  166. package/src/tests/utils.ts +9 -18
  167. package/src/types.ts +187 -140
  168. package/src/utils.ts +31 -124
  169. package/build/lib/logger.d.ts +0 -8
  170. package/build/lib/logger.esm.js +0 -4
  171. package/build/lib/logger.esm.js.map +0 -1
  172. package/build/lib/logger.js +0 -8
  173. package/build/lib/logger.js.map +0 -1
  174. package/build/lib/logger.mjs +0 -4
  175. package/build/lib/logger.mjs.map +0 -1
  176. package/build/lib/logger.native.d.ts +0 -6
  177. package/build/lib/logger.native.esm.js +0 -12
  178. package/build/lib/logger.native.esm.js.map +0 -1
  179. package/build/lib/logger.native.js +0 -16
  180. package/build/lib/logger.native.js.map +0 -1
  181. package/build/lib/logger.native.mjs +0 -12
  182. package/build/lib/logger.native.mjs.map +0 -1
  183. package/src/logger.native.ts +0 -11
  184. package/src/logger.ts +0 -9
@@ -3,61 +3,53 @@ import { infiniteQueryBehavior, hasNextPage, hasPreviousPage } from './infiniteQ
3
3
 
4
4
  class InfiniteQueryObserver extends QueryObserver {
5
5
  // Type override
6
+
6
7
  // Type override
8
+
7
9
  // Type override
10
+
8
11
  // eslint-disable-next-line @typescript-eslint/no-useless-constructor
9
12
  constructor(client, options) {
10
13
  super(client, options);
11
14
  }
12
-
13
15
  bindMethods() {
14
16
  super.bindMethods();
15
17
  this.fetchNextPage = this.fetchNextPage.bind(this);
16
18
  this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
17
19
  }
18
-
19
20
  setOptions(options, notifyOptions) {
20
- super.setOptions({ ...options,
21
+ super.setOptions({
22
+ ...options,
21
23
  behavior: infiniteQueryBehavior()
22
24
  }, notifyOptions);
23
25
  }
24
-
25
26
  getOptimisticResult(options) {
26
27
  options.behavior = infiniteQueryBehavior();
27
28
  return super.getOptimisticResult(options);
28
29
  }
29
-
30
- fetchNextPage({
31
- pageParam,
32
- ...options
33
- } = {}) {
34
- return this.fetch({ ...options,
30
+ fetchNextPage(options = {}) {
31
+ return this.fetch({
32
+ ...options,
35
33
  meta: {
36
34
  fetchMore: {
37
- direction: 'forward',
38
- pageParam
35
+ direction: 'forward'
39
36
  }
40
37
  }
41
38
  });
42
39
  }
43
-
44
40
  fetchPreviousPage({
45
- pageParam,
46
41
  ...options
47
42
  } = {}) {
48
- return this.fetch({ ...options,
43
+ return this.fetch({
44
+ ...options,
49
45
  meta: {
50
46
  fetchMore: {
51
- direction: 'backward',
52
- pageParam
47
+ direction: 'backward'
53
48
  }
54
49
  }
55
50
  });
56
51
  }
57
-
58
52
  createResult(query, options) {
59
- var _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet, _state$data, _state$data2;
60
-
61
53
  const {
62
54
  state
63
55
  } = query;
@@ -66,19 +58,19 @@ class InfiniteQueryObserver extends QueryObserver {
66
58
  isFetching,
67
59
  isRefetching
68
60
  } = result;
69
- const isFetchingNextPage = isFetching && ((_state$fetchMeta = state.fetchMeta) == null ? void 0 : (_state$fetchMeta$fetc = _state$fetchMeta.fetchMore) == null ? void 0 : _state$fetchMeta$fetc.direction) === 'forward';
70
- const isFetchingPreviousPage = isFetching && ((_state$fetchMeta2 = state.fetchMeta) == null ? void 0 : (_state$fetchMeta2$fet = _state$fetchMeta2.fetchMore) == null ? void 0 : _state$fetchMeta2$fet.direction) === 'backward';
71
- return { ...result,
61
+ const isFetchingNextPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'forward';
62
+ const isFetchingPreviousPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'backward';
63
+ return {
64
+ ...result,
72
65
  fetchNextPage: this.fetchNextPage,
73
66
  fetchPreviousPage: this.fetchPreviousPage,
74
- hasNextPage: hasNextPage(options, (_state$data = state.data) == null ? void 0 : _state$data.pages),
75
- hasPreviousPage: hasPreviousPage(options, (_state$data2 = state.data) == null ? void 0 : _state$data2.pages),
67
+ hasNextPage: hasNextPage(options, state.data?.pages),
68
+ hasPreviousPage: hasPreviousPage(options, state.data?.pages),
76
69
  isFetchingNextPage,
77
70
  isFetchingPreviousPage,
78
71
  isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
79
72
  };
80
73
  }
81
-
82
74
  }
83
75
 
84
76
  export { InfiniteQueryObserver };
@@ -1 +1 @@
1
- {"version":3,"file":"infiniteQueryObserver.esm.js","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n InfiniteData<TData>,\n InfiniteData<TQueryData>,\n TQueryKey\n> {\n // Type override\n subscribe!: (\n listener?: InfiniteQueryObserverListener<TData, TError>,\n ) => () => void\n\n // Type override\n getCurrentResult!: () => InfiniteQueryObserverResult<TData, TError>\n\n // Type override\n protected fetch!: (\n fetchOptions: ObserverFetchOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options?: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n super.setOptions(\n {\n ...options,\n behavior: infiniteQueryBehavior(),\n },\n notifyOptions,\n )\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage({ pageParam, ...options }: FetchNextPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward', pageParam },\n },\n })\n }\n\n fetchPreviousPage({\n pageParam,\n ...options\n }: FetchPreviousPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward', pageParam },\n },\n })\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const result = super.createResult(query, options)\n\n const { isFetching, isRefetching } = result\n\n const isFetchingNextPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'forward'\n\n const isFetchingPreviousPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'backward'\n\n return {\n ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data?.pages),\n hasPreviousPage: hasPreviousPage(options, state.data?.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n }\n}\n"],"names":["InfiniteQueryObserver","QueryObserver","constructor","client","options","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","notifyOptions","behavior","infiniteQueryBehavior","getOptimisticResult","pageParam","fetch","meta","fetchMore","direction","createResult","query","state","result","isFetching","isRefetching","isFetchingNextPage","fetchMeta","isFetchingPreviousPage","hasNextPage","data","pages","hasPreviousPage"],"mappings":"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"}
1
+ {"version":3,"file":"infiniteQueryObserver.esm.js","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n RegisteredError,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = InfiniteData<TQueryFnData>,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData>,\n TQueryKey\n> {\n // Type override\n subscribe!: (\n listener?: InfiniteQueryObserverListener<TData, TError>,\n ) => () => void\n\n // Type override\n getCurrentResult!: () => InfiniteQueryObserverResult<TData, TError>\n\n // Type override\n protected fetch!: (\n fetchOptions: ObserverFetchOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options?: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n super.setOptions(\n {\n ...options,\n behavior: infiniteQueryBehavior(),\n },\n notifyOptions,\n )\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage(\n options: FetchNextPageOptions = {},\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward' },\n },\n })\n }\n\n fetchPreviousPage({ ...options }: FetchPreviousPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const result = super.createResult(query, options)\n\n const { isFetching, isRefetching } = result\n\n const isFetchingNextPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'forward'\n\n const isFetchingPreviousPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'backward'\n\n return {\n ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data?.pages),\n hasPreviousPage: hasPreviousPage(options, state.data?.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n }\n}\n"],"names":["InfiniteQueryObserver","QueryObserver","constructor","client","options","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","notifyOptions","behavior","infiniteQueryBehavior","getOptimisticResult","fetch","meta","fetchMore","direction","createResult","query","state","result","isFetching","isRefetching","isFetchingNextPage","fetchMeta","isFetchingPreviousPage","hasNextPage","data","pages","hasPreviousPage"],"mappings":";;;AAwBO,MAAMA,qBAAqB,SAMxBC,aAAa,CAMrB;AACA;;AAKA;;AAGA;;AAKA;AACAC,EAAAA,WAAW,CACTC,MAAmB,EACnBC,OAMC,EACD;AACA,IAAA,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC,CAAA;AACxB,GAAA;AAEUC,EAAAA,WAAW,GAAS;IAC5B,KAAK,CAACA,WAAW,EAAE,CAAA;IACnB,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClD,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5D,GAAA;AAEAE,EAAAA,UAAU,CACRL,OAMC,EACDM,aAA6B,EACvB;IACN,KAAK,CAACD,UAAU,CACd;AACE,MAAA,GAAGL,OAAO;AACVO,MAAAA,QAAQ,EAAEC,qBAAqB,EAAA;KAChC,EACDF,aAAa,CACd,CAAA;AACH,GAAA;EAEAG,mBAAmB,CACjBT,OAMC,EAC2C;AAC5CA,IAAAA,OAAO,CAACO,QAAQ,GAAGC,qBAAqB,EAAE,CAAA;AAC1C,IAAA,OAAO,KAAK,CAACC,mBAAmB,CAACT,OAAO,CAAC,CAAA;AAI3C,GAAA;AAEAE,EAAAA,aAAa,CACXF,OAA6B,GAAG,EAAE,EACmB;IACrD,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,SAAA;AAAU,SAAA;AACpC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAT,EAAAA,iBAAiB,CAAC;IAAE,GAAGJ,OAAAA;GAAmC,GAAG,EAAE,EAE7D;IACA,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,UAAA;AAAW,SAAA;AACrC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEUC,EAAAA,YAAY,CACpBC,KAAuE,EACvEf,OAMC,EAC2C;IAC5C,MAAM;AAAEgB,MAAAA,KAAAA;AAAM,KAAC,GAAGD,KAAK,CAAA;IACvB,MAAME,MAAM,GAAG,KAAK,CAACH,YAAY,CAACC,KAAK,EAAEf,OAAO,CAAC,CAAA;IAEjD,MAAM;MAAEkB,UAAU;AAAEC,MAAAA,YAAAA;AAAa,KAAC,GAAGF,MAAM,CAAA;AAE3C,IAAA,MAAMG,kBAAkB,GACtBF,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,SAAS,CAAA;AAEnE,IAAA,MAAMS,sBAAsB,GAC1BJ,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,UAAU,CAAA;IAEpE,OAAO;AACL,MAAA,GAAGI,MAAM;MACTf,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCE,iBAAiB,EAAE,IAAI,CAACA,iBAAiB;MACzCmB,WAAW,EAAEA,WAAW,CAACvB,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MACpDC,eAAe,EAAEA,eAAe,CAAC1B,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MAC5DL,kBAAkB;MAClBE,sBAAsB;AACtBH,MAAAA,YAAY,EACVA,YAAY,IAAI,CAACC,kBAAkB,IAAI,CAACE,sBAAAA;KAC3C,CAAA;AACH,GAAA;AACF;;;;"}
@@ -1,67 +1,57 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var queryObserver = require('./queryObserver.js');
6
4
  var infiniteQueryBehavior = require('./infiniteQueryBehavior.js');
7
5
 
8
6
  class InfiniteQueryObserver extends queryObserver.QueryObserver {
9
7
  // Type override
8
+
10
9
  // Type override
10
+
11
11
  // Type override
12
+
12
13
  // eslint-disable-next-line @typescript-eslint/no-useless-constructor
13
14
  constructor(client, options) {
14
15
  super(client, options);
15
16
  }
16
-
17
17
  bindMethods() {
18
18
  super.bindMethods();
19
19
  this.fetchNextPage = this.fetchNextPage.bind(this);
20
20
  this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
21
21
  }
22
-
23
22
  setOptions(options, notifyOptions) {
24
- super.setOptions({ ...options,
23
+ super.setOptions({
24
+ ...options,
25
25
  behavior: infiniteQueryBehavior.infiniteQueryBehavior()
26
26
  }, notifyOptions);
27
27
  }
28
-
29
28
  getOptimisticResult(options) {
30
29
  options.behavior = infiniteQueryBehavior.infiniteQueryBehavior();
31
30
  return super.getOptimisticResult(options);
32
31
  }
33
-
34
- fetchNextPage({
35
- pageParam,
36
- ...options
37
- } = {}) {
38
- return this.fetch({ ...options,
32
+ fetchNextPage(options = {}) {
33
+ return this.fetch({
34
+ ...options,
39
35
  meta: {
40
36
  fetchMore: {
41
- direction: 'forward',
42
- pageParam
37
+ direction: 'forward'
43
38
  }
44
39
  }
45
40
  });
46
41
  }
47
-
48
42
  fetchPreviousPage({
49
- pageParam,
50
43
  ...options
51
44
  } = {}) {
52
- return this.fetch({ ...options,
45
+ return this.fetch({
46
+ ...options,
53
47
  meta: {
54
48
  fetchMore: {
55
- direction: 'backward',
56
- pageParam
49
+ direction: 'backward'
57
50
  }
58
51
  }
59
52
  });
60
53
  }
61
-
62
54
  createResult(query, options) {
63
- var _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet, _state$data, _state$data2;
64
-
65
55
  const {
66
56
  state
67
57
  } = query;
@@ -70,19 +60,19 @@ class InfiniteQueryObserver extends queryObserver.QueryObserver {
70
60
  isFetching,
71
61
  isRefetching
72
62
  } = result;
73
- const isFetchingNextPage = isFetching && ((_state$fetchMeta = state.fetchMeta) == null ? void 0 : (_state$fetchMeta$fetc = _state$fetchMeta.fetchMore) == null ? void 0 : _state$fetchMeta$fetc.direction) === 'forward';
74
- const isFetchingPreviousPage = isFetching && ((_state$fetchMeta2 = state.fetchMeta) == null ? void 0 : (_state$fetchMeta2$fet = _state$fetchMeta2.fetchMore) == null ? void 0 : _state$fetchMeta2$fet.direction) === 'backward';
75
- return { ...result,
63
+ const isFetchingNextPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'forward';
64
+ const isFetchingPreviousPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'backward';
65
+ return {
66
+ ...result,
76
67
  fetchNextPage: this.fetchNextPage,
77
68
  fetchPreviousPage: this.fetchPreviousPage,
78
- hasNextPage: infiniteQueryBehavior.hasNextPage(options, (_state$data = state.data) == null ? void 0 : _state$data.pages),
79
- hasPreviousPage: infiniteQueryBehavior.hasPreviousPage(options, (_state$data2 = state.data) == null ? void 0 : _state$data2.pages),
69
+ hasNextPage: infiniteQueryBehavior.hasNextPage(options, state.data?.pages),
70
+ hasPreviousPage: infiniteQueryBehavior.hasPreviousPage(options, state.data?.pages),
80
71
  isFetchingNextPage,
81
72
  isFetchingPreviousPage,
82
73
  isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
83
74
  };
84
75
  }
85
-
86
76
  }
87
77
 
88
78
  exports.InfiniteQueryObserver = InfiniteQueryObserver;
@@ -1 +1 @@
1
- {"version":3,"file":"infiniteQueryObserver.js","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n InfiniteData<TData>,\n InfiniteData<TQueryData>,\n TQueryKey\n> {\n // Type override\n subscribe!: (\n listener?: InfiniteQueryObserverListener<TData, TError>,\n ) => () => void\n\n // Type override\n getCurrentResult!: () => InfiniteQueryObserverResult<TData, TError>\n\n // Type override\n protected fetch!: (\n fetchOptions: ObserverFetchOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options?: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n super.setOptions(\n {\n ...options,\n behavior: infiniteQueryBehavior(),\n },\n notifyOptions,\n )\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage({ pageParam, ...options }: FetchNextPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward', pageParam },\n },\n })\n }\n\n fetchPreviousPage({\n pageParam,\n ...options\n }: FetchPreviousPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward', pageParam },\n },\n })\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const result = super.createResult(query, options)\n\n const { isFetching, isRefetching } = result\n\n const isFetchingNextPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'forward'\n\n const isFetchingPreviousPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'backward'\n\n return {\n ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data?.pages),\n hasPreviousPage: hasPreviousPage(options, state.data?.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n }\n}\n"],"names":["InfiniteQueryObserver","QueryObserver","constructor","client","options","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","notifyOptions","behavior","infiniteQueryBehavior","getOptimisticResult","pageParam","fetch","meta","fetchMore","direction","createResult","query","state","result","isFetching","isRefetching","isFetchingNextPage","fetchMeta","isFetchingPreviousPage","hasNextPage","data","pages","hasPreviousPage"],"mappings":"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"}
1
+ {"version":3,"file":"infiniteQueryObserver.js","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n RegisteredError,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = InfiniteData<TQueryFnData>,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData>,\n TQueryKey\n> {\n // Type override\n subscribe!: (\n listener?: InfiniteQueryObserverListener<TData, TError>,\n ) => () => void\n\n // Type override\n getCurrentResult!: () => InfiniteQueryObserverResult<TData, TError>\n\n // Type override\n protected fetch!: (\n fetchOptions: ObserverFetchOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options?: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n super.setOptions(\n {\n ...options,\n behavior: infiniteQueryBehavior(),\n },\n notifyOptions,\n )\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage(\n options: FetchNextPageOptions = {},\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward' },\n },\n })\n }\n\n fetchPreviousPage({ ...options }: FetchPreviousPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const result = super.createResult(query, options)\n\n const { isFetching, isRefetching } = result\n\n const isFetchingNextPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'forward'\n\n const isFetchingPreviousPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'backward'\n\n return {\n ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data?.pages),\n hasPreviousPage: hasPreviousPage(options, state.data?.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n }\n}\n"],"names":["InfiniteQueryObserver","QueryObserver","constructor","client","options","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","notifyOptions","behavior","infiniteQueryBehavior","getOptimisticResult","fetch","meta","fetchMore","direction","createResult","query","state","result","isFetching","isRefetching","isFetchingNextPage","fetchMeta","isFetchingPreviousPage","hasNextPage","data","pages","hasPreviousPage"],"mappings":";;;;;AAwBO,MAAMA,qBAAqB,SAMxBC,2BAAa,CAMrB;AACA;;AAKA;;AAGA;;AAKA;AACAC,EAAAA,WAAW,CACTC,MAAmB,EACnBC,OAMC,EACD;AACA,IAAA,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC,CAAA;AACxB,GAAA;AAEUC,EAAAA,WAAW,GAAS;IAC5B,KAAK,CAACA,WAAW,EAAE,CAAA;IACnB,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClD,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5D,GAAA;AAEAE,EAAAA,UAAU,CACRL,OAMC,EACDM,aAA6B,EACvB;IACN,KAAK,CAACD,UAAU,CACd;AACE,MAAA,GAAGL,OAAO;AACVO,MAAAA,QAAQ,EAAEC,2CAAqB,EAAA;KAChC,EACDF,aAAa,CACd,CAAA;AACH,GAAA;EAEAG,mBAAmB,CACjBT,OAMC,EAC2C;AAC5CA,IAAAA,OAAO,CAACO,QAAQ,GAAGC,2CAAqB,EAAE,CAAA;AAC1C,IAAA,OAAO,KAAK,CAACC,mBAAmB,CAACT,OAAO,CAAC,CAAA;AAI3C,GAAA;AAEAE,EAAAA,aAAa,CACXF,OAA6B,GAAG,EAAE,EACmB;IACrD,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,SAAA;AAAU,SAAA;AACpC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAT,EAAAA,iBAAiB,CAAC;IAAE,GAAGJ,OAAAA;GAAmC,GAAG,EAAE,EAE7D;IACA,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,UAAA;AAAW,SAAA;AACrC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEUC,EAAAA,YAAY,CACpBC,KAAuE,EACvEf,OAMC,EAC2C;IAC5C,MAAM;AAAEgB,MAAAA,KAAAA;AAAM,KAAC,GAAGD,KAAK,CAAA;IACvB,MAAME,MAAM,GAAG,KAAK,CAACH,YAAY,CAACC,KAAK,EAAEf,OAAO,CAAC,CAAA;IAEjD,MAAM;MAAEkB,UAAU;AAAEC,MAAAA,YAAAA;AAAa,KAAC,GAAGF,MAAM,CAAA;AAE3C,IAAA,MAAMG,kBAAkB,GACtBF,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,SAAS,CAAA;AAEnE,IAAA,MAAMS,sBAAsB,GAC1BJ,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,UAAU,CAAA;IAEpE,OAAO;AACL,MAAA,GAAGI,MAAM;MACTf,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCE,iBAAiB,EAAE,IAAI,CAACA,iBAAiB;MACzCmB,WAAW,EAAEA,iCAAW,CAACvB,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MACpDC,eAAe,EAAEA,qCAAe,CAAC1B,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MAC5DL,kBAAkB;MAClBE,sBAAsB;AACtBH,MAAAA,YAAY,EACVA,YAAY,IAAI,CAACC,kBAAkB,IAAI,CAACE,sBAAAA;KAC3C,CAAA;AACH,GAAA;AACF;;;;"}
@@ -3,61 +3,53 @@ import { infiniteQueryBehavior, hasNextPage, hasPreviousPage } from './infiniteQ
3
3
 
4
4
  class InfiniteQueryObserver extends QueryObserver {
5
5
  // Type override
6
+
6
7
  // Type override
8
+
7
9
  // Type override
10
+
8
11
  // eslint-disable-next-line @typescript-eslint/no-useless-constructor
9
12
  constructor(client, options) {
10
13
  super(client, options);
11
14
  }
12
-
13
15
  bindMethods() {
14
16
  super.bindMethods();
15
17
  this.fetchNextPage = this.fetchNextPage.bind(this);
16
18
  this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
17
19
  }
18
-
19
20
  setOptions(options, notifyOptions) {
20
- super.setOptions({ ...options,
21
+ super.setOptions({
22
+ ...options,
21
23
  behavior: infiniteQueryBehavior()
22
24
  }, notifyOptions);
23
25
  }
24
-
25
26
  getOptimisticResult(options) {
26
27
  options.behavior = infiniteQueryBehavior();
27
28
  return super.getOptimisticResult(options);
28
29
  }
29
-
30
- fetchNextPage({
31
- pageParam,
32
- ...options
33
- } = {}) {
34
- return this.fetch({ ...options,
30
+ fetchNextPage(options = {}) {
31
+ return this.fetch({
32
+ ...options,
35
33
  meta: {
36
34
  fetchMore: {
37
- direction: 'forward',
38
- pageParam
35
+ direction: 'forward'
39
36
  }
40
37
  }
41
38
  });
42
39
  }
43
-
44
40
  fetchPreviousPage({
45
- pageParam,
46
41
  ...options
47
42
  } = {}) {
48
- return this.fetch({ ...options,
43
+ return this.fetch({
44
+ ...options,
49
45
  meta: {
50
46
  fetchMore: {
51
- direction: 'backward',
52
- pageParam
47
+ direction: 'backward'
53
48
  }
54
49
  }
55
50
  });
56
51
  }
57
-
58
52
  createResult(query, options) {
59
- var _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet, _state$data, _state$data2;
60
-
61
53
  const {
62
54
  state
63
55
  } = query;
@@ -66,19 +58,19 @@ class InfiniteQueryObserver extends QueryObserver {
66
58
  isFetching,
67
59
  isRefetching
68
60
  } = result;
69
- const isFetchingNextPage = isFetching && ((_state$fetchMeta = state.fetchMeta) == null ? void 0 : (_state$fetchMeta$fetc = _state$fetchMeta.fetchMore) == null ? void 0 : _state$fetchMeta$fetc.direction) === 'forward';
70
- const isFetchingPreviousPage = isFetching && ((_state$fetchMeta2 = state.fetchMeta) == null ? void 0 : (_state$fetchMeta2$fet = _state$fetchMeta2.fetchMore) == null ? void 0 : _state$fetchMeta2$fet.direction) === 'backward';
71
- return { ...result,
61
+ const isFetchingNextPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'forward';
62
+ const isFetchingPreviousPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'backward';
63
+ return {
64
+ ...result,
72
65
  fetchNextPage: this.fetchNextPage,
73
66
  fetchPreviousPage: this.fetchPreviousPage,
74
- hasNextPage: hasNextPage(options, (_state$data = state.data) == null ? void 0 : _state$data.pages),
75
- hasPreviousPage: hasPreviousPage(options, (_state$data2 = state.data) == null ? void 0 : _state$data2.pages),
67
+ hasNextPage: hasNextPage(options, state.data?.pages),
68
+ hasPreviousPage: hasPreviousPage(options, state.data?.pages),
76
69
  isFetchingNextPage,
77
70
  isFetchingPreviousPage,
78
71
  isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
79
72
  };
80
73
  }
81
-
82
74
  }
83
75
 
84
76
  export { InfiniteQueryObserver };
@@ -1 +1 @@
1
- {"version":3,"file":"infiniteQueryObserver.mjs","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n InfiniteData<TData>,\n InfiniteData<TQueryData>,\n TQueryKey\n> {\n // Type override\n subscribe!: (\n listener?: InfiniteQueryObserverListener<TData, TError>,\n ) => () => void\n\n // Type override\n getCurrentResult!: () => InfiniteQueryObserverResult<TData, TError>\n\n // Type override\n protected fetch!: (\n fetchOptions: ObserverFetchOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options?: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n super.setOptions(\n {\n ...options,\n behavior: infiniteQueryBehavior(),\n },\n notifyOptions,\n )\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage({ pageParam, ...options }: FetchNextPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward', pageParam },\n },\n })\n }\n\n fetchPreviousPage({\n pageParam,\n ...options\n }: FetchPreviousPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward', pageParam },\n },\n })\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const result = super.createResult(query, options)\n\n const { isFetching, isRefetching } = result\n\n const isFetchingNextPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'forward'\n\n const isFetchingPreviousPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'backward'\n\n return {\n ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data?.pages),\n hasPreviousPage: hasPreviousPage(options, state.data?.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n }\n}\n"],"names":["InfiniteQueryObserver","QueryObserver","constructor","client","options","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","notifyOptions","behavior","infiniteQueryBehavior","getOptimisticResult","pageParam","fetch","meta","fetchMore","direction","createResult","query","state","result","isFetching","isRefetching","isFetchingNextPage","fetchMeta","isFetchingPreviousPage","hasNextPage","data","pages","hasPreviousPage"],"mappings":"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"}
1
+ {"version":3,"file":"infiniteQueryObserver.mjs","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n RegisteredError,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = InfiniteData<TQueryFnData>,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData>,\n TQueryKey\n> {\n // Type override\n subscribe!: (\n listener?: InfiniteQueryObserverListener<TData, TError>,\n ) => () => void\n\n // Type override\n getCurrentResult!: () => InfiniteQueryObserverResult<TData, TError>\n\n // Type override\n protected fetch!: (\n fetchOptions: ObserverFetchOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options?: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n super.setOptions(\n {\n ...options,\n behavior: infiniteQueryBehavior(),\n },\n notifyOptions,\n )\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage(\n options: FetchNextPageOptions = {},\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward' },\n },\n })\n }\n\n fetchPreviousPage({ ...options }: FetchPreviousPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const result = super.createResult(query, options)\n\n const { isFetching, isRefetching } = result\n\n const isFetchingNextPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'forward'\n\n const isFetchingPreviousPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'backward'\n\n return {\n ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data?.pages),\n hasPreviousPage: hasPreviousPage(options, state.data?.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n }\n}\n"],"names":["InfiniteQueryObserver","QueryObserver","constructor","client","options","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","notifyOptions","behavior","infiniteQueryBehavior","getOptimisticResult","fetch","meta","fetchMore","direction","createResult","query","state","result","isFetching","isRefetching","isFetchingNextPage","fetchMeta","isFetchingPreviousPage","hasNextPage","data","pages","hasPreviousPage"],"mappings":";;;AAwBO,MAAMA,qBAAqB,SAMxBC,aAAa,CAMrB;AACA;;AAKA;;AAGA;;AAKA;AACAC,EAAAA,WAAW,CACTC,MAAmB,EACnBC,OAMC,EACD;AACA,IAAA,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC,CAAA;AACxB,GAAA;AAEUC,EAAAA,WAAW,GAAS;IAC5B,KAAK,CAACA,WAAW,EAAE,CAAA;IACnB,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClD,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5D,GAAA;AAEAE,EAAAA,UAAU,CACRL,OAMC,EACDM,aAA6B,EACvB;IACN,KAAK,CAACD,UAAU,CACd;AACE,MAAA,GAAGL,OAAO;AACVO,MAAAA,QAAQ,EAAEC,qBAAqB,EAAA;KAChC,EACDF,aAAa,CACd,CAAA;AACH,GAAA;EAEAG,mBAAmB,CACjBT,OAMC,EAC2C;AAC5CA,IAAAA,OAAO,CAACO,QAAQ,GAAGC,qBAAqB,EAAE,CAAA;AAC1C,IAAA,OAAO,KAAK,CAACC,mBAAmB,CAACT,OAAO,CAAC,CAAA;AAI3C,GAAA;AAEAE,EAAAA,aAAa,CACXF,OAA6B,GAAG,EAAE,EACmB;IACrD,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,SAAA;AAAU,SAAA;AACpC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAT,EAAAA,iBAAiB,CAAC;IAAE,GAAGJ,OAAAA;GAAmC,GAAG,EAAE,EAE7D;IACA,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,UAAA;AAAW,SAAA;AACrC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEUC,EAAAA,YAAY,CACpBC,KAAuE,EACvEf,OAMC,EAC2C;IAC5C,MAAM;AAAEgB,MAAAA,KAAAA;AAAM,KAAC,GAAGD,KAAK,CAAA;IACvB,MAAME,MAAM,GAAG,KAAK,CAACH,YAAY,CAACC,KAAK,EAAEf,OAAO,CAAC,CAAA;IAEjD,MAAM;MAAEkB,UAAU;AAAEC,MAAAA,YAAAA;AAAa,KAAC,GAAGF,MAAM,CAAA;AAE3C,IAAA,MAAMG,kBAAkB,GACtBF,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,SAAS,CAAA;AAEnE,IAAA,MAAMS,sBAAsB,GAC1BJ,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,UAAU,CAAA;IAEpE,OAAO;AACL,MAAA,GAAGI,MAAM;MACTf,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCE,iBAAiB,EAAE,IAAI,CAACA,iBAAiB;MACzCmB,WAAW,EAAEA,WAAW,CAACvB,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MACpDC,eAAe,EAAEA,eAAe,CAAC1B,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MAC5DL,kBAAkB;MAClBE,sBAAsB;AACtBH,MAAAA,YAAY,EACVA,YAAY,IAAI,CAACC,kBAAkB,IAAI,CAACE,sBAAAA;KAC3C,CAAA;AACH,GAAA;AACF;;;;"}
@@ -1,18 +1,15 @@
1
- import type { MutationOptions, MutationStatus, MutationMeta } from './types';
1
+ import type { MutationOptions, MutationStatus, MutationMeta, RegisteredError } from './types';
2
2
  import type { MutationCache } from './mutationCache';
3
3
  import type { MutationObserver } from './mutationObserver';
4
- import type { Logger } from './logger';
5
4
  import { Removable } from './removable';
6
5
  interface MutationConfig<TData, TError, TVariables, TContext> {
7
6
  mutationId: number;
8
7
  mutationCache: MutationCache;
9
8
  options: MutationOptions<TData, TError, TVariables, TContext>;
10
- logger?: Logger;
11
9
  defaultOptions?: MutationOptions<TData, TError, TVariables, TContext>;
12
10
  state?: MutationState<TData, TError, TVariables, TContext>;
13
- meta?: MutationMeta;
14
11
  }
15
- export interface MutationState<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> {
12
+ export interface MutationState<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> {
16
13
  context: TContext | undefined;
17
14
  data: TData | undefined;
18
15
  error: TError | null;
@@ -21,14 +18,15 @@ export interface MutationState<TData = unknown, TError = unknown, TVariables = v
21
18
  isPaused: boolean;
22
19
  status: MutationStatus;
23
20
  variables: TVariables | undefined;
21
+ submittedAt: number;
24
22
  }
25
23
  interface FailedAction<TError> {
26
24
  type: 'failed';
27
25
  failureCount: number;
28
26
  error: TError | null;
29
27
  }
30
- interface LoadingAction<TVariables, TContext> {
31
- type: 'loading';
28
+ interface PendingAction<TVariables, TContext> {
29
+ type: 'pending';
32
30
  variables?: TVariables;
33
31
  context?: TContext;
34
32
  }
@@ -46,28 +44,19 @@ interface PauseAction {
46
44
  interface ContinueAction {
47
45
  type: 'continue';
48
46
  }
49
- interface SetStateAction<TData, TError, TVariables, TContext> {
50
- type: 'setState';
47
+ export declare type Action<TData, TError, TVariables, TContext> = ContinueAction | ErrorAction<TError> | FailedAction<TError> | PendingAction<TVariables, TContext> | PauseAction | SuccessAction<TData>;
48
+ export declare class Mutation<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends Removable {
49
+ #private;
51
50
  state: MutationState<TData, TError, TVariables, TContext>;
52
- }
53
- export declare type Action<TData, TError, TVariables, TContext> = ContinueAction | ErrorAction<TError> | FailedAction<TError> | LoadingAction<TVariables, TContext> | PauseAction | SetStateAction<TData, TError, TVariables, TContext> | SuccessAction<TData>;
54
- export declare class Mutation<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> extends Removable {
55
- state: MutationState<TData, TError, TVariables, TContext>;
56
- options: MutationOptions<TData, TError, TVariables, TContext>;
57
- mutationId: number;
58
- private observers;
59
- private mutationCache;
60
- private logger;
61
- private retryer?;
51
+ readonly options: MutationOptions<TData, TError, TVariables, TContext>;
52
+ readonly mutationId: number;
62
53
  constructor(config: MutationConfig<TData, TError, TVariables, TContext>);
63
54
  get meta(): MutationMeta | undefined;
64
- setState(state: MutationState<TData, TError, TVariables, TContext>): void;
65
55
  addObserver(observer: MutationObserver<any, any, any, any>): void;
66
56
  removeObserver(observer: MutationObserver<any, any, any, any>): void;
67
57
  protected optionalRemove(): void;
68
58
  continue(): Promise<unknown>;
69
- execute(): Promise<TData>;
70
- private dispatch;
59
+ execute(variables: TVariables): Promise<TData>;
71
60
  }
72
61
  export declare function getDefaultState<TData, TError, TVariables, TContext>(): MutationState<TData, TError, TVariables, TContext>;
73
62
  export {};