@tanstack/query-core 5.0.0-alpha.47 → 5.0.0-alpha.49

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 (41) hide show
  1. package/package.json +2 -2
  2. package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js +0 -13
  3. package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js.map +0 -1
  4. package/build/lib/focusManager.esm.js +0 -87
  5. package/build/lib/focusManager.esm.js.map +0 -1
  6. package/build/lib/hydration.esm.js +0 -87
  7. package/build/lib/hydration.esm.js.map +0 -1
  8. package/build/lib/index.esm.js +0 -14
  9. package/build/lib/index.esm.js.map +0 -1
  10. package/build/lib/infiniteQueryBehavior.esm.js +0 -127
  11. package/build/lib/infiniteQueryBehavior.esm.js.map +0 -1
  12. package/build/lib/infiniteQueryObserver.esm.js +0 -76
  13. package/build/lib/infiniteQueryObserver.esm.js.map +0 -1
  14. package/build/lib/mutation.esm.js +0 -259
  15. package/build/lib/mutation.esm.js.map +0 -1
  16. package/build/lib/mutationCache.esm.js +0 -96
  17. package/build/lib/mutationCache.esm.js.map +0 -1
  18. package/build/lib/mutationObserver.esm.js +0 -126
  19. package/build/lib/mutationObserver.esm.js.map +0 -1
  20. package/build/lib/notifyManager.esm.js +0 -89
  21. package/build/lib/notifyManager.esm.js.map +0 -1
  22. package/build/lib/onlineManager.esm.js +0 -88
  23. package/build/lib/onlineManager.esm.js.map +0 -1
  24. package/build/lib/queriesObserver.esm.js +0 -205
  25. package/build/lib/queriesObserver.esm.js.map +0 -1
  26. package/build/lib/query.esm.js +0 -469
  27. package/build/lib/query.esm.js.map +0 -1
  28. package/build/lib/queryCache.esm.js +0 -109
  29. package/build/lib/queryCache.esm.js.map +0 -1
  30. package/build/lib/queryClient.esm.js +0 -320
  31. package/build/lib/queryClient.esm.js.map +0 -1
  32. package/build/lib/queryObserver.esm.js +0 -528
  33. package/build/lib/queryObserver.esm.js.map +0 -1
  34. package/build/lib/removable.esm.js +0 -36
  35. package/build/lib/removable.esm.js.map +0 -1
  36. package/build/lib/retryer.esm.js +0 -153
  37. package/build/lib/retryer.esm.js.map +0 -1
  38. package/build/lib/subscribable.esm.js +0 -26
  39. package/build/lib/subscribable.esm.js.map +0 -1
  40. package/build/lib/utils.esm.js +0 -227
  41. package/build/lib/utils.esm.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/query-core",
3
- "version": "5.0.0-alpha.47",
3
+ "version": "5.0.0-alpha.49",
4
4
  "description": "The framework agnostic core that powers TanStack Query",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -13,7 +13,7 @@
13
13
  "type": "commonjs",
14
14
  "types": "build/lib/index.d.ts",
15
15
  "main": "build/lib/index.js",
16
- "module": "build/lib/index.esm.js",
16
+ "module": "build/lib/index.mjs",
17
17
  "exports": {
18
18
  ".": {
19
19
  "types": "./build/lib/index.d.ts",
@@ -1,13 +0,0 @@
1
- var id = 0;
2
- function _classPrivateFieldLooseKey(name) {
3
- return "__private_" + id++ + "_" + name;
4
- }
5
- function _classPrivateFieldLooseBase(receiver, privateKey) {
6
- if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {
7
- throw new TypeError("attempted to use private field on non-instance");
8
- }
9
- return receiver;
10
- }
11
-
12
- export { _classPrivateFieldLooseBase as classPrivateFieldLooseBase, _classPrivateFieldLooseKey as classPrivateFieldLooseKey };
13
- //# sourceMappingURL=_rollupPluginBabelHelpers.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_rollupPluginBabelHelpers.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1,87 +0,0 @@
1
- import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.esm.js';
2
- import { Subscribable } from './subscribable.esm.js';
3
- import { isServer } from './utils.esm.js';
4
-
5
- var _focused = /*#__PURE__*/_classPrivateFieldLooseKey("focused");
6
- var _cleanup = /*#__PURE__*/_classPrivateFieldLooseKey("cleanup");
7
- var _setup = /*#__PURE__*/_classPrivateFieldLooseKey("setup");
8
- class FocusManager extends Subscribable {
9
- constructor() {
10
- super();
11
- Object.defineProperty(this, _focused, {
12
- writable: true,
13
- value: void 0
14
- });
15
- Object.defineProperty(this, _cleanup, {
16
- writable: true,
17
- value: void 0
18
- });
19
- Object.defineProperty(this, _setup, {
20
- writable: true,
21
- value: void 0
22
- });
23
- _classPrivateFieldLooseBase(this, _setup)[_setup] = onFocus => {
24
- // addEventListener does not exist in React Native, but window does
25
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
26
- if (!isServer && window.addEventListener) {
27
- const listener = () => onFocus();
28
- // Listen to visibilitychange
29
- window.addEventListener('visibilitychange', listener, false);
30
- return () => {
31
- // Be sure to unsubscribe if a new handler is set
32
- window.removeEventListener('visibilitychange', listener);
33
- };
34
- }
35
- return;
36
- };
37
- }
38
- onSubscribe() {
39
- if (!_classPrivateFieldLooseBase(this, _cleanup)[_cleanup]) {
40
- this.setEventListener(_classPrivateFieldLooseBase(this, _setup)[_setup]);
41
- }
42
- }
43
- onUnsubscribe() {
44
- if (!this.hasListeners()) {
45
- var _classPrivateFieldLoo, _classPrivateFieldLoo2;
46
- (_classPrivateFieldLoo = (_classPrivateFieldLoo2 = _classPrivateFieldLooseBase(this, _cleanup))[_cleanup]) == null ? void 0 : _classPrivateFieldLoo.call(_classPrivateFieldLoo2);
47
- _classPrivateFieldLooseBase(this, _cleanup)[_cleanup] = undefined;
48
- }
49
- }
50
- setEventListener(setup) {
51
- var _classPrivateFieldLoo3, _classPrivateFieldLoo4;
52
- _classPrivateFieldLooseBase(this, _setup)[_setup] = setup;
53
- (_classPrivateFieldLoo3 = (_classPrivateFieldLoo4 = _classPrivateFieldLooseBase(this, _cleanup))[_cleanup]) == null ? void 0 : _classPrivateFieldLoo3.call(_classPrivateFieldLoo4);
54
- _classPrivateFieldLooseBase(this, _cleanup)[_cleanup] = setup(focused => {
55
- if (typeof focused === 'boolean') {
56
- this.setFocused(focused);
57
- } else {
58
- this.onFocus();
59
- }
60
- });
61
- }
62
- setFocused(focused) {
63
- _classPrivateFieldLooseBase(this, _focused)[_focused] = focused;
64
- if (focused) {
65
- this.onFocus();
66
- }
67
- }
68
- onFocus() {
69
- this.listeners.forEach(listener => {
70
- listener();
71
- });
72
- }
73
- isFocused() {
74
- var _globalThis$document;
75
- if (typeof _classPrivateFieldLooseBase(this, _focused)[_focused] === 'boolean') {
76
- return _classPrivateFieldLooseBase(this, _focused)[_focused];
77
- }
78
-
79
- // document global can be unavailable in react native
80
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
81
- return ((_globalThis$document = globalThis.document) == null ? void 0 : _globalThis$document.visibilityState) !== 'hidden';
82
- }
83
- }
84
- const focusManager = new FocusManager();
85
-
86
- export { FocusManager, focusManager };
87
- //# sourceMappingURL=focusManager.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"focusManager.esm.js","sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n this.#focused = focused\n\n if (focused) {\n this.onFocus()\n }\n }\n\n onFocus(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n"],"names":["_focused","_classPrivateFieldLooseKey","_cleanup","_setup","FocusManager","Subscribable","constructor","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","onFocus","isServer","window","addEventListener","listener","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","_classPrivateFieldLoo","_classPrivateFieldLoo2","call","undefined","setup","_classPrivateFieldLoo3","_classPrivateFieldLoo4","focused","setFocused","listeners","forEach","isFocused","_globalThis$document","globalThis","document","visibilityState","focusManager"],"mappings":"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"}
@@ -1,87 +0,0 @@
1
- // TYPES
2
-
3
- // FUNCTIONS
4
-
5
- function dehydrateMutation(mutation) {
6
- return {
7
- mutationKey: mutation.options.mutationKey,
8
- state: mutation.state
9
- };
10
- }
11
-
12
- // Most config is not dehydrated but instead meant to configure again when
13
- // consuming the de/rehydrated data, typically with useQuery on the client.
14
- // Sometimes it might make sense to prefetch data on the server and include
15
- // in the html-payload, but not consume it on the initial render.
16
- function dehydrateQuery(query) {
17
- return {
18
- state: query.state,
19
- queryKey: query.queryKey,
20
- queryHash: query.queryHash
21
- };
22
- }
23
- function defaultShouldDehydrateMutation(mutation) {
24
- return mutation.state.isPaused;
25
- }
26
- function defaultShouldDehydrateQuery(query) {
27
- return query.state.status === 'success';
28
- }
29
- function dehydrate(client, options = {}) {
30
- var _options$shouldDehydr, _options$shouldDehydr2;
31
- const filterMutation = (_options$shouldDehydr = options.shouldDehydrateMutation) != null ? _options$shouldDehydr : defaultShouldDehydrateMutation;
32
- const mutations = client.getMutationCache().getAll().flatMap(mutation => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []);
33
- const filterQuery = (_options$shouldDehydr2 = options.shouldDehydrateQuery) != null ? _options$shouldDehydr2 : defaultShouldDehydrateQuery;
34
- const queries = client.getQueryCache().getAll().flatMap(query => filterQuery(query) ? [dehydrateQuery(query)] : []);
35
- return {
36
- mutations,
37
- queries
38
- };
39
- }
40
- function hydrate(client, dehydratedState, options) {
41
- if (typeof dehydratedState !== 'object' || dehydratedState === null) {
42
- return;
43
- }
44
- const mutationCache = client.getMutationCache();
45
- const queryCache = client.getQueryCache();
46
-
47
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
48
- const mutations = dehydratedState.mutations || [];
49
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
50
- const queries = dehydratedState.queries || [];
51
- mutations.forEach(dehydratedMutation => {
52
- var _options$defaultOptio;
53
- mutationCache.build(client, {
54
- ...(options == null ? void 0 : (_options$defaultOptio = options.defaultOptions) == null ? void 0 : _options$defaultOptio.mutations),
55
- mutationKey: dehydratedMutation.mutationKey
56
- }, dehydratedMutation.state);
57
- });
58
- queries.forEach(dehydratedQuery => {
59
- var _options$defaultOptio2;
60
- const query = queryCache.get(dehydratedQuery.queryHash);
61
-
62
- // Reset fetch status to idle in the dehydrated state to avoid
63
- // query being stuck in fetching state upon hydration
64
- const dehydratedQueryState = {
65
- ...dehydratedQuery.state,
66
- fetchStatus: 'idle'
67
- };
68
-
69
- // Do not hydrate if an existing query exists with newer data
70
- if (query) {
71
- if (query.state.dataUpdatedAt < dehydratedQueryState.dataUpdatedAt) {
72
- query.setState(dehydratedQueryState);
73
- }
74
- return;
75
- }
76
-
77
- // Restore query
78
- queryCache.build(client, {
79
- ...(options == null ? void 0 : (_options$defaultOptio2 = options.defaultOptions) == null ? void 0 : _options$defaultOptio2.queries),
80
- queryKey: dehydratedQuery.queryKey,
81
- queryHash: dehydratedQuery.queryHash
82
- }, dehydratedQueryState);
83
- });
84
- }
85
-
86
- export { defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, hydrate };
87
- //# sourceMappingURL=hydration.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hydration.esm.js","sources":["../../src/hydration.ts"],"sourcesContent":["import type { QueryClient } from './queryClient'\nimport type { Query, QueryState } from './query'\nimport type {\n MutationKey,\n MutationOptions,\n QueryKey,\n QueryOptions,\n} from './types'\nimport type { Mutation, MutationState } from './mutation'\n\n// TYPES\n\nexport interface DehydrateOptions {\n shouldDehydrateMutation?: (mutation: Mutation) => boolean\n shouldDehydrateQuery?: (query: Query) => boolean\n}\n\nexport interface HydrateOptions {\n defaultOptions?: {\n queries?: QueryOptions\n mutations?: MutationOptions\n }\n}\n\ninterface DehydratedMutation {\n mutationKey?: MutationKey\n state: MutationState\n}\n\ninterface DehydratedQuery {\n queryHash: string\n queryKey: QueryKey\n state: QueryState\n}\n\nexport interface DehydratedState {\n mutations: DehydratedMutation[]\n queries: DehydratedQuery[]\n}\n\n// FUNCTIONS\n\nfunction dehydrateMutation(mutation: Mutation): DehydratedMutation {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n }\n}\n\n// Most config is not dehydrated but instead meant to configure again when\n// consuming the de/rehydrated data, typically with useQuery on the client.\n// Sometimes it might make sense to prefetch data on the server and include\n// in the html-payload, but not consume it on the initial render.\nfunction dehydrateQuery(query: Query): DehydratedQuery {\n return {\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n }\n}\n\nexport function defaultShouldDehydrateMutation(mutation: Mutation) {\n return mutation.state.isPaused\n}\n\nexport function defaultShouldDehydrateQuery(query: Query) {\n return query.state.status === 'success'\n}\n\nexport function dehydrate(\n client: QueryClient,\n options: DehydrateOptions = {},\n): DehydratedState {\n const filterMutation =\n options.shouldDehydrateMutation ?? defaultShouldDehydrateMutation\n\n const mutations = client\n .getMutationCache()\n .getAll()\n .flatMap((mutation) =>\n filterMutation(mutation) ? [dehydrateMutation(mutation)] : [],\n )\n\n const filterQuery =\n options.shouldDehydrateQuery ?? defaultShouldDehydrateQuery\n\n const queries = client\n .getQueryCache()\n .getAll()\n .flatMap((query) => (filterQuery(query) ? [dehydrateQuery(query)] : []))\n\n return { mutations, queries }\n}\n\nexport function hydrate(\n client: QueryClient,\n dehydratedState: unknown,\n options?: HydrateOptions,\n): void {\n if (typeof dehydratedState !== 'object' || dehydratedState === null) {\n return\n }\n\n const mutationCache = client.getMutationCache()\n const queryCache = client.getQueryCache()\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const mutations = (dehydratedState as DehydratedState).mutations || []\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const queries = (dehydratedState as DehydratedState).queries || []\n\n mutations.forEach((dehydratedMutation) => {\n mutationCache.build(\n client,\n {\n ...options?.defaultOptions?.mutations,\n mutationKey: dehydratedMutation.mutationKey,\n },\n dehydratedMutation.state,\n )\n })\n\n queries.forEach((dehydratedQuery) => {\n const query = queryCache.get(dehydratedQuery.queryHash)\n\n // Reset fetch status to idle in the dehydrated state to avoid\n // query being stuck in fetching state upon hydration\n const dehydratedQueryState = {\n ...dehydratedQuery.state,\n fetchStatus: 'idle' as const,\n }\n\n // Do not hydrate if an existing query exists with newer data\n if (query) {\n if (query.state.dataUpdatedAt < dehydratedQueryState.dataUpdatedAt) {\n query.setState(dehydratedQueryState)\n }\n return\n }\n\n // Restore query\n queryCache.build(\n client,\n {\n ...options?.defaultOptions?.queries,\n queryKey: dehydratedQuery.queryKey,\n queryHash: dehydratedQuery.queryHash,\n },\n dehydratedQueryState,\n )\n })\n}\n"],"names":["dehydrateMutation","mutation","mutationKey","options","state","dehydrateQuery","query","queryKey","queryHash","defaultShouldDehydrateMutation","isPaused","defaultShouldDehydrateQuery","status","dehydrate","client","_options$shouldDehydr","_options$shouldDehydr2","filterMutation","shouldDehydrateMutation","mutations","getMutationCache","getAll","flatMap","filterQuery","shouldDehydrateQuery","queries","getQueryCache","hydrate","dehydratedState","mutationCache","queryCache","forEach","dehydratedMutation","_options$defaultOptio","build","defaultOptions","dehydratedQuery","_options$defaultOptio2","get","dehydratedQueryState","fetchStatus","dataUpdatedAt","setState"],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export { CancelledError, isCancelledError } from './retryer.esm.js';
2
- export { QueryCache } from './queryCache.esm.js';
3
- export { QueryClient } from './queryClient.esm.js';
4
- export { QueryObserver } from './queryObserver.esm.js';
5
- export { QueriesObserver } from './queriesObserver.esm.js';
6
- export { InfiniteQueryObserver } from './infiniteQueryObserver.esm.js';
7
- export { MutationCache } from './mutationCache.esm.js';
8
- export { MutationObserver } from './mutationObserver.esm.js';
9
- export { notifyManager } from './notifyManager.esm.js';
10
- export { focusManager } from './focusManager.esm.js';
11
- export { onlineManager } from './onlineManager.esm.js';
12
- export { hashKey, isServer, keepPreviousData, matchQuery, replaceEqualDeep } from './utils.esm.js';
13
- export { defaultShouldDehydrateMutation, defaultShouldDehydrateQuery, dehydrate, hydrate } from './hydration.esm.js';
14
- //# sourceMappingURL=index.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,127 +0,0 @@
1
- import { addToStart, addToEnd } from './utils.esm.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.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"infiniteQueryBehavior.esm.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":"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"}
@@ -1,76 +0,0 @@
1
- import { QueryObserver } from './queryObserver.esm.js';
2
- import { infiniteQueryBehavior, hasNextPage, hasPreviousPage } from './infiniteQueryBehavior.esm.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.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"infiniteQueryObserver.esm.js","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n 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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"}