@qiaopeng/tanstack-query-plus 0.5.2 → 0.5.7
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/dist/core/config.d.ts +9 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +41 -9
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/package.json +1 -1
package/dist/core/config.d.ts
CHANGED
|
@@ -33,4 +33,13 @@ export declare function validateConfig(config: DefaultOptions): {
|
|
|
33
33
|
warnings: string[];
|
|
34
34
|
};
|
|
35
35
|
export declare function ensureBestPractices(config: DefaultOptions): DefaultOptions;
|
|
36
|
+
export declare function createSafeRetryStrategy(maxRetries500?: number, maxRetriesOther?: number): (failureCount: number, error: unknown) => boolean;
|
|
37
|
+
export declare function createErrorSafeConfig(options?: {
|
|
38
|
+
maxRetries500?: number;
|
|
39
|
+
maxRetriesOther?: number;
|
|
40
|
+
disableFocus?: boolean;
|
|
41
|
+
disableReconnect?: boolean;
|
|
42
|
+
conditionalRefetchInterval?: number | ((data: unknown, query: any) => number | false);
|
|
43
|
+
overrides?: Partial<DefaultOptions>;
|
|
44
|
+
}): DefaultOptions;
|
|
36
45
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,eAAO,MAAM,cAAc;;;;;;;;;CASjB,CAAC;AAEX,eAAO,MAAM,kBAAkB,QAAgC,CAAC;AAChE,eAAO,MAAM,eAAe,QAA6B,CAAC;AAO1D,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,eAAO,MAAM,cAAc;;;;;;;;;CASjB,CAAC;AAEX,eAAO,MAAM,kBAAkB,QAAgC,CAAC;AAChE,eAAO,MAAM,eAAe,QAA6B,CAAC;AAO1D,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAIvF;AAED,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAK1F;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,SAAS,CAQ1D,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAAC,WAAW,CAI/D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,cAGjC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,cAAc,CAAC,WAAW,CAInE,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAYhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cAY/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cAa/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,cAW7B,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY,GAAG,MAAM,GAAG,cAAc,CAwBjG;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAWrF;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAQxG;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA2B/F;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAkC1E;AAED,wBAAgB,uBAAuB,CAAC,aAAa,GAAE,MAAU,EAAE,eAAe,GAAE,MAAU,IACpF,cAAc,MAAM,EAAE,OAAO,OAAO,KAAG,OAAO,CAMvD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,GAAE;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK,CAAC,CAAC;IACtF,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CAChC,GAAG,cAAc,CA6BtB"}
|
package/dist/core/config.js
CHANGED
|
@@ -13,11 +13,9 @@ export const DEFAULT_STALE_TIME = TIME_CONSTANTS.THIRTY_SECONDS;
|
|
|
13
13
|
export const DEFAULT_GC_TIME = TIME_CONSTANTS.TEN_MINUTES;
|
|
14
14
|
export function defaultQueryRetryStrategy(failureCount, error) {
|
|
15
15
|
const httpError = error;
|
|
16
|
-
if (httpError?.status && httpError.status >= 400 && httpError.status <
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
return failureCount < 3;
|
|
20
|
-
return failureCount < 3;
|
|
16
|
+
if (httpError?.status && httpError.status >= 400 && httpError.status < 600)
|
|
17
|
+
return failureCount < 2;
|
|
18
|
+
return failureCount < 2;
|
|
21
19
|
}
|
|
22
20
|
export function defaultMutationRetryStrategy(failureCount, error) {
|
|
23
21
|
const httpError = error;
|
|
@@ -58,7 +56,7 @@ export const DEVELOPMENT_CONFIG = {
|
|
|
58
56
|
...DEFAULT_QUERY_CONFIG,
|
|
59
57
|
staleTime: 0,
|
|
60
58
|
gcTime: TIME_CONSTANTS.TEN_MINUTES,
|
|
61
|
-
retry:
|
|
59
|
+
retry: defaultQueryRetryStrategy,
|
|
62
60
|
refetchOnWindowFocus: true
|
|
63
61
|
},
|
|
64
62
|
mutations: {
|
|
@@ -71,7 +69,7 @@ export const PRODUCTION_CONFIG = {
|
|
|
71
69
|
...DEFAULT_QUERY_CONFIG,
|
|
72
70
|
staleTime: TIME_CONSTANTS.TEN_MINUTES,
|
|
73
71
|
gcTime: TIME_CONSTANTS.THIRTY_MINUTES,
|
|
74
|
-
retry:
|
|
72
|
+
retry: defaultQueryRetryStrategy,
|
|
75
73
|
refetchOnWindowFocus: true
|
|
76
74
|
},
|
|
77
75
|
mutations: {
|
|
@@ -84,7 +82,7 @@ export const LONG_CACHE_CONFIG = {
|
|
|
84
82
|
...DEFAULT_QUERY_CONFIG,
|
|
85
83
|
staleTime: TIME_CONSTANTS.FIFTEEN_MINUTES,
|
|
86
84
|
gcTime: TIME_CONSTANTS.ONE_HOUR,
|
|
87
|
-
retry:
|
|
85
|
+
retry: defaultQueryRetryStrategy,
|
|
88
86
|
refetchOnWindowFocus: true,
|
|
89
87
|
refetchOnReconnect: true
|
|
90
88
|
},
|
|
@@ -98,7 +96,7 @@ export const REALTIME_CONFIG = {
|
|
|
98
96
|
...DEFAULT_QUERY_CONFIG,
|
|
99
97
|
staleTime: 0,
|
|
100
98
|
gcTime: TIME_CONSTANTS.ONE_MINUTE * 2,
|
|
101
|
-
retry:
|
|
99
|
+
retry: defaultQueryRetryStrategy,
|
|
102
100
|
refetchOnWindowFocus: true,
|
|
103
101
|
refetchOnReconnect: true,
|
|
104
102
|
refetchInterval: TIME_CONSTANTS.THIRTY_SECONDS
|
|
@@ -211,3 +209,37 @@ export function ensureBestPractices(config) {
|
|
|
211
209
|
}
|
|
212
210
|
return result;
|
|
213
211
|
}
|
|
212
|
+
export function createSafeRetryStrategy(maxRetries500 = 1, maxRetriesOther = 2) {
|
|
213
|
+
return (failureCount, error) => {
|
|
214
|
+
const httpError = error;
|
|
215
|
+
if (httpError?.status && httpError.status >= 400 && httpError.status < 500)
|
|
216
|
+
return false;
|
|
217
|
+
if (httpError?.status && httpError.status >= 500)
|
|
218
|
+
return failureCount < maxRetries500;
|
|
219
|
+
return failureCount < maxRetriesOther;
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
export function createErrorSafeConfig(options = {}) {
|
|
223
|
+
const { maxRetries500 = 1, maxRetriesOther = 2, disableFocus = false, disableReconnect = false, conditionalRefetchInterval, overrides } = options;
|
|
224
|
+
const queries = {
|
|
225
|
+
...DEFAULT_QUERY_CONFIG,
|
|
226
|
+
retry: createSafeRetryStrategy(maxRetries500, maxRetriesOther),
|
|
227
|
+
retryDelay: exponentialBackoff,
|
|
228
|
+
refetchOnWindowFocus: disableFocus ? false : true,
|
|
229
|
+
refetchOnReconnect: disableReconnect ? false : true
|
|
230
|
+
};
|
|
231
|
+
if (conditionalRefetchInterval !== undefined) {
|
|
232
|
+
if (typeof conditionalRefetchInterval === "number") {
|
|
233
|
+
queries.refetchInterval = (_data, query) => (query?.state?.error ? false : conditionalRefetchInterval);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
queries.refetchInterval = conditionalRefetchInterval;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
const mutations = { ...DEFAULT_MUTATION_CONFIG };
|
|
240
|
+
const result = {
|
|
241
|
+
queries: { ...queries, ...(overrides?.queries || {}) },
|
|
242
|
+
mutations: { ...mutations, ...(overrides?.mutations || {}) }
|
|
243
|
+
};
|
|
244
|
+
return result;
|
|
245
|
+
}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createCustomConfig, DEFAULT_GC_TIME, DEFAULT_MUTATION_CONFIG, DEFAULT_QUERY_CONFIG, DEFAULT_STALE_TIME, defaultMutationRetryStrategy, defaultQueryRetryStrategy, DEVELOPMENT_CONFIG, ensureBestPractices, exponentialBackoff, getConfigByEnvironment, GLOBAL_QUERY_CONFIG, LONG_CACHE_CONFIG, PRODUCTION_CONFIG, REALTIME_CONFIG, SMART_RETRY_MUTATION_CONFIG, TIME_CONSTANTS, validateConfig, validateGcTime } from "./config.js";
|
|
1
|
+
export { createCustomConfig, DEFAULT_GC_TIME, DEFAULT_MUTATION_CONFIG, DEFAULT_QUERY_CONFIG, DEFAULT_STALE_TIME, defaultMutationRetryStrategy, defaultQueryRetryStrategy, DEVELOPMENT_CONFIG, ensureBestPractices, exponentialBackoff, getConfigByEnvironment, GLOBAL_QUERY_CONFIG, LONG_CACHE_CONFIG, PRODUCTION_CONFIG, REALTIME_CONFIG, createErrorSafeConfig, createSafeRetryStrategy, SMART_RETRY_MUTATION_CONFIG, TIME_CONSTANTS, validateConfig, validateGcTime } from "./config.js";
|
|
2
2
|
export { createDevToolsConfig, defaultDevToolsConfig, type DevToolsConfig, isDevToolsEnabled } from "./devtools.js";
|
|
3
3
|
export { ReactQueryDevtools } from "./devtools.js";
|
|
4
4
|
export { isDev, isProd, isTest } from "./env.js";
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,4BAA4B,EAC5B,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,2BAA2B,EAC3B,cAAc,EACd,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,4BAA4B,EAC5B,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,cAAc,EACd,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createCustomConfig, DEFAULT_GC_TIME, DEFAULT_MUTATION_CONFIG, DEFAULT_QUERY_CONFIG, DEFAULT_STALE_TIME, defaultMutationRetryStrategy, defaultQueryRetryStrategy, DEVELOPMENT_CONFIG, ensureBestPractices, exponentialBackoff, getConfigByEnvironment, GLOBAL_QUERY_CONFIG, LONG_CACHE_CONFIG, PRODUCTION_CONFIG, REALTIME_CONFIG, SMART_RETRY_MUTATION_CONFIG, TIME_CONSTANTS, validateConfig, validateGcTime } from "./config.js";
|
|
1
|
+
export { createCustomConfig, DEFAULT_GC_TIME, DEFAULT_MUTATION_CONFIG, DEFAULT_QUERY_CONFIG, DEFAULT_STALE_TIME, defaultMutationRetryStrategy, defaultQueryRetryStrategy, DEVELOPMENT_CONFIG, ensureBestPractices, exponentialBackoff, getConfigByEnvironment, GLOBAL_QUERY_CONFIG, LONG_CACHE_CONFIG, PRODUCTION_CONFIG, REALTIME_CONFIG, createErrorSafeConfig, createSafeRetryStrategy, SMART_RETRY_MUTATION_CONFIG, TIME_CONSTANTS, validateConfig, validateGcTime } from "./config.js";
|
|
2
2
|
export { createDevToolsConfig, defaultDevToolsConfig, isDevToolsEnabled } from "./devtools.js";
|
|
3
3
|
export { ReactQueryDevtools } from "./devtools.js";
|
|
4
4
|
export { isDev, isProd, isTest } from "./env.js";
|
package/package.json
CHANGED