@tanstack/vue-query
Version:
Hooks for managing, caching and syncing asynchronous and remote data in Vue
76 lines • 1.81 kB
JavaScript
// src/devtools/utils.ts
function getQueryState(query) {
if (query.state.fetchStatus === "fetching") {
return 0 /* Fetching */;
}
if (query.state.fetchStatus === "paused") {
return 4 /* Paused */;
}
if (!query.getObserversCount()) {
return 3 /* Inactive */;
}
if (query.isStale()) {
return 2 /* Stale */;
}
return 1 /* Fresh */;
}
function getQueryStateLabel(query) {
const queryState = getQueryState(query);
if (queryState === 0 /* Fetching */) {
return "fetching";
}
if (queryState === 4 /* Paused */) {
return "paused";
}
if (queryState === 2 /* Stale */) {
return "stale";
}
if (queryState === 3 /* Inactive */) {
return "inactive";
}
return "fresh";
}
function getQueryStatusFg(query) {
const queryState = getQueryState(query);
if (queryState === 2 /* Stale */) {
return 0;
}
return 16777215;
}
function getQueryStatusBg(query) {
const queryState = getQueryState(query);
if (queryState === 0 /* Fetching */) {
return 27647;
}
if (queryState === 4 /* Paused */) {
return 9193963;
}
if (queryState === 2 /* Stale */) {
return 16757248;
}
if (queryState === 3 /* Inactive */) {
return 4148832;
}
return 33575;
}
var queryHashSort = (a, b) => a.queryHash.localeCompare(b.queryHash);
var dateSort = (a, b) => a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1;
var statusAndDateSort = (a, b) => {
if (getQueryState(a) === getQueryState(b)) {
return dateSort(a, b);
}
return getQueryState(a) > getQueryState(b) ? 1 : -1;
};
var sortFns = {
"Status > Last Updated": statusAndDateSort,
"Query Hash": queryHashSort,
"Last Updated": dateSort
};
export {
getQueryState,
getQueryStateLabel,
getQueryStatusBg,
getQueryStatusFg,
sortFns
};
//# sourceMappingURL=utils.js.map