mirror of
https://github.com/hanzoai/agency.git
synced 2026-11-02 19:13:28 +00:00
74 lines
2.3 KiB
Plaintext
74 lines
2.3 KiB
Plaintext
import "./chunk-PXG64RU4.js";
|
|
|
|
// src/infiniteQueryObserver.ts
|
|
import { QueryObserver } from "./queryObserver.js";
|
|
import {
|
|
hasNextPage,
|
|
hasPreviousPage,
|
|
infiniteQueryBehavior
|
|
} from "./infiniteQueryBehavior.js";
|
|
var InfiniteQueryObserver = class extends QueryObserver {
|
|
constructor(client, options) {
|
|
super(client, options);
|
|
}
|
|
bindMethods() {
|
|
super.bindMethods();
|
|
this.fetchNextPage = this.fetchNextPage.bind(this);
|
|
this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
|
|
}
|
|
setOptions(options) {
|
|
super.setOptions({
|
|
...options,
|
|
behavior: infiniteQueryBehavior()
|
|
});
|
|
}
|
|
getOptimisticResult(options) {
|
|
options.behavior = infiniteQueryBehavior();
|
|
return super.getOptimisticResult(options);
|
|
}
|
|
fetchNextPage(options) {
|
|
return this.fetch({
|
|
...options,
|
|
meta: {
|
|
fetchMore: { direction: "forward" }
|
|
}
|
|
});
|
|
}
|
|
fetchPreviousPage(options) {
|
|
return this.fetch({
|
|
...options,
|
|
meta: {
|
|
fetchMore: { direction: "backward" }
|
|
}
|
|
});
|
|
}
|
|
createResult(query, options) {
|
|
var _a, _b;
|
|
const { state } = query;
|
|
const parentResult = super.createResult(query, options);
|
|
const { isFetching, isRefetching, isError, isRefetchError } = parentResult;
|
|
const fetchDirection = (_b = (_a = state.fetchMeta) == null ? void 0 : _a.fetchMore) == null ? void 0 : _b.direction;
|
|
const isFetchNextPageError = isError && fetchDirection === "forward";
|
|
const isFetchingNextPage = isFetching && fetchDirection === "forward";
|
|
const isFetchPreviousPageError = isError && fetchDirection === "backward";
|
|
const isFetchingPreviousPage = isFetching && fetchDirection === "backward";
|
|
const result = {
|
|
...parentResult,
|
|
fetchNextPage: this.fetchNextPage,
|
|
fetchPreviousPage: this.fetchPreviousPage,
|
|
hasNextPage: hasNextPage(options, state.data),
|
|
hasPreviousPage: hasPreviousPage(options, state.data),
|
|
isFetchNextPageError,
|
|
isFetchingNextPage,
|
|
isFetchPreviousPageError,
|
|
isFetchingPreviousPage,
|
|
isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,
|
|
isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
|
|
};
|
|
return result;
|
|
}
|
|
};
|
|
export {
|
|
InfiniteQueryObserver
|
|
};
|
|
//# sourceMappingURL=infiniteQueryObserver.js.map |