@tanstack/query-core 4.1.3 → 4.3.0-beta.0

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 (94) hide show
  1. package/build/{types/packages/query-core/src → lib}/focusManager.d.ts +0 -0
  2. package/build/{types/packages/query-core/src → lib}/hydration.d.ts +0 -0
  3. package/build/{types/packages/query-core/src → lib}/index.d.ts +2 -2
  4. package/build/lib/index.js +3115 -0
  5. package/build/lib/index.js.map +1 -0
  6. package/build/{esm/index.js → lib/index.mjs} +3 -1
  7. package/build/lib/index.mjs.map +1 -0
  8. package/build/{types/packages/query-core/src → lib}/infiniteQueryBehavior.d.ts +0 -0
  9. package/build/{types/packages/query-core/src → lib}/infiniteQueryObserver.d.ts +0 -0
  10. package/build/{types/packages/query-core/src → lib}/logger.d.ts +0 -0
  11. package/build/{types/packages/query-core/src → lib}/logger.native.d.ts +0 -0
  12. package/build/{types/packages/query-core/src → lib}/mutation.d.ts +0 -0
  13. package/build/{types/packages/query-core/src → lib}/mutationCache.d.ts +0 -0
  14. package/build/{types/packages/query-core/src → lib}/mutationObserver.d.ts +0 -0
  15. package/build/{types/packages/query-core/src → lib}/notifyManager.d.ts +0 -0
  16. package/build/{types/packages/query-core/src → lib}/onlineManager.d.ts +0 -0
  17. package/build/{types/packages/query-core/src → lib}/queriesObserver.d.ts +0 -0
  18. package/build/{types/packages/query-core/src → lib}/query.d.ts +0 -0
  19. package/build/{types/packages/query-core/src → lib}/queryCache.d.ts +0 -0
  20. package/build/{types/packages/query-core/src → lib}/queryClient.d.ts +0 -0
  21. package/build/{types/packages/query-core/src → lib}/queryObserver.d.ts +0 -0
  22. package/build/{types/packages/query-core/src → lib}/removable.d.ts +0 -0
  23. package/build/{types/packages/query-core/src → lib}/retryer.d.ts +0 -0
  24. package/build/{types/packages/query-core/src → lib}/subscribable.d.ts +0 -0
  25. package/build/{types/packages/query-core/src → lib}/types.d.ts +2 -1
  26. package/build/{types/packages/query-core/src → lib}/utils.d.ts +0 -0
  27. package/build/umd/index.development.js +2 -0
  28. package/build/umd/index.development.js.map +1 -1
  29. package/build/umd/index.production.js +1 -1
  30. package/build/umd/index.production.js.map +1 -1
  31. package/package.json +16 -8
  32. package/src/index.ts +2 -2
  33. package/src/tests/queryClient.test.tsx +33 -0
  34. package/src/types.ts +4 -1
  35. package/src/utils.ts +2 -0
  36. package/build/cjs/focusManager.js +0 -101
  37. package/build/cjs/focusManager.js.map +0 -1
  38. package/build/cjs/hydration.js +0 -112
  39. package/build/cjs/hydration.js.map +0 -1
  40. package/build/cjs/index.js +0 -51
  41. package/build/cjs/index.js.map +0 -1
  42. package/build/cjs/infiniteQueryBehavior.js +0 -160
  43. package/build/cjs/infiniteQueryBehavior.js.map +0 -1
  44. package/build/cjs/infiniteQueryObserver.js +0 -92
  45. package/build/cjs/infiniteQueryObserver.js.map +0 -1
  46. package/build/cjs/logger.js +0 -18
  47. package/build/cjs/logger.js.map +0 -1
  48. package/build/cjs/mutation.js +0 -258
  49. package/build/cjs/mutation.js.map +0 -1
  50. package/build/cjs/mutationCache.js +0 -99
  51. package/build/cjs/mutationCache.js.map +0 -1
  52. package/build/cjs/mutationObserver.js +0 -140
  53. package/build/cjs/mutationObserver.js.map +0 -1
  54. package/build/cjs/notifyManager.js +0 -114
  55. package/build/cjs/notifyManager.js.map +0 -1
  56. package/build/cjs/onlineManager.js +0 -100
  57. package/build/cjs/onlineManager.js.map +0 -1
  58. package/build/cjs/queriesObserver.js +0 -170
  59. package/build/cjs/queriesObserver.js.map +0 -1
  60. package/build/cjs/query.js +0 -474
  61. package/build/cjs/query.js.map +0 -1
  62. package/build/cjs/queryCache.js +0 -140
  63. package/build/cjs/queryCache.js.map +0 -1
  64. package/build/cjs/queryClient.js +0 -353
  65. package/build/cjs/queryClient.js.map +0 -1
  66. package/build/cjs/queryObserver.js +0 -529
  67. package/build/cjs/queryObserver.js.map +0 -1
  68. package/build/cjs/removable.js +0 -47
  69. package/build/cjs/removable.js.map +0 -1
  70. package/build/cjs/retryer.js +0 -177
  71. package/build/cjs/retryer.js.map +0 -1
  72. package/build/cjs/subscribable.js +0 -43
  73. package/build/cjs/subscribable.js.map +0 -1
  74. package/build/cjs/utils.js +0 -356
  75. package/build/cjs/utils.js.map +0 -1
  76. package/build/esm/index.js.map +0 -1
  77. package/build/stats-html.html +0 -2689
  78. package/build/stats.json +0 -811
  79. package/build/types/packages/query-core/src/tests/focusManager.test.d.ts +0 -1
  80. package/build/types/packages/query-core/src/tests/hydration.test.d.ts +0 -1
  81. package/build/types/packages/query-core/src/tests/infiniteQueryBehavior.test.d.ts +0 -1
  82. package/build/types/packages/query-core/src/tests/infiniteQueryObserver.test.d.ts +0 -1
  83. package/build/types/packages/query-core/src/tests/mutationCache.test.d.ts +0 -1
  84. package/build/types/packages/query-core/src/tests/mutationObserver.test.d.ts +0 -1
  85. package/build/types/packages/query-core/src/tests/mutations.test.d.ts +0 -1
  86. package/build/types/packages/query-core/src/tests/notifyManager.test.d.ts +0 -1
  87. package/build/types/packages/query-core/src/tests/onlineManager.test.d.ts +0 -1
  88. package/build/types/packages/query-core/src/tests/queriesObserver.test.d.ts +0 -1
  89. package/build/types/packages/query-core/src/tests/query.test.d.ts +0 -1
  90. package/build/types/packages/query-core/src/tests/queryCache.test.d.ts +0 -1
  91. package/build/types/packages/query-core/src/tests/queryClient.test.d.ts +0 -1
  92. package/build/types/packages/query-core/src/tests/queryObserver.test.d.ts +0 -1
  93. package/build/types/packages/query-core/src/tests/utils.test.d.ts +0 -1
  94. package/build/types/tests/utils.d.ts +0 -24
@@ -1,177 +0,0 @@
1
- /**
2
- * query-core
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- var focusManager = require('./focusManager.js');
16
- var onlineManager = require('./onlineManager.js');
17
- var utils = require('./utils.js');
18
-
19
- function defaultRetryDelay(failureCount) {
20
- return Math.min(1000 * 2 ** failureCount, 30000);
21
- }
22
-
23
- function canFetch(networkMode) {
24
- return (networkMode != null ? networkMode : 'online') === 'online' ? onlineManager.onlineManager.isOnline() : true;
25
- }
26
- class CancelledError {
27
- constructor(options) {
28
- this.revert = options == null ? void 0 : options.revert;
29
- this.silent = options == null ? void 0 : options.silent;
30
- }
31
-
32
- }
33
- function isCancelledError(value) {
34
- return value instanceof CancelledError;
35
- }
36
- function createRetryer(config) {
37
- let isRetryCancelled = false;
38
- let failureCount = 0;
39
- let isResolved = false;
40
- let continueFn;
41
- let promiseResolve;
42
- let promiseReject;
43
- const promise = new Promise((outerResolve, outerReject) => {
44
- promiseResolve = outerResolve;
45
- promiseReject = outerReject;
46
- });
47
-
48
- const cancel = cancelOptions => {
49
- if (!isResolved) {
50
- reject(new CancelledError(cancelOptions));
51
- config.abort == null ? void 0 : config.abort();
52
- }
53
- };
54
-
55
- const cancelRetry = () => {
56
- isRetryCancelled = true;
57
- };
58
-
59
- const continueRetry = () => {
60
- isRetryCancelled = false;
61
- };
62
-
63
- const shouldPause = () => !focusManager.focusManager.isFocused() || config.networkMode !== 'always' && !onlineManager.onlineManager.isOnline();
64
-
65
- const resolve = value => {
66
- if (!isResolved) {
67
- isResolved = true;
68
- config.onSuccess == null ? void 0 : config.onSuccess(value);
69
- continueFn == null ? void 0 : continueFn();
70
- promiseResolve(value);
71
- }
72
- };
73
-
74
- const reject = value => {
75
- if (!isResolved) {
76
- isResolved = true;
77
- config.onError == null ? void 0 : config.onError(value);
78
- continueFn == null ? void 0 : continueFn();
79
- promiseReject(value);
80
- }
81
- };
82
-
83
- const pause = () => {
84
- return new Promise(continueResolve => {
85
- continueFn = value => {
86
- if (isResolved || !shouldPause()) {
87
- return continueResolve(value);
88
- }
89
- };
90
-
91
- config.onPause == null ? void 0 : config.onPause();
92
- }).then(() => {
93
- continueFn = undefined;
94
-
95
- if (!isResolved) {
96
- config.onContinue == null ? void 0 : config.onContinue();
97
- }
98
- });
99
- }; // Create loop function
100
-
101
-
102
- const run = () => {
103
- // Do nothing if already resolved
104
- if (isResolved) {
105
- return;
106
- }
107
-
108
- let promiseOrValue; // Execute query
109
-
110
- try {
111
- promiseOrValue = config.fn();
112
- } catch (error) {
113
- promiseOrValue = Promise.reject(error);
114
- }
115
-
116
- Promise.resolve(promiseOrValue).then(resolve).catch(error => {
117
- var _config$retry, _config$retryDelay;
118
-
119
- // Stop if the fetch is already resolved
120
- if (isResolved) {
121
- return;
122
- } // Do we need to retry the request?
123
-
124
-
125
- const retry = (_config$retry = config.retry) != null ? _config$retry : 3;
126
- const retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;
127
- const delay = typeof retryDelay === 'function' ? retryDelay(failureCount, error) : retryDelay;
128
- const shouldRetry = retry === true || typeof retry === 'number' && failureCount < retry || typeof retry === 'function' && retry(failureCount, error);
129
-
130
- if (isRetryCancelled || !shouldRetry) {
131
- // We are done if the query does not need to be retried
132
- reject(error);
133
- return;
134
- }
135
-
136
- failureCount++; // Notify on fail
137
-
138
- config.onFail == null ? void 0 : config.onFail(failureCount, error); // Delay
139
-
140
- utils.sleep(delay) // Pause if the document is not visible or when the device is offline
141
- .then(() => {
142
- if (shouldPause()) {
143
- return pause();
144
- }
145
- }).then(() => {
146
- if (isRetryCancelled) {
147
- reject(error);
148
- } else {
149
- run();
150
- }
151
- });
152
- });
153
- }; // Start loop
154
-
155
-
156
- if (canFetch(config.networkMode)) {
157
- run();
158
- } else {
159
- pause().then(run);
160
- }
161
-
162
- return {
163
- promise,
164
- cancel,
165
- continue: () => {
166
- continueFn == null ? void 0 : continueFn();
167
- },
168
- cancelRetry,
169
- continueRetry
170
- };
171
- }
172
-
173
- exports.CancelledError = CancelledError;
174
- exports.canFetch = canFetch;
175
- exports.createRetryer = createRetryer;
176
- exports.isCancelledError = isCancelledError;
177
- //# sourceMappingURL=retryer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retryer.js","sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { sleep } from './utils'\nimport { CancelOptions, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = unknown> {\n fn: () => TData | Promise<TData>\n abort?: () => void\n onError?: (error: TError) => void\n onSuccess?: (data: TData) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => void\n cancelRetry: () => void\n continueRetry: () => void\n}\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = unknown> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = unknown>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let isResolved = false\n let continueFn: ((value?: unknown) => void) | undefined\n let promiseResolve: (data: TData) => void\n let promiseReject: (error: TError) => void\n\n const promise = new Promise<TData>((outerResolve, outerReject) => {\n promiseResolve = outerResolve\n promiseReject = outerReject\n })\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions))\n\n config.abort?.()\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const shouldPause = () =>\n !focusManager.isFocused() ||\n (config.networkMode !== 'always' && !onlineManager.isOnline())\n\n const resolve = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onSuccess?.(value)\n continueFn?.()\n promiseResolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onError?.(value)\n continueFn?.()\n promiseReject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved || !shouldPause()) {\n return continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return\n }\n\n let promiseOrValue: any\n\n // Execute query\n try {\n promiseOrValue = config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? 3\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause()\n }\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n // Start loop\n if (canFetch(config.networkMode)) {\n run()\n } else {\n pause().then(run)\n }\n\n return {\n promise,\n cancel,\n continue: () => {\n continueFn?.()\n },\n cancelRetry,\n continueRetry,\n }\n}\n"],"names":["defaultRetryDelay","failureCount","Math","min","canFetch","networkMode","onlineManager","isOnline","CancelledError","constructor","options","revert","silent","isCancelledError","value","createRetryer","config","isRetryCancelled","isResolved","continueFn","promiseResolve","promiseReject","promise","Promise","outerResolve","outerReject","cancel","cancelOptions","reject","abort","cancelRetry","continueRetry","shouldPause","focusManager","isFocused","resolve","onSuccess","onError","pause","continueResolve","onPause","then","undefined","onContinue","run","promiseOrValue","fn","error","catch","retry","retryDelay","delay","shouldRetry","onFail","sleep","continue"],"mappings":";;;;;;;;;;;;;;;;;;AA0CA,SAASA,iBAAT,CAA2BC,YAA3B,EAAiD;EAC/C,OAAOC,IAAI,CAACC,GAAL,CAAS,OAAO,CAAKF,IAAAA,YAArB,EAAmC,KAAnC,CAAP,CAAA;AACD,CAAA;;AAEM,SAASG,QAAT,CAAkBC,WAAlB,EAAiE;AACtE,EAAA,OAAO,CAACA,WAAD,IAACA,IAAAA,GAAAA,WAAD,GAAgB,QAAhB,MAA8B,QAA9B,GACHC,2BAAa,CAACC,QAAd,EADG,GAEH,IAFJ,CAAA;AAGD,CAAA;AAEM,MAAMC,cAAN,CAAqB;EAG1BC,WAAW,CAACC,OAAD,EAA0B;AACnC,IAAA,IAAA,CAAKC,MAAL,GAAcD,OAAd,IAAcA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEC,MAAvB,CAAA;AACA,IAAA,IAAA,CAAKC,MAAL,GAAcF,OAAd,IAAcA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEE,MAAvB,CAAA;AACD,GAAA;;AANyB,CAAA;AASrB,SAASC,gBAAT,CAA0BC,KAA1B,EAA+D;EACpE,OAAOA,KAAK,YAAYN,cAAxB,CAAA;AACD,CAAA;AAEM,SAASO,aAAT,CACLC,MADK,EAEW;EAChB,IAAIC,gBAAgB,GAAG,KAAvB,CAAA;EACA,IAAIhB,YAAY,GAAG,CAAnB,CAAA;EACA,IAAIiB,UAAU,GAAG,KAAjB,CAAA;AACA,EAAA,IAAIC,UAAJ,CAAA;AACA,EAAA,IAAIC,cAAJ,CAAA;AACA,EAAA,IAAIC,aAAJ,CAAA;EAEA,MAAMC,OAAO,GAAG,IAAIC,OAAJ,CAAmB,CAACC,YAAD,EAAeC,WAAf,KAA+B;AAChEL,IAAAA,cAAc,GAAGI,YAAjB,CAAA;AACAH,IAAAA,aAAa,GAAGI,WAAhB,CAAA;AACD,GAHe,CAAhB,CAAA;;EAKA,MAAMC,MAAM,GAAIC,aAAD,IAAyC;IACtD,IAAI,CAACT,UAAL,EAAiB;AACfU,MAAAA,MAAM,CAAC,IAAIpB,cAAJ,CAAmBmB,aAAnB,CAAD,CAAN,CAAA;AAEAX,MAAAA,MAAM,CAACa,KAAP,IAAAb,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAACa,KAAP,EAAA,CAAA;AACD,KAAA;GALH,CAAA;;EAOA,MAAMC,WAAW,GAAG,MAAM;AACxBb,IAAAA,gBAAgB,GAAG,IAAnB,CAAA;GADF,CAAA;;EAIA,MAAMc,aAAa,GAAG,MAAM;AAC1Bd,IAAAA,gBAAgB,GAAG,KAAnB,CAAA;GADF,CAAA;;AAIA,EAAA,MAAMe,WAAW,GAAG,MAClB,CAACC,yBAAY,CAACC,SAAb,EAAD,IACClB,MAAM,CAACX,WAAP,KAAuB,QAAvB,IAAmC,CAACC,2BAAa,CAACC,QAAd,EAFvC,CAAA;;EAIA,MAAM4B,OAAO,GAAIrB,KAAD,IAAgB;IAC9B,IAAI,CAACI,UAAL,EAAiB;AACfA,MAAAA,UAAU,GAAG,IAAb,CAAA;AACAF,MAAAA,MAAM,CAACoB,SAAP,IAAA,IAAA,GAAA,KAAA,CAAA,GAAApB,MAAM,CAACoB,SAAP,CAAmBtB,KAAnB,CAAA,CAAA;MACAK,UAAU,IAAA,IAAV,YAAAA,UAAU,EAAA,CAAA;MACVC,cAAc,CAACN,KAAD,CAAd,CAAA;AACD,KAAA;GANH,CAAA;;EASA,MAAMc,MAAM,GAAId,KAAD,IAAgB;IAC7B,IAAI,CAACI,UAAL,EAAiB;AACfA,MAAAA,UAAU,GAAG,IAAb,CAAA;AACAF,MAAAA,MAAM,CAACqB,OAAP,IAAA,IAAA,GAAA,KAAA,CAAA,GAAArB,MAAM,CAACqB,OAAP,CAAiBvB,KAAjB,CAAA,CAAA;MACAK,UAAU,IAAA,IAAV,YAAAA,UAAU,EAAA,CAAA;MACVE,aAAa,CAACP,KAAD,CAAb,CAAA;AACD,KAAA;GANH,CAAA;;EASA,MAAMwB,KAAK,GAAG,MAAM;AAClB,IAAA,OAAO,IAAIf,OAAJ,CAAagB,eAAD,IAAqB;MACtCpB,UAAU,GAAIL,KAAD,IAAW;AACtB,QAAA,IAAII,UAAU,IAAI,CAACc,WAAW,EAA9B,EAAkC;UAChC,OAAOO,eAAe,CAACzB,KAAD,CAAtB,CAAA;AACD,SAAA;OAHH,CAAA;;AAKAE,MAAAA,MAAM,CAACwB,OAAP,IAAAxB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAACwB,OAAP,EAAA,CAAA;KANK,CAAA,CAOJC,IAPI,CAOC,MAAM;AACZtB,MAAAA,UAAU,GAAGuB,SAAb,CAAA;;MACA,IAAI,CAACxB,UAAL,EAAiB;AACfF,QAAAA,MAAM,CAAC2B,UAAP,IAAA3B,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAC2B,UAAP,EAAA,CAAA;AACD,OAAA;AACF,KAZM,CAAP,CAAA;AAaD,GAdD,CAlDgB;;;EAmEhB,MAAMC,GAAG,GAAG,MAAM;AAChB;AACA,IAAA,IAAI1B,UAAJ,EAAgB;AACd,MAAA,OAAA;AACD,KAAA;;IAED,IAAI2B,cAAJ,CANgB;;IAShB,IAAI;AACFA,MAAAA,cAAc,GAAG7B,MAAM,CAAC8B,EAAP,EAAjB,CAAA;KADF,CAEE,OAAOC,KAAP,EAAc;AACdF,MAAAA,cAAc,GAAGtB,OAAO,CAACK,MAAR,CAAemB,KAAf,CAAjB,CAAA;AACD,KAAA;;AAEDxB,IAAAA,OAAO,CAACY,OAAR,CAAgBU,cAAhB,CACGJ,CAAAA,IADH,CACQN,OADR,CAEGa,CAAAA,KAFH,CAEUD,KAAD,IAAW;AAAA,MAAA,IAAA,aAAA,EAAA,kBAAA,CAAA;;AAChB;AACA,MAAA,IAAI7B,UAAJ,EAAgB;AACd,QAAA,OAAA;AACD,OAJe;;;AAOhB,MAAA,MAAM+B,KAAK,GAAGjC,CAAAA,aAAAA,GAAAA,MAAM,CAACiC,KAAV,4BAAmB,CAA9B,CAAA;AACA,MAAA,MAAMC,UAAU,GAAGlC,CAAAA,kBAAAA,GAAAA,MAAM,CAACkC,UAAV,iCAAwBlD,iBAAxC,CAAA;AACA,MAAA,MAAMmD,KAAK,GACT,OAAOD,UAAP,KAAsB,UAAtB,GACIA,UAAU,CAACjD,YAAD,EAAe8C,KAAf,CADd,GAEIG,UAHN,CAAA;MAIA,MAAME,WAAW,GACfH,KAAK,KAAK,IAAV,IACC,OAAOA,KAAP,KAAiB,QAAjB,IAA6BhD,YAAY,GAAGgD,KAD7C,IAEC,OAAOA,KAAP,KAAiB,UAAjB,IAA+BA,KAAK,CAAChD,YAAD,EAAe8C,KAAf,CAHvC,CAAA;;AAKA,MAAA,IAAI9B,gBAAgB,IAAI,CAACmC,WAAzB,EAAsC;AACpC;QACAxB,MAAM,CAACmB,KAAD,CAAN,CAAA;AACA,QAAA,OAAA;AACD,OAAA;;AAED9C,MAAAA,YAAY,GAxBI;;MA2BhBe,MAAM,CAACqC,MAAP,IAAA,IAAA,GAAA,KAAA,CAAA,GAAArC,MAAM,CAACqC,MAAP,CAAgBpD,YAAhB,EAA8B8C,KAA9B,CAAA,CA3BgB;;MA8BhBO,WAAK,CAACH,KAAD,CAAL;OAEGV,IAFH,CAEQ,MAAM;QACV,IAAIT,WAAW,EAAf,EAAmB;AACjB,UAAA,OAAOM,KAAK,EAAZ,CAAA;AACD,SAAA;OALL,CAAA,CAOGG,IAPH,CAOQ,MAAM;AACV,QAAA,IAAIxB,gBAAJ,EAAsB;UACpBW,MAAM,CAACmB,KAAD,CAAN,CAAA;AACD,SAFD,MAEO;UACLH,GAAG,EAAA,CAAA;AACJ,SAAA;OAZL,CAAA,CAAA;KAhCJ,CAAA,CAAA;AA+CD,GA9DD,CAnEgB;;;AAoIhB,EAAA,IAAIxC,QAAQ,CAACY,MAAM,CAACX,WAAR,CAAZ,EAAkC;IAChCuC,GAAG,EAAA,CAAA;AACJ,GAFD,MAEO;IACLN,KAAK,EAAA,CAAGG,IAAR,CAAaG,GAAb,CAAA,CAAA;AACD,GAAA;;EAED,OAAO;IACLtB,OADK;IAELI,MAFK;AAGL6B,IAAAA,QAAQ,EAAE,MAAM;MACdpC,UAAU,IAAA,IAAV,YAAAA,UAAU,EAAA,CAAA;KAJP;IAMLW,WANK;AAOLC,IAAAA,aAAAA;GAPF,CAAA;AASD;;;;;;;"}
@@ -1,43 +0,0 @@
1
- /**
2
- * query-core
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- class Subscribable {
16
- constructor() {
17
- this.listeners = [];
18
- this.subscribe = this.subscribe.bind(this);
19
- }
20
-
21
- subscribe(listener) {
22
- this.listeners.push(listener);
23
- this.onSubscribe();
24
- return () => {
25
- this.listeners = this.listeners.filter(x => x !== listener);
26
- this.onUnsubscribe();
27
- };
28
- }
29
-
30
- hasListeners() {
31
- return this.listeners.length > 0;
32
- }
33
-
34
- onSubscribe() {// Do nothing
35
- }
36
-
37
- onUnsubscribe() {// Do nothing
38
- }
39
-
40
- }
41
-
42
- exports.Subscribable = Subscribable;
43
- //# sourceMappingURL=subscribable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscribable.js","sources":["../../src/subscribable.ts"],"sourcesContent":["type Listener = () => void\n\nexport class Subscribable<TListener extends Function = Listener> {\n protected listeners: TListener[]\n\n constructor() {\n this.listeners = []\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n this.listeners.push(listener as TListener)\n\n this.onSubscribe()\n\n return () => {\n this.listeners = this.listeners.filter((x) => x !== listener)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.length > 0\n }\n\n protected onSubscribe(): void {\n // Do nothing\n }\n\n protected onUnsubscribe(): void {\n // Do nothing\n }\n}\n"],"names":["Subscribable","constructor","listeners","subscribe","bind","listener","push","onSubscribe","filter","x","onUnsubscribe","hasListeners","length"],"mappings":";;;;;;;;;;;;;;AAEO,MAAMA,YAAN,CAA0D;AAG/DC,EAAAA,WAAW,GAAG;IACZ,IAAKC,CAAAA,SAAL,GAAiB,EAAjB,CAAA;IACA,IAAKC,CAAAA,SAAL,GAAiB,IAAKA,CAAAA,SAAL,CAAeC,IAAf,CAAoB,IAApB,CAAjB,CAAA;AACD,GAAA;;EAEDD,SAAS,CAACE,QAAD,EAAkC;AACzC,IAAA,IAAA,CAAKH,SAAL,CAAeI,IAAf,CAAoBD,QAApB,CAAA,CAAA;AAEA,IAAA,IAAA,CAAKE,WAAL,EAAA,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,IAAA,CAAKL,SAAL,GAAiB,IAAKA,CAAAA,SAAL,CAAeM,MAAf,CAAuBC,CAAD,IAAOA,CAAC,KAAKJ,QAAnC,CAAjB,CAAA;AACA,MAAA,IAAA,CAAKK,aAAL,EAAA,CAAA;KAFF,CAAA;AAID,GAAA;;AAEDC,EAAAA,YAAY,GAAY;AACtB,IAAA,OAAO,IAAKT,CAAAA,SAAL,CAAeU,MAAf,GAAwB,CAA/B,CAAA;AACD,GAAA;;AAESL,EAAAA,WAAW,GAAS;AAE7B,GAAA;;AAESG,EAAAA,aAAa,GAAS;AAE/B,GAAA;;AA7B8D;;;;"}
@@ -1,356 +0,0 @@
1
- /**
2
- * query-core
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- // TYPES
16
- // UTILS
17
- const isServer = typeof window === 'undefined';
18
- function noop() {
19
- return undefined;
20
- }
21
- function functionalUpdate(updater, input) {
22
- return typeof updater === 'function' ? updater(input) : updater;
23
- }
24
- function isValidTimeout(value) {
25
- return typeof value === 'number' && value >= 0 && value !== Infinity;
26
- }
27
- function difference(array1, array2) {
28
- return array1.filter(x => array2.indexOf(x) === -1);
29
- }
30
- function replaceAt(array, index, value) {
31
- const copy = array.slice(0);
32
- copy[index] = value;
33
- return copy;
34
- }
35
- function timeUntilStale(updatedAt, staleTime) {
36
- return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);
37
- }
38
- function parseQueryArgs(arg1, arg2, arg3) {
39
- if (!isQueryKey(arg1)) {
40
- return arg1;
41
- }
42
-
43
- if (typeof arg2 === 'function') {
44
- return { ...arg3,
45
- queryKey: arg1,
46
- queryFn: arg2
47
- };
48
- }
49
-
50
- return { ...arg2,
51
- queryKey: arg1
52
- };
53
- }
54
- function parseMutationArgs(arg1, arg2, arg3) {
55
- if (isQueryKey(arg1)) {
56
- if (typeof arg2 === 'function') {
57
- return { ...arg3,
58
- mutationKey: arg1,
59
- mutationFn: arg2
60
- };
61
- }
62
-
63
- return { ...arg2,
64
- mutationKey: arg1
65
- };
66
- }
67
-
68
- if (typeof arg1 === 'function') {
69
- return { ...arg2,
70
- mutationFn: arg1
71
- };
72
- }
73
-
74
- return { ...arg1
75
- };
76
- }
77
- function parseFilterArgs(arg1, arg2, arg3) {
78
- return isQueryKey(arg1) ? [{ ...arg2,
79
- queryKey: arg1
80
- }, arg3] : [arg1 || {}, arg2];
81
- }
82
- function parseMutationFilterArgs(arg1, arg2, arg3) {
83
- return isQueryKey(arg1) ? [{ ...arg2,
84
- mutationKey: arg1
85
- }, arg3] : [arg1 || {}, arg2];
86
- }
87
- function matchQuery(filters, query) {
88
- const {
89
- type = 'all',
90
- exact,
91
- fetchStatus,
92
- predicate,
93
- queryKey,
94
- stale
95
- } = filters;
96
-
97
- if (isQueryKey(queryKey)) {
98
- if (exact) {
99
- if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {
100
- return false;
101
- }
102
- } else if (!partialMatchKey(query.queryKey, queryKey)) {
103
- return false;
104
- }
105
- }
106
-
107
- if (type !== 'all') {
108
- const isActive = query.isActive();
109
-
110
- if (type === 'active' && !isActive) {
111
- return false;
112
- }
113
-
114
- if (type === 'inactive' && isActive) {
115
- return false;
116
- }
117
- }
118
-
119
- if (typeof stale === 'boolean' && query.isStale() !== stale) {
120
- return false;
121
- }
122
-
123
- if (typeof fetchStatus !== 'undefined' && fetchStatus !== query.state.fetchStatus) {
124
- return false;
125
- }
126
-
127
- if (predicate && !predicate(query)) {
128
- return false;
129
- }
130
-
131
- return true;
132
- }
133
- function matchMutation(filters, mutation) {
134
- const {
135
- exact,
136
- fetching,
137
- predicate,
138
- mutationKey
139
- } = filters;
140
-
141
- if (isQueryKey(mutationKey)) {
142
- if (!mutation.options.mutationKey) {
143
- return false;
144
- }
145
-
146
- if (exact) {
147
- if (hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)) {
148
- return false;
149
- }
150
- } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {
151
- return false;
152
- }
153
- }
154
-
155
- if (typeof fetching === 'boolean' && mutation.state.status === 'loading' !== fetching) {
156
- return false;
157
- }
158
-
159
- if (predicate && !predicate(mutation)) {
160
- return false;
161
- }
162
-
163
- return true;
164
- }
165
- function hashQueryKeyByOptions(queryKey, options) {
166
- const hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashQueryKey;
167
- return hashFn(queryKey);
168
- }
169
- /**
170
- * Default query keys hash function.
171
- * Hashes the value into a stable hash.
172
- */
173
-
174
- function hashQueryKey(queryKey) {
175
- return JSON.stringify(queryKey, (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {
176
- result[key] = val[key];
177
- return result;
178
- }, {}) : val);
179
- }
180
- /**
181
- * Checks if key `b` partially matches with key `a`.
182
- */
183
-
184
- function partialMatchKey(a, b) {
185
- return partialDeepEqual(a, b);
186
- }
187
- /**
188
- * Checks if `b` partially matches with `a`.
189
- */
190
-
191
- function partialDeepEqual(a, b) {
192
- if (a === b) {
193
- return true;
194
- }
195
-
196
- if (typeof a !== typeof b) {
197
- return false;
198
- }
199
-
200
- if (a && b && typeof a === 'object' && typeof b === 'object') {
201
- return !Object.keys(b).some(key => !partialDeepEqual(a[key], b[key]));
202
- }
203
-
204
- return false;
205
- }
206
- /**
207
- * This function returns `a` if `b` is deeply equal.
208
- * If not, it will replace any deeply equal children of `b` with those of `a`.
209
- * This can be used for structural sharing between JSON values for example.
210
- */
211
-
212
- function replaceEqualDeep(a, b) {
213
- if (a === b) {
214
- return a;
215
- }
216
-
217
- const array = isPlainArray(a) && isPlainArray(b);
218
-
219
- if (array || isPlainObject(a) && isPlainObject(b)) {
220
- const aSize = array ? a.length : Object.keys(a).length;
221
- const bItems = array ? b : Object.keys(b);
222
- const bSize = bItems.length;
223
- const copy = array ? [] : {};
224
- let equalItems = 0;
225
-
226
- for (let i = 0; i < bSize; i++) {
227
- const key = array ? i : bItems[i];
228
- copy[key] = replaceEqualDeep(a[key], b[key]);
229
-
230
- if (copy[key] === a[key]) {
231
- equalItems++;
232
- }
233
- }
234
-
235
- return aSize === bSize && equalItems === aSize ? a : copy;
236
- }
237
-
238
- return b;
239
- }
240
- /**
241
- * Shallow compare objects. Only works with objects that always have the same properties.
242
- */
243
-
244
- function shallowEqualObjects(a, b) {
245
- if (a && !b || b && !a) {
246
- return false;
247
- }
248
-
249
- for (const key in a) {
250
- if (a[key] !== b[key]) {
251
- return false;
252
- }
253
- }
254
-
255
- return true;
256
- }
257
- function isPlainArray(value) {
258
- return Array.isArray(value) && value.length === Object.keys(value).length;
259
- } // Copied from: https://github.com/jonschlinkert/is-plain-object
260
-
261
- function isPlainObject(o) {
262
- if (!hasObjectPrototype(o)) {
263
- return false;
264
- } // If has modified constructor
265
-
266
-
267
- const ctor = o.constructor;
268
-
269
- if (typeof ctor === 'undefined') {
270
- return true;
271
- } // If has modified prototype
272
-
273
-
274
- const prot = ctor.prototype;
275
-
276
- if (!hasObjectPrototype(prot)) {
277
- return false;
278
- } // If constructor does not have an Object-specific method
279
-
280
-
281
- if (!prot.hasOwnProperty('isPrototypeOf')) {
282
- return false;
283
- } // Most likely a plain Object
284
-
285
-
286
- return true;
287
- }
288
-
289
- function hasObjectPrototype(o) {
290
- return Object.prototype.toString.call(o) === '[object Object]';
291
- }
292
-
293
- function isQueryKey(value) {
294
- return Array.isArray(value);
295
- }
296
- function isError(value) {
297
- return value instanceof Error;
298
- }
299
- function sleep(timeout) {
300
- return new Promise(resolve => {
301
- setTimeout(resolve, timeout);
302
- });
303
- }
304
- /**
305
- * Schedules a microtask.
306
- * This can be useful to schedule state updates after rendering.
307
- */
308
-
309
- function scheduleMicrotask(callback) {
310
- sleep(0).then(callback);
311
- }
312
- function getAbortController() {
313
- if (typeof AbortController === 'function') {
314
- return new AbortController();
315
- }
316
- }
317
- function replaceData(prevData, data, options) {
318
- // Use prev data if an isDataEqual function is defined and returns `true`
319
- if (options.isDataEqual != null && options.isDataEqual(prevData, data)) {
320
- return prevData;
321
- } else if (options.structuralSharing !== false) {
322
- // Structurally share data between prev and new data if needed
323
- return replaceEqualDeep(prevData, data);
324
- }
325
-
326
- return data;
327
- }
328
-
329
- exports.difference = difference;
330
- exports.functionalUpdate = functionalUpdate;
331
- exports.getAbortController = getAbortController;
332
- exports.hashQueryKey = hashQueryKey;
333
- exports.hashQueryKeyByOptions = hashQueryKeyByOptions;
334
- exports.isError = isError;
335
- exports.isPlainArray = isPlainArray;
336
- exports.isPlainObject = isPlainObject;
337
- exports.isQueryKey = isQueryKey;
338
- exports.isServer = isServer;
339
- exports.isValidTimeout = isValidTimeout;
340
- exports.matchMutation = matchMutation;
341
- exports.matchQuery = matchQuery;
342
- exports.noop = noop;
343
- exports.parseFilterArgs = parseFilterArgs;
344
- exports.parseMutationArgs = parseMutationArgs;
345
- exports.parseMutationFilterArgs = parseMutationFilterArgs;
346
- exports.parseQueryArgs = parseQueryArgs;
347
- exports.partialDeepEqual = partialDeepEqual;
348
- exports.partialMatchKey = partialMatchKey;
349
- exports.replaceAt = replaceAt;
350
- exports.replaceData = replaceData;
351
- exports.replaceEqualDeep = replaceEqualDeep;
352
- exports.scheduleMicrotask = scheduleMicrotask;
353
- exports.shallowEqualObjects = shallowEqualObjects;
354
- exports.sleep = sleep;
355
- exports.timeUntilStale = timeUntilStale;
356
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["import type { Mutation } from './mutation'\nimport type { Query } from './query'\nimport type {\n FetchStatus,\n MutationFunction,\n MutationKey,\n MutationOptions,\n QueryFunction,\n QueryKey,\n QueryOptions,\n} from './types'\n\n// TYPES\n\nexport interface QueryFilters {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: QueryKey\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (mutation: Mutation<any, any, any>) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: MutationKey\n /**\n * Include or exclude fetching mutations\n */\n fetching?: boolean\n}\n\nexport type DataUpdateFunction<TInput, TOutput> = (input: TInput) => TOutput\n\nexport type Updater<TInput, TOutput> =\n | TOutput\n | DataUpdateFunction<TInput, TOutput>\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\nexport const isServer = typeof window === 'undefined'\n\nexport function noop(): undefined {\n return undefined\n}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as DataUpdateFunction<TInput, TOutput>)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function difference<T>(array1: T[], array2: T[]): T[] {\n return array1.filter((x) => array2.indexOf(x) === -1)\n}\n\nexport function replaceAt<T>(array: T[], index: number, value: T): T[] {\n const copy = array.slice(0)\n copy[index] = value\n return copy\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function parseQueryArgs<\n TOptions extends QueryOptions<any, any, any, TQueryKey>,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1: TQueryKey | TOptions,\n arg2?: QueryFunction<any, TQueryKey> | TOptions,\n arg3?: TOptions,\n): TOptions {\n if (!isQueryKey(arg1)) {\n return arg1 as TOptions\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3, queryKey: arg1, queryFn: arg2 } as TOptions\n }\n\n return { ...arg2, queryKey: arg1 } as TOptions\n}\n\nexport function parseMutationArgs<\n TOptions extends MutationOptions<any, any, any, any>,\n>(\n arg1: MutationKey | MutationFunction<any, any> | TOptions,\n arg2?: MutationFunction<any, any> | TOptions,\n arg3?: TOptions,\n): TOptions {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return { ...arg3, mutationKey: arg1, mutationFn: arg2 } as TOptions\n }\n return { ...arg2, mutationKey: arg1 } as TOptions\n }\n\n if (typeof arg1 === 'function') {\n return { ...arg2, mutationFn: arg1 } as TOptions\n }\n\n return { ...arg1 } as TOptions\n}\n\nexport function parseFilterArgs<\n TFilters extends QueryFilters,\n TOptions = unknown,\n>(\n arg1?: QueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [TFilters, TOptions | undefined] {\n return (\n isQueryKey(arg1) ? [{ ...arg2, queryKey: arg1 }, arg3] : [arg1 || {}, arg2]\n ) as [TFilters, TOptions]\n}\n\nexport function parseMutationFilterArgs<\n TFilters extends MutationFilters,\n TOptions = unknown,\n>(\n arg1?: QueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [TFilters, TOptions | undefined] {\n return (\n isQueryKey(arg1)\n ? [{ ...arg2, mutationKey: arg1 }, arg3]\n : [arg1 || {}, arg2]\n ) as [TFilters, TOptions]\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (\n typeof fetchStatus !== 'undefined' &&\n fetchStatus !== query.state.fetchStatus\n ) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, fetching, predicate, mutationKey } = filters\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (\n hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)\n ) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (\n typeof fetching === 'boolean' &&\n (mutation.state.status === 'loading') !== fetching\n ) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: QueryOptions<any, any, any, TQueryKey>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashQueryKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashQueryKey(queryKey: QueryKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean {\n return partialDeepEqual(a, b)\n}\n\n/**\n * Checks if `b` partially matches with `a`.\n */\nexport function partialDeepEqual(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some((key) => !partialDeepEqual(a[key], b[key]))\n }\n\n return false\n}\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T): T\nexport function replaceEqualDeep(a: any, b: any): any {\n if (a === b) {\n return a\n }\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (array || (isPlainObject(a) && isPlainObject(b))) {\n const aSize = array ? a.length : Object.keys(a).length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? [] : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i]\n copy[key] = replaceEqualDeep(a[key], b[key])\n if (copy[key] === a[key]) {\n equalItems++\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n }\n\n return b\n}\n\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\nexport function shallowEqualObjects<T>(a: T, b: T): boolean {\n if ((a && !b) || (b && !a)) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown) {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\nexport function isPlainObject(o: any): o is Object {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has modified constructor\n const ctor = o.constructor\n if (typeof ctor === 'undefined') {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function isError(value: any): value is Error {\n return value instanceof Error\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nexport function scheduleMicrotask(callback: () => void) {\n sleep(0).then(callback)\n}\n\nexport function getAbortController(): AbortController | undefined {\n if (typeof AbortController === 'function') {\n return new AbortController()\n }\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n // Use prev data if an isDataEqual function is defined and returns `true`\n if (options.isDataEqual?.(prevData, data)) {\n return prevData as TData\n } else if (options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n"],"names":["isServer","window","noop","undefined","functionalUpdate","updater","input","isValidTimeout","value","Infinity","difference","array1","array2","filter","x","indexOf","replaceAt","array","index","copy","slice","timeUntilStale","updatedAt","staleTime","Math","max","Date","now","parseQueryArgs","arg1","arg2","arg3","isQueryKey","queryKey","queryFn","parseMutationArgs","mutationKey","mutationFn","parseFilterArgs","parseMutationFilterArgs","matchQuery","filters","query","type","exact","fetchStatus","predicate","stale","queryHash","hashQueryKeyByOptions","options","partialMatchKey","isActive","isStale","state","matchMutation","mutation","fetching","hashQueryKey","status","hashFn","queryKeyHashFn","JSON","stringify","_","val","isPlainObject","Object","keys","sort","reduce","result","key","a","b","partialDeepEqual","some","replaceEqualDeep","isPlainArray","aSize","length","bItems","bSize","equalItems","i","shallowEqualObjects","Array","isArray","o","hasObjectPrototype","ctor","constructor","prot","prototype","hasOwnProperty","toString","call","isError","Error","sleep","timeout","Promise","resolve","setTimeout","scheduleMicrotask","callback","then","getAbortController","AbortController","replaceData","prevData","data","isDataEqual","structuralSharing"],"mappings":"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"}