@tanstack/query-core 5.0.0-alpha.34 → 5.0.0-alpha.42
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.
- package/build/lib/focusManager.d.ts +1 -1
- package/build/lib/focusManager.d.ts.map +1 -0
- package/build/lib/focusManager.esm.js.map +1 -1
- package/build/lib/focusManager.js.map +1 -1
- package/build/lib/focusManager.mjs.map +1 -1
- package/build/lib/hydration.d.ts.map +1 -0
- package/build/lib/hydration.esm.js.map +1 -1
- package/build/lib/hydration.js.map +1 -1
- package/build/lib/hydration.mjs.map +1 -1
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/infiniteQueryBehavior.d.ts.map +1 -0
- package/build/lib/infiniteQueryBehavior.esm.js.map +1 -1
- package/build/lib/infiniteQueryBehavior.js.map +1 -1
- package/build/lib/infiniteQueryBehavior.mjs.map +1 -1
- package/build/lib/infiniteQueryObserver.d.ts +1 -1
- package/build/lib/infiniteQueryObserver.d.ts.map +1 -0
- package/build/lib/infiniteQueryObserver.esm.js.map +1 -1
- package/build/lib/infiniteQueryObserver.js.map +1 -1
- package/build/lib/infiniteQueryObserver.mjs.map +1 -1
- package/build/lib/mutation.d.ts +1 -1
- package/build/lib/mutation.d.ts.map +1 -0
- package/build/lib/mutation.esm.js.map +1 -1
- package/build/lib/mutation.js.map +1 -1
- package/build/lib/mutation.mjs.map +1 -1
- package/build/lib/mutationCache.d.ts +2 -2
- package/build/lib/mutationCache.d.ts.map +1 -0
- package/build/lib/mutationCache.esm.js.map +1 -1
- package/build/lib/mutationCache.js.map +1 -1
- package/build/lib/mutationCache.mjs.map +1 -1
- package/build/lib/mutationObserver.d.ts +1 -1
- package/build/lib/mutationObserver.d.ts.map +1 -0
- package/build/lib/mutationObserver.esm.js.map +1 -1
- package/build/lib/mutationObserver.js.map +1 -1
- package/build/lib/mutationObserver.mjs.map +1 -1
- package/build/lib/notifyManager.d.ts +3 -3
- package/build/lib/notifyManager.d.ts.map +1 -0
- package/build/lib/notifyManager.esm.js.map +1 -1
- package/build/lib/notifyManager.js.map +1 -1
- package/build/lib/notifyManager.mjs.map +1 -1
- package/build/lib/onlineManager.d.ts +1 -1
- package/build/lib/onlineManager.d.ts.map +1 -0
- package/build/lib/onlineManager.esm.js.map +1 -1
- package/build/lib/onlineManager.js.map +1 -1
- package/build/lib/onlineManager.mjs.map +1 -1
- package/build/lib/queriesObserver.d.ts +1 -1
- package/build/lib/queriesObserver.d.ts.map +1 -0
- package/build/lib/queriesObserver.esm.js.map +1 -1
- package/build/lib/queriesObserver.js.map +1 -1
- package/build/lib/queriesObserver.mjs.map +1 -1
- package/build/lib/query.d.ts +2 -2
- package/build/lib/query.d.ts.map +1 -0
- package/build/lib/query.esm.js.map +1 -1
- package/build/lib/query.js.map +1 -1
- package/build/lib/query.mjs.map +1 -1
- package/build/lib/queryCache.d.ts +2 -2
- package/build/lib/queryCache.d.ts.map +1 -0
- package/build/lib/queryCache.esm.js +1 -0
- package/build/lib/queryCache.esm.js.map +1 -1
- package/build/lib/queryCache.js +1 -0
- package/build/lib/queryCache.js.map +1 -1
- package/build/lib/queryCache.mjs +2 -0
- package/build/lib/queryCache.mjs.map +1 -1
- package/build/lib/queryClient.d.ts +1 -2
- package/build/lib/queryClient.d.ts.map +1 -0
- package/build/lib/queryClient.esm.js +1 -0
- package/build/lib/queryClient.esm.js.map +1 -1
- package/build/lib/queryClient.js +1 -0
- package/build/lib/queryClient.js.map +1 -1
- package/build/lib/queryClient.mjs +2 -0
- package/build/lib/queryClient.mjs.map +1 -1
- package/build/lib/queryObserver.d.ts +2 -3
- package/build/lib/queryObserver.d.ts.map +1 -0
- package/build/lib/queryObserver.esm.js +2 -3
- package/build/lib/queryObserver.esm.js.map +1 -1
- package/build/lib/queryObserver.js +2 -3
- package/build/lib/queryObserver.js.map +1 -1
- package/build/lib/queryObserver.mjs.map +1 -1
- package/build/lib/removable.d.ts.map +1 -0
- package/build/lib/removable.esm.js.map +1 -1
- package/build/lib/removable.js.map +1 -1
- package/build/lib/removable.mjs.map +1 -1
- package/build/lib/retryer.d.ts +4 -4
- package/build/lib/retryer.d.ts.map +1 -0
- package/build/lib/retryer.esm.js +2 -0
- package/build/lib/retryer.esm.js.map +1 -1
- package/build/lib/retryer.js +2 -0
- package/build/lib/retryer.js.map +1 -1
- package/build/lib/retryer.mjs +2 -0
- package/build/lib/retryer.mjs.map +1 -1
- package/build/lib/subscribable.d.ts +1 -1
- package/build/lib/subscribable.d.ts.map +1 -0
- package/build/lib/subscribable.esm.js.map +1 -1
- package/build/lib/subscribable.js.map +1 -1
- package/build/lib/subscribable.mjs.map +1 -1
- package/build/lib/tests/focusManager.test.d.ts.map +1 -0
- package/build/lib/tests/hydration.test.d.ts.map +1 -0
- package/build/lib/tests/infiniteQueryBehavior.test.d.ts.map +1 -0
- package/build/lib/tests/infiniteQueryObserver.test.d.ts.map +1 -0
- package/build/lib/tests/mutationCache.test.d.ts.map +1 -0
- package/build/lib/tests/mutationObserver.test.d.ts.map +1 -0
- package/build/lib/tests/mutations.test.d.ts.map +1 -0
- package/build/lib/tests/notifyManager.test.d.ts.map +1 -0
- package/build/lib/tests/onlineManager.test.d.ts.map +1 -0
- package/build/lib/tests/queriesObserver.test.d.ts.map +1 -0
- package/build/lib/tests/query.test.d.ts.map +1 -0
- package/build/lib/tests/queryCache.test.d.ts.map +1 -0
- package/build/lib/tests/queryClient.test.d.ts.map +1 -0
- package/build/lib/tests/queryObserver.test.d.ts.map +1 -0
- package/build/lib/tests/utils.d.ts +2 -2
- package/build/lib/tests/utils.d.ts.map +1 -0
- package/build/lib/tests/utils.test.d.ts.map +1 -0
- package/build/lib/types.d.ts +30 -31
- package/build/lib/types.d.ts.map +1 -0
- package/build/lib/utils.d.ts +3 -3
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.esm.js.map +1 -1
- package/build/lib/utils.js.map +1 -1
- package/build/lib/utils.mjs.map +1 -1
- package/build/umd/index.development.js +6 -0
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +3 -1
- package/src/queryClient.ts +2 -1
- package/src/queryObserver.ts +11 -10
- package/src/tests/queryCache.test.tsx +1 -2
- package/src/tests/queryClient.test.tsx +6 -2
- package/src/types.ts +1 -2
package/build/lib/retryer.js.map
CHANGED
|
@@ -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","_config$retry","_config$retryDelay","retry","retryDelay","delay","shouldRetry","onFail","sleep","continue","didContinue"],"mappings":"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"}
|
package/build/lib/retryer.mjs
CHANGED
|
@@ -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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"}
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribable.esm.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,
|
|
1
|
+
{"version":3,"file":"subscribable.esm.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 +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: 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,
|
|
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 +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: 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,
|
|
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;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focusManager.test.d.ts","sourceRoot":"","sources":["../../../src/tests/focusManager.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydration.test.d.ts","sourceRoot":"","sources":["../../../src/tests/hydration.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infiniteQueryBehavior.test.d.ts","sourceRoot":"","sources":["../../../src/tests/infiniteQueryBehavior.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infiniteQueryObserver.test.d.ts","sourceRoot":"","sources":["../../../src/tests/infiniteQueryObserver.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutationCache.test.d.ts","sourceRoot":"","sources":["../../../src/tests/mutationCache.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutationObserver.test.d.ts","sourceRoot":"","sources":["../../../src/tests/mutationObserver.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutations.test.d.ts","sourceRoot":"","sources":["../../../src/tests/mutations.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifyManager.test.d.ts","sourceRoot":"","sources":["../../../src/tests/notifyManager.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onlineManager.test.d.ts","sourceRoot":"","sources":["../../../src/tests/onlineManager.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queriesObserver.test.d.ts","sourceRoot":"","sources":["../../../src/tests/queriesObserver.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.test.d.ts","sourceRoot":"","sources":["../../../src/tests/query.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryCache.test.d.ts","sourceRoot":"","sources":["../../../src/tests/queryCache.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryClient.test.d.ts","sourceRoot":"","sources":["../../../src/tests/queryClient.test.tsx"],"names":[],"mappings":"AACA,OAAO,2BAA2B,CAAA"}
|
|
@@ -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-
|
|
6
|
-
export declare function mockNavigatorOnLine(value: boolean): import("vitest/dist/index-
|
|
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;
|
|
@@ -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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../src/tests/utils.test.tsx"],"names":[],"mappings":""}
|
package/build/lib/types.d.ts
CHANGED
|
@@ -1,18 +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
|
-
import type { FetchDirection } from './query';
|
|
8
7
|
export interface Register {
|
|
9
8
|
}
|
|
10
|
-
export
|
|
9
|
+
export type DefaultError = Register extends {
|
|
11
10
|
defaultError: infer TError;
|
|
12
11
|
} ? TError : Error;
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
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] ? {
|
|
16
15
|
queryKey: TQueryKey;
|
|
17
16
|
signal: AbortSignal;
|
|
18
17
|
meta: QueryMeta | undefined;
|
|
@@ -23,21 +22,21 @@ export declare type QueryFunctionContext<TQueryKey extends QueryKey = QueryKey,
|
|
|
23
22
|
direction: FetchDirection;
|
|
24
23
|
meta: QueryMeta | undefined;
|
|
25
24
|
};
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
export
|
|
29
|
-
export
|
|
30
|
-
export
|
|
31
|
-
export
|
|
32
|
-
export
|
|
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;
|
|
33
32
|
export interface InfiniteData<TData> {
|
|
34
33
|
pages: TData[];
|
|
35
34
|
pageParams: unknown[];
|
|
36
35
|
}
|
|
37
|
-
export
|
|
36
|
+
export type QueryMeta = Register extends {
|
|
38
37
|
queryMeta: infer TQueryMeta;
|
|
39
38
|
} ? TQueryMeta extends Record<string, unknown> ? TQueryMeta : Record<string, unknown> : Record<string, unknown>;
|
|
40
|
-
export
|
|
39
|
+
export type NetworkMode = 'online' | 'always' | 'offlineFirst';
|
|
41
40
|
export interface QueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> {
|
|
42
41
|
/**
|
|
43
42
|
* If `false`, failed queries will not retry by default.
|
|
@@ -88,7 +87,7 @@ export interface InfiniteQueryPageParamsOptions<TQueryFnData = unknown, TPagePar
|
|
|
88
87
|
*/
|
|
89
88
|
getNextPageParam: GetNextPageParamFunction<TPageParam, TQueryFnData>;
|
|
90
89
|
}
|
|
91
|
-
export
|
|
90
|
+
export type ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey extends QueryKey> = boolean | ((error: TError, query: Query<TQueryFnData, TError, TQueryData, TQueryKey>) => boolean);
|
|
92
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> {
|
|
93
92
|
/**
|
|
94
93
|
* Set this to `false` to disable automatic refetching when the query mounts or changes query keys.
|
|
@@ -172,11 +171,11 @@ export interface QueryObserverOptions<TQueryFnData = unknown, TError = DefaultEr
|
|
|
172
171
|
placeholderData?: NonFunctionGuard<TQueryData> | PlaceholderDataFunction<NonFunctionGuard<TQueryData>>;
|
|
173
172
|
_optimisticResults?: 'optimistic' | 'isRestoring';
|
|
174
173
|
}
|
|
175
|
-
export
|
|
176
|
-
export
|
|
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'>;
|
|
177
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> {
|
|
178
177
|
}
|
|
179
|
-
export
|
|
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'>;
|
|
180
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'> {
|
|
181
180
|
/**
|
|
182
181
|
* The time in milliseconds after data is considered stale.
|
|
@@ -207,8 +206,8 @@ export interface FetchNextPageOptions extends ResultOptions {
|
|
|
207
206
|
export interface FetchPreviousPageOptions extends ResultOptions {
|
|
208
207
|
cancelRefetch?: boolean;
|
|
209
208
|
}
|
|
210
|
-
export
|
|
211
|
-
export
|
|
209
|
+
export type QueryStatus = 'pending' | 'error' | 'success';
|
|
210
|
+
export type FetchStatus = 'fetching' | 'paused' | 'idle';
|
|
212
211
|
export interface QueryObserverBaseResult<TData = unknown, TError = DefaultError> {
|
|
213
212
|
data: TData | undefined;
|
|
214
213
|
dataUpdatedAt: number;
|
|
@@ -279,8 +278,8 @@ export interface QueryObserverSuccessResult<TData = unknown, TError = DefaultErr
|
|
|
279
278
|
isSuccess: true;
|
|
280
279
|
status: 'success';
|
|
281
280
|
}
|
|
282
|
-
export
|
|
283
|
-
export
|
|
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>;
|
|
284
283
|
export interface InfiniteQueryObserverBaseResult<TData = unknown, TError = DefaultError> extends QueryObserverBaseResult<TData, TError> {
|
|
285
284
|
fetchNextPage: (options?: FetchNextPageOptions) => Promise<InfiniteQueryObserverResult<TData, TError>>;
|
|
286
285
|
fetchPreviousPage: (options?: FetchPreviousPageOptions) => Promise<InfiniteQueryObserverResult<TData, TError>>;
|
|
@@ -329,13 +328,13 @@ export interface InfiniteQueryObserverSuccessResult<TData = unknown, TError = De
|
|
|
329
328
|
isSuccess: true;
|
|
330
329
|
status: 'success';
|
|
331
330
|
}
|
|
332
|
-
export
|
|
333
|
-
export
|
|
334
|
-
export
|
|
335
|
-
export
|
|
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 {
|
|
336
335
|
mutationMeta: infer TMutationMeta;
|
|
337
336
|
} ? TMutationMeta : Record<string, unknown>;
|
|
338
|
-
export
|
|
337
|
+
export type MutationFunction<TData = unknown, TVariables = unknown> = (variables: TVariables) => Promise<TData>;
|
|
339
338
|
export interface MutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> {
|
|
340
339
|
mutationFn?: MutationFunction<TData, TVariables>;
|
|
341
340
|
mutationKey?: MutationKey;
|
|
@@ -358,7 +357,7 @@ export interface MutateOptions<TData = unknown, TError = DefaultError, TVariable
|
|
|
358
357
|
onError?: (error: TError, variables: TVariables, context: TContext | undefined) => void;
|
|
359
358
|
onSettled?: (data: TData | undefined, error: TError | null, variables: TVariables, context: TContext | undefined) => void;
|
|
360
359
|
}
|
|
361
|
-
export
|
|
360
|
+
export type MutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (variables: TVariables, options?: MutateOptions<TData, TError, TVariables, TContext>) => Promise<TData>;
|
|
362
361
|
export interface MutationObserverBaseResult<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends MutationState<TData, TError, TVariables, TContext> {
|
|
363
362
|
isError: boolean;
|
|
364
363
|
isIdle: boolean;
|
|
@@ -407,7 +406,7 @@ export interface MutationObserverSuccessResult<TData = unknown, TError = Default
|
|
|
407
406
|
isSuccess: true;
|
|
408
407
|
status: 'success';
|
|
409
408
|
}
|
|
410
|
-
export
|
|
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>;
|
|
411
410
|
export interface QueryClientConfig {
|
|
412
411
|
queryCache?: QueryCache;
|
|
413
412
|
mutationCache?: MutationCache;
|
|
@@ -424,7 +423,7 @@ export interface CancelOptions {
|
|
|
424
423
|
export interface SetDataOptions {
|
|
425
424
|
updatedAt?: number;
|
|
426
425
|
}
|
|
427
|
-
export
|
|
426
|
+
export type NotifyEventType = 'added' | 'removed' | 'updated' | 'observerAdded' | 'observerRemoved' | 'observerResultsUpdated' | 'observerOptionsUpdated';
|
|
428
427
|
export interface NotifyEvent {
|
|
429
428
|
type: NotifyEventType;
|
|
430
429
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/build/lib/utils.d.ts
CHANGED
|
@@ -45,9 +45,9 @@ export interface MutationFilters {
|
|
|
45
45
|
*/
|
|
46
46
|
status?: MutationStatus;
|
|
47
47
|
}
|
|
48
|
-
export
|
|
49
|
-
export
|
|
50
|
-
export
|
|
48
|
+
export type DataUpdateFunction<TInput, TOutput> = (input: TInput) => TOutput;
|
|
49
|
+
export type Updater<TInput, TOutput> = TOutput | DataUpdateFunction<TInput, TOutput>;
|
|
50
|
+
export type QueryTypeFilter = 'all' | 'active' | 'inactive';
|
|
51
51
|
export declare const isServer: boolean;
|
|
52
52
|
export declare function noop(): undefined;
|
|
53
53
|
export declare function functionalUpdate<TInput, TOutput>(updater: Updater<TInput, TOutput>, input: TInput): TOutput;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,EACb,MAAM,SAAS,CAAA;AAIhB,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;IACrC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,OAAO,CAAA;IAC1D;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;AAE5E,MAAM,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,IAC/B,OAAO,GACP,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEvC,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAA;AAI3D,eAAO,MAAM,QAAQ,SAAoD,CAAA;AAEzE,wBAAgB,IAAI,IAAI,SAAS,CAEhC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAC9C,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,KAAK,EAAE,MAAM,GACZ,OAAO,CAIT;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE9D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/B,OAAO,CA8CT;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAC3B,OAAO,CAwBT;AAED,wBAAgB,qBAAqB,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACzE,QAAQ,EAAE,SAAS,EACnB,OAAO,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,GAC/C,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAWhE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;AAiBlE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;AA8BxD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAY1D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,WAE1C;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,MAAM,CAwBjD;AAMD,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,QAErD;AAED,wBAAgB,WAAW,CACzB,KAAK,EACL,QAAQ,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACjD,QAAQ,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,CAQpE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,YAAY,EAAE,CAAC,GAAG,SAAS,GAC1B,CAAC,GAAG,SAAS,CAEf;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,SAAI,GAAG,CAAC,EAAE,CAG7D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,SAAI,GAAG,CAAC,EAAE,CAG/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.esm.js","sources":["../../src/utils.ts"],"sourcesContent":["import type { Mutation } from './mutation'\nimport type { Query } from './query'\nimport type {\n FetchStatus,\n MutationKey,\n MutationStatus,\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 * Filter by mutation status\n */\n status?: MutationStatus\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' || 'Deno' in window\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 timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\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 (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, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\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 || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): 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\nexport function partialMatchKey(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) => !partialMatchKey(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 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 replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data)\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\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: T[], item: T, max = 0): T[] {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: T[], item: T, max = 0): T[] {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n"],"names":["isServer","window","noop","undefined","functionalUpdate","updater","input","isValidTimeout","value","Infinity","timeUntilStale","updatedAt","staleTime","Math","max","Date","now","matchQuery","filters","query","type","exact","fetchStatus","predicate","queryKey","stale","queryHash","hashQueryKeyByOptions","options","partialMatchKey","isActive","isStale","state","matchMutation","mutation","status","mutationKey","hashKey","hashFn","queryKeyHashFn","JSON","stringify","_","val","isPlainObject","Object","keys","sort","reduce","result","key","a","b","some","replaceEqualDeep","array","isPlainArray","aSize","length","bItems","bSize","copy","equalItems","i","shallowEqualObjects","Array","isArray","o","hasObjectPrototype","ctor","constructor","prot","prototype","hasOwnProperty","toString","call","sleep","timeout","Promise","resolve","setTimeout","scheduleMicrotask","callback","then","replaceData","prevData","data","structuralSharing","keepPreviousData","previousData","addToEnd","items","item","newItems","slice","addToStart"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.esm.js","sources":["../../src/utils.ts"],"sourcesContent":["import type { Mutation } from './mutation'\nimport type { Query } from './query'\nimport type {\n FetchStatus,\n MutationKey,\n MutationStatus,\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 * Filter by mutation status\n */\n status?: MutationStatus\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' || 'Deno' in window\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 timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\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 (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, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\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 || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): 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\nexport function partialMatchKey(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) => !partialMatchKey(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 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 replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data)\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\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: T[], item: T, max = 0): T[] {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: T[], item: T, max = 0): T[] {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n"],"names":["isServer","window","noop","undefined","functionalUpdate","updater","input","isValidTimeout","value","Infinity","timeUntilStale","updatedAt","staleTime","Math","max","Date","now","matchQuery","filters","query","type","exact","fetchStatus","predicate","queryKey","stale","queryHash","hashQueryKeyByOptions","options","partialMatchKey","isActive","isStale","state","matchMutation","mutation","status","mutationKey","hashKey","hashFn","queryKeyHashFn","JSON","stringify","_","val","isPlainObject","Object","keys","sort","reduce","result","key","a","b","some","replaceEqualDeep","array","isPlainArray","aSize","length","bItems","bSize","copy","equalItems","i","shallowEqualObjects","Array","isArray","o","hasObjectPrototype","ctor","constructor","prot","prototype","hasOwnProperty","toString","call","sleep","timeout","Promise","resolve","setTimeout","scheduleMicrotask","callback","then","replaceData","prevData","data","structuralSharing","keepPreviousData","previousData","addToEnd","items","item","newItems","slice","addToStart"],"mappings":"AAUA;;AAwDA;;AAEO,MAAMA,QAAQ,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAI,MAAM,IAAIA,OAAM;AAElE,SAASC,IAAIA,GAAc;AAChC,EAAA,OAAOC,SAAS,CAAA;AAClB,CAAA;AAEO,SAASC,gBAAgBA,CAC9BC,OAAiC,EACjCC,KAAa,EACJ;EACT,OAAO,OAAOD,OAAO,KAAK,UAAU,GAC/BA,OAAO,CAAyCC,KAAK,CAAC,GACvDD,OAAO,CAAA;AACb,CAAA;AAEO,SAASE,cAAcA,CAACC,KAAc,EAAmB;EAC9D,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,IAAI,CAAC,IAAIA,KAAK,KAAKC,QAAQ,CAAA;AACtE,CAAA;AAEO,SAASC,cAAcA,CAACC,SAAiB,EAAEC,SAAkB,EAAU;AAC5E,EAAA,OAAOC,IAAI,CAACC,GAAG,CAACH,SAAS,IAAIC,SAAS,IAAI,CAAC,CAAC,GAAGG,IAAI,CAACC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;AAC/D,CAAA;AAEO,SAASC,UAAUA,CACxBC,OAAqB,EACrBC,KAAgC,EACvB;EACT,MAAM;AACJC,IAAAA,IAAI,GAAG,KAAK;IACZC,KAAK;IACLC,WAAW;IACXC,SAAS;IACTC,QAAQ;AACRC,IAAAA,KAAAA;AACF,GAAC,GAAGP,OAAO,CAAA;AAEX,EAAA,IAAIM,QAAQ,EAAE;AACZ,IAAA,IAAIH,KAAK,EAAE;AACT,MAAA,IAAIF,KAAK,CAACO,SAAS,KAAKC,qBAAqB,CAACH,QAAQ,EAAEL,KAAK,CAACS,OAAO,CAAC,EAAE;AACtE,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;KACD,MAAM,IAAI,CAACC,eAAe,CAACV,KAAK,CAACK,QAAQ,EAAEA,QAAQ,CAAC,EAAE;AACrD,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AACF,GAAA;EAEA,IAAIJ,IAAI,KAAK,KAAK,EAAE;AAClB,IAAA,MAAMU,QAAQ,GAAGX,KAAK,CAACW,QAAQ,EAAE,CAAA;AACjC,IAAA,IAAIV,IAAI,KAAK,QAAQ,IAAI,CAACU,QAAQ,EAAE;AAClC,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AACA,IAAA,IAAIV,IAAI,KAAK,UAAU,IAAIU,QAAQ,EAAE;AACnC,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AACF,GAAA;AAEA,EAAA,IAAI,OAAOL,KAAK,KAAK,SAAS,IAAIN,KAAK,CAACY,OAAO,EAAE,KAAKN,KAAK,EAAE;AAC3D,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AAEA,EAAA,IACE,OAAOH,WAAW,KAAK,WAAW,IAClCA,WAAW,KAAKH,KAAK,CAACa,KAAK,CAACV,WAAW,EACvC;AACA,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AAEA,EAAA,IAAIC,SAAS,IAAI,CAACA,SAAS,CAACJ,KAAK,CAAC,EAAE;AAClC,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAA;AAEO,SAASc,aAAaA,CAC3Bf,OAAwB,EACxBgB,QAA4B,EACnB;EACT,MAAM;IAAEb,KAAK;IAAEc,MAAM;IAAEZ,SAAS;AAAEa,IAAAA,WAAAA;AAAY,GAAC,GAAGlB,OAAO,CAAA;AACzD,EAAA,IAAIkB,WAAW,EAAE;AACf,IAAA,IAAI,CAACF,QAAQ,CAACN,OAAO,CAACQ,WAAW,EAAE;AACjC,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AACA,IAAA,IAAIf,KAAK,EAAE;AACT,MAAA,IAAIgB,OAAO,CAACH,QAAQ,CAACN,OAAO,CAACQ,WAAW,CAAC,KAAKC,OAAO,CAACD,WAAW,CAAC,EAAE;AAClE,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;AACF,KAAC,MAAM,IAAI,CAACP,eAAe,CAACK,QAAQ,CAACN,OAAO,CAACQ,WAAW,EAAEA,WAAW,CAAC,EAAE;AACtE,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AACF,GAAA;EAEA,IAAID,MAAM,IAAID,QAAQ,CAACF,KAAK,CAACG,MAAM,KAAKA,MAAM,EAAE;AAC9C,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AAEA,EAAA,IAAIZ,SAAS,IAAI,CAACA,SAAS,CAACW,QAAQ,CAAC,EAAE;AACrC,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAA;AAEO,SAASP,qBAAqBA,CACnCH,QAAmB,EACnBI,OAAgD,EACxC;EACR,MAAMU,MAAM,GAAG,CAAAV,OAAO,oBAAPA,OAAO,CAAEW,cAAc,KAAIF,OAAO,CAAA;EACjD,OAAOC,MAAM,CAACd,QAAQ,CAAC,CAAA;AACzB,CAAA;;AAEA;AACA;AACA;AACA;AACO,SAASa,OAAOA,CAACb,QAAgC,EAAU;AAChE,EAAA,OAAOgB,IAAI,CAACC,SAAS,CAACjB,QAAQ,EAAE,CAACkB,CAAC,EAAEC,GAAG,KACrCC,aAAa,CAACD,GAAG,CAAC,GACdE,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CACbI,IAAI,EAAE,CACNC,MAAM,CAAC,CAACC,MAAM,EAAEC,GAAG,KAAK;AACvBD,IAAAA,MAAM,CAACC,GAAG,CAAC,GAAGP,GAAG,CAACO,GAAG,CAAC,CAAA;AACtB,IAAA,OAAOD,MAAM,CAAA;AACf,GAAC,EAAE,EAAS,CAAC,GACfN,GACN,CAAC,CAAA;AACH,CAAA;;AAEA;AACA;AACA;;AAEO,SAASd,eAAeA,CAACsB,CAAM,EAAEC,CAAM,EAAW;EACvD,IAAID,CAAC,KAAKC,CAAC,EAAE;AACX,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,IAAI,OAAOD,CAAC,KAAK,OAAOC,CAAC,EAAE;AACzB,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AAEA,EAAA,IAAID,CAAC,IAAIC,CAAC,IAAI,OAAOD,CAAC,KAAK,QAAQ,IAAI,OAAOC,CAAC,KAAK,QAAQ,EAAE;IAC5D,OAAO,CAACP,MAAM,CAACC,IAAI,CAACM,CAAC,CAAC,CAACC,IAAI,CAAEH,GAAG,IAAK,CAACrB,eAAe,CAACsB,CAAC,CAACD,GAAG,CAAC,EAAEE,CAAC,CAACF,GAAG,CAAC,CAAC,CAAC,CAAA;AACxE,GAAA;AAEA,EAAA,OAAO,KAAK,CAAA;AACd,CAAA;;AAEA;AACA;AACA;AACA;AACA;;AAEO,SAASI,gBAAgBA,CAACH,CAAM,EAAEC,CAAM,EAAO;EACpD,IAAID,CAAC,KAAKC,CAAC,EAAE;AACX,IAAA,OAAOD,CAAC,CAAA;AACV,GAAA;EAEA,MAAMI,KAAK,GAAGC,YAAY,CAACL,CAAC,CAAC,IAAIK,YAAY,CAACJ,CAAC,CAAC,CAAA;EAEhD,IAAIG,KAAK,IAAKX,aAAa,CAACO,CAAC,CAAC,IAAIP,aAAa,CAACQ,CAAC,CAAE,EAAE;AACnD,IAAA,MAAMK,KAAK,GAAGF,KAAK,GAAGJ,CAAC,CAACO,MAAM,GAAGb,MAAM,CAACC,IAAI,CAACK,CAAC,CAAC,CAACO,MAAM,CAAA;IACtD,MAAMC,MAAM,GAAGJ,KAAK,GAAGH,CAAC,GAAGP,MAAM,CAACC,IAAI,CAACM,CAAC,CAAC,CAAA;AACzC,IAAA,MAAMQ,KAAK,GAAGD,MAAM,CAACD,MAAM,CAAA;AAC3B,IAAA,MAAMG,IAAS,GAAGN,KAAK,GAAG,EAAE,GAAG,EAAE,CAAA;IAEjC,IAAIO,UAAU,GAAG,CAAC,CAAA;IAElB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,EAAEG,CAAC,EAAE,EAAE;MAC9B,MAAMb,GAAG,GAAGK,KAAK,GAAGQ,CAAC,GAAGJ,MAAM,CAACI,CAAC,CAAC,CAAA;AACjCF,MAAAA,IAAI,CAACX,GAAG,CAAC,GAAGI,gBAAgB,CAACH,CAAC,CAACD,GAAG,CAAC,EAAEE,CAAC,CAACF,GAAG,CAAC,CAAC,CAAA;MAC5C,IAAIW,IAAI,CAACX,GAAG,CAAC,KAAKC,CAAC,CAACD,GAAG,CAAC,EAAE;AACxBY,QAAAA,UAAU,EAAE,CAAA;AACd,OAAA;AACF,KAAA;IAEA,OAAOL,KAAK,KAAKG,KAAK,IAAIE,UAAU,KAAKL,KAAK,GAAGN,CAAC,GAAGU,IAAI,CAAA;AAC3D,GAAA;AAEA,EAAA,OAAOT,CAAC,CAAA;AACV,CAAA;;AAEA;AACA;AACA;AACO,SAASY,mBAAmBA,CAAIb,CAAI,EAAEC,CAAI,EAAW;EAC1D,IAAKD,CAAC,IAAI,CAACC,CAAC,IAAMA,CAAC,IAAI,CAACD,CAAE,EAAE;AAC1B,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AAEA,EAAA,KAAK,MAAMD,GAAG,IAAIC,CAAC,EAAE;IACnB,IAAIA,CAAC,CAACD,GAAG,CAAC,KAAKE,CAAC,CAACF,GAAG,CAAC,EAAE;AACrB,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AACF,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAA;AAEO,SAASM,YAAYA,CAAChD,KAAc,EAAE;AAC3C,EAAA,OAAOyD,KAAK,CAACC,OAAO,CAAC1D,KAAK,CAAC,IAAIA,KAAK,CAACkD,MAAM,KAAKb,MAAM,CAACC,IAAI,CAACtC,KAAK,CAAC,CAACkD,MAAM,CAAA;AAC3E,CAAA;;AAEA;AACO,SAASd,aAAaA,CAACuB,CAAM,EAAe;AACjD,EAAA,IAAI,CAACC,kBAAkB,CAACD,CAAC,CAAC,EAAE;AAC1B,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;;AAEA;AACA,EAAA,MAAME,IAAI,GAAGF,CAAC,CAACG,WAAW,CAAA;AAC1B,EAAA,IAAI,OAAOD,IAAI,KAAK,WAAW,EAAE;AAC/B,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;;AAEA;AACA,EAAA,MAAME,IAAI,GAAGF,IAAI,CAACG,SAAS,CAAA;AAC3B,EAAA,IAAI,CAACJ,kBAAkB,CAACG,IAAI,CAAC,EAAE;AAC7B,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;;AAEA;AACA,EAAA,IAAI,CAACA,IAAI,CAACE,cAAc,CAAC,eAAe,CAAC,EAAE;AACzC,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;;AAEA;AACA,EAAA,OAAO,IAAI,CAAA;AACb,CAAA;AAEA,SAASL,kBAAkBA,CAACD,CAAM,EAAW;EAC3C,OAAOtB,MAAM,CAAC2B,SAAS,CAACE,QAAQ,CAACC,IAAI,CAACR,CAAC,CAAC,KAAK,iBAAiB,CAAA;AAChE,CAAA;AAEO,SAASS,KAAKA,CAACC,OAAe,EAAiB;AACpD,EAAA,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;AAC9BC,IAAAA,UAAU,CAACD,OAAO,EAAEF,OAAO,CAAC,CAAA;AAC9B,GAAC,CAAC,CAAA;AACJ,CAAA;;AAEA;AACA;AACA;AACA;AACO,SAASI,iBAAiBA,CAACC,QAAoB,EAAE;AACtDN,EAAAA,KAAK,CAAC,CAAC,CAAC,CAACO,IAAI,CAACD,QAAQ,CAAC,CAAA;AACzB,CAAA;AAEO,SAASE,WAAWA,CAGzBC,QAA2B,EAAEC,IAAW,EAAE1D,OAAiB,EAAS;AACpE,EAAA,IAAI,OAAOA,OAAO,CAAC2D,iBAAiB,KAAK,UAAU,EAAE;AACnD,IAAA,OAAO3D,OAAO,CAAC2D,iBAAiB,CAACF,QAAQ,EAAEC,IAAI,CAAC,CAAA;AAClD,GAAC,MAAM,IAAI1D,OAAO,CAAC2D,iBAAiB,KAAK,KAAK,EAAE;AAC9C;AACA,IAAA,OAAOjC,gBAAgB,CAAC+B,QAAQ,EAAEC,IAAI,CAAC,CAAA;AACzC,GAAA;AACA,EAAA,OAAOA,IAAI,CAAA;AACb,CAAA;AAEO,SAASE,gBAAgBA,CAC9BC,YAA2B,EACZ;AACf,EAAA,OAAOA,YAAY,CAAA;AACrB,CAAA;AAEO,SAASC,QAAQA,CAAIC,KAAU,EAAEC,IAAO,EAAE9E,GAAG,GAAG,CAAC,EAAO;AAC7D,EAAA,MAAM+E,QAAQ,GAAG,CAAC,GAAGF,KAAK,EAAEC,IAAI,CAAC,CAAA;AACjC,EAAA,OAAO9E,GAAG,IAAI+E,QAAQ,CAACnC,MAAM,GAAG5C,GAAG,GAAG+E,QAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,GAAGD,QAAQ,CAAA;AACpE,CAAA;AAEO,SAASE,UAAUA,CAAIJ,KAAU,EAAEC,IAAO,EAAE9E,GAAG,GAAG,CAAC,EAAO;AAC/D,EAAA,MAAM+E,QAAQ,GAAG,CAACD,IAAI,EAAE,GAAGD,KAAK,CAAC,CAAA;AACjC,EAAA,OAAO7E,GAAG,IAAI+E,QAAQ,CAACnC,MAAM,GAAG5C,GAAG,GAAG+E,QAAQ,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGD,QAAQ,CAAA;AACxE;;;;"}
|