@tanstack/query-core 5.94.4 → 5.94.5

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 (295) hide show
  1. package/build/legacy/_tsup-dts-rollup.d.cts +2229 -0
  2. package/build/legacy/_tsup-dts-rollup.d.ts +2229 -0
  3. package/build/legacy/chunk-PXG64RU4.js +25 -0
  4. package/build/legacy/chunk-PXG64RU4.js.map +1 -0
  5. package/build/legacy/environmentManager.cjs +48 -0
  6. package/build/legacy/environmentManager.cjs.map +1 -0
  7. package/build/legacy/environmentManager.d.cts +2 -0
  8. package/build/legacy/environmentManager.d.ts +2 -0
  9. package/build/legacy/environmentManager.js +25 -0
  10. package/build/legacy/environmentManager.js.map +1 -0
  11. package/build/legacy/focusManager.cjs +107 -0
  12. package/build/legacy/focusManager.cjs.map +1 -0
  13. package/build/legacy/focusManager.d.cts +2 -0
  14. package/build/legacy/focusManager.d.ts +2 -0
  15. package/build/legacy/focusManager.js +80 -0
  16. package/build/legacy/focusManager.js.map +1 -0
  17. package/build/legacy/hydration.cjs +178 -0
  18. package/build/legacy/hydration.cjs.map +1 -0
  19. package/build/legacy/hydration.d.cts +7 -0
  20. package/build/legacy/hydration.d.ts +7 -0
  21. package/build/legacy/hydration.js +152 -0
  22. package/build/legacy/hydration.js.map +1 -0
  23. package/build/legacy/index.cjs +113 -0
  24. package/build/legacy/index.cjs.map +1 -0
  25. package/build/legacy/index.d.cts +142 -0
  26. package/build/legacy/index.d.ts +142 -0
  27. package/build/legacy/index.js +75 -0
  28. package/build/legacy/index.js.map +1 -0
  29. package/build/legacy/infiniteQueryBehavior.cjs +146 -0
  30. package/build/legacy/infiniteQueryBehavior.cjs.map +1 -0
  31. package/build/legacy/infiniteQueryBehavior.d.cts +3 -0
  32. package/build/legacy/infiniteQueryBehavior.d.ts +3 -0
  33. package/build/legacy/infiniteQueryBehavior.js +126 -0
  34. package/build/legacy/infiniteQueryBehavior.js.map +1 -0
  35. package/build/legacy/infiniteQueryObserver.cjs +93 -0
  36. package/build/legacy/infiniteQueryObserver.cjs.map +1 -0
  37. package/build/legacy/infiniteQueryObserver.d.cts +1 -0
  38. package/build/legacy/infiniteQueryObserver.d.ts +1 -0
  39. package/build/legacy/infiniteQueryObserver.js +74 -0
  40. package/build/legacy/infiniteQueryObserver.js.map +1 -0
  41. package/build/legacy/mutation.cjs +333 -0
  42. package/build/legacy/mutation.cjs.map +1 -0
  43. package/build/legacy/mutation.d.cts +4 -0
  44. package/build/legacy/mutation.d.ts +4 -0
  45. package/build/legacy/mutation.js +306 -0
  46. package/build/legacy/mutation.js.map +1 -0
  47. package/build/legacy/mutationCache.cjs +170 -0
  48. package/build/legacy/mutationCache.cjs.map +1 -0
  49. package/build/legacy/mutationCache.d.cts +2 -0
  50. package/build/legacy/mutationCache.d.ts +2 -0
  51. package/build/legacy/mutationCache.js +137 -0
  52. package/build/legacy/mutationCache.js.map +1 -0
  53. package/build/legacy/mutationObserver.cjs +190 -0
  54. package/build/legacy/mutationObserver.cjs.map +1 -0
  55. package/build/legacy/mutationObserver.d.cts +1 -0
  56. package/build/legacy/mutationObserver.d.ts +1 -0
  57. package/build/legacy/mutationObserver.js +164 -0
  58. package/build/legacy/mutationObserver.js.map +1 -0
  59. package/build/legacy/notifyManager.cjs +113 -0
  60. package/build/legacy/notifyManager.cjs.map +1 -0
  61. package/build/legacy/notifyManager.d.cts +3 -0
  62. package/build/legacy/notifyManager.d.ts +3 -0
  63. package/build/legacy/notifyManager.js +88 -0
  64. package/build/legacy/notifyManager.js.map +1 -0
  65. package/build/legacy/onlineManager.cjs +96 -0
  66. package/build/legacy/onlineManager.cjs.map +1 -0
  67. package/build/legacy/onlineManager.d.cts +2 -0
  68. package/build/legacy/onlineManager.d.ts +2 -0
  69. package/build/legacy/onlineManager.js +69 -0
  70. package/build/legacy/onlineManager.js.map +1 -0
  71. package/build/legacy/queriesObserver.cjs +260 -0
  72. package/build/legacy/queriesObserver.cjs.map +1 -0
  73. package/build/legacy/queriesObserver.d.cts +2 -0
  74. package/build/legacy/queriesObserver.d.ts +2 -0
  75. package/build/legacy/queriesObserver.js +234 -0
  76. package/build/legacy/queriesObserver.js.map +1 -0
  77. package/build/legacy/query.cjs +487 -0
  78. package/build/legacy/query.cjs.map +1 -0
  79. package/build/legacy/query.d.cts +10 -0
  80. package/build/legacy/query.d.ts +10 -0
  81. package/build/legacy/query.js +468 -0
  82. package/build/legacy/query.js.map +1 -0
  83. package/build/legacy/queryCache.cjs +131 -0
  84. package/build/legacy/queryCache.cjs.map +1 -0
  85. package/build/legacy/queryCache.d.cts +3 -0
  86. package/build/legacy/queryCache.d.ts +3 -0
  87. package/build/legacy/queryCache.js +105 -0
  88. package/build/legacy/queryCache.js.map +1 -0
  89. package/build/legacy/queryClient.cjs +349 -0
  90. package/build/legacy/queryClient.cjs.map +1 -0
  91. package/build/legacy/queryClient.d.cts +1 -0
  92. package/build/legacy/queryClient.d.ts +1 -0
  93. package/build/legacy/queryClient.js +324 -0
  94. package/build/legacy/queryClient.js.map +1 -0
  95. package/build/legacy/queryObserver.cjs +516 -0
  96. package/build/legacy/queryObserver.cjs.map +1 -0
  97. package/build/legacy/queryObserver.d.cts +1 -0
  98. package/build/legacy/queryObserver.d.ts +1 -0
  99. package/build/legacy/queryObserver.js +498 -0
  100. package/build/legacy/queryObserver.js.map +1 -0
  101. package/build/legacy/removable.cjs +70 -0
  102. package/build/legacy/removable.cjs.map +1 -0
  103. package/build/legacy/removable.d.cts +1 -0
  104. package/build/legacy/removable.d.ts +1 -0
  105. package/build/legacy/removable.js +44 -0
  106. package/build/legacy/removable.js.map +1 -0
  107. package/build/legacy/retryer.cjs +166 -0
  108. package/build/legacy/retryer.cjs.map +1 -0
  109. package/build/legacy/retryer.d.cts +7 -0
  110. package/build/legacy/retryer.d.ts +7 -0
  111. package/build/legacy/retryer.js +140 -0
  112. package/build/legacy/retryer.js.map +1 -0
  113. package/build/legacy/streamedQuery.cjs +80 -0
  114. package/build/legacy/streamedQuery.cjs.map +1 -0
  115. package/build/legacy/streamedQuery.d.cts +1 -0
  116. package/build/legacy/streamedQuery.d.ts +1 -0
  117. package/build/legacy/streamedQuery.js +57 -0
  118. package/build/legacy/streamedQuery.js.map +1 -0
  119. package/build/legacy/subscribable.cjs +51 -0
  120. package/build/legacy/subscribable.cjs.map +1 -0
  121. package/build/legacy/subscribable.d.cts +1 -0
  122. package/build/legacy/subscribable.d.ts +1 -0
  123. package/build/legacy/subscribable.js +28 -0
  124. package/build/legacy/subscribable.js.map +1 -0
  125. package/build/legacy/thenable.cjs +76 -0
  126. package/build/legacy/thenable.cjs.map +1 -0
  127. package/build/legacy/thenable.d.cts +6 -0
  128. package/build/legacy/thenable.d.ts +6 -0
  129. package/build/legacy/thenable.js +52 -0
  130. package/build/legacy/thenable.js.map +1 -0
  131. package/build/legacy/timeoutManager.cjs +110 -0
  132. package/build/legacy/timeoutManager.cjs.map +1 -0
  133. package/build/legacy/timeoutManager.d.cts +7 -0
  134. package/build/legacy/timeoutManager.d.ts +7 -0
  135. package/build/legacy/timeoutManager.js +81 -0
  136. package/build/legacy/timeoutManager.js.map +1 -0
  137. package/build/legacy/types.cjs +37 -0
  138. package/build/legacy/types.cjs.map +1 -0
  139. package/build/legacy/types.d.cts +95 -0
  140. package/build/legacy/types.d.ts +95 -0
  141. package/build/legacy/types.js +12 -0
  142. package/build/legacy/types.js.map +1 -0
  143. package/build/legacy/utils.cjs +330 -0
  144. package/build/legacy/utils.cjs.map +1 -0
  145. package/build/legacy/utils.d.cts +30 -0
  146. package/build/legacy/utils.d.ts +30 -0
  147. package/build/legacy/utils.js +283 -0
  148. package/build/legacy/utils.js.map +1 -0
  149. package/build/modern/_tsup-dts-rollup.d.cts +2229 -0
  150. package/build/modern/_tsup-dts-rollup.d.ts +2229 -0
  151. package/build/modern/environmentManager.cjs +48 -0
  152. package/build/modern/environmentManager.cjs.map +1 -0
  153. package/build/modern/environmentManager.d.cts +2 -0
  154. package/build/modern/environmentManager.d.ts +2 -0
  155. package/build/modern/environmentManager.js +23 -0
  156. package/build/modern/environmentManager.js.map +1 -0
  157. package/build/modern/focusManager.cjs +93 -0
  158. package/build/modern/focusManager.cjs.map +1 -0
  159. package/build/modern/focusManager.d.cts +2 -0
  160. package/build/modern/focusManager.d.ts +2 -0
  161. package/build/modern/focusManager.js +67 -0
  162. package/build/modern/focusManager.js.map +1 -0
  163. package/build/modern/hydration.cjs +173 -0
  164. package/build/modern/hydration.cjs.map +1 -0
  165. package/build/modern/hydration.d.cts +7 -0
  166. package/build/modern/hydration.d.ts +7 -0
  167. package/build/modern/hydration.js +145 -0
  168. package/build/modern/hydration.js.map +1 -0
  169. package/build/modern/index.cjs +113 -0
  170. package/build/modern/index.cjs.map +1 -0
  171. package/build/modern/index.d.cts +142 -0
  172. package/build/modern/index.d.ts +142 -0
  173. package/build/modern/index.js +73 -0
  174. package/build/modern/index.js.map +1 -0
  175. package/build/modern/infiniteQueryBehavior.cjs +142 -0
  176. package/build/modern/infiniteQueryBehavior.cjs.map +1 -0
  177. package/build/modern/infiniteQueryBehavior.d.cts +3 -0
  178. package/build/modern/infiniteQueryBehavior.d.ts +3 -0
  179. package/build/modern/infiniteQueryBehavior.js +120 -0
  180. package/build/modern/infiniteQueryBehavior.js.map +1 -0
  181. package/build/modern/infiniteQueryObserver.cjs +92 -0
  182. package/build/modern/infiniteQueryObserver.cjs.map +1 -0
  183. package/build/modern/infiniteQueryObserver.d.cts +1 -0
  184. package/build/modern/infiniteQueryObserver.d.ts +1 -0
  185. package/build/modern/infiniteQueryObserver.js +71 -0
  186. package/build/modern/infiniteQueryObserver.js.map +1 -0
  187. package/build/modern/mutation.cjs +307 -0
  188. package/build/modern/mutation.cjs.map +1 -0
  189. package/build/modern/mutation.d.cts +4 -0
  190. package/build/modern/mutation.d.ts +4 -0
  191. package/build/modern/mutation.js +281 -0
  192. package/build/modern/mutation.js.map +1 -0
  193. package/build/modern/mutationCache.cjs +149 -0
  194. package/build/modern/mutationCache.cjs.map +1 -0
  195. package/build/modern/mutationCache.d.cts +2 -0
  196. package/build/modern/mutationCache.d.ts +2 -0
  197. package/build/modern/mutationCache.js +124 -0
  198. package/build/modern/mutationCache.js.map +1 -0
  199. package/build/modern/mutationObserver.cjs +165 -0
  200. package/build/modern/mutationObserver.cjs.map +1 -0
  201. package/build/modern/mutationObserver.d.cts +1 -0
  202. package/build/modern/mutationObserver.d.ts +1 -0
  203. package/build/modern/mutationObserver.js +140 -0
  204. package/build/modern/mutationObserver.js.map +1 -0
  205. package/build/modern/notifyManager.cjs +113 -0
  206. package/build/modern/notifyManager.cjs.map +1 -0
  207. package/build/modern/notifyManager.d.cts +3 -0
  208. package/build/modern/notifyManager.d.ts +3 -0
  209. package/build/modern/notifyManager.js +86 -0
  210. package/build/modern/notifyManager.js.map +1 -0
  211. package/build/modern/onlineManager.cjs +83 -0
  212. package/build/modern/onlineManager.cjs.map +1 -0
  213. package/build/modern/onlineManager.d.cts +2 -0
  214. package/build/modern/onlineManager.d.ts +2 -0
  215. package/build/modern/onlineManager.js +57 -0
  216. package/build/modern/onlineManager.js.map +1 -0
  217. package/build/modern/queriesObserver.cjs +237 -0
  218. package/build/modern/queriesObserver.cjs.map +1 -0
  219. package/build/modern/queriesObserver.d.cts +2 -0
  220. package/build/modern/queriesObserver.d.ts +2 -0
  221. package/build/modern/queriesObserver.js +212 -0
  222. package/build/modern/queriesObserver.js.map +1 -0
  223. package/build/modern/query.cjs +461 -0
  224. package/build/modern/query.cjs.map +1 -0
  225. package/build/modern/query.d.cts +10 -0
  226. package/build/modern/query.d.ts +10 -0
  227. package/build/modern/query.js +443 -0
  228. package/build/modern/query.js.map +1 -0
  229. package/build/modern/queryCache.cjs +122 -0
  230. package/build/modern/queryCache.cjs.map +1 -0
  231. package/build/modern/queryCache.d.cts +3 -0
  232. package/build/modern/queryCache.d.ts +3 -0
  233. package/build/modern/queryCache.js +97 -0
  234. package/build/modern/queryCache.js.map +1 -0
  235. package/build/modern/queryClient.cjs +322 -0
  236. package/build/modern/queryClient.cjs.map +1 -0
  237. package/build/modern/queryClient.d.cts +1 -0
  238. package/build/modern/queryClient.d.ts +1 -0
  239. package/build/modern/queryClient.js +305 -0
  240. package/build/modern/queryClient.js.map +1 -0
  241. package/build/modern/queryObserver.cjs +489 -0
  242. package/build/modern/queryObserver.cjs.map +1 -0
  243. package/build/modern/queryObserver.d.cts +1 -0
  244. package/build/modern/queryObserver.d.ts +1 -0
  245. package/build/modern/queryObserver.js +472 -0
  246. package/build/modern/queryObserver.js.map +1 -0
  247. package/build/modern/removable.cjs +59 -0
  248. package/build/modern/removable.cjs.map +1 -0
  249. package/build/modern/removable.d.cts +1 -0
  250. package/build/modern/removable.d.ts +1 -0
  251. package/build/modern/removable.js +34 -0
  252. package/build/modern/removable.js.map +1 -0
  253. package/build/modern/retryer.cjs +162 -0
  254. package/build/modern/retryer.cjs.map +1 -0
  255. package/build/modern/retryer.d.cts +7 -0
  256. package/build/modern/retryer.d.ts +7 -0
  257. package/build/modern/retryer.js +134 -0
  258. package/build/modern/retryer.js.map +1 -0
  259. package/build/modern/streamedQuery.cjs +80 -0
  260. package/build/modern/streamedQuery.cjs.map +1 -0
  261. package/build/modern/streamedQuery.d.cts +1 -0
  262. package/build/modern/streamedQuery.d.ts +1 -0
  263. package/build/modern/streamedQuery.js +55 -0
  264. package/build/modern/streamedQuery.js.map +1 -0
  265. package/build/modern/subscribable.cjs +51 -0
  266. package/build/modern/subscribable.cjs.map +1 -0
  267. package/build/modern/subscribable.d.cts +1 -0
  268. package/build/modern/subscribable.d.ts +1 -0
  269. package/build/modern/subscribable.js +26 -0
  270. package/build/modern/subscribable.js.map +1 -0
  271. package/build/modern/thenable.cjs +75 -0
  272. package/build/modern/thenable.cjs.map +1 -0
  273. package/build/modern/thenable.d.cts +6 -0
  274. package/build/modern/thenable.d.ts +6 -0
  275. package/build/modern/thenable.js +49 -0
  276. package/build/modern/thenable.js.map +1 -0
  277. package/build/modern/timeoutManager.cjs +98 -0
  278. package/build/modern/timeoutManager.cjs.map +1 -0
  279. package/build/modern/timeoutManager.d.cts +7 -0
  280. package/build/modern/timeoutManager.d.ts +7 -0
  281. package/build/modern/timeoutManager.js +70 -0
  282. package/build/modern/timeoutManager.js.map +1 -0
  283. package/build/modern/types.cjs +37 -0
  284. package/build/modern/types.cjs.map +1 -0
  285. package/build/modern/types.d.cts +95 -0
  286. package/build/modern/types.d.ts +95 -0
  287. package/build/modern/types.js +10 -0
  288. package/build/modern/types.js.map +1 -0
  289. package/build/modern/utils.cjs +330 -0
  290. package/build/modern/utils.cjs.map +1 -0
  291. package/build/modern/utils.d.cts +30 -0
  292. package/build/modern/utils.d.ts +30 -0
  293. package/build/modern/utils.js +281 -0
  294. package/build/modern/utils.js.map +1 -0
  295. package/package.json +1 -1
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/infiniteQueryBehavior.ts
21
+ var infiniteQueryBehavior_exports = {};
22
+ __export(infiniteQueryBehavior_exports, {
23
+ hasNextPage: () => hasNextPage,
24
+ hasPreviousPage: () => hasPreviousPage,
25
+ infiniteQueryBehavior: () => infiniteQueryBehavior
26
+ });
27
+ module.exports = __toCommonJS(infiniteQueryBehavior_exports);
28
+ var import_utils = require("./utils.cjs");
29
+ function infiniteQueryBehavior(pages) {
30
+ return {
31
+ onFetch: (context, query) => {
32
+ const options = context.options;
33
+ const direction = context.fetchOptions?.meta?.fetchMore?.direction;
34
+ const oldPages = context.state.data?.pages || [];
35
+ const oldPageParams = context.state.data?.pageParams || [];
36
+ let result = { pages: [], pageParams: [] };
37
+ let currentPage = 0;
38
+ const fetchFn = async () => {
39
+ let cancelled = false;
40
+ const addSignalProperty = (object) => {
41
+ (0, import_utils.addConsumeAwareSignal)(
42
+ object,
43
+ () => context.signal,
44
+ () => cancelled = true
45
+ );
46
+ };
47
+ const queryFn = (0, import_utils.ensureQueryFn)(context.options, context.fetchOptions);
48
+ const fetchPage = async (data, param, previous) => {
49
+ if (cancelled) {
50
+ return Promise.reject();
51
+ }
52
+ if (param == null && data.pages.length) {
53
+ return Promise.resolve(data);
54
+ }
55
+ const createQueryFnContext = () => {
56
+ const queryFnContext2 = {
57
+ client: context.client,
58
+ queryKey: context.queryKey,
59
+ pageParam: param,
60
+ direction: previous ? "backward" : "forward",
61
+ meta: context.options.meta
62
+ };
63
+ addSignalProperty(queryFnContext2);
64
+ return queryFnContext2;
65
+ };
66
+ const queryFnContext = createQueryFnContext();
67
+ const page = await queryFn(queryFnContext);
68
+ const { maxPages } = context.options;
69
+ const addTo = previous ? import_utils.addToStart : import_utils.addToEnd;
70
+ return {
71
+ pages: addTo(data.pages, page, maxPages),
72
+ pageParams: addTo(data.pageParams, param, maxPages)
73
+ };
74
+ };
75
+ if (direction && oldPages.length) {
76
+ const previous = direction === "backward";
77
+ const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;
78
+ const oldData = {
79
+ pages: oldPages,
80
+ pageParams: oldPageParams
81
+ };
82
+ const param = pageParamFn(options, oldData);
83
+ result = await fetchPage(oldData, param, previous);
84
+ } else {
85
+ const remainingPages = pages ?? oldPages.length;
86
+ do {
87
+ const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);
88
+ if (currentPage > 0 && param == null) {
89
+ break;
90
+ }
91
+ result = await fetchPage(result, param);
92
+ currentPage++;
93
+ } while (currentPage < remainingPages);
94
+ }
95
+ return result;
96
+ };
97
+ if (context.options.persister) {
98
+ context.fetchFn = () => {
99
+ return context.options.persister?.(
100
+ fetchFn,
101
+ {
102
+ client: context.client,
103
+ queryKey: context.queryKey,
104
+ meta: context.options.meta,
105
+ signal: context.signal
106
+ },
107
+ query
108
+ );
109
+ };
110
+ } else {
111
+ context.fetchFn = fetchFn;
112
+ }
113
+ }
114
+ };
115
+ }
116
+ function getNextPageParam(options, { pages, pageParams }) {
117
+ const lastIndex = pages.length - 1;
118
+ return pages.length > 0 ? options.getNextPageParam(
119
+ pages[lastIndex],
120
+ pages,
121
+ pageParams[lastIndex],
122
+ pageParams
123
+ ) : void 0;
124
+ }
125
+ function getPreviousPageParam(options, { pages, pageParams }) {
126
+ return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;
127
+ }
128
+ function hasNextPage(options, data) {
129
+ if (!data) return false;
130
+ return getNextPageParam(options, data) != null;
131
+ }
132
+ function hasPreviousPage(options, data) {
133
+ if (!data || !options.getPreviousPageParam) return false;
134
+ return getPreviousPageParam(options, data) != null;
135
+ }
136
+ // Annotate the CommonJS export names for ESM import in node:
137
+ 0 && (module.exports = {
138
+ hasNextPage,
139
+ hasPreviousPage,
140
+ infiniteQueryBehavior
141
+ });
142
+ //# sourceMappingURL=infiniteQueryBehavior.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/infiniteQueryBehavior.ts"],"sourcesContent":["import {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n} from './utils'\nimport type { QueryBehavior } from './query'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(\n pages?: number,\n): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>> {\n return {\n onFetch: (context, query) => {\n const options = context.options as InfiniteQueryPageParamsOptions<TData>\n const direction = context.fetchOptions?.meta?.fetchMore?.direction\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let result: InfiniteData<unknown> = { pages: [], pageParams: [] }\n let currentPage = 0\n\n const fetchFn = async () => {\n let cancelled = false\n const addSignalProperty = (object: unknown) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => (cancelled = true),\n )\n }\n\n const queryFn = ensureQueryFn(context.options, context.fetchOptions)\n\n // Create function to fetch a page\n const fetchPage = async (\n data: InfiniteData<unknown>,\n param: unknown,\n previous?: boolean,\n ): Promise<InfiniteData<unknown>> => {\n if (cancelled) {\n return Promise.reject()\n }\n\n if (param == null && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const createQueryFnContext = () => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<QueryKey, unknown>,\n 'signal'\n > = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<QueryKey, unknown>\n }\n\n const queryFnContext = createQueryFnContext()\n\n const page = await queryFn(queryFnContext)\n\n const { maxPages } = context.options\n const addTo = previous ? addToStart : addToEnd\n\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages),\n }\n }\n\n // fetch next / previous page?\n if (direction && oldPages.length) {\n const previous = direction === 'backward'\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams,\n }\n const param = pageParamFn(options, oldData)\n\n result = await fetchPage(oldData, param, previous)\n } else {\n const remainingPages = pages ?? oldPages.length\n\n // Fetch all pages\n do {\n const param =\n currentPage === 0\n ? (oldPageParams[0] ?? options.initialPageParam)\n : getNextPageParam(options, result)\n if (currentPage > 0 && param == null) {\n break\n }\n result = await fetchPage(result, param)\n currentPage++\n } while (currentPage < remainingPages)\n }\n\n return result\n }\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn as any,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal,\n },\n query,\n )\n }\n } else {\n context.fetchFn = fetchFn\n }\n },\n }\n}\n\nfunction getNextPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n const lastIndex = pages.length - 1\n return pages.length > 0\n ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n : undefined\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n return pages.length > 0\n ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams)\n : undefined\n}\n\n/**\n * Checks if there is a next page.\n */\nexport function hasNextPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data) return false\n return getNextPageParam(options, data) != null\n}\n\n/**\n * Checks if there is a previous page.\n */\nexport function hasPreviousPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data || !options.getPreviousPageParam) return false\n return getPreviousPageParam(options, data) != null\n}\n"],"mappings":"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","names":["queryFnContext"]}
@@ -0,0 +1,3 @@
1
+ export { infiniteQueryBehavior } from './_tsup-dts-rollup.cjs';
2
+ export { hasNextPage } from './_tsup-dts-rollup.cjs';
3
+ export { hasPreviousPage } from './_tsup-dts-rollup.cjs';
@@ -0,0 +1,3 @@
1
+ export { infiniteQueryBehavior } from './_tsup-dts-rollup.js';
2
+ export { hasNextPage } from './_tsup-dts-rollup.js';
3
+ export { hasPreviousPage } from './_tsup-dts-rollup.js';
@@ -0,0 +1,120 @@
1
+ // src/infiniteQueryBehavior.ts
2
+ import {
3
+ addConsumeAwareSignal,
4
+ addToEnd,
5
+ addToStart,
6
+ ensureQueryFn
7
+ } from "./utils.js";
8
+ function infiniteQueryBehavior(pages) {
9
+ return {
10
+ onFetch: (context, query) => {
11
+ const options = context.options;
12
+ const direction = context.fetchOptions?.meta?.fetchMore?.direction;
13
+ const oldPages = context.state.data?.pages || [];
14
+ const oldPageParams = context.state.data?.pageParams || [];
15
+ let result = { pages: [], pageParams: [] };
16
+ let currentPage = 0;
17
+ const fetchFn = async () => {
18
+ let cancelled = false;
19
+ const addSignalProperty = (object) => {
20
+ addConsumeAwareSignal(
21
+ object,
22
+ () => context.signal,
23
+ () => cancelled = true
24
+ );
25
+ };
26
+ const queryFn = ensureQueryFn(context.options, context.fetchOptions);
27
+ const fetchPage = async (data, param, previous) => {
28
+ if (cancelled) {
29
+ return Promise.reject();
30
+ }
31
+ if (param == null && data.pages.length) {
32
+ return Promise.resolve(data);
33
+ }
34
+ const createQueryFnContext = () => {
35
+ const queryFnContext2 = {
36
+ client: context.client,
37
+ queryKey: context.queryKey,
38
+ pageParam: param,
39
+ direction: previous ? "backward" : "forward",
40
+ meta: context.options.meta
41
+ };
42
+ addSignalProperty(queryFnContext2);
43
+ return queryFnContext2;
44
+ };
45
+ const queryFnContext = createQueryFnContext();
46
+ const page = await queryFn(queryFnContext);
47
+ const { maxPages } = context.options;
48
+ const addTo = previous ? addToStart : addToEnd;
49
+ return {
50
+ pages: addTo(data.pages, page, maxPages),
51
+ pageParams: addTo(data.pageParams, param, maxPages)
52
+ };
53
+ };
54
+ if (direction && oldPages.length) {
55
+ const previous = direction === "backward";
56
+ const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;
57
+ const oldData = {
58
+ pages: oldPages,
59
+ pageParams: oldPageParams
60
+ };
61
+ const param = pageParamFn(options, oldData);
62
+ result = await fetchPage(oldData, param, previous);
63
+ } else {
64
+ const remainingPages = pages ?? oldPages.length;
65
+ do {
66
+ const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);
67
+ if (currentPage > 0 && param == null) {
68
+ break;
69
+ }
70
+ result = await fetchPage(result, param);
71
+ currentPage++;
72
+ } while (currentPage < remainingPages);
73
+ }
74
+ return result;
75
+ };
76
+ if (context.options.persister) {
77
+ context.fetchFn = () => {
78
+ return context.options.persister?.(
79
+ fetchFn,
80
+ {
81
+ client: context.client,
82
+ queryKey: context.queryKey,
83
+ meta: context.options.meta,
84
+ signal: context.signal
85
+ },
86
+ query
87
+ );
88
+ };
89
+ } else {
90
+ context.fetchFn = fetchFn;
91
+ }
92
+ }
93
+ };
94
+ }
95
+ function getNextPageParam(options, { pages, pageParams }) {
96
+ const lastIndex = pages.length - 1;
97
+ return pages.length > 0 ? options.getNextPageParam(
98
+ pages[lastIndex],
99
+ pages,
100
+ pageParams[lastIndex],
101
+ pageParams
102
+ ) : void 0;
103
+ }
104
+ function getPreviousPageParam(options, { pages, pageParams }) {
105
+ return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;
106
+ }
107
+ function hasNextPage(options, data) {
108
+ if (!data) return false;
109
+ return getNextPageParam(options, data) != null;
110
+ }
111
+ function hasPreviousPage(options, data) {
112
+ if (!data || !options.getPreviousPageParam) return false;
113
+ return getPreviousPageParam(options, data) != null;
114
+ }
115
+ export {
116
+ hasNextPage,
117
+ hasPreviousPage,
118
+ infiniteQueryBehavior
119
+ };
120
+ //# sourceMappingURL=infiniteQueryBehavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/infiniteQueryBehavior.ts"],"sourcesContent":["import {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n} from './utils'\nimport type { QueryBehavior } from './query'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(\n pages?: number,\n): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>> {\n return {\n onFetch: (context, query) => {\n const options = context.options as InfiniteQueryPageParamsOptions<TData>\n const direction = context.fetchOptions?.meta?.fetchMore?.direction\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let result: InfiniteData<unknown> = { pages: [], pageParams: [] }\n let currentPage = 0\n\n const fetchFn = async () => {\n let cancelled = false\n const addSignalProperty = (object: unknown) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => (cancelled = true),\n )\n }\n\n const queryFn = ensureQueryFn(context.options, context.fetchOptions)\n\n // Create function to fetch a page\n const fetchPage = async (\n data: InfiniteData<unknown>,\n param: unknown,\n previous?: boolean,\n ): Promise<InfiniteData<unknown>> => {\n if (cancelled) {\n return Promise.reject()\n }\n\n if (param == null && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const createQueryFnContext = () => {\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<QueryKey, unknown>,\n 'signal'\n > = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n addSignalProperty(queryFnContext)\n return queryFnContext as QueryFunctionContext<QueryKey, unknown>\n }\n\n const queryFnContext = createQueryFnContext()\n\n const page = await queryFn(queryFnContext)\n\n const { maxPages } = context.options\n const addTo = previous ? addToStart : addToEnd\n\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages),\n }\n }\n\n // fetch next / previous page?\n if (direction && oldPages.length) {\n const previous = direction === 'backward'\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams,\n }\n const param = pageParamFn(options, oldData)\n\n result = await fetchPage(oldData, param, previous)\n } else {\n const remainingPages = pages ?? oldPages.length\n\n // Fetch all pages\n do {\n const param =\n currentPage === 0\n ? (oldPageParams[0] ?? options.initialPageParam)\n : getNextPageParam(options, result)\n if (currentPage > 0 && param == null) {\n break\n }\n result = await fetchPage(result, param)\n currentPage++\n } while (currentPage < remainingPages)\n }\n\n return result\n }\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn as any,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal,\n },\n query,\n )\n }\n } else {\n context.fetchFn = fetchFn\n }\n },\n }\n}\n\nfunction getNextPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n const lastIndex = pages.length - 1\n return pages.length > 0\n ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n : undefined\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n return pages.length > 0\n ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams)\n : undefined\n}\n\n/**\n * Checks if there is a next page.\n */\nexport function hasNextPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data) return false\n return getNextPageParam(options, data) != null\n}\n\n/**\n * Checks if there is a previous page.\n */\nexport function hasPreviousPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data || !options.getPreviousPageParam) return false\n return getPreviousPageParam(options, data) != null\n}\n"],"mappings":"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","names":["queryFnContext"]}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/infiniteQueryObserver.ts
21
+ var infiniteQueryObserver_exports = {};
22
+ __export(infiniteQueryObserver_exports, {
23
+ InfiniteQueryObserver: () => InfiniteQueryObserver
24
+ });
25
+ module.exports = __toCommonJS(infiniteQueryObserver_exports);
26
+ var import_queryObserver = require("./queryObserver.cjs");
27
+ var import_infiniteQueryBehavior = require("./infiniteQueryBehavior.cjs");
28
+ var InfiniteQueryObserver = class extends import_queryObserver.QueryObserver {
29
+ constructor(client, options) {
30
+ super(client, options);
31
+ }
32
+ bindMethods() {
33
+ super.bindMethods();
34
+ this.fetchNextPage = this.fetchNextPage.bind(this);
35
+ this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
36
+ }
37
+ setOptions(options) {
38
+ super.setOptions({
39
+ ...options,
40
+ behavior: (0, import_infiniteQueryBehavior.infiniteQueryBehavior)()
41
+ });
42
+ }
43
+ getOptimisticResult(options) {
44
+ options.behavior = (0, import_infiniteQueryBehavior.infiniteQueryBehavior)();
45
+ return super.getOptimisticResult(options);
46
+ }
47
+ fetchNextPage(options) {
48
+ return this.fetch({
49
+ ...options,
50
+ meta: {
51
+ fetchMore: { direction: "forward" }
52
+ }
53
+ });
54
+ }
55
+ fetchPreviousPage(options) {
56
+ return this.fetch({
57
+ ...options,
58
+ meta: {
59
+ fetchMore: { direction: "backward" }
60
+ }
61
+ });
62
+ }
63
+ createResult(query, options) {
64
+ const { state } = query;
65
+ const parentResult = super.createResult(query, options);
66
+ const { isFetching, isRefetching, isError, isRefetchError } = parentResult;
67
+ const fetchDirection = state.fetchMeta?.fetchMore?.direction;
68
+ const isFetchNextPageError = isError && fetchDirection === "forward";
69
+ const isFetchingNextPage = isFetching && fetchDirection === "forward";
70
+ const isFetchPreviousPageError = isError && fetchDirection === "backward";
71
+ const isFetchingPreviousPage = isFetching && fetchDirection === "backward";
72
+ const result = {
73
+ ...parentResult,
74
+ fetchNextPage: this.fetchNextPage,
75
+ fetchPreviousPage: this.fetchPreviousPage,
76
+ hasNextPage: (0, import_infiniteQueryBehavior.hasNextPage)(options, state.data),
77
+ hasPreviousPage: (0, import_infiniteQueryBehavior.hasPreviousPage)(options, state.data),
78
+ isFetchNextPageError,
79
+ isFetchingNextPage,
80
+ isFetchPreviousPageError,
81
+ isFetchingPreviousPage,
82
+ isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,
83
+ isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
84
+ };
85
+ return result;
86
+ }
87
+ };
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ InfiniteQueryObserver
91
+ });
92
+ //# sourceMappingURL=infiniteQueryObserver.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Subscribable } from './subscribable'\nimport type {\n DefaultError,\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverBaseResult,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\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 = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey\n> {\n // Type override\n subscribe!: Subscribable<\n InfiniteQueryObserverListener<TData, TError>\n >['subscribe']\n\n // Type override\n getCurrentResult!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey\n >['getCurrentResult'],\n InfiniteQueryObserverResult<TData, TError>\n >\n\n // Type override\n protected fetch!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey\n >['fetch'],\n Promise<InfiniteQueryObserverResult<TData, TError>>\n >\n\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\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 TQueryKey,\n TPageParam\n >,\n ): void {\n super.setOptions({\n ...options,\n behavior: infiniteQueryBehavior(),\n })\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\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(\n options?: FetchPreviousPageOptions,\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<\n TQueryFnData,\n TError,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey\n >,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const parentResult = super.createResult(query, options)\n\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult\n const fetchDirection = state.fetchMeta?.fetchMore?.direction\n\n const isFetchNextPageError = isError && fetchDirection === 'forward'\n const isFetchingNextPage = isFetching && fetchDirection === 'forward'\n\n const isFetchPreviousPageError = isError && fetchDirection === 'backward'\n const isFetchingPreviousPage = isFetching && fetchDirection === 'backward'\n\n const result: InfiniteQueryObserverBaseResult<TData, TError> = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError:\n isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n\n return result as InfiniteQueryObserverResult<TData, TError>\n }\n}\n\ntype ReplaceReturnType<\n TFunction extends (...args: Array<any>) => unknown,\n TReturn,\n> = (...args: Parameters<TFunction>) => TReturn\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAA8B;AAC9B,mCAIO;AAoBA,IAAM,wBAAN,cAMG,mCAMR;AAAA,EA8BA,YACE,QACA,SAOA;AACA,UAAM,QAAQ,OAAO;AAAA,EACvB;AAAA,EAEU,cAAoB;AAC5B,UAAM,YAAY;AAClB,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AAAA,EAC3D;AAAA,EAEA,WACE,SAOM;AACN,UAAM,WAAW;AAAA,MACf,GAAG;AAAA,MACH,cAAU,oDAAsB;AAAA,IAClC,CAAC;AAAA,EACH;AAAA,EAEA,oBACE,SAO4C;AAC5C,YAAQ,eAAW,oDAAsB;AACzC,WAAO,MAAM,oBAAoB,OAAO;AAAA,EAI1C;AAAA,EAEA,cACE,SACqD;AACrD,WAAO,KAAK,MAAM;AAAA,MAChB,GAAG;AAAA,MACH,MAAM;AAAA,QACJ,WAAW,EAAE,WAAW,UAAU;AAAA,MACpC;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,kBACE,SACqD;AACrD,WAAO,KAAK,MAAM;AAAA,MAChB,GAAG;AAAA,MACH,MAAM;AAAA,QACJ,WAAW,EAAE,WAAW,WAAW;AAAA,MACrC;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,aACR,OAMA,SAO4C;AAC5C,UAAM,EAAE,MAAM,IAAI;AAClB,UAAM,eAAe,MAAM,aAAa,OAAO,OAAO;AAEtD,UAAM,EAAE,YAAY,cAAc,SAAS,eAAe,IAAI;AAC9D,UAAM,iBAAiB,MAAM,WAAW,WAAW;AAEnD,UAAM,uBAAuB,WAAW,mBAAmB;AAC3D,UAAM,qBAAqB,cAAc,mBAAmB;AAE5D,UAAM,2BAA2B,WAAW,mBAAmB;AAC/D,UAAM,yBAAyB,cAAc,mBAAmB;AAEhE,UAAM,SAAyD;AAAA,MAC7D,GAAG;AAAA,MACH,eAAe,KAAK;AAAA,MACpB,mBAAmB,KAAK;AAAA,MACxB,iBAAa,0CAAY,SAAS,MAAM,IAAI;AAAA,MAC5C,qBAAiB,8CAAgB,SAAS,MAAM,IAAI;AAAA,MACpD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBACE,kBAAkB,CAAC,wBAAwB,CAAC;AAAA,MAC9C,cACE,gBAAgB,CAAC,sBAAsB,CAAC;AAAA,IAC5C;AAEA,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1 @@
1
+ export { InfiniteQueryObserver_alias_1 as InfiniteQueryObserver } from './_tsup-dts-rollup.cjs';
@@ -0,0 +1 @@
1
+ export { InfiniteQueryObserver_alias_1 as InfiniteQueryObserver } from './_tsup-dts-rollup.js';
@@ -0,0 +1,71 @@
1
+ // src/infiniteQueryObserver.ts
2
+ import { QueryObserver } from "./queryObserver.js";
3
+ import {
4
+ hasNextPage,
5
+ hasPreviousPage,
6
+ infiniteQueryBehavior
7
+ } from "./infiniteQueryBehavior.js";
8
+ var InfiniteQueryObserver = class extends QueryObserver {
9
+ constructor(client, options) {
10
+ super(client, options);
11
+ }
12
+ bindMethods() {
13
+ super.bindMethods();
14
+ this.fetchNextPage = this.fetchNextPage.bind(this);
15
+ this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
16
+ }
17
+ setOptions(options) {
18
+ super.setOptions({
19
+ ...options,
20
+ behavior: infiniteQueryBehavior()
21
+ });
22
+ }
23
+ getOptimisticResult(options) {
24
+ options.behavior = infiniteQueryBehavior();
25
+ return super.getOptimisticResult(options);
26
+ }
27
+ fetchNextPage(options) {
28
+ return this.fetch({
29
+ ...options,
30
+ meta: {
31
+ fetchMore: { direction: "forward" }
32
+ }
33
+ });
34
+ }
35
+ fetchPreviousPage(options) {
36
+ return this.fetch({
37
+ ...options,
38
+ meta: {
39
+ fetchMore: { direction: "backward" }
40
+ }
41
+ });
42
+ }
43
+ createResult(query, options) {
44
+ const { state } = query;
45
+ const parentResult = super.createResult(query, options);
46
+ const { isFetching, isRefetching, isError, isRefetchError } = parentResult;
47
+ const fetchDirection = state.fetchMeta?.fetchMore?.direction;
48
+ const isFetchNextPageError = isError && fetchDirection === "forward";
49
+ const isFetchingNextPage = isFetching && fetchDirection === "forward";
50
+ const isFetchPreviousPageError = isError && fetchDirection === "backward";
51
+ const isFetchingPreviousPage = isFetching && fetchDirection === "backward";
52
+ const result = {
53
+ ...parentResult,
54
+ fetchNextPage: this.fetchNextPage,
55
+ fetchPreviousPage: this.fetchPreviousPage,
56
+ hasNextPage: hasNextPage(options, state.data),
57
+ hasPreviousPage: hasPreviousPage(options, state.data),
58
+ isFetchNextPageError,
59
+ isFetchingNextPage,
60
+ isFetchPreviousPageError,
61
+ isFetchingPreviousPage,
62
+ isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,
63
+ isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
64
+ };
65
+ return result;
66
+ }
67
+ };
68
+ export {
69
+ InfiniteQueryObserver
70
+ };
71
+ //# sourceMappingURL=infiniteQueryObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Subscribable } from './subscribable'\nimport type {\n DefaultError,\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverBaseResult,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\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 = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey\n> {\n // Type override\n subscribe!: Subscribable<\n InfiniteQueryObserverListener<TData, TError>\n >['subscribe']\n\n // Type override\n getCurrentResult!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey\n >['getCurrentResult'],\n InfiniteQueryObserverResult<TData, TError>\n >\n\n // Type override\n protected fetch!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey\n >['fetch'],\n Promise<InfiniteQueryObserverResult<TData, TError>>\n >\n\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\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 TQueryKey,\n TPageParam\n >,\n ): void {\n super.setOptions({\n ...options,\n behavior: infiniteQueryBehavior(),\n })\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\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(\n options?: FetchPreviousPageOptions,\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<\n TQueryFnData,\n TError,\n InfiniteData<TQueryFnData, TPageParam>,\n TQueryKey\n >,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const parentResult = super.createResult(query, options)\n\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult\n const fetchDirection = state.fetchMeta?.fetchMore?.direction\n\n const isFetchNextPageError = isError && fetchDirection === 'forward'\n const isFetchingNextPage = isFetching && fetchDirection === 'forward'\n\n const isFetchPreviousPageError = isError && fetchDirection === 'backward'\n const isFetchingPreviousPage = isFetching && fetchDirection === 'backward'\n\n const result: InfiniteQueryObserverBaseResult<TData, TError> = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError:\n isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n\n return result as InfiniteQueryObserverResult<TData, TError>\n }\n}\n\ntype ReplaceReturnType<\n TFunction extends (...args: Array<any>) => unknown,\n TReturn,\n> = (...args: Parameters<TFunction>) => TReturn\n"],"mappings":";AAAA,SAAS,qBAAqB;AAC9B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAoBA,IAAM,wBAAN,cAMG,cAMR;AAAA,EA8BA,YACE,QACA,SAOA;AACA,UAAM,QAAQ,OAAO;AAAA,EACvB;AAAA,EAEU,cAAoB;AAC5B,UAAM,YAAY;AAClB,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AAAA,EAC3D;AAAA,EAEA,WACE,SAOM;AACN,UAAM,WAAW;AAAA,MACf,GAAG;AAAA,MACH,UAAU,sBAAsB;AAAA,IAClC,CAAC;AAAA,EACH;AAAA,EAEA,oBACE,SAO4C;AAC5C,YAAQ,WAAW,sBAAsB;AACzC,WAAO,MAAM,oBAAoB,OAAO;AAAA,EAI1C;AAAA,EAEA,cACE,SACqD;AACrD,WAAO,KAAK,MAAM;AAAA,MAChB,GAAG;AAAA,MACH,MAAM;AAAA,QACJ,WAAW,EAAE,WAAW,UAAU;AAAA,MACpC;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,kBACE,SACqD;AACrD,WAAO,KAAK,MAAM;AAAA,MAChB,GAAG;AAAA,MACH,MAAM;AAAA,QACJ,WAAW,EAAE,WAAW,WAAW;AAAA,MACrC;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEU,aACR,OAMA,SAO4C;AAC5C,UAAM,EAAE,MAAM,IAAI;AAClB,UAAM,eAAe,MAAM,aAAa,OAAO,OAAO;AAEtD,UAAM,EAAE,YAAY,cAAc,SAAS,eAAe,IAAI;AAC9D,UAAM,iBAAiB,MAAM,WAAW,WAAW;AAEnD,UAAM,uBAAuB,WAAW,mBAAmB;AAC3D,UAAM,qBAAqB,cAAc,mBAAmB;AAE5D,UAAM,2BAA2B,WAAW,mBAAmB;AAC/D,UAAM,yBAAyB,cAAc,mBAAmB;AAEhE,UAAM,SAAyD;AAAA,MAC7D,GAAG;AAAA,MACH,eAAe,KAAK;AAAA,MACpB,mBAAmB,KAAK;AAAA,MACxB,aAAa,YAAY,SAAS,MAAM,IAAI;AAAA,MAC5C,iBAAiB,gBAAgB,SAAS,MAAM,IAAI;AAAA,MACpD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBACE,kBAAkB,CAAC,wBAAwB,CAAC;AAAA,MAC9C,cACE,gBAAgB,CAAC,sBAAsB,CAAC;AAAA,IAC5C;AAEA,WAAO;AAAA,EACT;AACF;","names":[]}