@tanstack/query-core 4.24.10 → 5.0.0-alpha.1
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 -3
- package/build/lib/focusManager.esm.js +19 -36
- package/build/lib/focusManager.esm.js.map +1 -1
- package/build/lib/focusManager.js +19 -38
- package/build/lib/focusManager.js.map +1 -1
- package/build/lib/focusManager.mjs +19 -36
- package/build/lib/focusManager.mjs.map +1 -1
- package/build/lib/hydration.esm.js +21 -23
- package/build/lib/hydration.esm.js.map +1 -1
- package/build/lib/hydration.js +21 -25
- package/build/lib/hydration.js.map +1 -1
- package/build/lib/hydration.mjs +21 -23
- package/build/lib/hydration.mjs.map +1 -1
- package/build/lib/index.d.ts +1 -2
- package/build/lib/index.esm.js +1 -1
- package/build/lib/index.js +2 -8
- package/build/lib/index.js.map +1 -1
- package/build/lib/index.mjs +1 -1
- package/build/lib/infiniteQueryBehavior.d.ts +3 -7
- package/build/lib/infiniteQueryBehavior.esm.js +52 -75
- package/build/lib/infiniteQueryBehavior.esm.js.map +1 -1
- package/build/lib/infiniteQueryBehavior.js +50 -77
- package/build/lib/infiniteQueryBehavior.js.map +1 -1
- package/build/lib/infiniteQueryBehavior.mjs +52 -75
- package/build/lib/infiniteQueryBehavior.mjs.map +1 -1
- package/build/lib/infiniteQueryObserver.d.ts +4 -4
- package/build/lib/infiniteQueryObserver.esm.js +18 -26
- package/build/lib/infiniteQueryObserver.esm.js.map +1 -1
- package/build/lib/infiniteQueryObserver.js +18 -28
- package/build/lib/infiniteQueryObserver.js.map +1 -1
- package/build/lib/infiniteQueryObserver.mjs +18 -26
- package/build/lib/infiniteQueryObserver.mjs.map +1 -1
- package/build/lib/mutation.d.ts +11 -22
- package/build/lib/mutation.esm.js +73 -105
- package/build/lib/mutation.esm.js.map +1 -1
- package/build/lib/mutation.js +73 -107
- package/build/lib/mutation.js.map +1 -1
- package/build/lib/mutation.mjs +73 -105
- package/build/lib/mutation.mjs.map +1 -1
- package/build/lib/mutationCache.d.ts +4 -6
- package/build/lib/mutationCache.esm.js +23 -32
- package/build/lib/mutationCache.esm.js.map +1 -1
- package/build/lib/mutationCache.js +23 -34
- package/build/lib/mutationCache.js.map +1 -1
- package/build/lib/mutationCache.mjs +23 -32
- package/build/lib/mutationCache.mjs.map +1 -1
- package/build/lib/mutationObserver.d.ts +4 -9
- package/build/lib/mutationObserver.esm.js +42 -73
- package/build/lib/mutationObserver.esm.js.map +1 -1
- package/build/lib/mutationObserver.js +42 -75
- package/build/lib/mutationObserver.js.map +1 -1
- package/build/lib/mutationObserver.mjs +42 -73
- package/build/lib/mutationObserver.mjs.map +1 -1
- package/build/lib/notifyManager.esm.js +7 -17
- package/build/lib/notifyManager.esm.js.map +1 -1
- package/build/lib/notifyManager.js +7 -19
- package/build/lib/notifyManager.js.map +1 -1
- package/build/lib/notifyManager.mjs +7 -17
- package/build/lib/notifyManager.mjs.map +1 -1
- package/build/lib/onlineManager.d.ts +1 -3
- package/build/lib/onlineManager.esm.js +16 -30
- package/build/lib/onlineManager.esm.js.map +1 -1
- package/build/lib/onlineManager.js +16 -32
- package/build/lib/onlineManager.js.map +1 -1
- package/build/lib/onlineManager.mjs +16 -30
- package/build/lib/onlineManager.mjs.map +1 -1
- package/build/lib/queriesObserver.d.ts +3 -10
- package/build/lib/queriesObserver.esm.js +47 -71
- package/build/lib/queriesObserver.esm.js.map +1 -1
- package/build/lib/queriesObserver.js +49 -75
- package/build/lib/queriesObserver.js.map +1 -1
- package/build/lib/queriesObserver.mjs +47 -71
- package/build/lib/queriesObserver.mjs.map +1 -1
- package/build/lib/query.d.ts +14 -21
- package/build/lib/query.esm.js +140 -194
- package/build/lib/query.esm.js.map +1 -1
- package/build/lib/query.js +139 -195
- package/build/lib/query.js.map +1 -1
- package/build/lib/query.mjs +140 -194
- package/build/lib/query.mjs.map +1 -1
- package/build/lib/queryCache.d.ts +12 -7
- package/build/lib/queryCache.esm.js +21 -45
- package/build/lib/queryCache.esm.js.map +1 -1
- package/build/lib/queryCache.js +20 -46
- package/build/lib/queryCache.js.map +1 -1
- package/build/lib/queryCache.mjs +21 -45
- package/build/lib/queryCache.mjs.map +1 -1
- package/build/lib/queryClient.d.ts +18 -46
- package/build/lib/queryClient.esm.js +137 -216
- package/build/lib/queryClient.esm.js.map +1 -1
- package/build/lib/queryClient.js +136 -217
- package/build/lib/queryClient.js.map +1 -1
- package/build/lib/queryClient.mjs +137 -216
- package/build/lib/queryClient.mjs.map +1 -1
- package/build/lib/queryObserver.d.ts +4 -29
- package/build/lib/queryObserver.esm.js +176 -258
- package/build/lib/queryObserver.esm.js.map +1 -1
- package/build/lib/queryObserver.js +176 -260
- package/build/lib/queryObserver.js.map +1 -1
- package/build/lib/queryObserver.mjs +176 -258
- package/build/lib/queryObserver.mjs.map +1 -1
- package/build/lib/removable.d.ts +3 -3
- package/build/lib/removable.esm.js +10 -14
- package/build/lib/removable.esm.js.map +1 -1
- package/build/lib/removable.js +10 -16
- package/build/lib/removable.js.map +1 -1
- package/build/lib/removable.mjs +10 -14
- package/build/lib/removable.mjs.map +1 -1
- package/build/lib/retryer.d.ts +5 -5
- package/build/lib/retryer.esm.js +27 -44
- package/build/lib/retryer.esm.js.map +1 -1
- package/build/lib/retryer.js +27 -46
- package/build/lib/retryer.js.map +1 -1
- package/build/lib/retryer.mjs +27 -44
- package/build/lib/retryer.mjs.map +1 -1
- package/build/lib/subscribable.esm.js +4 -7
- package/build/lib/subscribable.esm.js.map +1 -1
- package/build/lib/subscribable.js +4 -9
- package/build/lib/subscribable.js.map +1 -1
- package/build/lib/subscribable.mjs +4 -7
- package/build/lib/subscribable.mjs.map +1 -1
- package/build/lib/tests/utils.d.ts +3 -12
- package/build/lib/types.d.ts +111 -99
- package/build/lib/utils.d.ts +8 -18
- package/build/lib/utils.esm.js +39 -132
- package/build/lib/utils.esm.js.map +1 -1
- package/build/lib/utils.js +42 -144
- package/build/lib/utils.js.map +1 -1
- package/build/lib/utils.mjs +39 -132
- package/build/lib/utils.mjs.map +1 -1
- package/build/umd/index.development.js +867 -1399
- 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 +1 -1
- package/src/focusManager.ts +17 -24
- package/src/index.ts +1 -11
- package/src/infiniteQueryBehavior.ts +54 -94
- package/src/infiniteQueryObserver.ts +10 -12
- package/src/mutation.ts +68 -92
- package/src/mutationCache.ts +27 -27
- package/src/mutationObserver.ts +58 -97
- package/src/onlineManager.ts +14 -14
- package/src/queriesObserver.ts +50 -54
- package/src/query.ts +107 -111
- package/src/queryCache.ts +42 -41
- package/src/queryClient.ts +155 -434
- package/src/queryObserver.ts +155 -192
- package/src/removable.ts +13 -13
- package/src/retryer.ts +5 -5
- package/src/subscribable.ts +1 -1
- package/src/tests/focusManager.test.tsx +25 -25
- package/src/tests/hydration.test.tsx +167 -81
- package/src/tests/infiniteQueryBehavior.test.tsx +209 -17
- package/src/tests/infiniteQueryObserver.test.tsx +6 -2
- package/src/tests/mutationCache.test.tsx +127 -127
- package/src/tests/mutationObserver.test.tsx +1 -31
- package/src/tests/mutations.test.tsx +62 -43
- package/src/tests/onlineManager.test.tsx +12 -4
- package/src/tests/queriesObserver.test.tsx +41 -77
- package/src/tests/query.test.tsx +175 -243
- package/src/tests/queryCache.test.tsx +170 -93
- package/src/tests/queryClient.test.tsx +229 -378
- package/src/tests/queryObserver.test.tsx +23 -147
- package/src/tests/utils.test.tsx +84 -29
- package/src/tests/utils.ts +9 -18
- package/src/types.ts +187 -140
- package/src/utils.ts +31 -124
- package/build/lib/logger.d.ts +0 -8
- package/build/lib/logger.esm.js +0 -4
- package/build/lib/logger.esm.js.map +0 -1
- package/build/lib/logger.js +0 -8
- package/build/lib/logger.js.map +0 -1
- package/build/lib/logger.mjs +0 -4
- package/build/lib/logger.mjs.map +0 -1
- package/build/lib/logger.native.d.ts +0 -6
- package/build/lib/logger.native.esm.js +0 -12
- package/build/lib/logger.native.esm.js.map +0 -1
- package/build/lib/logger.native.js +0 -16
- package/build/lib/logger.native.js.map +0 -1
- package/build/lib/logger.native.mjs +0 -12
- package/build/lib/logger.native.mjs.map +0 -1
- package/src/logger.native.ts +0 -11
- package/src/logger.ts +0 -9
|
@@ -3,61 +3,53 @@ import { infiniteQueryBehavior, hasNextPage, hasPreviousPage } from './infiniteQ
|
|
|
3
3
|
|
|
4
4
|
class InfiniteQueryObserver extends QueryObserver {
|
|
5
5
|
// Type override
|
|
6
|
+
|
|
6
7
|
// Type override
|
|
8
|
+
|
|
7
9
|
// Type override
|
|
10
|
+
|
|
8
11
|
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
9
12
|
constructor(client, options) {
|
|
10
13
|
super(client, options);
|
|
11
14
|
}
|
|
12
|
-
|
|
13
15
|
bindMethods() {
|
|
14
16
|
super.bindMethods();
|
|
15
17
|
this.fetchNextPage = this.fetchNextPage.bind(this);
|
|
16
18
|
this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
|
|
17
19
|
}
|
|
18
|
-
|
|
19
20
|
setOptions(options, notifyOptions) {
|
|
20
|
-
super.setOptions({
|
|
21
|
+
super.setOptions({
|
|
22
|
+
...options,
|
|
21
23
|
behavior: infiniteQueryBehavior()
|
|
22
24
|
}, notifyOptions);
|
|
23
25
|
}
|
|
24
|
-
|
|
25
26
|
getOptimisticResult(options) {
|
|
26
27
|
options.behavior = infiniteQueryBehavior();
|
|
27
28
|
return super.getOptimisticResult(options);
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
...options
|
|
33
|
-
} = {}) {
|
|
34
|
-
return this.fetch({ ...options,
|
|
30
|
+
fetchNextPage(options = {}) {
|
|
31
|
+
return this.fetch({
|
|
32
|
+
...options,
|
|
35
33
|
meta: {
|
|
36
34
|
fetchMore: {
|
|
37
|
-
direction: 'forward'
|
|
38
|
-
pageParam
|
|
35
|
+
direction: 'forward'
|
|
39
36
|
}
|
|
40
37
|
}
|
|
41
38
|
});
|
|
42
39
|
}
|
|
43
|
-
|
|
44
40
|
fetchPreviousPage({
|
|
45
|
-
pageParam,
|
|
46
41
|
...options
|
|
47
42
|
} = {}) {
|
|
48
|
-
return this.fetch({
|
|
43
|
+
return this.fetch({
|
|
44
|
+
...options,
|
|
49
45
|
meta: {
|
|
50
46
|
fetchMore: {
|
|
51
|
-
direction: 'backward'
|
|
52
|
-
pageParam
|
|
47
|
+
direction: 'backward'
|
|
53
48
|
}
|
|
54
49
|
}
|
|
55
50
|
});
|
|
56
51
|
}
|
|
57
|
-
|
|
58
52
|
createResult(query, options) {
|
|
59
|
-
var _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet, _state$data, _state$data2;
|
|
60
|
-
|
|
61
53
|
const {
|
|
62
54
|
state
|
|
63
55
|
} = query;
|
|
@@ -66,19 +58,19 @@ class InfiniteQueryObserver extends QueryObserver {
|
|
|
66
58
|
isFetching,
|
|
67
59
|
isRefetching
|
|
68
60
|
} = result;
|
|
69
|
-
const isFetchingNextPage = isFetching &&
|
|
70
|
-
const isFetchingPreviousPage = isFetching &&
|
|
71
|
-
return {
|
|
61
|
+
const isFetchingNextPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'forward';
|
|
62
|
+
const isFetchingPreviousPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'backward';
|
|
63
|
+
return {
|
|
64
|
+
...result,
|
|
72
65
|
fetchNextPage: this.fetchNextPage,
|
|
73
66
|
fetchPreviousPage: this.fetchPreviousPage,
|
|
74
|
-
hasNextPage: hasNextPage(options,
|
|
75
|
-
hasPreviousPage: hasPreviousPage(options,
|
|
67
|
+
hasNextPage: hasNextPage(options, state.data?.pages),
|
|
68
|
+
hasPreviousPage: hasPreviousPage(options, state.data?.pages),
|
|
76
69
|
isFetchingNextPage,
|
|
77
70
|
isFetchingPreviousPage,
|
|
78
71
|
isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
|
|
79
72
|
};
|
|
80
73
|
}
|
|
81
|
-
|
|
82
74
|
}
|
|
83
75
|
|
|
84
76
|
export { InfiniteQueryObserver };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infiniteQueryObserver.esm.js","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError =
|
|
1
|
+
{"version":3,"file":"infiniteQueryObserver.esm.js","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n RegisteredError,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = InfiniteData<TQueryFnData>,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData>,\n TQueryKey\n> {\n // Type override\n subscribe!: (\n listener?: InfiniteQueryObserverListener<TData, TError>,\n ) => () => void\n\n // Type override\n getCurrentResult!: () => InfiniteQueryObserverResult<TData, TError>\n\n // Type override\n protected fetch!: (\n fetchOptions: ObserverFetchOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options?: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n super.setOptions(\n {\n ...options,\n behavior: infiniteQueryBehavior(),\n },\n notifyOptions,\n )\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage(\n options: FetchNextPageOptions = {},\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward' },\n },\n })\n }\n\n fetchPreviousPage({ ...options }: FetchPreviousPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const result = super.createResult(query, options)\n\n const { isFetching, isRefetching } = result\n\n const isFetchingNextPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'forward'\n\n const isFetchingPreviousPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'backward'\n\n return {\n ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data?.pages),\n hasPreviousPage: hasPreviousPage(options, state.data?.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n }\n}\n"],"names":["InfiniteQueryObserver","QueryObserver","constructor","client","options","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","notifyOptions","behavior","infiniteQueryBehavior","getOptimisticResult","fetch","meta","fetchMore","direction","createResult","query","state","result","isFetching","isRefetching","isFetchingNextPage","fetchMeta","isFetchingPreviousPage","hasNextPage","data","pages","hasPreviousPage"],"mappings":";;;AAwBO,MAAMA,qBAAqB,SAMxBC,aAAa,CAMrB;AACA;;AAKA;;AAGA;;AAKA;AACAC,EAAAA,WAAW,CACTC,MAAmB,EACnBC,OAMC,EACD;AACA,IAAA,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC,CAAA;AACxB,GAAA;AAEUC,EAAAA,WAAW,GAAS;IAC5B,KAAK,CAACA,WAAW,EAAE,CAAA;IACnB,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClD,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5D,GAAA;AAEAE,EAAAA,UAAU,CACRL,OAMC,EACDM,aAA6B,EACvB;IACN,KAAK,CAACD,UAAU,CACd;AACE,MAAA,GAAGL,OAAO;AACVO,MAAAA,QAAQ,EAAEC,qBAAqB,EAAA;KAChC,EACDF,aAAa,CACd,CAAA;AACH,GAAA;EAEAG,mBAAmB,CACjBT,OAMC,EAC2C;AAC5CA,IAAAA,OAAO,CAACO,QAAQ,GAAGC,qBAAqB,EAAE,CAAA;AAC1C,IAAA,OAAO,KAAK,CAACC,mBAAmB,CAACT,OAAO,CAAC,CAAA;AAI3C,GAAA;AAEAE,EAAAA,aAAa,CACXF,OAA6B,GAAG,EAAE,EACmB;IACrD,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,SAAA;AAAU,SAAA;AACpC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAT,EAAAA,iBAAiB,CAAC;IAAE,GAAGJ,OAAAA;GAAmC,GAAG,EAAE,EAE7D;IACA,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,UAAA;AAAW,SAAA;AACrC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEUC,EAAAA,YAAY,CACpBC,KAAuE,EACvEf,OAMC,EAC2C;IAC5C,MAAM;AAAEgB,MAAAA,KAAAA;AAAM,KAAC,GAAGD,KAAK,CAAA;IACvB,MAAME,MAAM,GAAG,KAAK,CAACH,YAAY,CAACC,KAAK,EAAEf,OAAO,CAAC,CAAA;IAEjD,MAAM;MAAEkB,UAAU;AAAEC,MAAAA,YAAAA;AAAa,KAAC,GAAGF,MAAM,CAAA;AAE3C,IAAA,MAAMG,kBAAkB,GACtBF,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,SAAS,CAAA;AAEnE,IAAA,MAAMS,sBAAsB,GAC1BJ,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,UAAU,CAAA;IAEpE,OAAO;AACL,MAAA,GAAGI,MAAM;MACTf,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCE,iBAAiB,EAAE,IAAI,CAACA,iBAAiB;MACzCmB,WAAW,EAAEA,WAAW,CAACvB,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MACpDC,eAAe,EAAEA,eAAe,CAAC1B,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MAC5DL,kBAAkB;MAClBE,sBAAsB;AACtBH,MAAAA,YAAY,EACVA,YAAY,IAAI,CAACC,kBAAkB,IAAI,CAACE,sBAAAA;KAC3C,CAAA;AACH,GAAA;AACF;;;;"}
|
|
@@ -1,67 +1,57 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var queryObserver = require('./queryObserver.js');
|
|
6
4
|
var infiniteQueryBehavior = require('./infiniteQueryBehavior.js');
|
|
7
5
|
|
|
8
6
|
class InfiniteQueryObserver extends queryObserver.QueryObserver {
|
|
9
7
|
// Type override
|
|
8
|
+
|
|
10
9
|
// Type override
|
|
10
|
+
|
|
11
11
|
// Type override
|
|
12
|
+
|
|
12
13
|
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
13
14
|
constructor(client, options) {
|
|
14
15
|
super(client, options);
|
|
15
16
|
}
|
|
16
|
-
|
|
17
17
|
bindMethods() {
|
|
18
18
|
super.bindMethods();
|
|
19
19
|
this.fetchNextPage = this.fetchNextPage.bind(this);
|
|
20
20
|
this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
|
|
21
21
|
}
|
|
22
|
-
|
|
23
22
|
setOptions(options, notifyOptions) {
|
|
24
|
-
super.setOptions({
|
|
23
|
+
super.setOptions({
|
|
24
|
+
...options,
|
|
25
25
|
behavior: infiniteQueryBehavior.infiniteQueryBehavior()
|
|
26
26
|
}, notifyOptions);
|
|
27
27
|
}
|
|
28
|
-
|
|
29
28
|
getOptimisticResult(options) {
|
|
30
29
|
options.behavior = infiniteQueryBehavior.infiniteQueryBehavior();
|
|
31
30
|
return super.getOptimisticResult(options);
|
|
32
31
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
...options
|
|
37
|
-
} = {}) {
|
|
38
|
-
return this.fetch({ ...options,
|
|
32
|
+
fetchNextPage(options = {}) {
|
|
33
|
+
return this.fetch({
|
|
34
|
+
...options,
|
|
39
35
|
meta: {
|
|
40
36
|
fetchMore: {
|
|
41
|
-
direction: 'forward'
|
|
42
|
-
pageParam
|
|
37
|
+
direction: 'forward'
|
|
43
38
|
}
|
|
44
39
|
}
|
|
45
40
|
});
|
|
46
41
|
}
|
|
47
|
-
|
|
48
42
|
fetchPreviousPage({
|
|
49
|
-
pageParam,
|
|
50
43
|
...options
|
|
51
44
|
} = {}) {
|
|
52
|
-
return this.fetch({
|
|
45
|
+
return this.fetch({
|
|
46
|
+
...options,
|
|
53
47
|
meta: {
|
|
54
48
|
fetchMore: {
|
|
55
|
-
direction: 'backward'
|
|
56
|
-
pageParam
|
|
49
|
+
direction: 'backward'
|
|
57
50
|
}
|
|
58
51
|
}
|
|
59
52
|
});
|
|
60
53
|
}
|
|
61
|
-
|
|
62
54
|
createResult(query, options) {
|
|
63
|
-
var _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet, _state$data, _state$data2;
|
|
64
|
-
|
|
65
55
|
const {
|
|
66
56
|
state
|
|
67
57
|
} = query;
|
|
@@ -70,19 +60,19 @@ class InfiniteQueryObserver extends queryObserver.QueryObserver {
|
|
|
70
60
|
isFetching,
|
|
71
61
|
isRefetching
|
|
72
62
|
} = result;
|
|
73
|
-
const isFetchingNextPage = isFetching &&
|
|
74
|
-
const isFetchingPreviousPage = isFetching &&
|
|
75
|
-
return {
|
|
63
|
+
const isFetchingNextPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'forward';
|
|
64
|
+
const isFetchingPreviousPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'backward';
|
|
65
|
+
return {
|
|
66
|
+
...result,
|
|
76
67
|
fetchNextPage: this.fetchNextPage,
|
|
77
68
|
fetchPreviousPage: this.fetchPreviousPage,
|
|
78
|
-
hasNextPage: infiniteQueryBehavior.hasNextPage(options,
|
|
79
|
-
hasPreviousPage: infiniteQueryBehavior.hasPreviousPage(options,
|
|
69
|
+
hasNextPage: infiniteQueryBehavior.hasNextPage(options, state.data?.pages),
|
|
70
|
+
hasPreviousPage: infiniteQueryBehavior.hasPreviousPage(options, state.data?.pages),
|
|
80
71
|
isFetchingNextPage,
|
|
81
72
|
isFetchingPreviousPage,
|
|
82
73
|
isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
|
|
83
74
|
};
|
|
84
75
|
}
|
|
85
|
-
|
|
86
76
|
}
|
|
87
77
|
|
|
88
78
|
exports.InfiniteQueryObserver = InfiniteQueryObserver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infiniteQueryObserver.js","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError =
|
|
1
|
+
{"version":3,"file":"infiniteQueryObserver.js","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n RegisteredError,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = InfiniteData<TQueryFnData>,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData>,\n TQueryKey\n> {\n // Type override\n subscribe!: (\n listener?: InfiniteQueryObserverListener<TData, TError>,\n ) => () => void\n\n // Type override\n getCurrentResult!: () => InfiniteQueryObserverResult<TData, TError>\n\n // Type override\n protected fetch!: (\n fetchOptions: ObserverFetchOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options?: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n super.setOptions(\n {\n ...options,\n behavior: infiniteQueryBehavior(),\n },\n notifyOptions,\n )\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage(\n options: FetchNextPageOptions = {},\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward' },\n },\n })\n }\n\n fetchPreviousPage({ ...options }: FetchPreviousPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const result = super.createResult(query, options)\n\n const { isFetching, isRefetching } = result\n\n const isFetchingNextPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'forward'\n\n const isFetchingPreviousPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'backward'\n\n return {\n ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data?.pages),\n hasPreviousPage: hasPreviousPage(options, state.data?.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n }\n}\n"],"names":["InfiniteQueryObserver","QueryObserver","constructor","client","options","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","notifyOptions","behavior","infiniteQueryBehavior","getOptimisticResult","fetch","meta","fetchMore","direction","createResult","query","state","result","isFetching","isRefetching","isFetchingNextPage","fetchMeta","isFetchingPreviousPage","hasNextPage","data","pages","hasPreviousPage"],"mappings":";;;;;AAwBO,MAAMA,qBAAqB,SAMxBC,2BAAa,CAMrB;AACA;;AAKA;;AAGA;;AAKA;AACAC,EAAAA,WAAW,CACTC,MAAmB,EACnBC,OAMC,EACD;AACA,IAAA,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC,CAAA;AACxB,GAAA;AAEUC,EAAAA,WAAW,GAAS;IAC5B,KAAK,CAACA,WAAW,EAAE,CAAA;IACnB,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClD,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5D,GAAA;AAEAE,EAAAA,UAAU,CACRL,OAMC,EACDM,aAA6B,EACvB;IACN,KAAK,CAACD,UAAU,CACd;AACE,MAAA,GAAGL,OAAO;AACVO,MAAAA,QAAQ,EAAEC,2CAAqB,EAAA;KAChC,EACDF,aAAa,CACd,CAAA;AACH,GAAA;EAEAG,mBAAmB,CACjBT,OAMC,EAC2C;AAC5CA,IAAAA,OAAO,CAACO,QAAQ,GAAGC,2CAAqB,EAAE,CAAA;AAC1C,IAAA,OAAO,KAAK,CAACC,mBAAmB,CAACT,OAAO,CAAC,CAAA;AAI3C,GAAA;AAEAE,EAAAA,aAAa,CACXF,OAA6B,GAAG,EAAE,EACmB;IACrD,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,SAAA;AAAU,SAAA;AACpC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAT,EAAAA,iBAAiB,CAAC;IAAE,GAAGJ,OAAAA;GAAmC,GAAG,EAAE,EAE7D;IACA,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,UAAA;AAAW,SAAA;AACrC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEUC,EAAAA,YAAY,CACpBC,KAAuE,EACvEf,OAMC,EAC2C;IAC5C,MAAM;AAAEgB,MAAAA,KAAAA;AAAM,KAAC,GAAGD,KAAK,CAAA;IACvB,MAAME,MAAM,GAAG,KAAK,CAACH,YAAY,CAACC,KAAK,EAAEf,OAAO,CAAC,CAAA;IAEjD,MAAM;MAAEkB,UAAU;AAAEC,MAAAA,YAAAA;AAAa,KAAC,GAAGF,MAAM,CAAA;AAE3C,IAAA,MAAMG,kBAAkB,GACtBF,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,SAAS,CAAA;AAEnE,IAAA,MAAMS,sBAAsB,GAC1BJ,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,UAAU,CAAA;IAEpE,OAAO;AACL,MAAA,GAAGI,MAAM;MACTf,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCE,iBAAiB,EAAE,IAAI,CAACA,iBAAiB;MACzCmB,WAAW,EAAEA,iCAAW,CAACvB,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MACpDC,eAAe,EAAEA,qCAAe,CAAC1B,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MAC5DL,kBAAkB;MAClBE,sBAAsB;AACtBH,MAAAA,YAAY,EACVA,YAAY,IAAI,CAACC,kBAAkB,IAAI,CAACE,sBAAAA;KAC3C,CAAA;AACH,GAAA;AACF;;;;"}
|
|
@@ -3,61 +3,53 @@ import { infiniteQueryBehavior, hasNextPage, hasPreviousPage } from './infiniteQ
|
|
|
3
3
|
|
|
4
4
|
class InfiniteQueryObserver extends QueryObserver {
|
|
5
5
|
// Type override
|
|
6
|
+
|
|
6
7
|
// Type override
|
|
8
|
+
|
|
7
9
|
// Type override
|
|
10
|
+
|
|
8
11
|
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
9
12
|
constructor(client, options) {
|
|
10
13
|
super(client, options);
|
|
11
14
|
}
|
|
12
|
-
|
|
13
15
|
bindMethods() {
|
|
14
16
|
super.bindMethods();
|
|
15
17
|
this.fetchNextPage = this.fetchNextPage.bind(this);
|
|
16
18
|
this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
|
|
17
19
|
}
|
|
18
|
-
|
|
19
20
|
setOptions(options, notifyOptions) {
|
|
20
|
-
super.setOptions({
|
|
21
|
+
super.setOptions({
|
|
22
|
+
...options,
|
|
21
23
|
behavior: infiniteQueryBehavior()
|
|
22
24
|
}, notifyOptions);
|
|
23
25
|
}
|
|
24
|
-
|
|
25
26
|
getOptimisticResult(options) {
|
|
26
27
|
options.behavior = infiniteQueryBehavior();
|
|
27
28
|
return super.getOptimisticResult(options);
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
...options
|
|
33
|
-
} = {}) {
|
|
34
|
-
return this.fetch({ ...options,
|
|
30
|
+
fetchNextPage(options = {}) {
|
|
31
|
+
return this.fetch({
|
|
32
|
+
...options,
|
|
35
33
|
meta: {
|
|
36
34
|
fetchMore: {
|
|
37
|
-
direction: 'forward'
|
|
38
|
-
pageParam
|
|
35
|
+
direction: 'forward'
|
|
39
36
|
}
|
|
40
37
|
}
|
|
41
38
|
});
|
|
42
39
|
}
|
|
43
|
-
|
|
44
40
|
fetchPreviousPage({
|
|
45
|
-
pageParam,
|
|
46
41
|
...options
|
|
47
42
|
} = {}) {
|
|
48
|
-
return this.fetch({
|
|
43
|
+
return this.fetch({
|
|
44
|
+
...options,
|
|
49
45
|
meta: {
|
|
50
46
|
fetchMore: {
|
|
51
|
-
direction: 'backward'
|
|
52
|
-
pageParam
|
|
47
|
+
direction: 'backward'
|
|
53
48
|
}
|
|
54
49
|
}
|
|
55
50
|
});
|
|
56
51
|
}
|
|
57
|
-
|
|
58
52
|
createResult(query, options) {
|
|
59
|
-
var _state$fetchMeta, _state$fetchMeta$fetc, _state$fetchMeta2, _state$fetchMeta2$fet, _state$data, _state$data2;
|
|
60
|
-
|
|
61
53
|
const {
|
|
62
54
|
state
|
|
63
55
|
} = query;
|
|
@@ -66,19 +58,19 @@ class InfiniteQueryObserver extends QueryObserver {
|
|
|
66
58
|
isFetching,
|
|
67
59
|
isRefetching
|
|
68
60
|
} = result;
|
|
69
|
-
const isFetchingNextPage = isFetching &&
|
|
70
|
-
const isFetchingPreviousPage = isFetching &&
|
|
71
|
-
return {
|
|
61
|
+
const isFetchingNextPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'forward';
|
|
62
|
+
const isFetchingPreviousPage = isFetching && state.fetchMeta?.fetchMore?.direction === 'backward';
|
|
63
|
+
return {
|
|
64
|
+
...result,
|
|
72
65
|
fetchNextPage: this.fetchNextPage,
|
|
73
66
|
fetchPreviousPage: this.fetchPreviousPage,
|
|
74
|
-
hasNextPage: hasNextPage(options,
|
|
75
|
-
hasPreviousPage: hasPreviousPage(options,
|
|
67
|
+
hasNextPage: hasNextPage(options, state.data?.pages),
|
|
68
|
+
hasPreviousPage: hasPreviousPage(options, state.data?.pages),
|
|
76
69
|
isFetchingNextPage,
|
|
77
70
|
isFetchingPreviousPage,
|
|
78
71
|
isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
|
|
79
72
|
};
|
|
80
73
|
}
|
|
81
|
-
|
|
82
74
|
}
|
|
83
75
|
|
|
84
76
|
export { InfiniteQueryObserver };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infiniteQueryObserver.mjs","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError =
|
|
1
|
+
{"version":3,"file":"infiniteQueryObserver.mjs","sources":["../../src/infiniteQueryObserver.ts"],"sourcesContent":["import type {\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n RegisteredError,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { NotifyOptions, ObserverFetchOptions } from './queryObserver'\nimport { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = RegisteredError,\n TData = InfiniteData<TQueryFnData>,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData>,\n TQueryKey\n> {\n // Type override\n subscribe!: (\n listener?: InfiniteQueryObserverListener<TData, TError>,\n ) => () => void\n\n // Type override\n getCurrentResult!: () => InfiniteQueryObserverResult<TData, TError>\n\n // Type override\n protected fetch!: (\n fetchOptions: ObserverFetchOptions,\n ) => Promise<InfiniteQueryObserverResult<TData, TError>>\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options?: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n notifyOptions?: NotifyOptions,\n ): void {\n super.setOptions(\n {\n ...options,\n behavior: infiniteQueryBehavior(),\n },\n notifyOptions,\n )\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage(\n options: FetchNextPageOptions = {},\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward' },\n },\n })\n }\n\n fetchPreviousPage({ ...options }: FetchPreviousPageOptions = {}): Promise<\n InfiniteQueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const result = super.createResult(query, options)\n\n const { isFetching, isRefetching } = result\n\n const isFetchingNextPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'forward'\n\n const isFetchingPreviousPage =\n isFetching && state.fetchMeta?.fetchMore?.direction === 'backward'\n\n return {\n ...result,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data?.pages),\n hasPreviousPage: hasPreviousPage(options, state.data?.pages),\n isFetchingNextPage,\n isFetchingPreviousPage,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n }\n}\n"],"names":["InfiniteQueryObserver","QueryObserver","constructor","client","options","bindMethods","fetchNextPage","bind","fetchPreviousPage","setOptions","notifyOptions","behavior","infiniteQueryBehavior","getOptimisticResult","fetch","meta","fetchMore","direction","createResult","query","state","result","isFetching","isRefetching","isFetchingNextPage","fetchMeta","isFetchingPreviousPage","hasNextPage","data","pages","hasPreviousPage"],"mappings":";;;AAwBO,MAAMA,qBAAqB,SAMxBC,aAAa,CAMrB;AACA;;AAKA;;AAGA;;AAKA;AACAC,EAAAA,WAAW,CACTC,MAAmB,EACnBC,OAMC,EACD;AACA,IAAA,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC,CAAA;AACxB,GAAA;AAEUC,EAAAA,WAAW,GAAS;IAC5B,KAAK,CAACA,WAAW,EAAE,CAAA;IACnB,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClD,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5D,GAAA;AAEAE,EAAAA,UAAU,CACRL,OAMC,EACDM,aAA6B,EACvB;IACN,KAAK,CAACD,UAAU,CACd;AACE,MAAA,GAAGL,OAAO;AACVO,MAAAA,QAAQ,EAAEC,qBAAqB,EAAA;KAChC,EACDF,aAAa,CACd,CAAA;AACH,GAAA;EAEAG,mBAAmB,CACjBT,OAMC,EAC2C;AAC5CA,IAAAA,OAAO,CAACO,QAAQ,GAAGC,qBAAqB,EAAE,CAAA;AAC1C,IAAA,OAAO,KAAK,CAACC,mBAAmB,CAACT,OAAO,CAAC,CAAA;AAI3C,GAAA;AAEAE,EAAAA,aAAa,CACXF,OAA6B,GAAG,EAAE,EACmB;IACrD,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,SAAA;AAAU,SAAA;AACpC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAT,EAAAA,iBAAiB,CAAC;IAAE,GAAGJ,OAAAA;GAAmC,GAAG,EAAE,EAE7D;IACA,OAAO,IAAI,CAACU,KAAK,CAAC;AAChB,MAAA,GAAGV,OAAO;AACVW,MAAAA,IAAI,EAAE;AACJC,QAAAA,SAAS,EAAE;AAAEC,UAAAA,SAAS,EAAE,UAAA;AAAW,SAAA;AACrC,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AAEUC,EAAAA,YAAY,CACpBC,KAAuE,EACvEf,OAMC,EAC2C;IAC5C,MAAM;AAAEgB,MAAAA,KAAAA;AAAM,KAAC,GAAGD,KAAK,CAAA;IACvB,MAAME,MAAM,GAAG,KAAK,CAACH,YAAY,CAACC,KAAK,EAAEf,OAAO,CAAC,CAAA;IAEjD,MAAM;MAAEkB,UAAU;AAAEC,MAAAA,YAAAA;AAAa,KAAC,GAAGF,MAAM,CAAA;AAE3C,IAAA,MAAMG,kBAAkB,GACtBF,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,SAAS,CAAA;AAEnE,IAAA,MAAMS,sBAAsB,GAC1BJ,UAAU,IAAIF,KAAK,CAACK,SAAS,EAAET,SAAS,EAAEC,SAAS,KAAK,UAAU,CAAA;IAEpE,OAAO;AACL,MAAA,GAAGI,MAAM;MACTf,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCE,iBAAiB,EAAE,IAAI,CAACA,iBAAiB;MACzCmB,WAAW,EAAEA,WAAW,CAACvB,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MACpDC,eAAe,EAAEA,eAAe,CAAC1B,OAAO,EAAEgB,KAAK,CAACQ,IAAI,EAAEC,KAAK,CAAC;MAC5DL,kBAAkB;MAClBE,sBAAsB;AACtBH,MAAAA,YAAY,EACVA,YAAY,IAAI,CAACC,kBAAkB,IAAI,CAACE,sBAAAA;KAC3C,CAAA;AACH,GAAA;AACF;;;;"}
|
package/build/lib/mutation.d.ts
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import type { MutationOptions, MutationStatus, MutationMeta } from './types';
|
|
1
|
+
import type { MutationOptions, MutationStatus, MutationMeta, RegisteredError } from './types';
|
|
2
2
|
import type { MutationCache } from './mutationCache';
|
|
3
3
|
import type { MutationObserver } from './mutationObserver';
|
|
4
|
-
import type { Logger } from './logger';
|
|
5
4
|
import { Removable } from './removable';
|
|
6
5
|
interface MutationConfig<TData, TError, TVariables, TContext> {
|
|
7
6
|
mutationId: number;
|
|
8
7
|
mutationCache: MutationCache;
|
|
9
8
|
options: MutationOptions<TData, TError, TVariables, TContext>;
|
|
10
|
-
logger?: Logger;
|
|
11
9
|
defaultOptions?: MutationOptions<TData, TError, TVariables, TContext>;
|
|
12
10
|
state?: MutationState<TData, TError, TVariables, TContext>;
|
|
13
|
-
meta?: MutationMeta;
|
|
14
11
|
}
|
|
15
|
-
export interface MutationState<TData = unknown, TError =
|
|
12
|
+
export interface MutationState<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> {
|
|
16
13
|
context: TContext | undefined;
|
|
17
14
|
data: TData | undefined;
|
|
18
15
|
error: TError | null;
|
|
@@ -21,14 +18,15 @@ export interface MutationState<TData = unknown, TError = unknown, TVariables = v
|
|
|
21
18
|
isPaused: boolean;
|
|
22
19
|
status: MutationStatus;
|
|
23
20
|
variables: TVariables | undefined;
|
|
21
|
+
submittedAt: number;
|
|
24
22
|
}
|
|
25
23
|
interface FailedAction<TError> {
|
|
26
24
|
type: 'failed';
|
|
27
25
|
failureCount: number;
|
|
28
26
|
error: TError | null;
|
|
29
27
|
}
|
|
30
|
-
interface
|
|
31
|
-
type: '
|
|
28
|
+
interface PendingAction<TVariables, TContext> {
|
|
29
|
+
type: 'pending';
|
|
32
30
|
variables?: TVariables;
|
|
33
31
|
context?: TContext;
|
|
34
32
|
}
|
|
@@ -46,28 +44,19 @@ interface PauseAction {
|
|
|
46
44
|
interface ContinueAction {
|
|
47
45
|
type: 'continue';
|
|
48
46
|
}
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
export declare type Action<TData, TError, TVariables, TContext> = ContinueAction | ErrorAction<TError> | FailedAction<TError> | PendingAction<TVariables, TContext> | PauseAction | SuccessAction<TData>;
|
|
48
|
+
export declare class Mutation<TData = unknown, TError = RegisteredError, TVariables = void, TContext = unknown> extends Removable {
|
|
49
|
+
#private;
|
|
51
50
|
state: MutationState<TData, TError, TVariables, TContext>;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
export declare class Mutation<TData = unknown, TError = unknown, TVariables = void, TContext = unknown> extends Removable {
|
|
55
|
-
state: MutationState<TData, TError, TVariables, TContext>;
|
|
56
|
-
options: MutationOptions<TData, TError, TVariables, TContext>;
|
|
57
|
-
mutationId: number;
|
|
58
|
-
private observers;
|
|
59
|
-
private mutationCache;
|
|
60
|
-
private logger;
|
|
61
|
-
private retryer?;
|
|
51
|
+
readonly options: MutationOptions<TData, TError, TVariables, TContext>;
|
|
52
|
+
readonly mutationId: number;
|
|
62
53
|
constructor(config: MutationConfig<TData, TError, TVariables, TContext>);
|
|
63
54
|
get meta(): MutationMeta | undefined;
|
|
64
|
-
setState(state: MutationState<TData, TError, TVariables, TContext>): void;
|
|
65
55
|
addObserver(observer: MutationObserver<any, any, any, any>): void;
|
|
66
56
|
removeObserver(observer: MutationObserver<any, any, any, any>): void;
|
|
67
57
|
protected optionalRemove(): void;
|
|
68
58
|
continue(): Promise<unknown>;
|
|
69
|
-
execute(): Promise<TData>;
|
|
70
|
-
private dispatch;
|
|
59
|
+
execute(variables: TVariables): Promise<TData>;
|
|
71
60
|
}
|
|
72
61
|
export declare function getDefaultState<TData, TError, TVariables, TContext>(): MutationState<TData, TError, TVariables, TContext>;
|
|
73
62
|
export {};
|