@tanstack/query-core 5.0.0-alpha.5 → 5.0.0-alpha.50

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 (191) hide show
  1. package/build/lib/focusManager.d.ts +2 -1
  2. package/build/lib/focusManager.d.ts.map +1 -0
  3. package/build/lib/focusManager.js.map +1 -1
  4. package/build/lib/focusManager.mjs.map +1 -1
  5. package/build/lib/hydration.d.ts +3 -6
  6. package/build/lib/hydration.d.ts.map +1 -0
  7. package/build/lib/hydration.js +4 -18
  8. package/build/lib/hydration.js.map +1 -1
  9. package/build/lib/hydration.mjs +4 -18
  10. package/build/lib/hydration.mjs.map +1 -1
  11. package/build/lib/index.d.ts +5 -3
  12. package/build/lib/index.d.ts.map +1 -0
  13. package/build/lib/infiniteQueryBehavior.d.ts +1 -0
  14. package/build/lib/infiniteQueryBehavior.d.ts.map +1 -0
  15. package/build/lib/infiniteQueryBehavior.js +1 -0
  16. package/build/lib/infiniteQueryBehavior.js.map +1 -1
  17. package/build/lib/infiniteQueryBehavior.mjs +1 -0
  18. package/build/lib/infiniteQueryBehavior.mjs.map +1 -1
  19. package/build/lib/infiniteQueryObserver.d.ts +2 -1
  20. package/build/lib/infiniteQueryObserver.d.ts.map +1 -0
  21. package/build/lib/infiniteQueryObserver.js.map +1 -1
  22. package/build/lib/infiniteQueryObserver.mjs.map +1 -1
  23. package/build/lib/mutation.d.ts +2 -1
  24. package/build/lib/mutation.d.ts.map +1 -0
  25. package/build/lib/mutation.js.map +1 -1
  26. package/build/lib/mutation.mjs.map +1 -1
  27. package/build/lib/mutationCache.d.ts +3 -2
  28. package/build/lib/mutationCache.d.ts.map +1 -0
  29. package/build/lib/mutationCache.js +5 -4
  30. package/build/lib/mutationCache.js.map +1 -1
  31. package/build/lib/mutationCache.mjs +5 -4
  32. package/build/lib/mutationCache.mjs.map +1 -1
  33. package/build/lib/mutationObserver.d.ts +2 -1
  34. package/build/lib/mutationObserver.d.ts.map +1 -0
  35. package/build/lib/mutationObserver.js +1 -1
  36. package/build/lib/mutationObserver.js.map +1 -1
  37. package/build/lib/mutationObserver.mjs +1 -1
  38. package/build/lib/mutationObserver.mjs.map +1 -1
  39. package/build/lib/notifyManager.d.ts +4 -3
  40. package/build/lib/notifyManager.d.ts.map +1 -0
  41. package/build/lib/notifyManager.js.map +1 -1
  42. package/build/lib/notifyManager.mjs.map +1 -1
  43. package/build/lib/onlineManager.d.ts +2 -1
  44. package/build/lib/onlineManager.d.ts.map +1 -0
  45. package/build/lib/onlineManager.js.map +1 -1
  46. package/build/lib/onlineManager.mjs.map +1 -1
  47. package/build/lib/queriesObserver.d.ts +14 -6
  48. package/build/lib/queriesObserver.d.ts.map +1 -0
  49. package/build/lib/queriesObserver.js +39 -16
  50. package/build/lib/queriesObserver.js.map +1 -1
  51. package/build/lib/queriesObserver.mjs +39 -16
  52. package/build/lib/queriesObserver.mjs.map +1 -1
  53. package/build/lib/query.d.ts +6 -4
  54. package/build/lib/query.d.ts.map +1 -0
  55. package/build/lib/query.js +2 -2
  56. package/build/lib/query.js.map +1 -1
  57. package/build/lib/query.mjs +2 -2
  58. package/build/lib/query.mjs.map +1 -1
  59. package/build/lib/queryCache.d.ts +3 -3
  60. package/build/lib/queryCache.d.ts.map +1 -0
  61. package/build/lib/queryCache.js +8 -5
  62. package/build/lib/queryCache.js.map +1 -1
  63. package/build/lib/queryCache.mjs +8 -5
  64. package/build/lib/queryCache.mjs.map +1 -1
  65. package/build/lib/queryClient.d.ts +2 -2
  66. package/build/lib/queryClient.d.ts.map +1 -0
  67. package/build/lib/queryClient.js +19 -13
  68. package/build/lib/queryClient.js.map +1 -1
  69. package/build/lib/queryClient.mjs +19 -13
  70. package/build/lib/queryClient.mjs.map +1 -1
  71. package/build/lib/queryObserver.d.ts +5 -7
  72. package/build/lib/queryObserver.d.ts.map +1 -0
  73. package/build/lib/queryObserver.js +15 -27
  74. package/build/lib/queryObserver.js.map +1 -1
  75. package/build/lib/queryObserver.mjs +16 -28
  76. package/build/lib/queryObserver.mjs.map +1 -1
  77. package/build/lib/removable.d.ts +1 -0
  78. package/build/lib/removable.d.ts.map +1 -0
  79. package/build/lib/removable.js.map +1 -1
  80. package/build/lib/removable.mjs.map +1 -1
  81. package/build/lib/retryer.d.ts +5 -4
  82. package/build/lib/retryer.d.ts.map +1 -0
  83. package/build/lib/retryer.js +2 -0
  84. package/build/lib/retryer.js.map +1 -1
  85. package/build/lib/retryer.mjs +2 -0
  86. package/build/lib/retryer.mjs.map +1 -1
  87. package/build/lib/subscribable.d.ts +3 -2
  88. package/build/lib/subscribable.d.ts.map +1 -0
  89. package/build/lib/subscribable.js +4 -4
  90. package/build/lib/subscribable.js.map +1 -1
  91. package/build/lib/subscribable.mjs +4 -4
  92. package/build/lib/subscribable.mjs.map +1 -1
  93. package/build/lib/tests/focusManager.test.d.ts +1 -0
  94. package/build/lib/tests/focusManager.test.d.ts.map +1 -0
  95. package/build/lib/tests/hydration.test.d.ts +1 -0
  96. package/build/lib/tests/hydration.test.d.ts.map +1 -0
  97. package/build/lib/tests/infiniteQueryBehavior.test.d.ts +1 -0
  98. package/build/lib/tests/infiniteQueryBehavior.test.d.ts.map +1 -0
  99. package/build/lib/tests/infiniteQueryObserver.test.d.ts +1 -0
  100. package/build/lib/tests/infiniteQueryObserver.test.d.ts.map +1 -0
  101. package/build/lib/tests/mutationCache.test.d.ts +1 -0
  102. package/build/lib/tests/mutationCache.test.d.ts.map +1 -0
  103. package/build/lib/tests/mutationObserver.test.d.ts +1 -0
  104. package/build/lib/tests/mutationObserver.test.d.ts.map +1 -0
  105. package/build/lib/tests/mutations.test.d.ts +1 -0
  106. package/build/lib/tests/mutations.test.d.ts.map +1 -0
  107. package/build/lib/tests/notifyManager.test.d.ts +1 -0
  108. package/build/lib/tests/notifyManager.test.d.ts.map +1 -0
  109. package/build/lib/tests/onlineManager.test.d.ts +1 -0
  110. package/build/lib/tests/onlineManager.test.d.ts.map +1 -0
  111. package/build/lib/tests/queriesObserver.test.d.ts +1 -0
  112. package/build/lib/tests/queriesObserver.test.d.ts.map +1 -0
  113. package/build/lib/tests/query.test.d.ts +1 -0
  114. package/build/lib/tests/query.test.d.ts.map +1 -0
  115. package/build/lib/tests/queryCache.test.d.ts +1 -0
  116. package/build/lib/tests/queryCache.test.d.ts.map +1 -0
  117. package/build/lib/tests/queryClient.test.d.ts +1 -0
  118. package/build/lib/tests/queryClient.test.d.ts.map +1 -0
  119. package/build/lib/tests/queryObserver.test.d.ts +1 -0
  120. package/build/lib/tests/queryObserver.test.d.ts.map +1 -0
  121. package/build/lib/tests/utils.d.ts +3 -2
  122. package/build/lib/tests/utils.d.ts.map +1 -0
  123. package/build/lib/tests/utils.test.d.ts +1 -0
  124. package/build/lib/tests/utils.test.d.ts.map +1 -0
  125. package/build/lib/types.d.ts +35 -45
  126. package/build/lib/types.d.ts.map +1 -0
  127. package/build/lib/utils.d.ts +4 -3
  128. package/build/lib/utils.d.ts.map +1 -0
  129. package/build/lib/utils.js.map +1 -1
  130. package/build/lib/utils.mjs.map +1 -1
  131. package/package.json +8 -6
  132. package/src/hydration.ts +18 -37
  133. package/src/index.ts +3 -4
  134. package/src/infiniteQueryBehavior.ts +1 -0
  135. package/src/mutationCache.ts +4 -4
  136. package/src/mutationObserver.ts +1 -1
  137. package/src/queriesObserver.ts +74 -24
  138. package/src/query.ts +7 -5
  139. package/src/queryCache.ts +5 -8
  140. package/src/queryClient.ts +20 -20
  141. package/src/queryObserver.ts +43 -51
  142. package/src/subscribable.ts +5 -5
  143. package/src/tests/hydration.test.tsx +7 -3
  144. package/src/tests/infiniteQueryBehavior.test.tsx +9 -0
  145. package/src/tests/query.test.tsx +1 -1
  146. package/src/tests/queryCache.test.tsx +1 -19
  147. package/src/tests/queryClient.test.tsx +39 -3
  148. package/src/tests/queryObserver.test.tsx +121 -0
  149. package/src/types.ts +15 -20
  150. package/build/lib/focusManager.esm.js +0 -71
  151. package/build/lib/focusManager.esm.js.map +0 -1
  152. package/build/lib/hydration.esm.js +0 -98
  153. package/build/lib/hydration.esm.js.map +0 -1
  154. package/build/lib/index.esm.js +0 -14
  155. package/build/lib/index.esm.js.map +0 -1
  156. package/build/lib/infiniteQueryBehavior.esm.js +0 -125
  157. package/build/lib/infiniteQueryBehavior.esm.js.map +0 -1
  158. package/build/lib/infiniteQueryObserver.esm.js +0 -75
  159. package/build/lib/infiniteQueryObserver.esm.js.map +0 -1
  160. package/build/lib/mutation.esm.js +0 -234
  161. package/build/lib/mutation.esm.js.map +0 -1
  162. package/build/lib/mutationCache.esm.js +0 -82
  163. package/build/lib/mutationCache.esm.js.map +0 -1
  164. package/build/lib/mutationObserver.esm.js +0 -96
  165. package/build/lib/mutationObserver.esm.js.map +0 -1
  166. package/build/lib/notifyManager.esm.js +0 -89
  167. package/build/lib/notifyManager.esm.js.map +0 -1
  168. package/build/lib/onlineManager.esm.js +0 -73
  169. package/build/lib/onlineManager.esm.js.map +0 -1
  170. package/build/lib/queriesObserver.esm.js +0 -136
  171. package/build/lib/queriesObserver.esm.js.map +0 -1
  172. package/build/lib/query.esm.js +0 -420
  173. package/build/lib/query.esm.js.map +0 -1
  174. package/build/lib/queryCache.esm.js +0 -101
  175. package/build/lib/queryCache.esm.js.map +0 -1
  176. package/build/lib/queryClient.esm.js +0 -277
  177. package/build/lib/queryClient.esm.js.map +0 -1
  178. package/build/lib/queryObserver.esm.js +0 -440
  179. package/build/lib/queryObserver.esm.js.map +0 -1
  180. package/build/lib/removable.esm.js +0 -29
  181. package/build/lib/removable.esm.js.map +0 -1
  182. package/build/lib/retryer.esm.js +0 -150
  183. package/build/lib/retryer.esm.js.map +0 -1
  184. package/build/lib/subscribable.esm.js +0 -26
  185. package/build/lib/subscribable.esm.js.map +0 -1
  186. package/build/lib/utils.esm.js +0 -227
  187. package/build/lib/utils.esm.js.map +0 -1
  188. package/build/umd/index.development.js +0 -2682
  189. package/build/umd/index.development.js.map +0 -1
  190. package/build/umd/index.production.js +0 -2
  191. package/build/umd/index.production.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"retryer.js","sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { sleep } from './utils'\nimport type { CancelOptions, NetworkMode, DefaultError } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\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: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n}\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\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 = DefaultError>(\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) => boolean) | 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 const canContinue = isResolved || !shouldPause()\n if (canContinue) {\n continueResolve(value)\n }\n return canContinue\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 return\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 const didContinue = continueFn?.()\n return didContinue ? promise : Promise.resolve()\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","canContinue","onPause","then","undefined","onContinue","run","promiseOrValue","fn","error","catch","retry","retryDelay","delay","shouldRetry","onFail","sleep","continue","didContinue"],"mappings":"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"}
1
+ {"version":3,"file":"retryer.js","sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { sleep } from './utils'\nimport type { CancelOptions, NetworkMode, DefaultError } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\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: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n}\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\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 = DefaultError>(\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) => boolean) | 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 const canContinue = isResolved || !shouldPause()\n if (canContinue) {\n continueResolve(value)\n }\n return canContinue\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 return\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 const didContinue = continueFn?.()\n return didContinue ? promise : Promise.resolve()\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","canContinue","onPause","then","undefined","onContinue","run","promiseOrValue","fn","error","catch","retry","retryDelay","delay","shouldRetry","onFail","sleep","continue","didContinue"],"mappings":"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"}
@@ -2,6 +2,8 @@ import { focusManager } from './focusManager.mjs';
2
2
  import { onlineManager } from './onlineManager.mjs';
3
3
  import { sleep } from './utils.mjs';
4
4
 
5
+ // TYPES
6
+
5
7
  function defaultRetryDelay(failureCount) {
6
8
  return Math.min(1000 * 2 ** failureCount, 30000);
7
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retryer.mjs","sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { sleep } from './utils'\nimport type { CancelOptions, NetworkMode, DefaultError } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\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: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n}\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\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 = DefaultError>(\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) => boolean) | 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 const canContinue = isResolved || !shouldPause()\n if (canContinue) {\n continueResolve(value)\n }\n return canContinue\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 return\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 const didContinue = continueFn?.()\n return didContinue ? promise : Promise.resolve()\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","canContinue","onPause","then","undefined","onContinue","run","promiseOrValue","fn","error","catch","retry","retryDelay","delay","shouldRetry","onFail","sleep","continue","didContinue"],"mappings":"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"}
1
+ {"version":3,"file":"retryer.mjs","sources":["../../src/retryer.ts"],"sourcesContent":["import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { sleep } from './utils'\nimport type { CancelOptions, NetworkMode, DefaultError } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\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: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n}\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\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 = DefaultError>(\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) => boolean) | 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 const canContinue = isResolved || !shouldPause()\n if (canContinue) {\n continueResolve(value)\n }\n return canContinue\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 return\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 const didContinue = continueFn?.()\n return didContinue ? promise : Promise.resolve()\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","canContinue","onPause","then","undefined","onContinue","run","promiseOrValue","fn","error","catch","retry","retryDelay","delay","shouldRetry","onFail","sleep","continue","didContinue"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- declare type Listener = () => void;
1
+ type Listener = () => void;
2
2
  export declare class Subscribable<TListener extends Function = Listener> {
3
- protected listeners: TListener[];
3
+ protected listeners: Set<TListener>;
4
4
  constructor();
5
5
  subscribe(listener: TListener): () => void;
6
6
  hasListeners(): boolean;
@@ -8,3 +8,4 @@ export declare class Subscribable<TListener extends Function = Listener> {
8
8
  protected onUnsubscribe(): void;
9
9
  }
10
10
  export {};
11
+ //# sourceMappingURL=subscribable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribable.d.ts","sourceRoot":"","sources":["../../src/subscribable.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAA;AAE1B,qBAAa,YAAY,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ;IAC7D,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;;IAOnC,SAAS,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,IAAI;IAW1C,YAAY,IAAI,OAAO;IAIvB,SAAS,CAAC,WAAW,IAAI,IAAI;IAI7B,SAAS,CAAC,aAAa,IAAI,IAAI;CAGhC"}
@@ -2,19 +2,19 @@
2
2
 
3
3
  class Subscribable {
4
4
  constructor() {
5
- this.listeners = [];
5
+ this.listeners = new Set();
6
6
  this.subscribe = this.subscribe.bind(this);
7
7
  }
8
8
  subscribe(listener) {
9
- this.listeners.push(listener);
9
+ this.listeners.add(listener);
10
10
  this.onSubscribe();
11
11
  return () => {
12
- this.listeners = this.listeners.filter(x => x !== listener);
12
+ this.listeners.delete(listener);
13
13
  this.onUnsubscribe();
14
14
  };
15
15
  }
16
16
  hasListeners() {
17
- return this.listeners.length > 0;
17
+ return this.listeners.size > 0;
18
18
  }
19
19
  onSubscribe() {
20
20
  // Do nothing
@@ -1 +1 @@
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)\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,YAAY,CAAwC;AAG/DC,EAAAA,WAAW,GAAG;IACZ,IAAI,CAACC,SAAS,GAAG,EAAE,CAAA;IACnB,IAAI,CAACC,SAAS,GAAG,IAAI,CAACA,SAAS,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5C,GAAA;EAEAD,SAAS,CAACE,QAAmB,EAAc;AACzC,IAAA,IAAI,CAACH,SAAS,CAACI,IAAI,CAACD,QAAQ,CAAC,CAAA;IAE7B,IAAI,CAACE,WAAW,EAAE,CAAA;AAElB,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,CAACL,SAAS,GAAG,IAAI,CAACA,SAAS,CAACM,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKJ,QAAQ,CAAC,CAAA;MAC7D,IAAI,CAACK,aAAa,EAAE,CAAA;KACrB,CAAA;AACH,GAAA;AAEAC,EAAAA,YAAY,GAAY;AACtB,IAAA,OAAO,IAAI,CAACT,SAAS,CAACU,MAAM,GAAG,CAAC,CAAA;AAClC,GAAA;AAEUL,EAAAA,WAAW,GAAS;AAC5B;AAAA,GAAA;AAGQG,EAAAA,aAAa,GAAS;AAC9B;AAAA,GAAA;AAEJ;;;;"}
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: Set<TListener>\n\n constructor() {\n this.listeners = new Set()\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n this.listeners.add(listener)\n\n this.onSubscribe()\n\n return () => {\n this.listeners.delete(listener)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.size > 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","Set","subscribe","bind","listener","add","onSubscribe","delete","onUnsubscribe","hasListeners","size"],"mappings":";;AAEO,MAAMA,YAAY,CAAwC;AAG/DC,EAAAA,WAAWA,GAAG;AACZ,IAAA,IAAI,CAACC,SAAS,GAAG,IAAIC,GAAG,EAAE,CAAA;IAC1B,IAAI,CAACC,SAAS,GAAG,IAAI,CAACA,SAAS,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5C,GAAA;EAEAD,SAASA,CAACE,QAAmB,EAAc;AACzC,IAAA,IAAI,CAACJ,SAAS,CAACK,GAAG,CAACD,QAAQ,CAAC,CAAA;IAE5B,IAAI,CAACE,WAAW,EAAE,CAAA;AAElB,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,CAACN,SAAS,CAACO,MAAM,CAACH,QAAQ,CAAC,CAAA;MAC/B,IAAI,CAACI,aAAa,EAAE,CAAA;KACrB,CAAA;AACH,GAAA;AAEAC,EAAAA,YAAYA,GAAY;AACtB,IAAA,OAAO,IAAI,CAACT,SAAS,CAACU,IAAI,GAAG,CAAC,CAAA;AAChC,GAAA;AAEUJ,EAAAA,WAAWA,GAAS;AAC5B;AAAA,GAAA;AAGQE,EAAAA,aAAaA,GAAS;AAC9B;AAAA,GAAA;AAEJ;;;;"}
@@ -1,18 +1,18 @@
1
1
  class Subscribable {
2
2
  constructor() {
3
- this.listeners = [];
3
+ this.listeners = new Set();
4
4
  this.subscribe = this.subscribe.bind(this);
5
5
  }
6
6
  subscribe(listener) {
7
- this.listeners.push(listener);
7
+ this.listeners.add(listener);
8
8
  this.onSubscribe();
9
9
  return () => {
10
- this.listeners = this.listeners.filter(x => x !== listener);
10
+ this.listeners.delete(listener);
11
11
  this.onUnsubscribe();
12
12
  };
13
13
  }
14
14
  hasListeners() {
15
- return this.listeners.length > 0;
15
+ return this.listeners.size > 0;
16
16
  }
17
17
  onSubscribe() {
18
18
  // Do nothing
@@ -1 +1 @@
1
- {"version":3,"file":"subscribable.mjs","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)\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,YAAY,CAAwC;AAG/DC,EAAAA,WAAW,GAAG;IACZ,IAAI,CAACC,SAAS,GAAG,EAAE,CAAA;IACnB,IAAI,CAACC,SAAS,GAAG,IAAI,CAACA,SAAS,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5C,GAAA;EAEAD,SAAS,CAACE,QAAmB,EAAc;AACzC,IAAA,IAAI,CAACH,SAAS,CAACI,IAAI,CAACD,QAAQ,CAAC,CAAA;IAE7B,IAAI,CAACE,WAAW,EAAE,CAAA;AAElB,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,CAACL,SAAS,GAAG,IAAI,CAACA,SAAS,CAACM,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKJ,QAAQ,CAAC,CAAA;MAC7D,IAAI,CAACK,aAAa,EAAE,CAAA;KACrB,CAAA;AACH,GAAA;AAEAC,EAAAA,YAAY,GAAY;AACtB,IAAA,OAAO,IAAI,CAACT,SAAS,CAACU,MAAM,GAAG,CAAC,CAAA;AAClC,GAAA;AAEUL,EAAAA,WAAW,GAAS;AAC5B;AAAA,GAAA;AAGQG,EAAAA,aAAa,GAAS;AAC9B;AAAA,GAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"subscribable.mjs","sources":["../../src/subscribable.ts"],"sourcesContent":["type Listener = () => void\n\nexport class Subscribable<TListener extends Function = Listener> {\n protected listeners: Set<TListener>\n\n constructor() {\n this.listeners = new Set()\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n this.listeners.add(listener)\n\n this.onSubscribe()\n\n return () => {\n this.listeners.delete(listener)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.size > 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","Set","subscribe","bind","listener","add","onSubscribe","delete","onUnsubscribe","hasListeners","size"],"mappings":"AAEO,MAAMA,YAAY,CAAwC;AAG/DC,EAAAA,WAAWA,GAAG;AACZ,IAAA,IAAI,CAACC,SAAS,GAAG,IAAIC,GAAG,EAAE,CAAA;IAC1B,IAAI,CAACC,SAAS,GAAG,IAAI,CAACA,SAAS,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5C,GAAA;EAEAD,SAASA,CAACE,QAAmB,EAAc;AACzC,IAAA,IAAI,CAACJ,SAAS,CAACK,GAAG,CAACD,QAAQ,CAAC,CAAA;IAE5B,IAAI,CAACE,WAAW,EAAE,CAAA;AAElB,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,CAACN,SAAS,CAACO,MAAM,CAACH,QAAQ,CAAC,CAAA;MAC/B,IAAI,CAACI,aAAa,EAAE,CAAA;KACrB,CAAA;AACH,GAAA;AAEAC,EAAAA,YAAYA,GAAY;AACtB,IAAA,OAAO,IAAI,CAACT,SAAS,CAACU,IAAI,GAAG,CAAC,CAAA;AAChC,GAAA;AAEUJ,EAAAA,WAAWA,GAAS;AAC5B;AAAA,GAAA;AAGQE,EAAAA,aAAaA,GAAS;AAC9B;AAAA,GAAA;AAEJ;;;;"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=focusManager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focusManager.test.d.ts","sourceRoot":"","sources":["../../../src/tests/focusManager.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=hydration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hydration.test.d.ts","sourceRoot":"","sources":["../../../src/tests/hydration.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=infiniteQueryBehavior.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infiniteQueryBehavior.test.d.ts","sourceRoot":"","sources":["../../../src/tests/infiniteQueryBehavior.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=infiniteQueryObserver.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infiniteQueryObserver.test.d.ts","sourceRoot":"","sources":["../../../src/tests/infiniteQueryObserver.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=mutationCache.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationCache.test.d.ts","sourceRoot":"","sources":["../../../src/tests/mutationCache.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=mutationObserver.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationObserver.test.d.ts","sourceRoot":"","sources":["../../../src/tests/mutationObserver.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=mutations.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutations.test.d.ts","sourceRoot":"","sources":["../../../src/tests/mutations.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=notifyManager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifyManager.test.d.ts","sourceRoot":"","sources":["../../../src/tests/notifyManager.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=onlineManager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onlineManager.test.d.ts","sourceRoot":"","sources":["../../../src/tests/onlineManager.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=queriesObserver.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queriesObserver.test.d.ts","sourceRoot":"","sources":["../../../src/tests/queriesObserver.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=query.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.test.d.ts","sourceRoot":"","sources":["../../../src/tests/query.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=queryCache.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryCache.test.d.ts","sourceRoot":"","sources":["../../../src/tests/queryCache.test.tsx"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  import '@testing-library/jest-dom';
2
+ //# sourceMappingURL=queryClient.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryClient.test.d.ts","sourceRoot":"","sources":["../../../src/tests/queryClient.test.tsx"],"names":[],"mappings":"AACA,OAAO,2BAA2B,CAAA"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=queryObserver.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryObserver.test.d.ts","sourceRoot":"","sources":["../../../src/tests/queryObserver.test.tsx"],"names":[],"mappings":""}
@@ -2,8 +2,8 @@
2
2
  import type { MutationOptions, QueryClientConfig } from '..';
3
3
  import { QueryClient } from '..';
4
4
  export declare function createQueryClient(config?: QueryClientConfig): QueryClient;
5
- export declare function mockVisibilityState(value: DocumentVisibilityState): import("vitest/dist/index-1cfc7f58").S<[], DocumentVisibilityState>;
6
- export declare function mockNavigatorOnLine(value: boolean): import("vitest/dist/index-1cfc7f58").S<[], boolean>;
5
+ export declare function mockVisibilityState(value: DocumentVisibilityState): import("vitest/dist/index-2dd51af4").S<[], DocumentVisibilityState>;
6
+ export declare function mockNavigatorOnLine(value: boolean): import("vitest/dist/index-2dd51af4").S<[], boolean>;
7
7
  export declare function queryKey(): Array<string>;
8
8
  export declare function sleep(timeout: number): Promise<void>;
9
9
  export declare function setActTimeout(fn: () => void, ms?: number): NodeJS.Timeout;
@@ -13,3 +13,4 @@ export declare function setActTimeout(fn: () => void, ms?: number): NodeJS.Timeo
13
13
  export declare const expectType: <T>(_: T) => void;
14
14
  export declare const executeMutation: <TVariables>(queryClient: QueryClient, options: MutationOptions<any, any, TVariables, any>, variables: TVariables) => Promise<any>;
15
15
  export declare function setIsServer(isServer: boolean): () => void;
16
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tests/utils.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAA;AAGhC,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAEzE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,uEAEjE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,uDAEjD;AAGD,wBAAgB,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,CAGxC;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpD;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,kBAMxD;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,eAAc,IAAiB,CAAA;AAEtD,eAAO,MAAM,eAAe,4BACb,WAAW,6FAQzB,CAAA;AAID,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,cAW5C"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../src/tests/utils.test.tsx"],"names":[],"mappings":""}
@@ -1,17 +1,17 @@
1
1
  import type { MutationState } from './mutation';
2
- import type { QueryBehavior, Query } from './query';
2
+ import type { FetchDirection, QueryBehavior, Query } from './query';
3
3
  import type { RetryValue, RetryDelayValue } from './retryer';
4
4
  import type { QueryFilters, QueryTypeFilter } from './utils';
5
5
  import type { QueryCache } from './queryCache';
6
6
  import type { MutationCache } from './mutationCache';
7
7
  export interface Register {
8
8
  }
9
- export declare type DefaultError = Register extends {
9
+ export type DefaultError = Register extends {
10
10
  defaultError: infer TError;
11
11
  } ? TError : Error;
12
- export declare type QueryKey = readonly unknown[];
13
- export declare type QueryFunction<T = unknown, TQueryKey extends QueryKey = QueryKey, TPageParam = never> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>;
14
- export declare type QueryFunctionContext<TQueryKey extends QueryKey = QueryKey, TPageParam = never> = [TPageParam] extends [never] ? {
12
+ export type QueryKey = readonly unknown[];
13
+ export type QueryFunction<T = unknown, TQueryKey extends QueryKey = QueryKey, TPageParam = never> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => T | Promise<T>;
14
+ export type QueryFunctionContext<TQueryKey extends QueryKey = QueryKey, TPageParam = never> = [TPageParam] extends [never] ? {
15
15
  queryKey: TQueryKey;
16
16
  signal: AbortSignal;
17
17
  meta: QueryMeta | undefined;
@@ -19,23 +19,24 @@ export declare type QueryFunctionContext<TQueryKey extends QueryKey = QueryKey,
19
19
  queryKey: TQueryKey;
20
20
  signal: AbortSignal;
21
21
  pageParam: TPageParam;
22
+ direction: FetchDirection;
22
23
  meta: QueryMeta | undefined;
23
24
  };
24
- export declare type InitialDataFunction<T> = () => T | undefined;
25
- declare type NonFunctionGuard<T> = T extends Function ? never : T;
26
- export declare type PlaceholderDataFunction<TQueryData> = (previousData: TQueryData | undefined) => TQueryData | undefined;
27
- export declare type QueriesPlaceholderDataFunction<TQueryData> = () => TQueryData | undefined;
28
- export declare type QueryKeyHashFunction<TQueryKey extends QueryKey> = (queryKey: TQueryKey) => string;
29
- export declare type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (firstPage: TQueryFnData, allPages: TQueryFnData[], firstPageParam: TPageParam, allPageParams: TPageParam[]) => TPageParam | undefined;
30
- export declare type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (lastPage: TQueryFnData, allPages: TQueryFnData[], lastPageParam: TPageParam, allPageParams: TPageParam[]) => TPageParam | undefined;
25
+ export type InitialDataFunction<T> = () => T | undefined;
26
+ type NonFunctionGuard<T> = T extends Function ? never : T;
27
+ export type PlaceholderDataFunction<TQueryFnData = unknown, TError = DefaultError, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = (previousData: TQueryData | undefined, previousQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined) => TQueryData | undefined;
28
+ export type QueriesPlaceholderDataFunction<TQueryData> = () => TQueryData | undefined;
29
+ export type QueryKeyHashFunction<TQueryKey extends QueryKey> = (queryKey: TQueryKey) => string;
30
+ export type GetPreviousPageParamFunction<TPageParam, TQueryFnData = unknown> = (firstPage: TQueryFnData, allPages: TQueryFnData[], firstPageParam: TPageParam, allPageParams: TPageParam[]) => TPageParam | undefined;
31
+ export type GetNextPageParamFunction<TPageParam, TQueryFnData = unknown> = (lastPage: TQueryFnData, allPages: TQueryFnData[], lastPageParam: TPageParam, allPageParams: TPageParam[]) => TPageParam | undefined;
31
32
  export interface InfiniteData<TData> {
32
33
  pages: TData[];
33
34
  pageParams: unknown[];
34
35
  }
35
- export declare type QueryMeta = Register extends {
36
+ export type QueryMeta = Register extends {
36
37
  queryMeta: infer TQueryMeta;
37
38
  } ? TQueryMeta extends Record<string, unknown> ? TQueryMeta : Record<string, unknown> : Record<string, unknown>;
38
- export declare type NetworkMode = 'online' | 'always' | 'offlineFirst';
39
+ export type NetworkMode = 'online' | 'always' | 'offlineFirst';
39
40
  export interface QueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> {
40
41
  /**
41
42
  * If `false`, failed queries will not retry by default.
@@ -86,7 +87,7 @@ export interface InfiniteQueryPageParamsOptions<TQueryFnData = unknown, TPagePar
86
87
  */
87
88
  getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>;
88
89
  }
89
- export declare type ThrowErrors<TQueryFnData, TError, TQueryData, TQueryKey extends QueryKey> = boolean | ((error: TError, query: Query<TQueryFnData, TError, TQueryData, TQueryKey>) => boolean);
90
+ export type ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey extends QueryKey> = boolean | ((error: TError, query: Query<TQueryFnData, TError, TQueryData, TQueryKey>) => boolean);
90
91
  export interface QueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey, TPageParam> {
91
92
  /**
92
93
  * Set this to `false` to disable automatic refetching when the query mounts or changes query keys.
@@ -104,7 +105,7 @@ export interface QueryObserverOptions<TQueryFnData = unknown, TError = DefaultEr
104
105
  * If set to a function, the function will be executed with the latest data and query to compute a frequency
105
106
  * Defaults to `false`.
106
107
  */
107
- refetchInterval?: number | false | ((data: TData | undefined, query: Query<TQueryFnData, TError, TQueryData, TQueryKey>) => number | false);
108
+ refetchInterval?: number | false | ((data: TData | undefined, query: Query<TQueryFnData, TError, TQueryData, TQueryKey>) => number | false | undefined);
108
109
  /**
109
110
  * If set to `true`, the query will continue to refetch while their tab/window is in the background.
110
111
  * Defaults to `false`.
@@ -146,18 +147,6 @@ export interface QueryObserverOptions<TQueryFnData = unknown, TError = DefaultEr
146
147
  * By default, access to properties will be tracked, and the component will only re-render when one of the tracked properties change.
147
148
  */
148
149
  notifyOnChangeProps?: Array<keyof InfiniteQueryObserverResult> | 'all';
149
- /**
150
- * This callback will fire any time the query successfully fetches new data.
151
- */
152
- onSuccess?: (data: TData) => void;
153
- /**
154
- * This callback will fire if the query encounters an error and will be passed the error.
155
- */
156
- onError?: (err: TError) => void;
157
- /**
158
- * This callback will fire any time the query is either successfully fetched or errors and be passed either the data or error.
159
- */
160
- onSettled?: (data: TData | undefined, error: TError | null) => void;
161
150
  /**
162
151
  * Whether errors should be thrown instead of setting the `error` property.
163
152
  * If set to `true` or `suspense` is `true`, all errors will be thrown to the error boundary.
@@ -165,7 +154,7 @@ export interface QueryObserverOptions<TQueryFnData = unknown, TError = DefaultEr
165
154
  * If set to a function, it will be passed the error and the query, and it should return a boolean indicating whether to show the error in an error boundary (`true`) or return the error as state (`false`).
166
155
  * Defaults to `false`.
167
156
  */
168
- throwErrors?: ThrowErrors<TQueryFnData, TError, TQueryData, TQueryKey>;
157
+ throwOnError?: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>;
169
158
  /**
170
159
  * This option can be used to transform or select a part of the data returned by the query function.
171
160
  */
@@ -182,11 +171,11 @@ export interface QueryObserverOptions<TQueryFnData = unknown, TError = DefaultEr
182
171
  placeholderData?: NonFunctionGuard<TQueryData> | PlaceholderDataFunction<NonFunctionGuard<TQueryData>>;
183
172
  _optimisticResults?: 'optimistic' | 'isRestoring';
184
173
  }
185
- export declare type WithRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
186
- export declare type DefaultedQueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = WithRequired<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'throwErrors' | 'refetchOnReconnect'>;
174
+ export type WithRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
175
+ export type DefaultedQueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = WithRequired<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'throwOnError' | 'refetchOnReconnect'>;
187
176
  export interface InfiniteQueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends QueryObserverOptions<TQueryFnData, TError, TData, InfiniteData<TQueryData>, TQueryKey, TPageParam>, InfiniteQueryPageParamsOptions<TQueryFnData, TPageParam> {
188
177
  }
189
- export declare type DefaultedInfiniteQueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = WithRequired<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'throwErrors' | 'refetchOnReconnect'>;
178
+ export type DefaultedInfiniteQueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = WithRequired<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'throwOnError' | 'refetchOnReconnect'>;
190
179
  export interface FetchQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends WithRequired<QueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, 'queryKey'> {
191
180
  /**
192
181
  * The time in milliseconds after data is considered stale.
@@ -217,8 +206,8 @@ export interface FetchNextPageOptions extends ResultOptions {
217
206
  export interface FetchPreviousPageOptions extends ResultOptions {
218
207
  cancelRefetch?: boolean;
219
208
  }
220
- export declare type QueryStatus = 'pending' | 'error' | 'success';
221
- export declare type FetchStatus = 'fetching' | 'paused' | 'idle';
209
+ export type QueryStatus = 'pending' | 'error' | 'success';
210
+ export type FetchStatus = 'fetching' | 'paused' | 'idle';
222
211
  export interface QueryObserverBaseResult<TData = unknown, TError = DefaultError> {
223
212
  data: TData | undefined;
224
213
  dataUpdatedAt: number;
@@ -289,8 +278,8 @@ export interface QueryObserverSuccessResult<TData = unknown, TError = DefaultErr
289
278
  isSuccess: true;
290
279
  status: 'success';
291
280
  }
292
- export declare type DefinedQueryObserverResult<TData = unknown, TError = DefaultError> = QueryObserverRefetchErrorResult<TData, TError> | QueryObserverSuccessResult<TData, TError>;
293
- export declare type QueryObserverResult<TData = unknown, TError = DefaultError> = DefinedQueryObserverResult<TData, TError> | QueryObserverLoadingErrorResult<TData, TError> | QueryObserverLoadingResult<TData, TError>;
281
+ export type DefinedQueryObserverResult<TData = unknown, TError = DefaultError> = QueryObserverRefetchErrorResult<TData, TError> | QueryObserverSuccessResult<TData, TError>;
282
+ export type QueryObserverResult<TData = unknown, TError = DefaultError> = DefinedQueryObserverResult<TData, TError> | QueryObserverLoadingErrorResult<TData, TError> | QueryObserverLoadingResult<TData, TError>;
294
283
  export interface InfiniteQueryObserverBaseResult<TData = unknown, TError = DefaultError> extends QueryObserverBaseResult<TData, TError> {
295
284
  fetchNextPage: (options?: FetchNextPageOptions) => Promise<InfiniteQueryObserverResult<TData, TError>>;
296
285
  fetchPreviousPage: (options?: FetchPreviousPageOptions) => Promise<InfiniteQueryObserverResult<TData, TError>>;
@@ -339,13 +328,13 @@ export interface InfiniteQueryObserverSuccessResult<TData = unknown, TError = De
339
328
  isSuccess: true;
340
329
  status: 'success';
341
330
  }
342
- export declare type InfiniteQueryObserverResult<TData = unknown, TError = DefaultError> = InfiniteQueryObserverLoadingErrorResult<TData, TError> | InfiniteQueryObserverLoadingResult<TData, TError> | InfiniteQueryObserverRefetchErrorResult<TData, TError> | InfiniteQueryObserverSuccessResult<TData, TError>;
343
- export declare type MutationKey = readonly unknown[];
344
- export declare type MutationStatus = 'idle' | 'pending' | 'success' | 'error';
345
- export declare type MutationMeta = Register extends {
331
+ export type InfiniteQueryObserverResult<TData = unknown, TError = DefaultError> = InfiniteQueryObserverLoadingErrorResult<TData, TError> | InfiniteQueryObserverLoadingResult<TData, TError> | InfiniteQueryObserverRefetchErrorResult<TData, TError> | InfiniteQueryObserverSuccessResult<TData, TError>;
332
+ export type MutationKey = readonly unknown[];
333
+ export type MutationStatus = 'idle' | 'pending' | 'success' | 'error';
334
+ export type MutationMeta = Register extends {
346
335
  mutationMeta: infer TMutationMeta;
347
336
  } ? TMutationMeta : Record<string, unknown>;
348
- export declare type MutationFunction<TData = unknown, TVariables = unknown> = (variables: TVariables) => Promise<TData>;
337
+ export type MutationFunction<TData = unknown, TVariables = unknown> = (variables: TVariables) => Promise<TData>;
349
338
  export interface MutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> {
350
339
  mutationFn?: MutationFunction<TData, TVariables>;
351
340
  mutationKey?: MutationKey;
@@ -361,14 +350,14 @@ export interface MutationOptions<TData = unknown, TError = DefaultError, TVariab
361
350
  meta?: MutationMeta;
362
351
  }
363
352
  export interface MutationObserverOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends MutationOptions<TData, TError, TVariables, TContext> {
364
- throwErrors?: boolean | ((error: TError) => boolean);
353
+ throwOnError?: boolean | ((error: TError) => boolean);
365
354
  }
366
355
  export interface MutateOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> {
367
356
  onSuccess?: (data: TData, variables: TVariables, context: TContext) => void;
368
357
  onError?: (error: TError, variables: TVariables, context: TContext | undefined) => void;
369
358
  onSettled?: (data: TData | undefined, error: TError | null, variables: TVariables, context: TContext | undefined) => void;
370
359
  }
371
- export declare type MutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (variables: TVariables, options?: MutateOptions<TData, TError, TVariables, TContext>) => Promise<TData>;
360
+ export type MutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (variables: TVariables, options?: MutateOptions<TData, TError, TVariables, TContext>) => Promise<TData>;
372
361
  export interface MutationObserverBaseResult<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends MutationState<TData, TError, TVariables, TContext> {
373
362
  isError: boolean;
374
363
  isIdle: boolean;
@@ -417,7 +406,7 @@ export interface MutationObserverSuccessResult<TData = unknown, TError = Default
417
406
  isSuccess: true;
418
407
  status: 'success';
419
408
  }
420
- export declare type MutationObserverResult<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = MutationObserverIdleResult<TData, TError, TVariables, TContext> | MutationObserverLoadingResult<TData, TError, TVariables, TContext> | MutationObserverErrorResult<TData, TError, TVariables, TContext> | MutationObserverSuccessResult<TData, TError, TVariables, TContext>;
409
+ export type MutationObserverResult<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = MutationObserverIdleResult<TData, TError, TVariables, TContext> | MutationObserverLoadingResult<TData, TError, TVariables, TContext> | MutationObserverErrorResult<TData, TError, TVariables, TContext> | MutationObserverSuccessResult<TData, TError, TVariables, TContext>;
421
410
  export interface QueryClientConfig {
422
411
  queryCache?: QueryCache;
423
412
  mutationCache?: MutationCache;
@@ -434,8 +423,9 @@ export interface CancelOptions {
434
423
  export interface SetDataOptions {
435
424
  updatedAt?: number;
436
425
  }
437
- export declare type NotifyEventType = 'added' | 'removed' | 'updated' | 'observerAdded' | 'observerRemoved' | 'observerResultsUpdated' | 'observerOptionsUpdated';
426
+ export type NotifyEventType = 'added' | 'removed' | 'updated' | 'observerAdded' | 'observerRemoved' | 'observerResultsUpdated' | 'observerOptionsUpdated';
438
427
  export interface NotifyEvent {
439
428
  type: NotifyEventType;
440
429
  }
441
430
  export {};
431
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}