@tanstack/query-core 5.0.0-alpha.61 → 5.0.0-alpha.63

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 (81) hide show
  1. package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.cjs +16 -0
  2. package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.cjs.map +1 -0
  3. package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.js +13 -0
  4. package/build/lib/_virtual/_rollupPluginBabelHelpers.legacy.js.map +1 -0
  5. package/build/lib/focusManager.legacy.cjs +90 -0
  6. package/build/lib/focusManager.legacy.cjs.map +1 -0
  7. package/build/lib/focusManager.legacy.js +87 -0
  8. package/build/lib/focusManager.legacy.js.map +1 -0
  9. package/build/lib/hydration.legacy.cjs +92 -0
  10. package/build/lib/hydration.legacy.cjs.map +1 -0
  11. package/build/lib/hydration.legacy.js +87 -0
  12. package/build/lib/hydration.legacy.js.map +1 -0
  13. package/build/lib/index.legacy.cjs +40 -0
  14. package/build/lib/index.legacy.cjs.map +1 -0
  15. package/build/lib/index.legacy.js +14 -0
  16. package/build/lib/index.legacy.js.map +1 -0
  17. package/build/lib/infiniteQueryBehavior.legacy.cjs +131 -0
  18. package/build/lib/infiniteQueryBehavior.legacy.cjs.map +1 -0
  19. package/build/lib/infiniteQueryBehavior.legacy.js +127 -0
  20. package/build/lib/infiniteQueryBehavior.legacy.js.map +1 -0
  21. package/build/lib/infiniteQueryObserver.legacy.cjs +78 -0
  22. package/build/lib/infiniteQueryObserver.legacy.cjs.map +1 -0
  23. package/build/lib/infiniteQueryObserver.legacy.js +76 -0
  24. package/build/lib/infiniteQueryObserver.legacy.js.map +1 -0
  25. package/build/lib/mutation.legacy.cjs +262 -0
  26. package/build/lib/mutation.legacy.cjs.map +1 -0
  27. package/build/lib/mutation.legacy.js +259 -0
  28. package/build/lib/mutation.legacy.js.map +1 -0
  29. package/build/lib/mutationCache.legacy.cjs +98 -0
  30. package/build/lib/mutationCache.legacy.cjs.map +1 -0
  31. package/build/lib/mutationCache.legacy.js +96 -0
  32. package/build/lib/mutationCache.legacy.js.map +1 -0
  33. package/build/lib/mutationObserver.legacy.cjs +128 -0
  34. package/build/lib/mutationObserver.legacy.cjs.map +1 -0
  35. package/build/lib/mutationObserver.legacy.js +126 -0
  36. package/build/lib/mutationObserver.legacy.js.map +1 -0
  37. package/build/lib/notifyManager.legacy.cjs +92 -0
  38. package/build/lib/notifyManager.legacy.cjs.map +1 -0
  39. package/build/lib/notifyManager.legacy.js +89 -0
  40. package/build/lib/notifyManager.legacy.js.map +1 -0
  41. package/build/lib/onlineManager.legacy.cjs +94 -0
  42. package/build/lib/onlineManager.legacy.cjs.map +1 -0
  43. package/build/lib/onlineManager.legacy.js +91 -0
  44. package/build/lib/onlineManager.legacy.js.map +1 -0
  45. package/build/lib/queriesObserver.legacy.cjs +207 -0
  46. package/build/lib/queriesObserver.legacy.cjs.map +1 -0
  47. package/build/lib/queriesObserver.legacy.js +205 -0
  48. package/build/lib/queriesObserver.legacy.js.map +1 -0
  49. package/build/lib/query.legacy.cjs +471 -0
  50. package/build/lib/query.legacy.cjs.map +1 -0
  51. package/build/lib/query.legacy.js +469 -0
  52. package/build/lib/query.legacy.js.map +1 -0
  53. package/build/lib/queryCache.legacy.cjs +111 -0
  54. package/build/lib/queryCache.legacy.cjs.map +1 -0
  55. package/build/lib/queryCache.legacy.js +109 -0
  56. package/build/lib/queryCache.legacy.js.map +1 -0
  57. package/build/lib/queryClient.legacy.cjs +322 -0
  58. package/build/lib/queryClient.legacy.cjs.map +1 -0
  59. package/build/lib/queryClient.legacy.js +320 -0
  60. package/build/lib/queryClient.legacy.js.map +1 -0
  61. package/build/lib/queryObserver.legacy.cjs +526 -0
  62. package/build/lib/queryObserver.legacy.cjs.map +1 -0
  63. package/build/lib/queryObserver.legacy.js +524 -0
  64. package/build/lib/queryObserver.legacy.js.map +1 -0
  65. package/build/lib/removable.legacy.cjs +38 -0
  66. package/build/lib/removable.legacy.cjs.map +1 -0
  67. package/build/lib/removable.legacy.js +36 -0
  68. package/build/lib/removable.legacy.js.map +1 -0
  69. package/build/lib/retryer.legacy.cjs +158 -0
  70. package/build/lib/retryer.legacy.cjs.map +1 -0
  71. package/build/lib/retryer.legacy.js +153 -0
  72. package/build/lib/retryer.legacy.js.map +1 -0
  73. package/build/lib/subscribable.legacy.cjs +28 -0
  74. package/build/lib/subscribable.legacy.cjs.map +1 -0
  75. package/build/lib/subscribable.legacy.js +26 -0
  76. package/build/lib/subscribable.legacy.js.map +1 -0
  77. package/build/lib/utils.legacy.cjs +248 -0
  78. package/build/lib/utils.legacy.cjs.map +1 -0
  79. package/build/lib/utils.legacy.js +227 -0
  80. package/build/lib/utils.legacy.js.map +1 -0
  81. package/package.json +3 -3
@@ -0,0 +1,131 @@
1
+ 'use strict';
2
+
3
+ var utils = require('./utils.legacy.cjs');
4
+
5
+ function infiniteQueryBehavior() {
6
+ return {
7
+ onFetch: context => {
8
+ context.fetchFn = async () => {
9
+ var _context$fetchOptions, _context$fetchOptions2, _context$fetchOptions3, _context$state$data, _context$state$data2;
10
+ const options = context.options;
11
+ const direction = (_context$fetchOptions = context.fetchOptions) == null ? void 0 : (_context$fetchOptions2 = _context$fetchOptions.meta) == null ? void 0 : (_context$fetchOptions3 = _context$fetchOptions2.fetchMore) == null ? void 0 : _context$fetchOptions3.direction;
12
+ const oldPages = ((_context$state$data = context.state.data) == null ? void 0 : _context$state$data.pages) || [];
13
+ const oldPageParams = ((_context$state$data2 = context.state.data) == null ? void 0 : _context$state$data2.pageParams) || [];
14
+ const empty = {
15
+ pages: [],
16
+ pageParams: []
17
+ };
18
+ let cancelled = false;
19
+ const addSignalProperty = object => {
20
+ Object.defineProperty(object, 'signal', {
21
+ enumerable: true,
22
+ get: () => {
23
+ if (context.signal.aborted) {
24
+ cancelled = true;
25
+ } else {
26
+ context.signal.addEventListener('abort', () => {
27
+ cancelled = true;
28
+ });
29
+ }
30
+ return context.signal;
31
+ }
32
+ });
33
+ };
34
+
35
+ // Get query function
36
+ const queryFn = context.options.queryFn || (() => Promise.reject(new Error('Missing queryFn')));
37
+
38
+ // Create function to fetch a page
39
+ const fetchPage = async (data, param, previous) => {
40
+ if (cancelled) {
41
+ return Promise.reject();
42
+ }
43
+ if (typeof param === 'undefined' && data.pages.length) {
44
+ return Promise.resolve(data);
45
+ }
46
+ const queryFnContext = {
47
+ queryKey: context.queryKey,
48
+ pageParam: param,
49
+ direction: previous ? 'backward' : 'forward',
50
+ meta: context.options.meta
51
+ };
52
+ addSignalProperty(queryFnContext);
53
+ const page = await queryFn(queryFnContext);
54
+ const {
55
+ maxPages
56
+ } = context.options;
57
+ const addTo = previous ? utils.addToStart : utils.addToEnd;
58
+ return {
59
+ pages: addTo(data.pages, page, maxPages),
60
+ pageParams: addTo(data.pageParams, param, maxPages)
61
+ };
62
+ };
63
+ let result;
64
+
65
+ // Fetch first page?
66
+ if (!oldPages.length) {
67
+ result = await fetchPage(empty, options.defaultPageParam);
68
+ }
69
+
70
+ // fetch next / previous page?
71
+ else if (direction) {
72
+ const previous = direction === 'backward';
73
+ const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;
74
+ const oldData = {
75
+ pages: oldPages,
76
+ pageParams: oldPageParams
77
+ };
78
+ const param = pageParamFn(options, oldData);
79
+ result = await fetchPage(oldData, param, previous);
80
+ }
81
+
82
+ // Refetch pages
83
+ else {
84
+ // Fetch first page
85
+ result = await fetchPage(empty, oldPageParams[0]);
86
+
87
+ // Fetch remaining pages
88
+ for (let i = 1; i < oldPages.length; i++) {
89
+ const param = getNextPageParam(options, result);
90
+ result = await fetchPage(result, param);
91
+ }
92
+ }
93
+ return result;
94
+ };
95
+ }
96
+ };
97
+ }
98
+ function getNextPageParam(options, {
99
+ pages,
100
+ pageParams
101
+ }) {
102
+ const lastIndex = pages.length - 1;
103
+ return options.getNextPageParam(pages[lastIndex], pages, pageParams[lastIndex], pageParams);
104
+ }
105
+ function getPreviousPageParam(options, {
106
+ pages,
107
+ pageParams
108
+ }) {
109
+ return options.getPreviousPageParam == null ? void 0 : options.getPreviousPageParam(pages[0], pages, pageParams[0], pageParams);
110
+ }
111
+
112
+ /**
113
+ * Checks if there is a next page.
114
+ */
115
+ function hasNextPage(options, data) {
116
+ if (!data) return false;
117
+ return typeof getNextPageParam(options, data) !== 'undefined';
118
+ }
119
+
120
+ /**
121
+ * Checks if there is a previous page.
122
+ */
123
+ function hasPreviousPage(options, data) {
124
+ if (!data || !options.getPreviousPageParam) return false;
125
+ return typeof getPreviousPageParam(options, data) !== 'undefined';
126
+ }
127
+
128
+ exports.hasNextPage = hasNextPage;
129
+ exports.hasPreviousPage = hasPreviousPage;
130
+ exports.infiniteQueryBehavior = infiniteQueryBehavior;
131
+ //# sourceMappingURL=infiniteQueryBehavior.legacy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infiniteQueryBehavior.legacy.cjs","sources":["../../src/infiniteQueryBehavior.ts"],"sourcesContent":["import type { QueryBehavior } from './query'\nimport { addToEnd, addToStart } from './utils'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n>(): QueryBehavior<TQueryFnData, TError, InfiniteData<TData>> {\n return {\n onFetch: (context) => {\n context.fetchFn = async () => {\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 const empty = { pages: [], pageParams: [] }\n let cancelled = false\n\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true\n } else {\n context.signal.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n // Get query function\n const queryFn =\n context.options.queryFn ||\n (() => Promise.reject(new Error('Missing queryFn')))\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 (typeof param === 'undefined' && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const queryFnContext: Omit<\n QueryFunctionContext<QueryKey, unknown>,\n 'signal'\n > = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const page = await queryFn(\n queryFnContext as QueryFunctionContext<QueryKey, unknown>,\n )\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 let result: InfiniteData<unknown>\n\n // Fetch first page?\n if (!oldPages.length) {\n result = await fetchPage(empty, options.defaultPageParam)\n }\n\n // fetch next / previous page?\n else if (direction) {\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 }\n\n // Refetch pages\n else {\n // Fetch first page\n result = await fetchPage(empty, oldPageParams[0])\n\n // Fetch remaining pages\n for (let i = 1; i < oldPages.length; i++) {\n const param = getNextPageParam(options, result)\n result = await fetchPage(result, param)\n }\n }\n\n return result\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 options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n return options.getPreviousPageParam?.(\n pages[0],\n pages,\n pageParams[0],\n pageParams,\n )\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 typeof getNextPageParam(options, data) !== 'undefined'\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 typeof getPreviousPageParam(options, data) !== 'undefined'\n}\n"],"names":["infiniteQueryBehavior","onFetch","context","fetchFn","_context$fetchOptions","_context$fetchOptions2","_context$fetchOptions3","_context$state$data","_context$state$data2","options","direction","fetchOptions","meta","fetchMore","oldPages","state","data","pages","oldPageParams","pageParams","empty","cancelled","addSignalProperty","object","Object","defineProperty","enumerable","get","signal","aborted","addEventListener","queryFn","Promise","reject","Error","fetchPage","param","previous","length","resolve","queryFnContext","queryKey","pageParam","page","maxPages","addTo","addToStart","addToEnd","result","defaultPageParam","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","i","lastIndex","hasNextPage","hasPreviousPage"],"mappings":";;;;AASO,SAASA,qBAAqBA,GAIyB;EAC5D,OAAO;IACLC,OAAO,EAAGC,OAAO,IAAK;MACpBA,OAAO,CAACC,OAAO,GAAG,YAAY;QAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,mBAAA,EAAAC,oBAAA,CAAA;AAC5B,QAAA,MAAMC,OAAO,GAAGP,OAAO,CAACO,OAAgD,CAAA;QACxE,MAAMC,SAAS,IAAAN,qBAAA,GAAGF,OAAO,CAACS,YAAY,KAAAN,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,sBAAA,GAApBD,qBAAA,CAAsBQ,IAAI,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,CAAAN,sBAAA,GAA1BD,sBAAA,CAA4BQ,SAAS,KAAA,IAAA,GAAA,KAAA,CAAA,GAArCP,sBAAA,CAAuCI,SAAS,CAAA;AAClE,QAAA,MAAMI,QAAQ,GAAG,CAAAP,CAAAA,mBAAA,GAAAL,OAAO,CAACa,KAAK,CAACC,IAAI,KAAlBT,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAoBU,KAAK,KAAI,EAAE,CAAA;AAChD,QAAA,MAAMC,aAAa,GAAG,CAAAV,CAAAA,oBAAA,GAAAN,OAAO,CAACa,KAAK,CAACC,IAAI,KAAlBR,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAoBW,UAAU,KAAI,EAAE,CAAA;AAC1D,QAAA,MAAMC,KAAK,GAAG;AAAEH,UAAAA,KAAK,EAAE,EAAE;AAAEE,UAAAA,UAAU,EAAE,EAAA;SAAI,CAAA;QAC3C,IAAIE,SAAS,GAAG,KAAK,CAAA;QAErB,MAAMC,iBAAiB,GAAIC,MAAe,IAAK;AAC7CC,UAAAA,MAAM,CAACC,cAAc,CAACF,MAAM,EAAE,QAAQ,EAAE;AACtCG,YAAAA,UAAU,EAAE,IAAI;YAChBC,GAAG,EAAEA,MAAM;AACT,cAAA,IAAIzB,OAAO,CAAC0B,MAAM,CAACC,OAAO,EAAE;AAC1BR,gBAAAA,SAAS,GAAG,IAAI,CAAA;AAClB,eAAC,MAAM;AACLnB,gBAAAA,OAAO,CAAC0B,MAAM,CAACE,gBAAgB,CAAC,OAAO,EAAE,MAAM;AAC7CT,kBAAAA,SAAS,GAAG,IAAI,CAAA;AAClB,iBAAC,CAAC,CAAA;AACJ,eAAA;cACA,OAAOnB,OAAO,CAAC0B,MAAM,CAAA;AACvB,aAAA;AACF,WAAC,CAAC,CAAA;SACH,CAAA;;AAED;AACA,QAAA,MAAMG,OAAO,GACX7B,OAAO,CAACO,OAAO,CAACsB,OAAO,KACtB,MAAMC,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;;AAEtD;QACA,MAAMC,SAAS,GAAG,OAChBnB,IAA2B,EAC3BoB,KAAc,EACdC,QAAkB,KACiB;AACnC,UAAA,IAAIhB,SAAS,EAAE;AACb,YAAA,OAAOW,OAAO,CAACC,MAAM,EAAE,CAAA;AACzB,WAAA;UAEA,IAAI,OAAOG,KAAK,KAAK,WAAW,IAAIpB,IAAI,CAACC,KAAK,CAACqB,MAAM,EAAE;AACrD,YAAA,OAAON,OAAO,CAACO,OAAO,CAACvB,IAAI,CAAC,CAAA;AAC9B,WAAA;AAEA,UAAA,MAAMwB,cAGL,GAAG;YACFC,QAAQ,EAAEvC,OAAO,CAACuC,QAAQ;AAC1BC,YAAAA,SAAS,EAAEN,KAAK;AAChB1B,YAAAA,SAAS,EAAE2B,QAAQ,GAAG,UAAU,GAAG,SAAS;AAC5CzB,YAAAA,IAAI,EAAEV,OAAO,CAACO,OAAO,CAACG,IAAAA;WACvB,CAAA;UAEDU,iBAAiB,CAACkB,cAAc,CAAC,CAAA;AAEjC,UAAA,MAAMG,IAAI,GAAG,MAAMZ,OAAO,CACxBS,cACF,CAAC,CAAA;UAED,MAAM;AAAEI,YAAAA,QAAAA;WAAU,GAAG1C,OAAO,CAACO,OAAO,CAAA;AACpC,UAAA,MAAMoC,KAAK,GAAGR,QAAQ,GAAGS,gBAAU,GAAGC,cAAQ,CAAA;UAE9C,OAAO;YACL9B,KAAK,EAAE4B,KAAK,CAAC7B,IAAI,CAACC,KAAK,EAAE0B,IAAI,EAAEC,QAAQ,CAAC;YACxCzB,UAAU,EAAE0B,KAAK,CAAC7B,IAAI,CAACG,UAAU,EAAEiB,KAAK,EAAEQ,QAAQ,CAAA;WACnD,CAAA;SACF,CAAA;AAED,QAAA,IAAII,MAA6B,CAAA;;AAEjC;AACA,QAAA,IAAI,CAAClC,QAAQ,CAACwB,MAAM,EAAE;UACpBU,MAAM,GAAG,MAAMb,SAAS,CAACf,KAAK,EAAEX,OAAO,CAACwC,gBAAgB,CAAC,CAAA;AAC3D,SAAA;;AAEA;aACK,IAAIvC,SAAS,EAAE;AAClB,UAAA,MAAM2B,QAAQ,GAAG3B,SAAS,KAAK,UAAU,CAAA;AACzC,UAAA,MAAMwC,WAAW,GAAGb,QAAQ,GAAGc,oBAAoB,GAAGC,gBAAgB,CAAA;AACtE,UAAA,MAAMC,OAAO,GAAG;AACdpC,YAAAA,KAAK,EAAEH,QAAQ;AACfK,YAAAA,UAAU,EAAED,aAAAA;WACb,CAAA;AACD,UAAA,MAAMkB,KAAK,GAAGc,WAAW,CAACzC,OAAO,EAAE4C,OAAO,CAAC,CAAA;UAE3CL,MAAM,GAAG,MAAMb,SAAS,CAACkB,OAAO,EAAEjB,KAAK,EAAEC,QAAQ,CAAC,CAAA;AACpD,SAAA;;AAEA;aACK;AACH;UACAW,MAAM,GAAG,MAAMb,SAAS,CAACf,KAAK,EAAEF,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;;AAEjD;AACA,UAAA,KAAK,IAAIoC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxC,QAAQ,CAACwB,MAAM,EAAEgB,CAAC,EAAE,EAAE;AACxC,YAAA,MAAMlB,KAAK,GAAGgB,gBAAgB,CAAC3C,OAAO,EAAEuC,MAAM,CAAC,CAAA;AAC/CA,YAAAA,MAAM,GAAG,MAAMb,SAAS,CAACa,MAAM,EAAEZ,KAAK,CAAC,CAAA;AACzC,WAAA;AACF,SAAA;AAEA,QAAA,OAAOY,MAAM,CAAA;OACd,CAAA;AACH,KAAA;GACD,CAAA;AACH,CAAA;AAEA,SAASI,gBAAgBA,CACvB3C,OAA4C,EAC5C;EAAEQ,KAAK;AAAEE,EAAAA,UAAAA;AAAkC,CAAC,EACvB;AACrB,EAAA,MAAMoC,SAAS,GAAGtC,KAAK,CAACqB,MAAM,GAAG,CAAC,CAAA;AAClC,EAAA,OAAO7B,OAAO,CAAC2C,gBAAgB,CAC7BnC,KAAK,CAACsC,SAAS,CAAC,EAChBtC,KAAK,EACLE,UAAU,CAACoC,SAAS,CAAC,EACrBpC,UACF,CAAC,CAAA;AACH,CAAA;AAEA,SAASgC,oBAAoBA,CAC3B1C,OAA4C,EAC5C;EAAEQ,KAAK;AAAEE,EAAAA,UAAAA;AAAkC,CAAC,EACvB;EACrB,OAAOV,OAAO,CAAC0C,oBAAoB,IAAA,IAAA,GAAA,KAAA,CAAA,GAA5B1C,OAAO,CAAC0C,oBAAoB,CACjClC,KAAK,CAAC,CAAC,CAAC,EACRA,KAAK,EACLE,UAAU,CAAC,CAAC,CAAC,EACbA,UACF,CAAC,CAAA;AACH,CAAA;;AAEA;AACA;AACA;AACO,SAASqC,WAAWA,CACzB/C,OAAiD,EACjDO,IAA4B,EACnB;AACT,EAAA,IAAI,CAACA,IAAI,EAAE,OAAO,KAAK,CAAA;EACvB,OAAO,OAAOoC,gBAAgB,CAAC3C,OAAO,EAAEO,IAAI,CAAC,KAAK,WAAW,CAAA;AAC/D,CAAA;;AAEA;AACA;AACA;AACO,SAASyC,eAAeA,CAC7BhD,OAAiD,EACjDO,IAA4B,EACnB;EACT,IAAI,CAACA,IAAI,IAAI,CAACP,OAAO,CAAC0C,oBAAoB,EAAE,OAAO,KAAK,CAAA;EACxD,OAAO,OAAOA,oBAAoB,CAAC1C,OAAO,EAAEO,IAAI,CAAC,KAAK,WAAW,CAAA;AACnE;;;;;;"}
@@ -0,0 +1,127 @@
1
+ import { addToStart, addToEnd } from './utils.legacy.js';
2
+
3
+ function infiniteQueryBehavior() {
4
+ return {
5
+ onFetch: context => {
6
+ context.fetchFn = async () => {
7
+ var _context$fetchOptions, _context$fetchOptions2, _context$fetchOptions3, _context$state$data, _context$state$data2;
8
+ const options = context.options;
9
+ const direction = (_context$fetchOptions = context.fetchOptions) == null ? void 0 : (_context$fetchOptions2 = _context$fetchOptions.meta) == null ? void 0 : (_context$fetchOptions3 = _context$fetchOptions2.fetchMore) == null ? void 0 : _context$fetchOptions3.direction;
10
+ const oldPages = ((_context$state$data = context.state.data) == null ? void 0 : _context$state$data.pages) || [];
11
+ const oldPageParams = ((_context$state$data2 = context.state.data) == null ? void 0 : _context$state$data2.pageParams) || [];
12
+ const empty = {
13
+ pages: [],
14
+ pageParams: []
15
+ };
16
+ let cancelled = false;
17
+ const addSignalProperty = object => {
18
+ Object.defineProperty(object, 'signal', {
19
+ enumerable: true,
20
+ get: () => {
21
+ if (context.signal.aborted) {
22
+ cancelled = true;
23
+ } else {
24
+ context.signal.addEventListener('abort', () => {
25
+ cancelled = true;
26
+ });
27
+ }
28
+ return context.signal;
29
+ }
30
+ });
31
+ };
32
+
33
+ // Get query function
34
+ const queryFn = context.options.queryFn || (() => Promise.reject(new Error('Missing queryFn')));
35
+
36
+ // Create function to fetch a page
37
+ const fetchPage = async (data, param, previous) => {
38
+ if (cancelled) {
39
+ return Promise.reject();
40
+ }
41
+ if (typeof param === 'undefined' && data.pages.length) {
42
+ return Promise.resolve(data);
43
+ }
44
+ const queryFnContext = {
45
+ queryKey: context.queryKey,
46
+ pageParam: param,
47
+ direction: previous ? 'backward' : 'forward',
48
+ meta: context.options.meta
49
+ };
50
+ addSignalProperty(queryFnContext);
51
+ const page = await queryFn(queryFnContext);
52
+ const {
53
+ maxPages
54
+ } = context.options;
55
+ const addTo = previous ? addToStart : addToEnd;
56
+ return {
57
+ pages: addTo(data.pages, page, maxPages),
58
+ pageParams: addTo(data.pageParams, param, maxPages)
59
+ };
60
+ };
61
+ let result;
62
+
63
+ // Fetch first page?
64
+ if (!oldPages.length) {
65
+ result = await fetchPage(empty, options.defaultPageParam);
66
+ }
67
+
68
+ // fetch next / previous page?
69
+ else if (direction) {
70
+ const previous = direction === 'backward';
71
+ const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;
72
+ const oldData = {
73
+ pages: oldPages,
74
+ pageParams: oldPageParams
75
+ };
76
+ const param = pageParamFn(options, oldData);
77
+ result = await fetchPage(oldData, param, previous);
78
+ }
79
+
80
+ // Refetch pages
81
+ else {
82
+ // Fetch first page
83
+ result = await fetchPage(empty, oldPageParams[0]);
84
+
85
+ // Fetch remaining pages
86
+ for (let i = 1; i < oldPages.length; i++) {
87
+ const param = getNextPageParam(options, result);
88
+ result = await fetchPage(result, param);
89
+ }
90
+ }
91
+ return result;
92
+ };
93
+ }
94
+ };
95
+ }
96
+ function getNextPageParam(options, {
97
+ pages,
98
+ pageParams
99
+ }) {
100
+ const lastIndex = pages.length - 1;
101
+ return options.getNextPageParam(pages[lastIndex], pages, pageParams[lastIndex], pageParams);
102
+ }
103
+ function getPreviousPageParam(options, {
104
+ pages,
105
+ pageParams
106
+ }) {
107
+ return options.getPreviousPageParam == null ? void 0 : options.getPreviousPageParam(pages[0], pages, pageParams[0], pageParams);
108
+ }
109
+
110
+ /**
111
+ * Checks if there is a next page.
112
+ */
113
+ function hasNextPage(options, data) {
114
+ if (!data) return false;
115
+ return typeof getNextPageParam(options, data) !== 'undefined';
116
+ }
117
+
118
+ /**
119
+ * Checks if there is a previous page.
120
+ */
121
+ function hasPreviousPage(options, data) {
122
+ if (!data || !options.getPreviousPageParam) return false;
123
+ return typeof getPreviousPageParam(options, data) !== 'undefined';
124
+ }
125
+
126
+ export { hasNextPage, hasPreviousPage, infiniteQueryBehavior };
127
+ //# sourceMappingURL=infiniteQueryBehavior.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infiniteQueryBehavior.legacy.js","sources":["../../src/infiniteQueryBehavior.ts"],"sourcesContent":["import type { QueryBehavior } from './query'\nimport { addToEnd, addToStart } from './utils'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n>(): QueryBehavior<TQueryFnData, TError, InfiniteData<TData>> {\n return {\n onFetch: (context) => {\n context.fetchFn = async () => {\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 const empty = { pages: [], pageParams: [] }\n let cancelled = false\n\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true\n } else {\n context.signal.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n // Get query function\n const queryFn =\n context.options.queryFn ||\n (() => Promise.reject(new Error('Missing queryFn')))\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 (typeof param === 'undefined' && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const queryFnContext: Omit<\n QueryFunctionContext<QueryKey, unknown>,\n 'signal'\n > = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const page = await queryFn(\n queryFnContext as QueryFunctionContext<QueryKey, unknown>,\n )\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 let result: InfiniteData<unknown>\n\n // Fetch first page?\n if (!oldPages.length) {\n result = await fetchPage(empty, options.defaultPageParam)\n }\n\n // fetch next / previous page?\n else if (direction) {\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 }\n\n // Refetch pages\n else {\n // Fetch first page\n result = await fetchPage(empty, oldPageParams[0])\n\n // Fetch remaining pages\n for (let i = 1; i < oldPages.length; i++) {\n const param = getNextPageParam(options, result)\n result = await fetchPage(result, param)\n }\n }\n\n return result\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 options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n return options.getPreviousPageParam?.(\n pages[0],\n pages,\n pageParams[0],\n pageParams,\n )\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 typeof getNextPageParam(options, data) !== 'undefined'\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 typeof getPreviousPageParam(options, data) !== 'undefined'\n}\n"],"names":["infiniteQueryBehavior","onFetch","context","fetchFn","_context$fetchOptions","_context$fetchOptions2","_context$fetchOptions3","_context$state$data","_context$state$data2","options","direction","fetchOptions","meta","fetchMore","oldPages","state","data","pages","oldPageParams","pageParams","empty","cancelled","addSignalProperty","object","Object","defineProperty","enumerable","get","signal","aborted","addEventListener","queryFn","Promise","reject","Error","fetchPage","param","previous","length","resolve","queryFnContext","queryKey","pageParam","page","maxPages","addTo","addToStart","addToEnd","result","defaultPageParam","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","i","lastIndex","hasNextPage","hasPreviousPage"],"mappings":";;AASO,SAASA,qBAAqBA,GAIyB;EAC5D,OAAO;IACLC,OAAO,EAAGC,OAAO,IAAK;MACpBA,OAAO,CAACC,OAAO,GAAG,YAAY;QAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,mBAAA,EAAAC,oBAAA,CAAA;AAC5B,QAAA,MAAMC,OAAO,GAAGP,OAAO,CAACO,OAAgD,CAAA;QACxE,MAAMC,SAAS,IAAAN,qBAAA,GAAGF,OAAO,CAACS,YAAY,KAAAN,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,sBAAA,GAApBD,qBAAA,CAAsBQ,IAAI,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,CAAAN,sBAAA,GAA1BD,sBAAA,CAA4BQ,SAAS,KAAA,IAAA,GAAA,KAAA,CAAA,GAArCP,sBAAA,CAAuCI,SAAS,CAAA;AAClE,QAAA,MAAMI,QAAQ,GAAG,CAAAP,CAAAA,mBAAA,GAAAL,OAAO,CAACa,KAAK,CAACC,IAAI,KAAlBT,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAoBU,KAAK,KAAI,EAAE,CAAA;AAChD,QAAA,MAAMC,aAAa,GAAG,CAAAV,CAAAA,oBAAA,GAAAN,OAAO,CAACa,KAAK,CAACC,IAAI,KAAlBR,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAoBW,UAAU,KAAI,EAAE,CAAA;AAC1D,QAAA,MAAMC,KAAK,GAAG;AAAEH,UAAAA,KAAK,EAAE,EAAE;AAAEE,UAAAA,UAAU,EAAE,EAAA;SAAI,CAAA;QAC3C,IAAIE,SAAS,GAAG,KAAK,CAAA;QAErB,MAAMC,iBAAiB,GAAIC,MAAe,IAAK;AAC7CC,UAAAA,MAAM,CAACC,cAAc,CAACF,MAAM,EAAE,QAAQ,EAAE;AACtCG,YAAAA,UAAU,EAAE,IAAI;YAChBC,GAAG,EAAEA,MAAM;AACT,cAAA,IAAIzB,OAAO,CAAC0B,MAAM,CAACC,OAAO,EAAE;AAC1BR,gBAAAA,SAAS,GAAG,IAAI,CAAA;AAClB,eAAC,MAAM;AACLnB,gBAAAA,OAAO,CAAC0B,MAAM,CAACE,gBAAgB,CAAC,OAAO,EAAE,MAAM;AAC7CT,kBAAAA,SAAS,GAAG,IAAI,CAAA;AAClB,iBAAC,CAAC,CAAA;AACJ,eAAA;cACA,OAAOnB,OAAO,CAAC0B,MAAM,CAAA;AACvB,aAAA;AACF,WAAC,CAAC,CAAA;SACH,CAAA;;AAED;AACA,QAAA,MAAMG,OAAO,GACX7B,OAAO,CAACO,OAAO,CAACsB,OAAO,KACtB,MAAMC,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;;AAEtD;QACA,MAAMC,SAAS,GAAG,OAChBnB,IAA2B,EAC3BoB,KAAc,EACdC,QAAkB,KACiB;AACnC,UAAA,IAAIhB,SAAS,EAAE;AACb,YAAA,OAAOW,OAAO,CAACC,MAAM,EAAE,CAAA;AACzB,WAAA;UAEA,IAAI,OAAOG,KAAK,KAAK,WAAW,IAAIpB,IAAI,CAACC,KAAK,CAACqB,MAAM,EAAE;AACrD,YAAA,OAAON,OAAO,CAACO,OAAO,CAACvB,IAAI,CAAC,CAAA;AAC9B,WAAA;AAEA,UAAA,MAAMwB,cAGL,GAAG;YACFC,QAAQ,EAAEvC,OAAO,CAACuC,QAAQ;AAC1BC,YAAAA,SAAS,EAAEN,KAAK;AAChB1B,YAAAA,SAAS,EAAE2B,QAAQ,GAAG,UAAU,GAAG,SAAS;AAC5CzB,YAAAA,IAAI,EAAEV,OAAO,CAACO,OAAO,CAACG,IAAAA;WACvB,CAAA;UAEDU,iBAAiB,CAACkB,cAAc,CAAC,CAAA;AAEjC,UAAA,MAAMG,IAAI,GAAG,MAAMZ,OAAO,CACxBS,cACF,CAAC,CAAA;UAED,MAAM;AAAEI,YAAAA,QAAAA;WAAU,GAAG1C,OAAO,CAACO,OAAO,CAAA;AACpC,UAAA,MAAMoC,KAAK,GAAGR,QAAQ,GAAGS,UAAU,GAAGC,QAAQ,CAAA;UAE9C,OAAO;YACL9B,KAAK,EAAE4B,KAAK,CAAC7B,IAAI,CAACC,KAAK,EAAE0B,IAAI,EAAEC,QAAQ,CAAC;YACxCzB,UAAU,EAAE0B,KAAK,CAAC7B,IAAI,CAACG,UAAU,EAAEiB,KAAK,EAAEQ,QAAQ,CAAA;WACnD,CAAA;SACF,CAAA;AAED,QAAA,IAAII,MAA6B,CAAA;;AAEjC;AACA,QAAA,IAAI,CAAClC,QAAQ,CAACwB,MAAM,EAAE;UACpBU,MAAM,GAAG,MAAMb,SAAS,CAACf,KAAK,EAAEX,OAAO,CAACwC,gBAAgB,CAAC,CAAA;AAC3D,SAAA;;AAEA;aACK,IAAIvC,SAAS,EAAE;AAClB,UAAA,MAAM2B,QAAQ,GAAG3B,SAAS,KAAK,UAAU,CAAA;AACzC,UAAA,MAAMwC,WAAW,GAAGb,QAAQ,GAAGc,oBAAoB,GAAGC,gBAAgB,CAAA;AACtE,UAAA,MAAMC,OAAO,GAAG;AACdpC,YAAAA,KAAK,EAAEH,QAAQ;AACfK,YAAAA,UAAU,EAAED,aAAAA;WACb,CAAA;AACD,UAAA,MAAMkB,KAAK,GAAGc,WAAW,CAACzC,OAAO,EAAE4C,OAAO,CAAC,CAAA;UAE3CL,MAAM,GAAG,MAAMb,SAAS,CAACkB,OAAO,EAAEjB,KAAK,EAAEC,QAAQ,CAAC,CAAA;AACpD,SAAA;;AAEA;aACK;AACH;UACAW,MAAM,GAAG,MAAMb,SAAS,CAACf,KAAK,EAAEF,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;;AAEjD;AACA,UAAA,KAAK,IAAIoC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxC,QAAQ,CAACwB,MAAM,EAAEgB,CAAC,EAAE,EAAE;AACxC,YAAA,MAAMlB,KAAK,GAAGgB,gBAAgB,CAAC3C,OAAO,EAAEuC,MAAM,CAAC,CAAA;AAC/CA,YAAAA,MAAM,GAAG,MAAMb,SAAS,CAACa,MAAM,EAAEZ,KAAK,CAAC,CAAA;AACzC,WAAA;AACF,SAAA;AAEA,QAAA,OAAOY,MAAM,CAAA;OACd,CAAA;AACH,KAAA;GACD,CAAA;AACH,CAAA;AAEA,SAASI,gBAAgBA,CACvB3C,OAA4C,EAC5C;EAAEQ,KAAK;AAAEE,EAAAA,UAAAA;AAAkC,CAAC,EACvB;AACrB,EAAA,MAAMoC,SAAS,GAAGtC,KAAK,CAACqB,MAAM,GAAG,CAAC,CAAA;AAClC,EAAA,OAAO7B,OAAO,CAAC2C,gBAAgB,CAC7BnC,KAAK,CAACsC,SAAS,CAAC,EAChBtC,KAAK,EACLE,UAAU,CAACoC,SAAS,CAAC,EACrBpC,UACF,CAAC,CAAA;AACH,CAAA;AAEA,SAASgC,oBAAoBA,CAC3B1C,OAA4C,EAC5C;EAAEQ,KAAK;AAAEE,EAAAA,UAAAA;AAAkC,CAAC,EACvB;EACrB,OAAOV,OAAO,CAAC0C,oBAAoB,IAAA,IAAA,GAAA,KAAA,CAAA,GAA5B1C,OAAO,CAAC0C,oBAAoB,CACjClC,KAAK,CAAC,CAAC,CAAC,EACRA,KAAK,EACLE,UAAU,CAAC,CAAC,CAAC,EACbA,UACF,CAAC,CAAA;AACH,CAAA;;AAEA;AACA;AACA;AACO,SAASqC,WAAWA,CACzB/C,OAAiD,EACjDO,IAA4B,EACnB;AACT,EAAA,IAAI,CAACA,IAAI,EAAE,OAAO,KAAK,CAAA;EACvB,OAAO,OAAOoC,gBAAgB,CAAC3C,OAAO,EAAEO,IAAI,CAAC,KAAK,WAAW,CAAA;AAC/D,CAAA;;AAEA;AACA;AACA;AACO,SAASyC,eAAeA,CAC7BhD,OAAiD,EACjDO,IAA4B,EACnB;EACT,IAAI,CAACA,IAAI,IAAI,CAACP,OAAO,CAAC0C,oBAAoB,EAAE,OAAO,KAAK,CAAA;EACxD,OAAO,OAAOA,oBAAoB,CAAC1C,OAAO,EAAEO,IAAI,CAAC,KAAK,WAAW,CAAA;AACnE;;;;"}
@@ -0,0 +1,78 @@
1
+ 'use strict';
2
+
3
+ var queryObserver = require('./queryObserver.legacy.cjs');
4
+ var infiniteQueryBehavior = require('./infiniteQueryBehavior.legacy.cjs');
5
+
6
+ class InfiniteQueryObserver extends queryObserver.QueryObserver {
7
+ // Type override
8
+
9
+ // Type override
10
+
11
+ // Type override
12
+
13
+ // eslint-disable-next-line @typescript-eslint/no-useless-constructor
14
+ constructor(client, options) {
15
+ super(client, options);
16
+ }
17
+ bindMethods() {
18
+ super.bindMethods();
19
+ this.fetchNextPage = this.fetchNextPage.bind(this);
20
+ this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
21
+ }
22
+ setOptions(options, notifyOptions) {
23
+ super.setOptions({
24
+ ...options,
25
+ behavior: infiniteQueryBehavior.infiniteQueryBehavior()
26
+ }, notifyOptions);
27
+ }
28
+ getOptimisticResult(options) {
29
+ options.behavior = infiniteQueryBehavior.infiniteQueryBehavior();
30
+ return super.getOptimisticResult(options);
31
+ }
32
+ fetchNextPage(options) {
33
+ return this.fetch({
34
+ ...options,
35
+ meta: {
36
+ fetchMore: {
37
+ direction: 'forward'
38
+ }
39
+ }
40
+ });
41
+ }
42
+ fetchPreviousPage(options) {
43
+ return this.fetch({
44
+ ...options,
45
+ meta: {
46
+ fetchMore: {
47
+ direction: 'backward'
48
+ }
49
+ }
50
+ });
51
+ }
52
+ createResult(query, options) {
53
+ var _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet;
54
+ const {
55
+ state
56
+ } = query;
57
+ const result = super.createResult(query, options);
58
+ const {
59
+ isFetching,
60
+ isRefetching
61
+ } = result;
62
+ const isFetchingNextPage = isFetching && ((_state$fetchMeta = state.fetchMeta) == null ? void 0 : (_state$fetchMeta$fetc = _state$fetchMeta.fetchMore) == null ? void 0 : _state$fetchMeta$fetc.direction) === 'forward';
63
+ const isFetchingPreviousPage = isFetching && ((_state$fetchMeta2 = state.fetchMeta) == null ? void 0 : (_state$fetchMeta2$fet = _state$fetchMeta2.fetchMore) == null ? void 0 : _state$fetchMeta2$fet.direction) === 'backward';
64
+ return {
65
+ ...result,
66
+ fetchNextPage: this.fetchNextPage,
67
+ fetchPreviousPage: this.fetchPreviousPage,
68
+ hasNextPage: infiniteQueryBehavior.hasNextPage(options, state.data),
69
+ hasPreviousPage: infiniteQueryBehavior.hasPreviousPage(options, state.data),
70
+ isFetchingNextPage,
71
+ isFetchingPreviousPage,
72
+ isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
73
+ };
74
+ }
75
+ }
76
+
77
+ exports.InfiniteQueryObserver = InfiniteQueryObserver;
78
+ //# sourceMappingURL=infiniteQueryObserver.legacy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infiniteQueryObserver.legacy.cjs","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n DefaultError,\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 = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\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 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 TQueryData,\n TQueryKey,\n TPageParam\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 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<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\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),\n hasPreviousPage: hasPreviousPage(options, state.data),\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$fetchMeta","_state$fetchMeta$fetc","_state$fetchMeta2","_state$fetchMeta2$fet","state","result","isFetching","isRefetching","isFetchingNextPage","fetchMeta","isFetchingPreviousPage","hasNextPage","data","hasPreviousPage"],"mappings":";;;;;AAwBO,MAAMA,qBAAqB,SAOxBC,2BAAa,CAMrB;AACA;;AAKA;;AAGA;;AAKA;AACAC,EAAAA,WAAWA,CACTC,MAAmB,EACnBC,OAOC,EACD;AACA,IAAA,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC,CAAA;AACxB,GAAA;AAEUC,EAAAA,WAAWA,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,UAAUA,CACRL,OAOC,EACDM,aAA6B,EACvB;IACN,KAAK,CAACD,UAAU,CACd;AACE,MAAA,GAAGL,OAAO;MACVO,QAAQ,EAAEC,2CAAqB,EAAC;KACjC,EACDF,aACF,CAAC,CAAA;AACH,GAAA;EAEAG,mBAAmBA,CACjBT,OAOC,EAC2C;AAC5CA,IAAAA,OAAO,CAACO,QAAQ,GAAGC,2CAAqB,EAAE,CAAA;AAC1C,IAAA,OAAO,KAAK,CAACC,mBAAmB,CAACT,OAAO,CAAC,CAAA;AAI3C,GAAA;EAEAE,aAAaA,CACXF,OAA8B,EACuB;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;EAEAT,iBAAiBA,CACfJ,OAAkC,EACmB;IACrD,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,YAAYA,CACpBC,KAAuE,EACvEf,OAOC,EAC2C;AAAA,IAAA,IAAAgB,gBAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,qBAAA,CAAA;IAC5C,MAAM;AAAEC,MAAAA,KAAAA;AAAM,KAAC,GAAGL,KAAK,CAAA;IACvB,MAAMM,MAAM,GAAG,KAAK,CAACP,YAAY,CAACC,KAAK,EAAEf,OAAO,CAAC,CAAA;IAEjD,MAAM;MAAEsB,UAAU;AAAEC,MAAAA,YAAAA;AAAa,KAAC,GAAGF,MAAM,CAAA;IAE3C,MAAMG,kBAAkB,GACtBF,UAAU,IAAI,EAAAN,gBAAA,GAAAI,KAAK,CAACK,SAAS,sBAAAR,qBAAA,GAAfD,gBAAA,CAAiBJ,SAAS,qBAA1BK,qBAAA,CAA4BJ,SAAS,MAAK,SAAS,CAAA;IAEnE,MAAMa,sBAAsB,GAC1BJ,UAAU,IAAI,EAAAJ,iBAAA,GAAAE,KAAK,CAACK,SAAS,sBAAAN,qBAAA,GAAfD,iBAAA,CAAiBN,SAAS,qBAA1BO,qBAAA,CAA4BN,SAAS,MAAK,UAAU,CAAA;IAEpE,OAAO;AACL,MAAA,GAAGQ,MAAM;MACTnB,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCE,iBAAiB,EAAE,IAAI,CAACA,iBAAiB;MACzCuB,WAAW,EAAEA,iCAAW,CAAC3B,OAAO,EAAEoB,KAAK,CAACQ,IAAI,CAAC;MAC7CC,eAAe,EAAEA,qCAAe,CAAC7B,OAAO,EAAEoB,KAAK,CAACQ,IAAI,CAAC;MACrDJ,kBAAkB;MAClBE,sBAAsB;AACtBH,MAAAA,YAAY,EACVA,YAAY,IAAI,CAACC,kBAAkB,IAAI,CAACE,sBAAAA;KAC3C,CAAA;AACH,GAAA;AACF;;;;"}
@@ -0,0 +1,76 @@
1
+ import { QueryObserver } from './queryObserver.legacy.js';
2
+ import { infiniteQueryBehavior, hasNextPage, hasPreviousPage } from './infiniteQueryBehavior.legacy.js';
3
+
4
+ class InfiniteQueryObserver extends QueryObserver {
5
+ // Type override
6
+
7
+ // Type override
8
+
9
+ // Type override
10
+
11
+ // eslint-disable-next-line @typescript-eslint/no-useless-constructor
12
+ constructor(client, options) {
13
+ super(client, options);
14
+ }
15
+ bindMethods() {
16
+ super.bindMethods();
17
+ this.fetchNextPage = this.fetchNextPage.bind(this);
18
+ this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
19
+ }
20
+ setOptions(options, notifyOptions) {
21
+ super.setOptions({
22
+ ...options,
23
+ behavior: infiniteQueryBehavior()
24
+ }, notifyOptions);
25
+ }
26
+ getOptimisticResult(options) {
27
+ options.behavior = infiniteQueryBehavior();
28
+ return super.getOptimisticResult(options);
29
+ }
30
+ fetchNextPage(options) {
31
+ return this.fetch({
32
+ ...options,
33
+ meta: {
34
+ fetchMore: {
35
+ direction: 'forward'
36
+ }
37
+ }
38
+ });
39
+ }
40
+ fetchPreviousPage(options) {
41
+ return this.fetch({
42
+ ...options,
43
+ meta: {
44
+ fetchMore: {
45
+ direction: 'backward'
46
+ }
47
+ }
48
+ });
49
+ }
50
+ createResult(query, options) {
51
+ var _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet;
52
+ const {
53
+ state
54
+ } = query;
55
+ const result = super.createResult(query, options);
56
+ const {
57
+ isFetching,
58
+ isRefetching
59
+ } = result;
60
+ const isFetchingNextPage = isFetching && ((_state$fetchMeta = state.fetchMeta) == null ? void 0 : (_state$fetchMeta$fetc = _state$fetchMeta.fetchMore) == null ? void 0 : _state$fetchMeta$fetc.direction) === 'forward';
61
+ const isFetchingPreviousPage = isFetching && ((_state$fetchMeta2 = state.fetchMeta) == null ? void 0 : (_state$fetchMeta2$fet = _state$fetchMeta2.fetchMore) == null ? void 0 : _state$fetchMeta2$fet.direction) === 'backward';
62
+ return {
63
+ ...result,
64
+ fetchNextPage: this.fetchNextPage,
65
+ fetchPreviousPage: this.fetchPreviousPage,
66
+ hasNextPage: hasNextPage(options, state.data),
67
+ hasPreviousPage: hasPreviousPage(options, state.data),
68
+ isFetchingNextPage,
69
+ isFetchingPreviousPage,
70
+ isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
71
+ };
72
+ }
73
+ }
74
+
75
+ export { InfiniteQueryObserver };
76
+ //# sourceMappingURL=infiniteQueryObserver.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infiniteQueryObserver.legacy.js","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n DefaultError,\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 = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\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 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 TQueryData,\n TQueryKey,\n TPageParam\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 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<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\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),\n hasPreviousPage: hasPreviousPage(options, state.data),\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$fetchMeta","_state$fetchMeta$fetc","_state$fetchMeta2","_state$fetchMeta2$fet","state","result","isFetching","isRefetching","isFetchingNextPage","fetchMeta","isFetchingPreviousPage","hasNextPage","data","hasPreviousPage"],"mappings":"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"}