Initial commit
This commit is contained in:
94
node_modules/@tanstack/query-core/build/modern/focusManager.cjs
generated
vendored
Normal file
94
node_modules/@tanstack/query-core/build/modern/focusManager.cjs
generated
vendored
Normal file
@ -0,0 +1,94 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/focusManager.ts
|
||||
var focusManager_exports = {};
|
||||
__export(focusManager_exports, {
|
||||
FocusManager: () => FocusManager,
|
||||
focusManager: () => focusManager
|
||||
});
|
||||
module.exports = __toCommonJS(focusManager_exports);
|
||||
var import_subscribable = require("./subscribable.cjs");
|
||||
var import_utils = require("./utils.cjs");
|
||||
var FocusManager = class extends import_subscribable.Subscribable {
|
||||
#focused;
|
||||
#cleanup;
|
||||
#setup;
|
||||
constructor() {
|
||||
super();
|
||||
this.#setup = (onFocus) => {
|
||||
if (!import_utils.isServer && window.addEventListener) {
|
||||
const listener = () => onFocus();
|
||||
window.addEventListener("visibilitychange", listener, false);
|
||||
return () => {
|
||||
window.removeEventListener("visibilitychange", listener);
|
||||
};
|
||||
}
|
||||
return;
|
||||
};
|
||||
}
|
||||
onSubscribe() {
|
||||
if (!this.#cleanup) {
|
||||
this.setEventListener(this.#setup);
|
||||
}
|
||||
}
|
||||
onUnsubscribe() {
|
||||
if (!this.hasListeners()) {
|
||||
this.#cleanup?.();
|
||||
this.#cleanup = void 0;
|
||||
}
|
||||
}
|
||||
setEventListener(setup) {
|
||||
this.#setup = setup;
|
||||
this.#cleanup?.();
|
||||
this.#cleanup = setup((focused) => {
|
||||
if (typeof focused === "boolean") {
|
||||
this.setFocused(focused);
|
||||
} else {
|
||||
this.onFocus();
|
||||
}
|
||||
});
|
||||
}
|
||||
setFocused(focused) {
|
||||
const changed = this.#focused !== focused;
|
||||
if (changed) {
|
||||
this.#focused = focused;
|
||||
this.onFocus();
|
||||
}
|
||||
}
|
||||
onFocus() {
|
||||
const isFocused = this.isFocused();
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(isFocused);
|
||||
});
|
||||
}
|
||||
isFocused() {
|
||||
if (typeof this.#focused === "boolean") {
|
||||
return this.#focused;
|
||||
}
|
||||
return globalThis.document?.visibilityState !== "hidden";
|
||||
}
|
||||
};
|
||||
var focusManager = new FocusManager();
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
FocusManager,
|
||||
focusManager
|
||||
});
|
||||
//# sourceMappingURL=focusManager.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/focusManager.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/focusManager.cjs.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (focused: boolean) => void\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable<Listener> {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.#focused !== focused\n if (changed) {\n this.#focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n const isFocused = this.isFocused()\n this.listeners.forEach((listener) => {\n listener(isFocused)\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAC7B,mBAAyB;AAQlB,IAAM,eAAN,cAA2B,iCAAuB;AAAA,EACvD;AAAA,EACA;AAAA,EAEA;AAAA,EAEA,cAAc;AACZ,UAAM;AACN,SAAK,SAAS,CAAC,YAAY;AAGzB,UAAI,CAAC,yBAAY,OAAO,kBAAkB;AACxC,cAAM,WAAW,MAAM,QAAQ;AAE/B,eAAO,iBAAiB,oBAAoB,UAAU,KAAK;AAE3D,eAAO,MAAM;AAEX,iBAAO,oBAAoB,oBAAoB,QAAQ;AAAA,QACzD;AAAA,MACF;AACA;AAAA,IACF;AAAA,EACF;AAAA,EAEU,cAAoB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACnC;AAAA,EACF;AAAA,EAEU,gBAAgB;AACxB,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,WAAW;AAChB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,iBAAiB,OAAsB;AACrC,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,WAAW,MAAM,CAAC,YAAY;AACjC,UAAI,OAAO,YAAY,WAAW;AAChC,aAAK,WAAW,OAAO;AAAA,MACzB,OAAO;AACL,aAAK,QAAQ;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,WAAW,SAAyB;AAClC,UAAM,UAAU,KAAK,aAAa;AAClC,QAAI,SAAS;AACX,WAAK,WAAW;AAChB,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAEA,UAAgB;AACd,UAAM,YAAY,KAAK,UAAU;AACjC,SAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,eAAS,SAAS;AAAA,IACpB,CAAC;AAAA,EACH;AAAA,EAEA,YAAqB;AACnB,QAAI,OAAO,KAAK,aAAa,WAAW;AACtC,aAAO,KAAK;AAAA,IACd;AAIA,WAAO,WAAW,UAAU,oBAAoB;AAAA,EAClD;AACF;AAEO,IAAM,eAAe,IAAI,aAAa;","names":[]}
|
||||
17
node_modules/@tanstack/query-core/build/modern/focusManager.d.cts
generated
vendored
Normal file
17
node_modules/@tanstack/query-core/build/modern/focusManager.d.cts
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
import { Subscribable } from './subscribable.cjs';
|
||||
|
||||
type Listener = (focused: boolean) => void;
|
||||
type SetupFn = (setFocused: (focused?: boolean) => void) => (() => void) | undefined;
|
||||
declare class FocusManager extends Subscribable<Listener> {
|
||||
#private;
|
||||
constructor();
|
||||
protected onSubscribe(): void;
|
||||
protected onUnsubscribe(): void;
|
||||
setEventListener(setup: SetupFn): void;
|
||||
setFocused(focused?: boolean): void;
|
||||
onFocus(): void;
|
||||
isFocused(): boolean;
|
||||
}
|
||||
declare const focusManager: FocusManager;
|
||||
|
||||
export { FocusManager, focusManager };
|
||||
17
node_modules/@tanstack/query-core/build/modern/focusManager.d.ts
generated
vendored
Normal file
17
node_modules/@tanstack/query-core/build/modern/focusManager.d.ts
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
import { Subscribable } from './subscribable.js';
|
||||
|
||||
type Listener = (focused: boolean) => void;
|
||||
type SetupFn = (setFocused: (focused?: boolean) => void) => (() => void) | undefined;
|
||||
declare class FocusManager extends Subscribable<Listener> {
|
||||
#private;
|
||||
constructor();
|
||||
protected onSubscribe(): void;
|
||||
protected onUnsubscribe(): void;
|
||||
setEventListener(setup: SetupFn): void;
|
||||
setFocused(focused?: boolean): void;
|
||||
onFocus(): void;
|
||||
isFocused(): boolean;
|
||||
}
|
||||
declare const focusManager: FocusManager;
|
||||
|
||||
export { FocusManager, focusManager };
|
||||
68
node_modules/@tanstack/query-core/build/modern/focusManager.js
generated
vendored
Normal file
68
node_modules/@tanstack/query-core/build/modern/focusManager.js
generated
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
// src/focusManager.ts
|
||||
import { Subscribable } from "./subscribable.js";
|
||||
import { isServer } from "./utils.js";
|
||||
var FocusManager = class extends Subscribable {
|
||||
#focused;
|
||||
#cleanup;
|
||||
#setup;
|
||||
constructor() {
|
||||
super();
|
||||
this.#setup = (onFocus) => {
|
||||
if (!isServer && window.addEventListener) {
|
||||
const listener = () => onFocus();
|
||||
window.addEventListener("visibilitychange", listener, false);
|
||||
return () => {
|
||||
window.removeEventListener("visibilitychange", listener);
|
||||
};
|
||||
}
|
||||
return;
|
||||
};
|
||||
}
|
||||
onSubscribe() {
|
||||
if (!this.#cleanup) {
|
||||
this.setEventListener(this.#setup);
|
||||
}
|
||||
}
|
||||
onUnsubscribe() {
|
||||
if (!this.hasListeners()) {
|
||||
this.#cleanup?.();
|
||||
this.#cleanup = void 0;
|
||||
}
|
||||
}
|
||||
setEventListener(setup) {
|
||||
this.#setup = setup;
|
||||
this.#cleanup?.();
|
||||
this.#cleanup = setup((focused) => {
|
||||
if (typeof focused === "boolean") {
|
||||
this.setFocused(focused);
|
||||
} else {
|
||||
this.onFocus();
|
||||
}
|
||||
});
|
||||
}
|
||||
setFocused(focused) {
|
||||
const changed = this.#focused !== focused;
|
||||
if (changed) {
|
||||
this.#focused = focused;
|
||||
this.onFocus();
|
||||
}
|
||||
}
|
||||
onFocus() {
|
||||
const isFocused = this.isFocused();
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(isFocused);
|
||||
});
|
||||
}
|
||||
isFocused() {
|
||||
if (typeof this.#focused === "boolean") {
|
||||
return this.#focused;
|
||||
}
|
||||
return globalThis.document?.visibilityState !== "hidden";
|
||||
}
|
||||
};
|
||||
var focusManager = new FocusManager();
|
||||
export {
|
||||
FocusManager,
|
||||
focusManager
|
||||
};
|
||||
//# sourceMappingURL=focusManager.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/focusManager.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/focusManager.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/focusManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (focused: boolean) => void\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable<Listener> {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.#focused !== focused\n if (changed) {\n this.#focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n const isFocused = this.isFocused()\n this.listeners.forEach((listener) => {\n listener(isFocused)\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n"],"mappings":";AAAA,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AAQlB,IAAM,eAAN,cAA2B,aAAuB;AAAA,EACvD;AAAA,EACA;AAAA,EAEA;AAAA,EAEA,cAAc;AACZ,UAAM;AACN,SAAK,SAAS,CAAC,YAAY;AAGzB,UAAI,CAAC,YAAY,OAAO,kBAAkB;AACxC,cAAM,WAAW,MAAM,QAAQ;AAE/B,eAAO,iBAAiB,oBAAoB,UAAU,KAAK;AAE3D,eAAO,MAAM;AAEX,iBAAO,oBAAoB,oBAAoB,QAAQ;AAAA,QACzD;AAAA,MACF;AACA;AAAA,IACF;AAAA,EACF;AAAA,EAEU,cAAoB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACnC;AAAA,EACF;AAAA,EAEU,gBAAgB;AACxB,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,WAAW;AAChB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,iBAAiB,OAAsB;AACrC,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,WAAW,MAAM,CAAC,YAAY;AACjC,UAAI,OAAO,YAAY,WAAW;AAChC,aAAK,WAAW,OAAO;AAAA,MACzB,OAAO;AACL,aAAK,QAAQ;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,WAAW,SAAyB;AAClC,UAAM,UAAU,KAAK,aAAa;AAClC,QAAI,SAAS;AACX,WAAK,WAAW;AAChB,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAEA,UAAgB;AACd,UAAM,YAAY,KAAK,UAAU;AACjC,SAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,eAAS,SAAS;AAAA,IACpB,CAAC;AAAA,EACH;AAAA,EAEA,YAAqB;AACnB,QAAI,OAAO,KAAK,aAAa,WAAW;AACtC,aAAO,KAAK;AAAA,IACd;AAIA,WAAO,WAAW,UAAU,oBAAoB;AAAA,EAClD;AACF;AAEO,IAAM,eAAe,IAAI,aAAa;","names":[]}
|
||||
1297
node_modules/@tanstack/query-core/build/modern/hydration-BXpkOXt5.d.cts
generated
vendored
Normal file
1297
node_modules/@tanstack/query-core/build/modern/hydration-BXpkOXt5.d.cts
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1297
node_modules/@tanstack/query-core/build/modern/hydration-mKPlgzt9.d.ts
generated
vendored
Normal file
1297
node_modules/@tanstack/query-core/build/modern/hydration-mKPlgzt9.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
144
node_modules/@tanstack/query-core/build/modern/hydration.cjs
generated
vendored
Normal file
144
node_modules/@tanstack/query-core/build/modern/hydration.cjs
generated
vendored
Normal file
@ -0,0 +1,144 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/hydration.ts
|
||||
var hydration_exports = {};
|
||||
__export(hydration_exports, {
|
||||
defaultShouldDehydrateMutation: () => defaultShouldDehydrateMutation,
|
||||
defaultShouldDehydrateQuery: () => defaultShouldDehydrateQuery,
|
||||
dehydrate: () => dehydrate,
|
||||
hydrate: () => hydrate
|
||||
});
|
||||
module.exports = __toCommonJS(hydration_exports);
|
||||
function defaultTransformerFn(data) {
|
||||
return data;
|
||||
}
|
||||
function dehydrateMutation(mutation) {
|
||||
return {
|
||||
mutationKey: mutation.options.mutationKey,
|
||||
state: mutation.state,
|
||||
...mutation.options.scope && { scope: mutation.options.scope },
|
||||
...mutation.meta && { meta: mutation.meta }
|
||||
};
|
||||
}
|
||||
function dehydrateQuery(query, serializeData) {
|
||||
return {
|
||||
state: {
|
||||
...query.state,
|
||||
...query.state.data !== void 0 && {
|
||||
data: serializeData(query.state.data)
|
||||
}
|
||||
},
|
||||
queryKey: query.queryKey,
|
||||
queryHash: query.queryHash,
|
||||
...query.state.status === "pending" && {
|
||||
promise: query.promise?.then(serializeData).catch((error) => {
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
console.error(
|
||||
`A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`
|
||||
);
|
||||
}
|
||||
return Promise.reject(new Error("redacted"));
|
||||
})
|
||||
},
|
||||
...query.meta && { meta: query.meta }
|
||||
};
|
||||
}
|
||||
function defaultShouldDehydrateMutation(mutation) {
|
||||
return mutation.state.isPaused;
|
||||
}
|
||||
function defaultShouldDehydrateQuery(query) {
|
||||
return query.state.status === "success";
|
||||
}
|
||||
function dehydrate(client, options = {}) {
|
||||
const filterMutation = options.shouldDehydrateMutation ?? client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;
|
||||
const mutations = client.getMutationCache().getAll().flatMap(
|
||||
(mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []
|
||||
);
|
||||
const filterQuery = options.shouldDehydrateQuery ?? client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;
|
||||
const serializeData = options.serializeData ?? client.getDefaultOptions().dehydrate?.serializeData ?? defaultTransformerFn;
|
||||
const queries = client.getQueryCache().getAll().flatMap(
|
||||
(query) => filterQuery(query) ? [dehydrateQuery(query, serializeData)] : []
|
||||
);
|
||||
return { mutations, queries };
|
||||
}
|
||||
function hydrate(client, dehydratedState, options) {
|
||||
if (typeof dehydratedState !== "object" || dehydratedState === null) {
|
||||
return;
|
||||
}
|
||||
const mutationCache = client.getMutationCache();
|
||||
const queryCache = client.getQueryCache();
|
||||
const deserializeData = options?.defaultOptions?.deserializeData ?? client.getDefaultOptions().hydrate?.deserializeData ?? defaultTransformerFn;
|
||||
const mutations = dehydratedState.mutations || [];
|
||||
const queries = dehydratedState.queries || [];
|
||||
mutations.forEach(({ state, ...mutationOptions }) => {
|
||||
mutationCache.build(
|
||||
client,
|
||||
{
|
||||
...client.getDefaultOptions().hydrate?.mutations,
|
||||
...options?.defaultOptions?.mutations,
|
||||
...mutationOptions
|
||||
},
|
||||
state
|
||||
);
|
||||
});
|
||||
queries.forEach(({ queryKey, state, queryHash, meta, promise }) => {
|
||||
let query = queryCache.get(queryHash);
|
||||
const data = state.data === void 0 ? state.data : deserializeData(state.data);
|
||||
if (query) {
|
||||
if (query.state.dataUpdatedAt < state.dataUpdatedAt) {
|
||||
const { fetchStatus: _ignored, ...serializedState } = state;
|
||||
query.setState({
|
||||
...serializedState,
|
||||
data
|
||||
});
|
||||
}
|
||||
} else {
|
||||
query = queryCache.build(
|
||||
client,
|
||||
{
|
||||
...client.getDefaultOptions().hydrate?.queries,
|
||||
...options?.defaultOptions?.queries,
|
||||
queryKey,
|
||||
queryHash,
|
||||
meta
|
||||
},
|
||||
// Reset fetch status to idle to avoid
|
||||
// query being stuck in fetching state upon hydration
|
||||
{
|
||||
...state,
|
||||
data,
|
||||
fetchStatus: "idle"
|
||||
}
|
||||
);
|
||||
}
|
||||
if (promise) {
|
||||
const initialPromise = Promise.resolve(promise).then(deserializeData);
|
||||
void query.fetch(void 0, { initialPromise });
|
||||
}
|
||||
});
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
defaultShouldDehydrateMutation,
|
||||
defaultShouldDehydrateQuery,
|
||||
dehydrate,
|
||||
hydrate
|
||||
});
|
||||
//# sourceMappingURL=hydration.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/hydration.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/hydration.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
node_modules/@tanstack/query-core/build/modern/hydration.d.cts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/hydration.d.cts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-BXpkOXt5.cjs';
|
||||
import './removable.cjs';
|
||||
import './subscribable.cjs';
|
||||
3
node_modules/@tanstack/query-core/build/modern/hydration.d.ts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/hydration.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export { D as DehydrateOptions, x as DehydratedState, H as HydrateOptions, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, o as hydrate } from './hydration-mKPlgzt9.js';
|
||||
import './removable.js';
|
||||
import './subscribable.js';
|
||||
116
node_modules/@tanstack/query-core/build/modern/hydration.js
generated
vendored
Normal file
116
node_modules/@tanstack/query-core/build/modern/hydration.js
generated
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
// src/hydration.ts
|
||||
function defaultTransformerFn(data) {
|
||||
return data;
|
||||
}
|
||||
function dehydrateMutation(mutation) {
|
||||
return {
|
||||
mutationKey: mutation.options.mutationKey,
|
||||
state: mutation.state,
|
||||
...mutation.options.scope && { scope: mutation.options.scope },
|
||||
...mutation.meta && { meta: mutation.meta }
|
||||
};
|
||||
}
|
||||
function dehydrateQuery(query, serializeData) {
|
||||
return {
|
||||
state: {
|
||||
...query.state,
|
||||
...query.state.data !== void 0 && {
|
||||
data: serializeData(query.state.data)
|
||||
}
|
||||
},
|
||||
queryKey: query.queryKey,
|
||||
queryHash: query.queryHash,
|
||||
...query.state.status === "pending" && {
|
||||
promise: query.promise?.then(serializeData).catch((error) => {
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
console.error(
|
||||
`A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`
|
||||
);
|
||||
}
|
||||
return Promise.reject(new Error("redacted"));
|
||||
})
|
||||
},
|
||||
...query.meta && { meta: query.meta }
|
||||
};
|
||||
}
|
||||
function defaultShouldDehydrateMutation(mutation) {
|
||||
return mutation.state.isPaused;
|
||||
}
|
||||
function defaultShouldDehydrateQuery(query) {
|
||||
return query.state.status === "success";
|
||||
}
|
||||
function dehydrate(client, options = {}) {
|
||||
const filterMutation = options.shouldDehydrateMutation ?? client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;
|
||||
const mutations = client.getMutationCache().getAll().flatMap(
|
||||
(mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []
|
||||
);
|
||||
const filterQuery = options.shouldDehydrateQuery ?? client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;
|
||||
const serializeData = options.serializeData ?? client.getDefaultOptions().dehydrate?.serializeData ?? defaultTransformerFn;
|
||||
const queries = client.getQueryCache().getAll().flatMap(
|
||||
(query) => filterQuery(query) ? [dehydrateQuery(query, serializeData)] : []
|
||||
);
|
||||
return { mutations, queries };
|
||||
}
|
||||
function hydrate(client, dehydratedState, options) {
|
||||
if (typeof dehydratedState !== "object" || dehydratedState === null) {
|
||||
return;
|
||||
}
|
||||
const mutationCache = client.getMutationCache();
|
||||
const queryCache = client.getQueryCache();
|
||||
const deserializeData = options?.defaultOptions?.deserializeData ?? client.getDefaultOptions().hydrate?.deserializeData ?? defaultTransformerFn;
|
||||
const mutations = dehydratedState.mutations || [];
|
||||
const queries = dehydratedState.queries || [];
|
||||
mutations.forEach(({ state, ...mutationOptions }) => {
|
||||
mutationCache.build(
|
||||
client,
|
||||
{
|
||||
...client.getDefaultOptions().hydrate?.mutations,
|
||||
...options?.defaultOptions?.mutations,
|
||||
...mutationOptions
|
||||
},
|
||||
state
|
||||
);
|
||||
});
|
||||
queries.forEach(({ queryKey, state, queryHash, meta, promise }) => {
|
||||
let query = queryCache.get(queryHash);
|
||||
const data = state.data === void 0 ? state.data : deserializeData(state.data);
|
||||
if (query) {
|
||||
if (query.state.dataUpdatedAt < state.dataUpdatedAt) {
|
||||
const { fetchStatus: _ignored, ...serializedState } = state;
|
||||
query.setState({
|
||||
...serializedState,
|
||||
data
|
||||
});
|
||||
}
|
||||
} else {
|
||||
query = queryCache.build(
|
||||
client,
|
||||
{
|
||||
...client.getDefaultOptions().hydrate?.queries,
|
||||
...options?.defaultOptions?.queries,
|
||||
queryKey,
|
||||
queryHash,
|
||||
meta
|
||||
},
|
||||
// Reset fetch status to idle to avoid
|
||||
// query being stuck in fetching state upon hydration
|
||||
{
|
||||
...state,
|
||||
data,
|
||||
fetchStatus: "idle"
|
||||
}
|
||||
);
|
||||
}
|
||||
if (promise) {
|
||||
const initialPromise = Promise.resolve(promise).then(deserializeData);
|
||||
void query.fetch(void 0, { initialPromise });
|
||||
}
|
||||
});
|
||||
}
|
||||
export {
|
||||
defaultShouldDehydrateMutation,
|
||||
defaultShouldDehydrateQuery,
|
||||
dehydrate,
|
||||
hydrate
|
||||
};
|
||||
//# sourceMappingURL=hydration.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/hydration.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/hydration.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
97
node_modules/@tanstack/query-core/build/modern/index.cjs
generated
vendored
Normal file
97
node_modules/@tanstack/query-core/build/modern/index.cjs
generated
vendored
Normal file
@ -0,0 +1,97 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var src_exports = {};
|
||||
__export(src_exports, {
|
||||
CancelledError: () => import_retryer.CancelledError,
|
||||
InfiniteQueryObserver: () => import_infiniteQueryObserver.InfiniteQueryObserver,
|
||||
Mutation: () => import_mutation.Mutation,
|
||||
MutationCache: () => import_mutationCache.MutationCache,
|
||||
MutationObserver: () => import_mutationObserver.MutationObserver,
|
||||
QueriesObserver: () => import_queriesObserver.QueriesObserver,
|
||||
Query: () => import_query.Query,
|
||||
QueryCache: () => import_queryCache.QueryCache,
|
||||
QueryClient: () => import_queryClient.QueryClient,
|
||||
QueryObserver: () => import_queryObserver.QueryObserver,
|
||||
defaultShouldDehydrateMutation: () => import_hydration.defaultShouldDehydrateMutation,
|
||||
defaultShouldDehydrateQuery: () => import_hydration.defaultShouldDehydrateQuery,
|
||||
dehydrate: () => import_hydration.dehydrate,
|
||||
focusManager: () => import_focusManager.focusManager,
|
||||
hashKey: () => import_utils.hashKey,
|
||||
hydrate: () => import_hydration.hydrate,
|
||||
isCancelledError: () => import_retryer2.isCancelledError,
|
||||
isServer: () => import_utils.isServer,
|
||||
keepPreviousData: () => import_utils.keepPreviousData,
|
||||
matchMutation: () => import_utils.matchMutation,
|
||||
matchQuery: () => import_utils.matchQuery,
|
||||
notifyManager: () => import_notifyManager.notifyManager,
|
||||
onlineManager: () => import_onlineManager.onlineManager,
|
||||
replaceEqualDeep: () => import_utils.replaceEqualDeep,
|
||||
skipToken: () => import_utils.skipToken
|
||||
});
|
||||
module.exports = __toCommonJS(src_exports);
|
||||
var import_retryer = require("./retryer.cjs");
|
||||
var import_queryCache = require("./queryCache.cjs");
|
||||
var import_queryClient = require("./queryClient.cjs");
|
||||
var import_queryObserver = require("./queryObserver.cjs");
|
||||
var import_queriesObserver = require("./queriesObserver.cjs");
|
||||
var import_infiniteQueryObserver = require("./infiniteQueryObserver.cjs");
|
||||
var import_mutationCache = require("./mutationCache.cjs");
|
||||
var import_mutationObserver = require("./mutationObserver.cjs");
|
||||
var import_notifyManager = require("./notifyManager.cjs");
|
||||
var import_focusManager = require("./focusManager.cjs");
|
||||
var import_onlineManager = require("./onlineManager.cjs");
|
||||
var import_utils = require("./utils.cjs");
|
||||
var import_retryer2 = require("./retryer.cjs");
|
||||
var import_hydration = require("./hydration.cjs");
|
||||
__reExport(src_exports, require("./types.cjs"), module.exports);
|
||||
var import_query = require("./query.cjs");
|
||||
var import_mutation = require("./mutation.cjs");
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
CancelledError,
|
||||
InfiniteQueryObserver,
|
||||
Mutation,
|
||||
MutationCache,
|
||||
MutationObserver,
|
||||
QueriesObserver,
|
||||
Query,
|
||||
QueryCache,
|
||||
QueryClient,
|
||||
QueryObserver,
|
||||
defaultShouldDehydrateMutation,
|
||||
defaultShouldDehydrateQuery,
|
||||
dehydrate,
|
||||
focusManager,
|
||||
hashKey,
|
||||
hydrate,
|
||||
isCancelledError,
|
||||
isServer,
|
||||
keepPreviousData,
|
||||
matchMutation,
|
||||
matchQuery,
|
||||
notifyManager,
|
||||
onlineManager,
|
||||
replaceEqualDeep,
|
||||
skipToken,
|
||||
...require("./types.cjs")
|
||||
});
|
||||
//# sourceMappingURL=index.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/index.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/index.cjs.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["/* istanbul ignore file */\n\nexport { CancelledError } from './retryer'\nexport { QueryCache } from './queryCache'\nexport type { QueryCacheNotifyEvent } from './queryCache'\nexport { QueryClient } from './queryClient'\nexport { QueryObserver } from './queryObserver'\nexport { QueriesObserver } from './queriesObserver'\nexport { InfiniteQueryObserver } from './infiniteQueryObserver'\nexport { MutationCache } from './mutationCache'\nexport type { MutationCacheNotifyEvent } from './mutationCache'\nexport { MutationObserver } from './mutationObserver'\nexport { notifyManager } from './notifyManager'\nexport { focusManager } from './focusManager'\nexport { onlineManager } from './onlineManager'\nexport {\n hashKey,\n replaceEqualDeep,\n isServer,\n matchQuery,\n matchMutation,\n keepPreviousData,\n skipToken,\n} from './utils'\nexport type { MutationFilters, QueryFilters, Updater, SkipToken } from './utils'\nexport { isCancelledError } from './retryer'\nexport {\n dehydrate,\n hydrate,\n defaultShouldDehydrateQuery,\n defaultShouldDehydrateMutation,\n} from './hydration'\n\n// Types\nexport * from './types'\nexport type { QueryState } from './query'\nexport { Query } from './query'\nexport type { MutationState } from './mutation'\nexport { Mutation } from './mutation'\nexport type {\n DehydrateOptions,\n DehydratedState,\n HydrateOptions,\n} from './hydration'\nexport type { QueriesObserverOptions } from './queriesObserver'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,qBAA+B;AAC/B,wBAA2B;AAE3B,yBAA4B;AAC5B,2BAA8B;AAC9B,6BAAgC;AAChC,mCAAsC;AACtC,2BAA8B;AAE9B,8BAAiC;AACjC,2BAA8B;AAC9B,0BAA6B;AAC7B,2BAA8B;AAC9B,mBAQO;AAEP,IAAAA,kBAAiC;AACjC,uBAKO;AAGP,wBAAc,wBAlCd;AAoCA,mBAAsB;AAEtB,sBAAyB;","names":["import_retryer"]}
|
||||
8
node_modules/@tanstack/query-core/build/modern/index.d.cts
generated
vendored
Normal file
8
node_modules/@tanstack/query-core/build/modern/index.d.cts
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
export { aV as CancelOptions, C as CancelledError, E as DataTag, z as DefaultError, aU as DefaultOptions, a9 as DefaultedInfiniteQueryObserverOptions, a7 as DefaultedQueryObserverOptions, aC as DefinedInfiniteQueryObserverResult, au as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, I as Enabled, ac as EnsureInfiniteQueryDataOptions, ab as EnsureQueryDataOptions, ad as FetchInfiniteQueryOptions, ak as FetchNextPageOptions, al as FetchPreviousPageOptions, aa as FetchQueryOptions, an as FetchStatus, X as GetNextPageParamFunction, W as GetPreviousPageParamFunction, H as HydrateOptions, Y as InfiniteData, aw as InfiniteQueryObserverBaseResult, az as InfiniteQueryObserverLoadingErrorResult, ay as InfiniteQueryObserverLoadingResult, a8 as InfiniteQueryObserverOptions, ax as InfiniteQueryObserverPendingResult, aA as InfiniteQueryObserverRefetchErrorResult, aD as InfiniteQueryObserverResult, aB as InfiniteQueryObserverSuccessResult, a2 as InfiniteQueryPageParamsOptions, L as InitialDataFunction, a1 as InitialPageParam, ai as InvalidateOptions, ag as InvalidateQueryFilters, aM as MutateFunction, aL as MutateOptions, w as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aI as MutationFunction, aE as MutationKey, aH as MutationMeta, e as MutationObserver, aN as MutationObserverBaseResult, aQ as MutationObserverErrorResult, aO as MutationObserverIdleResult, aP as MutationObserverLoadingResult, aK as MutationObserverOptions, aS as MutationObserverResult, aR as MutationObserverSuccessResult, aJ as MutationOptions, aG as MutationScope, v as MutationState, aF as MutationStatus, _ as NetworkMode, N as NoInfer, aY as NotifyEvent, aX as NotifyEventType, $ as NotifyOnChangeProps, O as OmitKeyof, a6 as Optional, y as Override, P as PlaceholderDataFunction, T as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aT as QueryClientConfig, j as QueryFilters, F as QueryFunction, K as QueryFunctionContext, A as QueryKey, V as QueryKeyHashFunction, Z as QueryMeta, c as QueryObserver, ao as QueryObserverBaseResult, ar as QueryObserverLoadingErrorResult, aq as QueryObserverLoadingResult, a4 as QueryObserverOptions, ap as QueryObserverPendingResult, as as QueryObserverRefetchErrorResult, av as QueryObserverResult, at as QueryObserverSuccessResult, a0 as QueryOptions, J as QueryPersister, t as QueryState, am as QueryStatus, af as RefetchOptions, ah as RefetchQueryFilters, R as Register, aj as ResetOptions, ae as ResultOptions, aW as SetDataOptions, S as SkipToken, G as StaleTime, a3 as ThrowOnError, U as Updater, a5 as WithRequired, B as dataTagSymbol, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, h as hashKey, o as hydrate, l as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, r as replaceEqualDeep, s as skipToken } from './hydration-BXpkOXt5.cjs';
|
||||
export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.cjs';
|
||||
export { InfiniteQueryObserver } from './infiniteQueryObserver.cjs';
|
||||
export { notifyManager } from './notifyManager.cjs';
|
||||
export { focusManager } from './focusManager.cjs';
|
||||
export { onlineManager } from './onlineManager.cjs';
|
||||
import './removable.cjs';
|
||||
import './subscribable.cjs';
|
||||
8
node_modules/@tanstack/query-core/build/modern/index.d.ts
generated
vendored
Normal file
8
node_modules/@tanstack/query-core/build/modern/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
export { aV as CancelOptions, C as CancelledError, E as DataTag, z as DefaultError, aU as DefaultOptions, a9 as DefaultedInfiniteQueryObserverOptions, a7 as DefaultedQueryObserverOptions, aC as DefinedInfiniteQueryObserverResult, au as DefinedQueryObserverResult, D as DehydrateOptions, x as DehydratedState, I as Enabled, ac as EnsureInfiniteQueryDataOptions, ab as EnsureQueryDataOptions, ad as FetchInfiniteQueryOptions, ak as FetchNextPageOptions, al as FetchPreviousPageOptions, aa as FetchQueryOptions, an as FetchStatus, X as GetNextPageParamFunction, W as GetPreviousPageParamFunction, H as HydrateOptions, Y as InfiniteData, aw as InfiniteQueryObserverBaseResult, az as InfiniteQueryObserverLoadingErrorResult, ay as InfiniteQueryObserverLoadingResult, a8 as InfiniteQueryObserverOptions, ax as InfiniteQueryObserverPendingResult, aA as InfiniteQueryObserverRefetchErrorResult, aD as InfiniteQueryObserverResult, aB as InfiniteQueryObserverSuccessResult, a2 as InfiniteQueryPageParamsOptions, L as InitialDataFunction, a1 as InitialPageParam, ai as InvalidateOptions, ag as InvalidateQueryFilters, aM as MutateFunction, aL as MutateOptions, w as Mutation, M as MutationCache, d as MutationCacheNotifyEvent, g as MutationFilters, aI as MutationFunction, aE as MutationKey, aH as MutationMeta, e as MutationObserver, aN as MutationObserverBaseResult, aQ as MutationObserverErrorResult, aO as MutationObserverIdleResult, aP as MutationObserverLoadingResult, aK as MutationObserverOptions, aS as MutationObserverResult, aR as MutationObserverSuccessResult, aJ as MutationOptions, aG as MutationScope, v as MutationState, aF as MutationStatus, _ as NetworkMode, N as NoInfer, aY as NotifyEvent, aX as NotifyEventType, $ as NotifyOnChangeProps, O as OmitKeyof, a6 as Optional, y as Override, P as PlaceholderDataFunction, T as QueriesPlaceholderDataFunction, u as Query, Q as QueryCache, a as QueryCacheNotifyEvent, b as QueryClient, aT as QueryClientConfig, j as QueryFilters, F as QueryFunction, K as QueryFunctionContext, A as QueryKey, V as QueryKeyHashFunction, Z as QueryMeta, c as QueryObserver, ao as QueryObserverBaseResult, ar as QueryObserverLoadingErrorResult, aq as QueryObserverLoadingResult, a4 as QueryObserverOptions, ap as QueryObserverPendingResult, as as QueryObserverRefetchErrorResult, av as QueryObserverResult, at as QueryObserverSuccessResult, a0 as QueryOptions, J as QueryPersister, t as QueryState, am as QueryStatus, af as RefetchOptions, ah as RefetchQueryFilters, R as Register, aj as ResetOptions, ae as ResultOptions, aW as SetDataOptions, S as SkipToken, G as StaleTime, a3 as ThrowOnError, U as Updater, a5 as WithRequired, B as dataTagSymbol, q as defaultShouldDehydrateMutation, p as defaultShouldDehydrateQuery, n as dehydrate, h as hashKey, o as hydrate, l as isCancelledError, i as isServer, k as keepPreviousData, f as matchMutation, m as matchQuery, r as replaceEqualDeep, s as skipToken } from './hydration-mKPlgzt9.js';
|
||||
export { QueriesObserver, QueriesObserverOptions } from './queriesObserver.js';
|
||||
export { InfiniteQueryObserver } from './infiniteQueryObserver.js';
|
||||
export { notifyManager } from './notifyManager.js';
|
||||
export { focusManager } from './focusManager.js';
|
||||
export { onlineManager } from './onlineManager.js';
|
||||
import './removable.js';
|
||||
import './subscribable.js';
|
||||
59
node_modules/@tanstack/query-core/build/modern/index.js
generated
vendored
Normal file
59
node_modules/@tanstack/query-core/build/modern/index.js
generated
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
// src/index.ts
|
||||
import { CancelledError } from "./retryer.js";
|
||||
import { QueryCache } from "./queryCache.js";
|
||||
import { QueryClient } from "./queryClient.js";
|
||||
import { QueryObserver } from "./queryObserver.js";
|
||||
import { QueriesObserver } from "./queriesObserver.js";
|
||||
import { InfiniteQueryObserver } from "./infiniteQueryObserver.js";
|
||||
import { MutationCache } from "./mutationCache.js";
|
||||
import { MutationObserver } from "./mutationObserver.js";
|
||||
import { notifyManager } from "./notifyManager.js";
|
||||
import { focusManager } from "./focusManager.js";
|
||||
import { onlineManager } from "./onlineManager.js";
|
||||
import {
|
||||
hashKey,
|
||||
replaceEqualDeep,
|
||||
isServer,
|
||||
matchQuery,
|
||||
matchMutation,
|
||||
keepPreviousData,
|
||||
skipToken
|
||||
} from "./utils.js";
|
||||
import { isCancelledError } from "./retryer.js";
|
||||
import {
|
||||
dehydrate,
|
||||
hydrate,
|
||||
defaultShouldDehydrateQuery,
|
||||
defaultShouldDehydrateMutation
|
||||
} from "./hydration.js";
|
||||
export * from "./types.js";
|
||||
import { Query } from "./query.js";
|
||||
import { Mutation } from "./mutation.js";
|
||||
export {
|
||||
CancelledError,
|
||||
InfiniteQueryObserver,
|
||||
Mutation,
|
||||
MutationCache,
|
||||
MutationObserver,
|
||||
QueriesObserver,
|
||||
Query,
|
||||
QueryCache,
|
||||
QueryClient,
|
||||
QueryObserver,
|
||||
defaultShouldDehydrateMutation,
|
||||
defaultShouldDehydrateQuery,
|
||||
dehydrate,
|
||||
focusManager,
|
||||
hashKey,
|
||||
hydrate,
|
||||
isCancelledError,
|
||||
isServer,
|
||||
keepPreviousData,
|
||||
matchMutation,
|
||||
matchQuery,
|
||||
notifyManager,
|
||||
onlineManager,
|
||||
replaceEqualDeep,
|
||||
skipToken
|
||||
};
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/index.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["/* istanbul ignore file */\n\nexport { CancelledError } from './retryer'\nexport { QueryCache } from './queryCache'\nexport type { QueryCacheNotifyEvent } from './queryCache'\nexport { QueryClient } from './queryClient'\nexport { QueryObserver } from './queryObserver'\nexport { QueriesObserver } from './queriesObserver'\nexport { InfiniteQueryObserver } from './infiniteQueryObserver'\nexport { MutationCache } from './mutationCache'\nexport type { MutationCacheNotifyEvent } from './mutationCache'\nexport { MutationObserver } from './mutationObserver'\nexport { notifyManager } from './notifyManager'\nexport { focusManager } from './focusManager'\nexport { onlineManager } from './onlineManager'\nexport {\n hashKey,\n replaceEqualDeep,\n isServer,\n matchQuery,\n matchMutation,\n keepPreviousData,\n skipToken,\n} from './utils'\nexport type { MutationFilters, QueryFilters, Updater, SkipToken } from './utils'\nexport { isCancelledError } from './retryer'\nexport {\n dehydrate,\n hydrate,\n defaultShouldDehydrateQuery,\n defaultShouldDehydrateMutation,\n} from './hydration'\n\n// Types\nexport * from './types'\nexport type { QueryState } from './query'\nexport { Query } from './query'\nexport type { MutationState } from './mutation'\nexport { Mutation } from './mutation'\nexport type {\n DehydrateOptions,\n DehydratedState,\n HydrateOptions,\n} from './hydration'\nexport type { QueriesObserverOptions } from './queriesObserver'\n"],"mappings":";AAEA,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAE3B,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAChC,SAAS,6BAA6B;AACtC,SAAS,qBAAqB;AAE9B,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,wBAAwB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,cAAc;AAEd,SAAS,aAAa;AAEtB,SAAS,gBAAgB;","names":[]}
|
||||
148
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.cjs
generated
vendored
Normal file
148
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.cjs
generated
vendored
Normal file
@ -0,0 +1,148 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/infiniteQueryBehavior.ts
|
||||
var infiniteQueryBehavior_exports = {};
|
||||
__export(infiniteQueryBehavior_exports, {
|
||||
hasNextPage: () => hasNextPage,
|
||||
hasPreviousPage: () => hasPreviousPage,
|
||||
infiniteQueryBehavior: () => infiniteQueryBehavior
|
||||
});
|
||||
module.exports = __toCommonJS(infiniteQueryBehavior_exports);
|
||||
var import_utils = require("./utils.cjs");
|
||||
function infiniteQueryBehavior(pages) {
|
||||
return {
|
||||
onFetch: (context, query) => {
|
||||
const options = context.options;
|
||||
const direction = context.fetchOptions?.meta?.fetchMore?.direction;
|
||||
const oldPages = context.state.data?.pages || [];
|
||||
const oldPageParams = context.state.data?.pageParams || [];
|
||||
let result = { pages: [], pageParams: [] };
|
||||
let currentPage = 0;
|
||||
const fetchFn = async () => {
|
||||
let cancelled = false;
|
||||
const addSignalProperty = (object) => {
|
||||
Object.defineProperty(object, "signal", {
|
||||
enumerable: true,
|
||||
get: () => {
|
||||
if (context.signal.aborted) {
|
||||
cancelled = true;
|
||||
} else {
|
||||
context.signal.addEventListener("abort", () => {
|
||||
cancelled = true;
|
||||
});
|
||||
}
|
||||
return context.signal;
|
||||
}
|
||||
});
|
||||
};
|
||||
const queryFn = (0, import_utils.ensureQueryFn)(context.options, context.fetchOptions);
|
||||
const fetchPage = async (data, param, previous) => {
|
||||
if (cancelled) {
|
||||
return Promise.reject();
|
||||
}
|
||||
if (param == null && data.pages.length) {
|
||||
return Promise.resolve(data);
|
||||
}
|
||||
const queryFnContext = {
|
||||
queryKey: context.queryKey,
|
||||
pageParam: param,
|
||||
direction: previous ? "backward" : "forward",
|
||||
meta: context.options.meta
|
||||
};
|
||||
addSignalProperty(queryFnContext);
|
||||
const page = await queryFn(
|
||||
queryFnContext
|
||||
);
|
||||
const { maxPages } = context.options;
|
||||
const addTo = previous ? import_utils.addToStart : import_utils.addToEnd;
|
||||
return {
|
||||
pages: addTo(data.pages, page, maxPages),
|
||||
pageParams: addTo(data.pageParams, param, maxPages)
|
||||
};
|
||||
};
|
||||
if (direction && oldPages.length) {
|
||||
const previous = direction === "backward";
|
||||
const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;
|
||||
const oldData = {
|
||||
pages: oldPages,
|
||||
pageParams: oldPageParams
|
||||
};
|
||||
const param = pageParamFn(options, oldData);
|
||||
result = await fetchPage(oldData, param, previous);
|
||||
} else {
|
||||
const remainingPages = pages ?? oldPages.length;
|
||||
do {
|
||||
const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);
|
||||
if (currentPage > 0 && param == null) {
|
||||
break;
|
||||
}
|
||||
result = await fetchPage(result, param);
|
||||
currentPage++;
|
||||
} while (currentPage < remainingPages);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
if (context.options.persister) {
|
||||
context.fetchFn = () => {
|
||||
return context.options.persister?.(
|
||||
fetchFn,
|
||||
{
|
||||
queryKey: context.queryKey,
|
||||
meta: context.options.meta,
|
||||
signal: context.signal
|
||||
},
|
||||
query
|
||||
);
|
||||
};
|
||||
} else {
|
||||
context.fetchFn = fetchFn;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
function getNextPageParam(options, { pages, pageParams }) {
|
||||
const lastIndex = pages.length - 1;
|
||||
return pages.length > 0 ? options.getNextPageParam(
|
||||
pages[lastIndex],
|
||||
pages,
|
||||
pageParams[lastIndex],
|
||||
pageParams
|
||||
) : void 0;
|
||||
}
|
||||
function getPreviousPageParam(options, { pages, pageParams }) {
|
||||
return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;
|
||||
}
|
||||
function hasNextPage(options, data) {
|
||||
if (!data)
|
||||
return false;
|
||||
return getNextPageParam(options, data) != null;
|
||||
}
|
||||
function hasPreviousPage(options, data) {
|
||||
if (!data || !options.getPreviousPageParam)
|
||||
return false;
|
||||
return getPreviousPageParam(options, data) != null;
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
hasNextPage,
|
||||
hasPreviousPage,
|
||||
infiniteQueryBehavior
|
||||
});
|
||||
//# sourceMappingURL=infiniteQueryBehavior.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
15
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.d.cts
generated
vendored
Normal file
15
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.d.cts
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
import { aZ as QueryBehavior, Y as InfiniteData, a2 as InfiniteQueryPageParamsOptions } from './hydration-BXpkOXt5.cjs';
|
||||
import './removable.cjs';
|
||||
import './subscribable.cjs';
|
||||
|
||||
declare function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(pages?: number): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>>;
|
||||
/**
|
||||
* Checks if there is a next page.
|
||||
*/
|
||||
declare function hasNextPage(options: InfiniteQueryPageParamsOptions<any, any>, data?: InfiniteData<unknown>): boolean;
|
||||
/**
|
||||
* Checks if there is a previous page.
|
||||
*/
|
||||
declare function hasPreviousPage(options: InfiniteQueryPageParamsOptions<any, any>, data?: InfiniteData<unknown>): boolean;
|
||||
|
||||
export { hasNextPage, hasPreviousPage, infiniteQueryBehavior };
|
||||
15
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.d.ts
generated
vendored
Normal file
15
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.d.ts
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
import { aZ as QueryBehavior, Y as InfiniteData, a2 as InfiniteQueryPageParamsOptions } from './hydration-mKPlgzt9.js';
|
||||
import './removable.js';
|
||||
import './subscribable.js';
|
||||
|
||||
declare function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(pages?: number): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>>;
|
||||
/**
|
||||
* Checks if there is a next page.
|
||||
*/
|
||||
declare function hasNextPage(options: InfiniteQueryPageParamsOptions<any, any>, data?: InfiniteData<unknown>): boolean;
|
||||
/**
|
||||
* Checks if there is a previous page.
|
||||
*/
|
||||
declare function hasPreviousPage(options: InfiniteQueryPageParamsOptions<any, any>, data?: InfiniteData<unknown>): boolean;
|
||||
|
||||
export { hasNextPage, hasPreviousPage, infiniteQueryBehavior };
|
||||
121
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js
generated
vendored
Normal file
121
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js
generated
vendored
Normal file
@ -0,0 +1,121 @@
|
||||
// src/infiniteQueryBehavior.ts
|
||||
import { addToEnd, addToStart, ensureQueryFn } from "./utils.js";
|
||||
function infiniteQueryBehavior(pages) {
|
||||
return {
|
||||
onFetch: (context, query) => {
|
||||
const options = context.options;
|
||||
const direction = context.fetchOptions?.meta?.fetchMore?.direction;
|
||||
const oldPages = context.state.data?.pages || [];
|
||||
const oldPageParams = context.state.data?.pageParams || [];
|
||||
let result = { pages: [], pageParams: [] };
|
||||
let currentPage = 0;
|
||||
const fetchFn = async () => {
|
||||
let cancelled = false;
|
||||
const addSignalProperty = (object) => {
|
||||
Object.defineProperty(object, "signal", {
|
||||
enumerable: true,
|
||||
get: () => {
|
||||
if (context.signal.aborted) {
|
||||
cancelled = true;
|
||||
} else {
|
||||
context.signal.addEventListener("abort", () => {
|
||||
cancelled = true;
|
||||
});
|
||||
}
|
||||
return context.signal;
|
||||
}
|
||||
});
|
||||
};
|
||||
const queryFn = ensureQueryFn(context.options, context.fetchOptions);
|
||||
const fetchPage = async (data, param, previous) => {
|
||||
if (cancelled) {
|
||||
return Promise.reject();
|
||||
}
|
||||
if (param == null && data.pages.length) {
|
||||
return Promise.resolve(data);
|
||||
}
|
||||
const queryFnContext = {
|
||||
queryKey: context.queryKey,
|
||||
pageParam: param,
|
||||
direction: previous ? "backward" : "forward",
|
||||
meta: context.options.meta
|
||||
};
|
||||
addSignalProperty(queryFnContext);
|
||||
const page = await queryFn(
|
||||
queryFnContext
|
||||
);
|
||||
const { maxPages } = context.options;
|
||||
const addTo = previous ? addToStart : addToEnd;
|
||||
return {
|
||||
pages: addTo(data.pages, page, maxPages),
|
||||
pageParams: addTo(data.pageParams, param, maxPages)
|
||||
};
|
||||
};
|
||||
if (direction && oldPages.length) {
|
||||
const previous = direction === "backward";
|
||||
const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;
|
||||
const oldData = {
|
||||
pages: oldPages,
|
||||
pageParams: oldPageParams
|
||||
};
|
||||
const param = pageParamFn(options, oldData);
|
||||
result = await fetchPage(oldData, param, previous);
|
||||
} else {
|
||||
const remainingPages = pages ?? oldPages.length;
|
||||
do {
|
||||
const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);
|
||||
if (currentPage > 0 && param == null) {
|
||||
break;
|
||||
}
|
||||
result = await fetchPage(result, param);
|
||||
currentPage++;
|
||||
} while (currentPage < remainingPages);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
if (context.options.persister) {
|
||||
context.fetchFn = () => {
|
||||
return context.options.persister?.(
|
||||
fetchFn,
|
||||
{
|
||||
queryKey: context.queryKey,
|
||||
meta: context.options.meta,
|
||||
signal: context.signal
|
||||
},
|
||||
query
|
||||
);
|
||||
};
|
||||
} else {
|
||||
context.fetchFn = fetchFn;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
function getNextPageParam(options, { pages, pageParams }) {
|
||||
const lastIndex = pages.length - 1;
|
||||
return pages.length > 0 ? options.getNextPageParam(
|
||||
pages[lastIndex],
|
||||
pages,
|
||||
pageParams[lastIndex],
|
||||
pageParams
|
||||
) : void 0;
|
||||
}
|
||||
function getPreviousPageParam(options, { pages, pageParams }) {
|
||||
return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;
|
||||
}
|
||||
function hasNextPage(options, data) {
|
||||
if (!data)
|
||||
return false;
|
||||
return getNextPageParam(options, data) != null;
|
||||
}
|
||||
function hasPreviousPage(options, data) {
|
||||
if (!data || !options.getPreviousPageParam)
|
||||
return false;
|
||||
return getPreviousPageParam(options, data) != null;
|
||||
}
|
||||
export {
|
||||
hasNextPage,
|
||||
hasPreviousPage,
|
||||
infiniteQueryBehavior
|
||||
};
|
||||
//# sourceMappingURL=infiniteQueryBehavior.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
95
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.cjs
generated
vendored
Normal file
95
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.cjs
generated
vendored
Normal file
@ -0,0 +1,95 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/infiniteQueryObserver.ts
|
||||
var infiniteQueryObserver_exports = {};
|
||||
__export(infiniteQueryObserver_exports, {
|
||||
InfiniteQueryObserver: () => InfiniteQueryObserver
|
||||
});
|
||||
module.exports = __toCommonJS(infiniteQueryObserver_exports);
|
||||
var import_queryObserver = require("./queryObserver.cjs");
|
||||
var import_infiniteQueryBehavior = require("./infiniteQueryBehavior.cjs");
|
||||
var InfiniteQueryObserver = class extends import_queryObserver.QueryObserver {
|
||||
constructor(client, options) {
|
||||
super(client, options);
|
||||
}
|
||||
bindMethods() {
|
||||
super.bindMethods();
|
||||
this.fetchNextPage = this.fetchNextPage.bind(this);
|
||||
this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
|
||||
}
|
||||
setOptions(options, notifyOptions) {
|
||||
super.setOptions(
|
||||
{
|
||||
...options,
|
||||
behavior: (0, import_infiniteQueryBehavior.infiniteQueryBehavior)()
|
||||
},
|
||||
notifyOptions
|
||||
);
|
||||
}
|
||||
getOptimisticResult(options) {
|
||||
options.behavior = (0, import_infiniteQueryBehavior.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) {
|
||||
const { state } = query;
|
||||
const parentResult = super.createResult(query, options);
|
||||
const { isFetching, isRefetching, isError, isRefetchError } = parentResult;
|
||||
const fetchDirection = state.fetchMeta?.fetchMore?.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: (0, import_infiniteQueryBehavior.hasNextPage)(options, state.data),
|
||||
hasPreviousPage: (0, import_infiniteQueryBehavior.hasPreviousPage)(options, state.data),
|
||||
isFetchNextPageError,
|
||||
isFetchingNextPage,
|
||||
isFetchPreviousPageError,
|
||||
isFetchingPreviousPage,
|
||||
isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,
|
||||
isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
|
||||
};
|
||||
return result;
|
||||
}
|
||||
};
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
InfiniteQueryObserver
|
||||
});
|
||||
//# sourceMappingURL=infiniteQueryObserver.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
20
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.d.cts
generated
vendored
Normal file
20
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.d.cts
generated
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
import { z as DefaultError, Y as InfiniteData, A as QueryKey, c as QueryObserver, aD as InfiniteQueryObserverResult, b as QueryClient, a8 as InfiniteQueryObserverOptions, a_ as NotifyOptions, a9 as DefaultedInfiniteQueryObserverOptions, ak as FetchNextPageOptions, al as FetchPreviousPageOptions, u as Query } from './hydration-BXpkOXt5.cjs';
|
||||
import { Subscribable } from './subscribable.cjs';
|
||||
import './removable.cjs';
|
||||
|
||||
type InfiniteQueryObserverListener<TData, TError> = (result: InfiniteQueryObserverResult<TData, TError>) => void;
|
||||
declare class InfiniteQueryObserver<TQueryFnData = unknown, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends QueryObserver<TQueryFnData, TError, TData, InfiniteData<TQueryData, TPageParam>, TQueryKey> {
|
||||
subscribe: Subscribable<InfiniteQueryObserverListener<TData, TError>>['subscribe'];
|
||||
getCurrentResult: ReplaceReturnType<QueryObserver<TQueryFnData, TError, TData, InfiniteData<TQueryData, TPageParam>, TQueryKey>['getCurrentResult'], InfiniteQueryObserverResult<TData, TError>>;
|
||||
protected fetch: ReplaceReturnType<QueryObserver<TQueryFnData, TError, TData, InfiniteData<TQueryData, TPageParam>, TQueryKey>['fetch'], Promise<InfiniteQueryObserverResult<TData, TError>>>;
|
||||
constructor(client: QueryClient, options: InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>);
|
||||
protected bindMethods(): void;
|
||||
setOptions(options: InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, notifyOptions?: NotifyOptions): void;
|
||||
getOptimisticResult(options: DefaultedInfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>): InfiniteQueryObserverResult<TData, TError>;
|
||||
fetchNextPage(options?: FetchNextPageOptions): Promise<InfiniteQueryObserverResult<TData, TError>>;
|
||||
fetchPreviousPage(options?: FetchPreviousPageOptions): Promise<InfiniteQueryObserverResult<TData, TError>>;
|
||||
protected createResult(query: Query<TQueryFnData, TError, InfiniteData<TQueryData, TPageParam>, TQueryKey>, options: InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>): InfiniteQueryObserverResult<TData, TError>;
|
||||
}
|
||||
type ReplaceReturnType<TFunction extends (...args: Array<any>) => unknown, TReturn> = (...args: Parameters<TFunction>) => TReturn;
|
||||
|
||||
export { InfiniteQueryObserver };
|
||||
20
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.d.ts
generated
vendored
Normal file
20
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.d.ts
generated
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
import { z as DefaultError, Y as InfiniteData, A as QueryKey, c as QueryObserver, aD as InfiniteQueryObserverResult, b as QueryClient, a8 as InfiniteQueryObserverOptions, a_ as NotifyOptions, a9 as DefaultedInfiniteQueryObserverOptions, ak as FetchNextPageOptions, al as FetchPreviousPageOptions, u as Query } from './hydration-mKPlgzt9.js';
|
||||
import { Subscribable } from './subscribable.js';
|
||||
import './removable.js';
|
||||
|
||||
type InfiniteQueryObserverListener<TData, TError> = (result: InfiniteQueryObserverResult<TData, TError>) => void;
|
||||
declare class InfiniteQueryObserver<TQueryFnData = unknown, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends QueryObserver<TQueryFnData, TError, TData, InfiniteData<TQueryData, TPageParam>, TQueryKey> {
|
||||
subscribe: Subscribable<InfiniteQueryObserverListener<TData, TError>>['subscribe'];
|
||||
getCurrentResult: ReplaceReturnType<QueryObserver<TQueryFnData, TError, TData, InfiniteData<TQueryData, TPageParam>, TQueryKey>['getCurrentResult'], InfiniteQueryObserverResult<TData, TError>>;
|
||||
protected fetch: ReplaceReturnType<QueryObserver<TQueryFnData, TError, TData, InfiniteData<TQueryData, TPageParam>, TQueryKey>['fetch'], Promise<InfiniteQueryObserverResult<TData, TError>>>;
|
||||
constructor(client: QueryClient, options: InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>);
|
||||
protected bindMethods(): void;
|
||||
setOptions(options: InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, notifyOptions?: NotifyOptions): void;
|
||||
getOptimisticResult(options: DefaultedInfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>): InfiniteQueryObserverResult<TData, TError>;
|
||||
fetchNextPage(options?: FetchNextPageOptions): Promise<InfiniteQueryObserverResult<TData, TError>>;
|
||||
fetchPreviousPage(options?: FetchPreviousPageOptions): Promise<InfiniteQueryObserverResult<TData, TError>>;
|
||||
protected createResult(query: Query<TQueryFnData, TError, InfiniteData<TQueryData, TPageParam>, TQueryKey>, options: InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>): InfiniteQueryObserverResult<TData, TError>;
|
||||
}
|
||||
type ReplaceReturnType<TFunction extends (...args: Array<any>) => unknown, TReturn> = (...args: Parameters<TFunction>) => TReturn;
|
||||
|
||||
export { InfiniteQueryObserver };
|
||||
74
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js
generated
vendored
Normal file
74
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js
generated
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
// 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, notifyOptions) {
|
||||
super.setOptions(
|
||||
{
|
||||
...options,
|
||||
behavior: infiniteQueryBehavior()
|
||||
},
|
||||
notifyOptions
|
||||
);
|
||||
}
|
||||
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) {
|
||||
const { state } = query;
|
||||
const parentResult = super.createResult(query, options);
|
||||
const { isFetching, isRefetching, isError, isRefetchError } = parentResult;
|
||||
const fetchDirection = state.fetchMeta?.fetchMore?.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
|
||||
1
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
261
node_modules/@tanstack/query-core/build/modern/mutation.cjs
generated
vendored
Normal file
261
node_modules/@tanstack/query-core/build/modern/mutation.cjs
generated
vendored
Normal file
@ -0,0 +1,261 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/mutation.ts
|
||||
var mutation_exports = {};
|
||||
__export(mutation_exports, {
|
||||
Mutation: () => Mutation,
|
||||
getDefaultState: () => getDefaultState
|
||||
});
|
||||
module.exports = __toCommonJS(mutation_exports);
|
||||
var import_notifyManager = require("./notifyManager.cjs");
|
||||
var import_removable = require("./removable.cjs");
|
||||
var import_retryer = require("./retryer.cjs");
|
||||
var Mutation = class extends import_removable.Removable {
|
||||
#observers;
|
||||
#mutationCache;
|
||||
#retryer;
|
||||
constructor(config) {
|
||||
super();
|
||||
this.mutationId = config.mutationId;
|
||||
this.#mutationCache = config.mutationCache;
|
||||
this.#observers = [];
|
||||
this.state = config.state || getDefaultState();
|
||||
this.setOptions(config.options);
|
||||
this.scheduleGc();
|
||||
}
|
||||
setOptions(options) {
|
||||
this.options = options;
|
||||
this.updateGcTime(this.options.gcTime);
|
||||
}
|
||||
get meta() {
|
||||
return this.options.meta;
|
||||
}
|
||||
addObserver(observer) {
|
||||
if (!this.#observers.includes(observer)) {
|
||||
this.#observers.push(observer);
|
||||
this.clearGcTimeout();
|
||||
this.#mutationCache.notify({
|
||||
type: "observerAdded",
|
||||
mutation: this,
|
||||
observer
|
||||
});
|
||||
}
|
||||
}
|
||||
removeObserver(observer) {
|
||||
this.#observers = this.#observers.filter((x) => x !== observer);
|
||||
this.scheduleGc();
|
||||
this.#mutationCache.notify({
|
||||
type: "observerRemoved",
|
||||
mutation: this,
|
||||
observer
|
||||
});
|
||||
}
|
||||
optionalRemove() {
|
||||
if (!this.#observers.length) {
|
||||
if (this.state.status === "pending") {
|
||||
this.scheduleGc();
|
||||
} else {
|
||||
this.#mutationCache.remove(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
continue() {
|
||||
return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before
|
||||
this.execute(this.state.variables);
|
||||
}
|
||||
async execute(variables) {
|
||||
this.#retryer = (0, import_retryer.createRetryer)({
|
||||
fn: () => {
|
||||
if (!this.options.mutationFn) {
|
||||
return Promise.reject(new Error("No mutationFn found"));
|
||||
}
|
||||
return this.options.mutationFn(variables);
|
||||
},
|
||||
onFail: (failureCount, error) => {
|
||||
this.#dispatch({ type: "failed", failureCount, error });
|
||||
},
|
||||
onPause: () => {
|
||||
this.#dispatch({ type: "pause" });
|
||||
},
|
||||
onContinue: () => {
|
||||
this.#dispatch({ type: "continue" });
|
||||
},
|
||||
retry: this.options.retry ?? 0,
|
||||
retryDelay: this.options.retryDelay,
|
||||
networkMode: this.options.networkMode,
|
||||
canRun: () => this.#mutationCache.canRun(this)
|
||||
});
|
||||
const restored = this.state.status === "pending";
|
||||
const isPaused = !this.#retryer.canStart();
|
||||
try {
|
||||
if (!restored) {
|
||||
this.#dispatch({ type: "pending", variables, isPaused });
|
||||
await this.#mutationCache.config.onMutate?.(
|
||||
variables,
|
||||
this
|
||||
);
|
||||
const context = await this.options.onMutate?.(variables);
|
||||
if (context !== this.state.context) {
|
||||
this.#dispatch({
|
||||
type: "pending",
|
||||
context,
|
||||
variables,
|
||||
isPaused
|
||||
});
|
||||
}
|
||||
}
|
||||
const data = await this.#retryer.start();
|
||||
await this.#mutationCache.config.onSuccess?.(
|
||||
data,
|
||||
variables,
|
||||
this.state.context,
|
||||
this
|
||||
);
|
||||
await this.options.onSuccess?.(data, variables, this.state.context);
|
||||
await this.#mutationCache.config.onSettled?.(
|
||||
data,
|
||||
null,
|
||||
this.state.variables,
|
||||
this.state.context,
|
||||
this
|
||||
);
|
||||
await this.options.onSettled?.(data, null, variables, this.state.context);
|
||||
this.#dispatch({ type: "success", data });
|
||||
return data;
|
||||
} catch (error) {
|
||||
try {
|
||||
await this.#mutationCache.config.onError?.(
|
||||
error,
|
||||
variables,
|
||||
this.state.context,
|
||||
this
|
||||
);
|
||||
await this.options.onError?.(
|
||||
error,
|
||||
variables,
|
||||
this.state.context
|
||||
);
|
||||
await this.#mutationCache.config.onSettled?.(
|
||||
void 0,
|
||||
error,
|
||||
this.state.variables,
|
||||
this.state.context,
|
||||
this
|
||||
);
|
||||
await this.options.onSettled?.(
|
||||
void 0,
|
||||
error,
|
||||
variables,
|
||||
this.state.context
|
||||
);
|
||||
throw error;
|
||||
} finally {
|
||||
this.#dispatch({ type: "error", error });
|
||||
}
|
||||
} finally {
|
||||
this.#mutationCache.runNext(this);
|
||||
}
|
||||
}
|
||||
#dispatch(action) {
|
||||
const reducer = (state) => {
|
||||
switch (action.type) {
|
||||
case "failed":
|
||||
return {
|
||||
...state,
|
||||
failureCount: action.failureCount,
|
||||
failureReason: action.error
|
||||
};
|
||||
case "pause":
|
||||
return {
|
||||
...state,
|
||||
isPaused: true
|
||||
};
|
||||
case "continue":
|
||||
return {
|
||||
...state,
|
||||
isPaused: false
|
||||
};
|
||||
case "pending":
|
||||
return {
|
||||
...state,
|
||||
context: action.context,
|
||||
data: void 0,
|
||||
failureCount: 0,
|
||||
failureReason: null,
|
||||
error: null,
|
||||
isPaused: action.isPaused,
|
||||
status: "pending",
|
||||
variables: action.variables,
|
||||
submittedAt: Date.now()
|
||||
};
|
||||
case "success":
|
||||
return {
|
||||
...state,
|
||||
data: action.data,
|
||||
failureCount: 0,
|
||||
failureReason: null,
|
||||
error: null,
|
||||
status: "success",
|
||||
isPaused: false
|
||||
};
|
||||
case "error":
|
||||
return {
|
||||
...state,
|
||||
data: void 0,
|
||||
error: action.error,
|
||||
failureCount: state.failureCount + 1,
|
||||
failureReason: action.error,
|
||||
isPaused: false,
|
||||
status: "error"
|
||||
};
|
||||
}
|
||||
};
|
||||
this.state = reducer(this.state);
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
this.#observers.forEach((observer) => {
|
||||
observer.onMutationUpdate(action);
|
||||
});
|
||||
this.#mutationCache.notify({
|
||||
mutation: this,
|
||||
type: "updated",
|
||||
action
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
function getDefaultState() {
|
||||
return {
|
||||
context: void 0,
|
||||
data: void 0,
|
||||
error: null,
|
||||
failureCount: 0,
|
||||
failureReason: null,
|
||||
isPaused: false,
|
||||
status: "idle",
|
||||
variables: void 0,
|
||||
submittedAt: 0
|
||||
};
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
Mutation,
|
||||
getDefaultState
|
||||
});
|
||||
//# sourceMappingURL=mutation.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/mutation.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/mutation.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
node_modules/@tanstack/query-core/build/modern/mutation.d.cts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/mutation.d.cts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import './removable.cjs';
|
||||
export { bo as Action, w as Mutation, v as MutationState, bp as getDefaultState } from './hydration-BXpkOXt5.cjs';
|
||||
import './subscribable.cjs';
|
||||
3
node_modules/@tanstack/query-core/build/modern/mutation.d.ts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/mutation.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import './removable.js';
|
||||
export { bo as Action, w as Mutation, v as MutationState, bp as getDefaultState } from './hydration-mKPlgzt9.js';
|
||||
import './subscribable.js';
|
||||
235
node_modules/@tanstack/query-core/build/modern/mutation.js
generated
vendored
Normal file
235
node_modules/@tanstack/query-core/build/modern/mutation.js
generated
vendored
Normal file
@ -0,0 +1,235 @@
|
||||
// src/mutation.ts
|
||||
import { notifyManager } from "./notifyManager.js";
|
||||
import { Removable } from "./removable.js";
|
||||
import { createRetryer } from "./retryer.js";
|
||||
var Mutation = class extends Removable {
|
||||
#observers;
|
||||
#mutationCache;
|
||||
#retryer;
|
||||
constructor(config) {
|
||||
super();
|
||||
this.mutationId = config.mutationId;
|
||||
this.#mutationCache = config.mutationCache;
|
||||
this.#observers = [];
|
||||
this.state = config.state || getDefaultState();
|
||||
this.setOptions(config.options);
|
||||
this.scheduleGc();
|
||||
}
|
||||
setOptions(options) {
|
||||
this.options = options;
|
||||
this.updateGcTime(this.options.gcTime);
|
||||
}
|
||||
get meta() {
|
||||
return this.options.meta;
|
||||
}
|
||||
addObserver(observer) {
|
||||
if (!this.#observers.includes(observer)) {
|
||||
this.#observers.push(observer);
|
||||
this.clearGcTimeout();
|
||||
this.#mutationCache.notify({
|
||||
type: "observerAdded",
|
||||
mutation: this,
|
||||
observer
|
||||
});
|
||||
}
|
||||
}
|
||||
removeObserver(observer) {
|
||||
this.#observers = this.#observers.filter((x) => x !== observer);
|
||||
this.scheduleGc();
|
||||
this.#mutationCache.notify({
|
||||
type: "observerRemoved",
|
||||
mutation: this,
|
||||
observer
|
||||
});
|
||||
}
|
||||
optionalRemove() {
|
||||
if (!this.#observers.length) {
|
||||
if (this.state.status === "pending") {
|
||||
this.scheduleGc();
|
||||
} else {
|
||||
this.#mutationCache.remove(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
continue() {
|
||||
return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before
|
||||
this.execute(this.state.variables);
|
||||
}
|
||||
async execute(variables) {
|
||||
this.#retryer = createRetryer({
|
||||
fn: () => {
|
||||
if (!this.options.mutationFn) {
|
||||
return Promise.reject(new Error("No mutationFn found"));
|
||||
}
|
||||
return this.options.mutationFn(variables);
|
||||
},
|
||||
onFail: (failureCount, error) => {
|
||||
this.#dispatch({ type: "failed", failureCount, error });
|
||||
},
|
||||
onPause: () => {
|
||||
this.#dispatch({ type: "pause" });
|
||||
},
|
||||
onContinue: () => {
|
||||
this.#dispatch({ type: "continue" });
|
||||
},
|
||||
retry: this.options.retry ?? 0,
|
||||
retryDelay: this.options.retryDelay,
|
||||
networkMode: this.options.networkMode,
|
||||
canRun: () => this.#mutationCache.canRun(this)
|
||||
});
|
||||
const restored = this.state.status === "pending";
|
||||
const isPaused = !this.#retryer.canStart();
|
||||
try {
|
||||
if (!restored) {
|
||||
this.#dispatch({ type: "pending", variables, isPaused });
|
||||
await this.#mutationCache.config.onMutate?.(
|
||||
variables,
|
||||
this
|
||||
);
|
||||
const context = await this.options.onMutate?.(variables);
|
||||
if (context !== this.state.context) {
|
||||
this.#dispatch({
|
||||
type: "pending",
|
||||
context,
|
||||
variables,
|
||||
isPaused
|
||||
});
|
||||
}
|
||||
}
|
||||
const data = await this.#retryer.start();
|
||||
await this.#mutationCache.config.onSuccess?.(
|
||||
data,
|
||||
variables,
|
||||
this.state.context,
|
||||
this
|
||||
);
|
||||
await this.options.onSuccess?.(data, variables, this.state.context);
|
||||
await this.#mutationCache.config.onSettled?.(
|
||||
data,
|
||||
null,
|
||||
this.state.variables,
|
||||
this.state.context,
|
||||
this
|
||||
);
|
||||
await this.options.onSettled?.(data, null, variables, this.state.context);
|
||||
this.#dispatch({ type: "success", data });
|
||||
return data;
|
||||
} catch (error) {
|
||||
try {
|
||||
await this.#mutationCache.config.onError?.(
|
||||
error,
|
||||
variables,
|
||||
this.state.context,
|
||||
this
|
||||
);
|
||||
await this.options.onError?.(
|
||||
error,
|
||||
variables,
|
||||
this.state.context
|
||||
);
|
||||
await this.#mutationCache.config.onSettled?.(
|
||||
void 0,
|
||||
error,
|
||||
this.state.variables,
|
||||
this.state.context,
|
||||
this
|
||||
);
|
||||
await this.options.onSettled?.(
|
||||
void 0,
|
||||
error,
|
||||
variables,
|
||||
this.state.context
|
||||
);
|
||||
throw error;
|
||||
} finally {
|
||||
this.#dispatch({ type: "error", error });
|
||||
}
|
||||
} finally {
|
||||
this.#mutationCache.runNext(this);
|
||||
}
|
||||
}
|
||||
#dispatch(action) {
|
||||
const reducer = (state) => {
|
||||
switch (action.type) {
|
||||
case "failed":
|
||||
return {
|
||||
...state,
|
||||
failureCount: action.failureCount,
|
||||
failureReason: action.error
|
||||
};
|
||||
case "pause":
|
||||
return {
|
||||
...state,
|
||||
isPaused: true
|
||||
};
|
||||
case "continue":
|
||||
return {
|
||||
...state,
|
||||
isPaused: false
|
||||
};
|
||||
case "pending":
|
||||
return {
|
||||
...state,
|
||||
context: action.context,
|
||||
data: void 0,
|
||||
failureCount: 0,
|
||||
failureReason: null,
|
||||
error: null,
|
||||
isPaused: action.isPaused,
|
||||
status: "pending",
|
||||
variables: action.variables,
|
||||
submittedAt: Date.now()
|
||||
};
|
||||
case "success":
|
||||
return {
|
||||
...state,
|
||||
data: action.data,
|
||||
failureCount: 0,
|
||||
failureReason: null,
|
||||
error: null,
|
||||
status: "success",
|
||||
isPaused: false
|
||||
};
|
||||
case "error":
|
||||
return {
|
||||
...state,
|
||||
data: void 0,
|
||||
error: action.error,
|
||||
failureCount: state.failureCount + 1,
|
||||
failureReason: action.error,
|
||||
isPaused: false,
|
||||
status: "error"
|
||||
};
|
||||
}
|
||||
};
|
||||
this.state = reducer(this.state);
|
||||
notifyManager.batch(() => {
|
||||
this.#observers.forEach((observer) => {
|
||||
observer.onMutationUpdate(action);
|
||||
});
|
||||
this.#mutationCache.notify({
|
||||
mutation: this,
|
||||
type: "updated",
|
||||
action
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
function getDefaultState() {
|
||||
return {
|
||||
context: void 0,
|
||||
data: void 0,
|
||||
error: null,
|
||||
failureCount: 0,
|
||||
failureReason: null,
|
||||
isPaused: false,
|
||||
status: "idle",
|
||||
variables: void 0,
|
||||
submittedAt: 0
|
||||
};
|
||||
}
|
||||
export {
|
||||
Mutation,
|
||||
getDefaultState
|
||||
};
|
||||
//# sourceMappingURL=mutation.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/mutation.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/mutation.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
120
node_modules/@tanstack/query-core/build/modern/mutationCache.cjs
generated
vendored
Normal file
120
node_modules/@tanstack/query-core/build/modern/mutationCache.cjs
generated
vendored
Normal file
@ -0,0 +1,120 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/mutationCache.ts
|
||||
var mutationCache_exports = {};
|
||||
__export(mutationCache_exports, {
|
||||
MutationCache: () => MutationCache
|
||||
});
|
||||
module.exports = __toCommonJS(mutationCache_exports);
|
||||
var import_notifyManager = require("./notifyManager.cjs");
|
||||
var import_mutation = require("./mutation.cjs");
|
||||
var import_utils = require("./utils.cjs");
|
||||
var import_subscribable = require("./subscribable.cjs");
|
||||
var MutationCache = class extends import_subscribable.Subscribable {
|
||||
constructor(config = {}) {
|
||||
super();
|
||||
this.config = config;
|
||||
this.#mutations = /* @__PURE__ */ new Map();
|
||||
this.#mutationId = Date.now();
|
||||
}
|
||||
#mutations;
|
||||
#mutationId;
|
||||
build(client, options, state) {
|
||||
const mutation = new import_mutation.Mutation({
|
||||
mutationCache: this,
|
||||
mutationId: ++this.#mutationId,
|
||||
options: client.defaultMutationOptions(options),
|
||||
state
|
||||
});
|
||||
this.add(mutation);
|
||||
return mutation;
|
||||
}
|
||||
add(mutation) {
|
||||
const scope = scopeFor(mutation);
|
||||
const mutations = this.#mutations.get(scope) ?? [];
|
||||
mutations.push(mutation);
|
||||
this.#mutations.set(scope, mutations);
|
||||
this.notify({ type: "added", mutation });
|
||||
}
|
||||
remove(mutation) {
|
||||
const scope = scopeFor(mutation);
|
||||
if (this.#mutations.has(scope)) {
|
||||
const mutations = this.#mutations.get(scope)?.filter((x) => x !== mutation);
|
||||
if (mutations) {
|
||||
if (mutations.length === 0) {
|
||||
this.#mutations.delete(scope);
|
||||
} else {
|
||||
this.#mutations.set(scope, mutations);
|
||||
}
|
||||
}
|
||||
}
|
||||
this.notify({ type: "removed", mutation });
|
||||
}
|
||||
canRun(mutation) {
|
||||
const firstPendingMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m.state.status === "pending");
|
||||
return !firstPendingMutation || firstPendingMutation === mutation;
|
||||
}
|
||||
runNext(mutation) {
|
||||
const foundMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m !== mutation && m.state.isPaused);
|
||||
return foundMutation?.continue() ?? Promise.resolve();
|
||||
}
|
||||
clear() {
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
this.getAll().forEach((mutation) => {
|
||||
this.remove(mutation);
|
||||
});
|
||||
});
|
||||
}
|
||||
getAll() {
|
||||
return [...this.#mutations.values()].flat();
|
||||
}
|
||||
find(filters) {
|
||||
const defaultedFilters = { exact: true, ...filters };
|
||||
return this.getAll().find(
|
||||
(mutation) => (0, import_utils.matchMutation)(defaultedFilters, mutation)
|
||||
);
|
||||
}
|
||||
findAll(filters = {}) {
|
||||
return this.getAll().filter((mutation) => (0, import_utils.matchMutation)(filters, mutation));
|
||||
}
|
||||
notify(event) {
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(event);
|
||||
});
|
||||
});
|
||||
}
|
||||
resumePausedMutations() {
|
||||
const pausedMutations = this.getAll().filter((x) => x.state.isPaused);
|
||||
return import_notifyManager.notifyManager.batch(
|
||||
() => Promise.all(
|
||||
pausedMutations.map((mutation) => mutation.continue().catch(import_utils.noop))
|
||||
)
|
||||
);
|
||||
}
|
||||
};
|
||||
function scopeFor(mutation) {
|
||||
return mutation.options.scope?.id ?? String(mutation.mutationId);
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
MutationCache
|
||||
});
|
||||
//# sourceMappingURL=mutationCache.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/mutationCache.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/mutationCache.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
node_modules/@tanstack/query-core/build/modern/mutationCache.d.cts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/mutationCache.d.cts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-BXpkOXt5.cjs';
|
||||
import './subscribable.cjs';
|
||||
import './removable.cjs';
|
||||
3
node_modules/@tanstack/query-core/build/modern/mutationCache.d.ts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/mutationCache.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export { M as MutationCache, d as MutationCacheNotifyEvent } from './hydration-mKPlgzt9.js';
|
||||
import './subscribable.js';
|
||||
import './removable.js';
|
||||
95
node_modules/@tanstack/query-core/build/modern/mutationCache.js
generated
vendored
Normal file
95
node_modules/@tanstack/query-core/build/modern/mutationCache.js
generated
vendored
Normal file
@ -0,0 +1,95 @@
|
||||
// src/mutationCache.ts
|
||||
import { notifyManager } from "./notifyManager.js";
|
||||
import { Mutation } from "./mutation.js";
|
||||
import { matchMutation, noop } from "./utils.js";
|
||||
import { Subscribable } from "./subscribable.js";
|
||||
var MutationCache = class extends Subscribable {
|
||||
constructor(config = {}) {
|
||||
super();
|
||||
this.config = config;
|
||||
this.#mutations = /* @__PURE__ */ new Map();
|
||||
this.#mutationId = Date.now();
|
||||
}
|
||||
#mutations;
|
||||
#mutationId;
|
||||
build(client, options, state) {
|
||||
const mutation = new Mutation({
|
||||
mutationCache: this,
|
||||
mutationId: ++this.#mutationId,
|
||||
options: client.defaultMutationOptions(options),
|
||||
state
|
||||
});
|
||||
this.add(mutation);
|
||||
return mutation;
|
||||
}
|
||||
add(mutation) {
|
||||
const scope = scopeFor(mutation);
|
||||
const mutations = this.#mutations.get(scope) ?? [];
|
||||
mutations.push(mutation);
|
||||
this.#mutations.set(scope, mutations);
|
||||
this.notify({ type: "added", mutation });
|
||||
}
|
||||
remove(mutation) {
|
||||
const scope = scopeFor(mutation);
|
||||
if (this.#mutations.has(scope)) {
|
||||
const mutations = this.#mutations.get(scope)?.filter((x) => x !== mutation);
|
||||
if (mutations) {
|
||||
if (mutations.length === 0) {
|
||||
this.#mutations.delete(scope);
|
||||
} else {
|
||||
this.#mutations.set(scope, mutations);
|
||||
}
|
||||
}
|
||||
}
|
||||
this.notify({ type: "removed", mutation });
|
||||
}
|
||||
canRun(mutation) {
|
||||
const firstPendingMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m.state.status === "pending");
|
||||
return !firstPendingMutation || firstPendingMutation === mutation;
|
||||
}
|
||||
runNext(mutation) {
|
||||
const foundMutation = this.#mutations.get(scopeFor(mutation))?.find((m) => m !== mutation && m.state.isPaused);
|
||||
return foundMutation?.continue() ?? Promise.resolve();
|
||||
}
|
||||
clear() {
|
||||
notifyManager.batch(() => {
|
||||
this.getAll().forEach((mutation) => {
|
||||
this.remove(mutation);
|
||||
});
|
||||
});
|
||||
}
|
||||
getAll() {
|
||||
return [...this.#mutations.values()].flat();
|
||||
}
|
||||
find(filters) {
|
||||
const defaultedFilters = { exact: true, ...filters };
|
||||
return this.getAll().find(
|
||||
(mutation) => matchMutation(defaultedFilters, mutation)
|
||||
);
|
||||
}
|
||||
findAll(filters = {}) {
|
||||
return this.getAll().filter((mutation) => matchMutation(filters, mutation));
|
||||
}
|
||||
notify(event) {
|
||||
notifyManager.batch(() => {
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(event);
|
||||
});
|
||||
});
|
||||
}
|
||||
resumePausedMutations() {
|
||||
const pausedMutations = this.getAll().filter((x) => x.state.isPaused);
|
||||
return notifyManager.batch(
|
||||
() => Promise.all(
|
||||
pausedMutations.map((mutation) => mutation.continue().catch(noop))
|
||||
)
|
||||
);
|
||||
}
|
||||
};
|
||||
function scopeFor(mutation) {
|
||||
return mutation.options.scope?.id ?? String(mutation.mutationId);
|
||||
}
|
||||
export {
|
||||
MutationCache
|
||||
};
|
||||
//# sourceMappingURL=mutationCache.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/mutationCache.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/mutationCache.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
127
node_modules/@tanstack/query-core/build/modern/mutationObserver.cjs
generated
vendored
Normal file
127
node_modules/@tanstack/query-core/build/modern/mutationObserver.cjs
generated
vendored
Normal file
@ -0,0 +1,127 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/mutationObserver.ts
|
||||
var mutationObserver_exports = {};
|
||||
__export(mutationObserver_exports, {
|
||||
MutationObserver: () => MutationObserver
|
||||
});
|
||||
module.exports = __toCommonJS(mutationObserver_exports);
|
||||
var import_mutation = require("./mutation.cjs");
|
||||
var import_notifyManager = require("./notifyManager.cjs");
|
||||
var import_subscribable = require("./subscribable.cjs");
|
||||
var import_utils = require("./utils.cjs");
|
||||
var MutationObserver = class extends import_subscribable.Subscribable {
|
||||
#client;
|
||||
#currentResult = void 0;
|
||||
#currentMutation;
|
||||
#mutateOptions;
|
||||
constructor(client, options) {
|
||||
super();
|
||||
this.#client = client;
|
||||
this.setOptions(options);
|
||||
this.bindMethods();
|
||||
this.#updateResult();
|
||||
}
|
||||
bindMethods() {
|
||||
this.mutate = this.mutate.bind(this);
|
||||
this.reset = this.reset.bind(this);
|
||||
}
|
||||
setOptions(options) {
|
||||
const prevOptions = this.options;
|
||||
this.options = this.#client.defaultMutationOptions(options);
|
||||
if (!(0, import_utils.shallowEqualObjects)(this.options, prevOptions)) {
|
||||
this.#client.getMutationCache().notify({
|
||||
type: "observerOptionsUpdated",
|
||||
mutation: this.#currentMutation,
|
||||
observer: this
|
||||
});
|
||||
}
|
||||
if (prevOptions?.mutationKey && this.options.mutationKey && (0, import_utils.hashKey)(prevOptions.mutationKey) !== (0, import_utils.hashKey)(this.options.mutationKey)) {
|
||||
this.reset();
|
||||
} else if (this.#currentMutation?.state.status === "pending") {
|
||||
this.#currentMutation.setOptions(this.options);
|
||||
}
|
||||
}
|
||||
onUnsubscribe() {
|
||||
if (!this.hasListeners()) {
|
||||
this.#currentMutation?.removeObserver(this);
|
||||
}
|
||||
}
|
||||
onMutationUpdate(action) {
|
||||
this.#updateResult();
|
||||
this.#notify(action);
|
||||
}
|
||||
getCurrentResult() {
|
||||
return this.#currentResult;
|
||||
}
|
||||
reset() {
|
||||
this.#currentMutation?.removeObserver(this);
|
||||
this.#currentMutation = void 0;
|
||||
this.#updateResult();
|
||||
this.#notify();
|
||||
}
|
||||
mutate(variables, options) {
|
||||
this.#mutateOptions = options;
|
||||
this.#currentMutation?.removeObserver(this);
|
||||
this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);
|
||||
this.#currentMutation.addObserver(this);
|
||||
return this.#currentMutation.execute(variables);
|
||||
}
|
||||
#updateResult() {
|
||||
const state = this.#currentMutation?.state ?? (0, import_mutation.getDefaultState)();
|
||||
this.#currentResult = {
|
||||
...state,
|
||||
isPending: state.status === "pending",
|
||||
isSuccess: state.status === "success",
|
||||
isError: state.status === "error",
|
||||
isIdle: state.status === "idle",
|
||||
mutate: this.mutate,
|
||||
reset: this.reset
|
||||
};
|
||||
}
|
||||
#notify(action) {
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
if (this.#mutateOptions && this.hasListeners()) {
|
||||
const variables = this.#currentResult.variables;
|
||||
const context = this.#currentResult.context;
|
||||
if (action?.type === "success") {
|
||||
this.#mutateOptions.onSuccess?.(action.data, variables, context);
|
||||
this.#mutateOptions.onSettled?.(action.data, null, variables, context);
|
||||
} else if (action?.type === "error") {
|
||||
this.#mutateOptions.onError?.(action.error, variables, context);
|
||||
this.#mutateOptions.onSettled?.(
|
||||
void 0,
|
||||
action.error,
|
||||
variables,
|
||||
context
|
||||
);
|
||||
}
|
||||
}
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(this.#currentResult);
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
MutationObserver
|
||||
});
|
||||
//# sourceMappingURL=mutationObserver.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/mutationObserver.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/mutationObserver.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
node_modules/@tanstack/query-core/build/modern/mutationObserver.d.cts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/mutationObserver.d.cts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import './subscribable.cjs';
|
||||
export { e as MutationObserver } from './hydration-BXpkOXt5.cjs';
|
||||
import './removable.cjs';
|
||||
3
node_modules/@tanstack/query-core/build/modern/mutationObserver.d.ts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/mutationObserver.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import './subscribable.js';
|
||||
export { e as MutationObserver } from './hydration-mKPlgzt9.js';
|
||||
import './removable.js';
|
||||
102
node_modules/@tanstack/query-core/build/modern/mutationObserver.js
generated
vendored
Normal file
102
node_modules/@tanstack/query-core/build/modern/mutationObserver.js
generated
vendored
Normal file
@ -0,0 +1,102 @@
|
||||
// src/mutationObserver.ts
|
||||
import { getDefaultState } from "./mutation.js";
|
||||
import { notifyManager } from "./notifyManager.js";
|
||||
import { Subscribable } from "./subscribable.js";
|
||||
import { hashKey, shallowEqualObjects } from "./utils.js";
|
||||
var MutationObserver = class extends Subscribable {
|
||||
#client;
|
||||
#currentResult = void 0;
|
||||
#currentMutation;
|
||||
#mutateOptions;
|
||||
constructor(client, options) {
|
||||
super();
|
||||
this.#client = client;
|
||||
this.setOptions(options);
|
||||
this.bindMethods();
|
||||
this.#updateResult();
|
||||
}
|
||||
bindMethods() {
|
||||
this.mutate = this.mutate.bind(this);
|
||||
this.reset = this.reset.bind(this);
|
||||
}
|
||||
setOptions(options) {
|
||||
const prevOptions = this.options;
|
||||
this.options = this.#client.defaultMutationOptions(options);
|
||||
if (!shallowEqualObjects(this.options, prevOptions)) {
|
||||
this.#client.getMutationCache().notify({
|
||||
type: "observerOptionsUpdated",
|
||||
mutation: this.#currentMutation,
|
||||
observer: this
|
||||
});
|
||||
}
|
||||
if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {
|
||||
this.reset();
|
||||
} else if (this.#currentMutation?.state.status === "pending") {
|
||||
this.#currentMutation.setOptions(this.options);
|
||||
}
|
||||
}
|
||||
onUnsubscribe() {
|
||||
if (!this.hasListeners()) {
|
||||
this.#currentMutation?.removeObserver(this);
|
||||
}
|
||||
}
|
||||
onMutationUpdate(action) {
|
||||
this.#updateResult();
|
||||
this.#notify(action);
|
||||
}
|
||||
getCurrentResult() {
|
||||
return this.#currentResult;
|
||||
}
|
||||
reset() {
|
||||
this.#currentMutation?.removeObserver(this);
|
||||
this.#currentMutation = void 0;
|
||||
this.#updateResult();
|
||||
this.#notify();
|
||||
}
|
||||
mutate(variables, options) {
|
||||
this.#mutateOptions = options;
|
||||
this.#currentMutation?.removeObserver(this);
|
||||
this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);
|
||||
this.#currentMutation.addObserver(this);
|
||||
return this.#currentMutation.execute(variables);
|
||||
}
|
||||
#updateResult() {
|
||||
const state = this.#currentMutation?.state ?? getDefaultState();
|
||||
this.#currentResult = {
|
||||
...state,
|
||||
isPending: state.status === "pending",
|
||||
isSuccess: state.status === "success",
|
||||
isError: state.status === "error",
|
||||
isIdle: state.status === "idle",
|
||||
mutate: this.mutate,
|
||||
reset: this.reset
|
||||
};
|
||||
}
|
||||
#notify(action) {
|
||||
notifyManager.batch(() => {
|
||||
if (this.#mutateOptions && this.hasListeners()) {
|
||||
const variables = this.#currentResult.variables;
|
||||
const context = this.#currentResult.context;
|
||||
if (action?.type === "success") {
|
||||
this.#mutateOptions.onSuccess?.(action.data, variables, context);
|
||||
this.#mutateOptions.onSettled?.(action.data, null, variables, context);
|
||||
} else if (action?.type === "error") {
|
||||
this.#mutateOptions.onError?.(action.error, variables, context);
|
||||
this.#mutateOptions.onSettled?.(
|
||||
void 0,
|
||||
action.error,
|
||||
variables,
|
||||
context
|
||||
);
|
||||
}
|
||||
}
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(this.#currentResult);
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
export {
|
||||
MutationObserver
|
||||
};
|
||||
//# sourceMappingURL=mutationObserver.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/mutationObserver.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/mutationObserver.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
109
node_modules/@tanstack/query-core/build/modern/notifyManager.cjs
generated
vendored
Normal file
109
node_modules/@tanstack/query-core/build/modern/notifyManager.cjs
generated
vendored
Normal file
@ -0,0 +1,109 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/notifyManager.ts
|
||||
var notifyManager_exports = {};
|
||||
__export(notifyManager_exports, {
|
||||
createNotifyManager: () => createNotifyManager,
|
||||
notifyManager: () => notifyManager
|
||||
});
|
||||
module.exports = __toCommonJS(notifyManager_exports);
|
||||
function createNotifyManager() {
|
||||
let queue = [];
|
||||
let transactions = 0;
|
||||
let notifyFn = (callback) => {
|
||||
callback();
|
||||
};
|
||||
let batchNotifyFn = (callback) => {
|
||||
callback();
|
||||
};
|
||||
let scheduleFn = (cb) => setTimeout(cb, 0);
|
||||
const schedule = (callback) => {
|
||||
if (transactions) {
|
||||
queue.push(callback);
|
||||
} else {
|
||||
scheduleFn(() => {
|
||||
notifyFn(callback);
|
||||
});
|
||||
}
|
||||
};
|
||||
const flush = () => {
|
||||
const originalQueue = queue;
|
||||
queue = [];
|
||||
if (originalQueue.length) {
|
||||
scheduleFn(() => {
|
||||
batchNotifyFn(() => {
|
||||
originalQueue.forEach((callback) => {
|
||||
notifyFn(callback);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
return {
|
||||
batch: (callback) => {
|
||||
let result;
|
||||
transactions++;
|
||||
try {
|
||||
result = callback();
|
||||
} finally {
|
||||
transactions--;
|
||||
if (!transactions) {
|
||||
flush();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
},
|
||||
/**
|
||||
* All calls to the wrapped function will be batched.
|
||||
*/
|
||||
batchCalls: (callback) => {
|
||||
return (...args) => {
|
||||
schedule(() => {
|
||||
callback(...args);
|
||||
});
|
||||
};
|
||||
},
|
||||
schedule,
|
||||
/**
|
||||
* Use this method to set a custom notify function.
|
||||
* This can be used to for example wrap notifications with `React.act` while running tests.
|
||||
*/
|
||||
setNotifyFunction: (fn) => {
|
||||
notifyFn = fn;
|
||||
},
|
||||
/**
|
||||
* Use this method to set a custom function to batch notifications together into a single tick.
|
||||
* By default React Query will use the batch function provided by ReactDOM or React Native.
|
||||
*/
|
||||
setBatchNotifyFunction: (fn) => {
|
||||
batchNotifyFn = fn;
|
||||
},
|
||||
setScheduler: (fn) => {
|
||||
scheduleFn = fn;
|
||||
}
|
||||
};
|
||||
}
|
||||
var notifyManager = createNotifyManager();
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
createNotifyManager,
|
||||
notifyManager
|
||||
});
|
||||
//# sourceMappingURL=notifyManager.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/notifyManager.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/notifyManager.cjs.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/notifyManager.ts"],"sourcesContent":["// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback<T extends Array<unknown>> = (...args: T) => void\n\ntype ScheduleFunction = (callback: () => void) => void\n\nexport function createNotifyManager() {\n let queue: Array<NotifyCallback> = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n let scheduleFn: ScheduleFunction = (cb) => setTimeout(cb, 0)\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleFn(() => {\n notifyFn(callback)\n })\n }\n }\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n return {\n batch: <T>(callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: <T extends Array<unknown>>(\n callback: BatchCallsCallback<T>,\n ): BatchCallsCallback<T> => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn: NotifyFunction) => {\n notifyFn = fn\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n },\n setScheduler: (fn: ScheduleFunction) => {\n scheduleFn = fn\n },\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYO,SAAS,sBAAsB;AACpC,MAAI,QAA+B,CAAC;AACpC,MAAI,eAAe;AACnB,MAAI,WAA2B,CAAC,aAAa;AAC3C,aAAS;AAAA,EACX;AACA,MAAI,gBAAqC,CAAC,aAAyB;AACjE,aAAS;AAAA,EACX;AACA,MAAI,aAA+B,CAAC,OAAO,WAAW,IAAI,CAAC;AAE3D,QAAM,WAAW,CAAC,aAAmC;AACnD,QAAI,cAAc;AAChB,YAAM,KAAK,QAAQ;AAAA,IACrB,OAAO;AACL,iBAAW,MAAM;AACf,iBAAS,QAAQ;AAAA,MACnB,CAAC;AAAA,IACH;AAAA,EACF;AACA,QAAM,QAAQ,MAAY;AACxB,UAAM,gBAAgB;AACtB,YAAQ,CAAC;AACT,QAAI,cAAc,QAAQ;AACxB,iBAAW,MAAM;AACf,sBAAc,MAAM;AAClB,wBAAc,QAAQ,CAAC,aAAa;AAClC,qBAAS,QAAQ;AAAA,UACnB,CAAC;AAAA,QACH,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO,CAAI,aAAyB;AAClC,UAAI;AACJ;AACA,UAAI;AACF,iBAAS,SAAS;AAAA,MACpB,UAAE;AACA;AACA,YAAI,CAAC,cAAc;AACjB,gBAAM;AAAA,QACR;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAIA,YAAY,CACV,aAC0B;AAC1B,aAAO,IAAI,SAAS;AAClB,iBAAS,MAAM;AACb,mBAAS,GAAG,IAAI;AAAA,QAClB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAmB,CAAC,OAAuB;AACzC,iBAAW;AAAA,IACb;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,wBAAwB,CAAC,OAA4B;AACnD,sBAAgB;AAAA,IAClB;AAAA,IACA,cAAc,CAAC,OAAyB;AACtC,mBAAa;AAAA,IACf;AAAA,EACF;AACF;AAGO,IAAM,gBAAgB,oBAAoB;","names":[]}
|
||||
45
node_modules/@tanstack/query-core/build/modern/notifyManager.d.cts
generated
vendored
Normal file
45
node_modules/@tanstack/query-core/build/modern/notifyManager.d.cts
generated
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
type NotifyCallback = () => void;
|
||||
type NotifyFunction = (callback: () => void) => void;
|
||||
type BatchNotifyFunction = (callback: () => void) => void;
|
||||
type BatchCallsCallback<T extends Array<unknown>> = (...args: T) => void;
|
||||
type ScheduleFunction = (callback: () => void) => void;
|
||||
declare function createNotifyManager(): {
|
||||
readonly batch: <T>(callback: () => T) => T;
|
||||
/**
|
||||
* All calls to the wrapped function will be batched.
|
||||
*/
|
||||
readonly batchCalls: <T_1 extends unknown[]>(callback: BatchCallsCallback<T_1>) => BatchCallsCallback<T_1>;
|
||||
readonly schedule: (callback: NotifyCallback) => void;
|
||||
/**
|
||||
* Use this method to set a custom notify function.
|
||||
* This can be used to for example wrap notifications with `React.act` while running tests.
|
||||
*/
|
||||
readonly setNotifyFunction: (fn: NotifyFunction) => void;
|
||||
/**
|
||||
* Use this method to set a custom function to batch notifications together into a single tick.
|
||||
* By default React Query will use the batch function provided by ReactDOM or React Native.
|
||||
*/
|
||||
readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
|
||||
readonly setScheduler: (fn: ScheduleFunction) => void;
|
||||
};
|
||||
declare const notifyManager: {
|
||||
readonly batch: <T>(callback: () => T) => T;
|
||||
/**
|
||||
* All calls to the wrapped function will be batched.
|
||||
*/
|
||||
readonly batchCalls: <T_1 extends unknown[]>(callback: BatchCallsCallback<T_1>) => BatchCallsCallback<T_1>;
|
||||
readonly schedule: (callback: NotifyCallback) => void;
|
||||
/**
|
||||
* Use this method to set a custom notify function.
|
||||
* This can be used to for example wrap notifications with `React.act` while running tests.
|
||||
*/
|
||||
readonly setNotifyFunction: (fn: NotifyFunction) => void;
|
||||
/**
|
||||
* Use this method to set a custom function to batch notifications together into a single tick.
|
||||
* By default React Query will use the batch function provided by ReactDOM or React Native.
|
||||
*/
|
||||
readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
|
||||
readonly setScheduler: (fn: ScheduleFunction) => void;
|
||||
};
|
||||
|
||||
export { createNotifyManager, notifyManager };
|
||||
45
node_modules/@tanstack/query-core/build/modern/notifyManager.d.ts
generated
vendored
Normal file
45
node_modules/@tanstack/query-core/build/modern/notifyManager.d.ts
generated
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
type NotifyCallback = () => void;
|
||||
type NotifyFunction = (callback: () => void) => void;
|
||||
type BatchNotifyFunction = (callback: () => void) => void;
|
||||
type BatchCallsCallback<T extends Array<unknown>> = (...args: T) => void;
|
||||
type ScheduleFunction = (callback: () => void) => void;
|
||||
declare function createNotifyManager(): {
|
||||
readonly batch: <T>(callback: () => T) => T;
|
||||
/**
|
||||
* All calls to the wrapped function will be batched.
|
||||
*/
|
||||
readonly batchCalls: <T_1 extends unknown[]>(callback: BatchCallsCallback<T_1>) => BatchCallsCallback<T_1>;
|
||||
readonly schedule: (callback: NotifyCallback) => void;
|
||||
/**
|
||||
* Use this method to set a custom notify function.
|
||||
* This can be used to for example wrap notifications with `React.act` while running tests.
|
||||
*/
|
||||
readonly setNotifyFunction: (fn: NotifyFunction) => void;
|
||||
/**
|
||||
* Use this method to set a custom function to batch notifications together into a single tick.
|
||||
* By default React Query will use the batch function provided by ReactDOM or React Native.
|
||||
*/
|
||||
readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
|
||||
readonly setScheduler: (fn: ScheduleFunction) => void;
|
||||
};
|
||||
declare const notifyManager: {
|
||||
readonly batch: <T>(callback: () => T) => T;
|
||||
/**
|
||||
* All calls to the wrapped function will be batched.
|
||||
*/
|
||||
readonly batchCalls: <T_1 extends unknown[]>(callback: BatchCallsCallback<T_1>) => BatchCallsCallback<T_1>;
|
||||
readonly schedule: (callback: NotifyCallback) => void;
|
||||
/**
|
||||
* Use this method to set a custom notify function.
|
||||
* This can be used to for example wrap notifications with `React.act` while running tests.
|
||||
*/
|
||||
readonly setNotifyFunction: (fn: NotifyFunction) => void;
|
||||
/**
|
||||
* Use this method to set a custom function to batch notifications together into a single tick.
|
||||
* By default React Query will use the batch function provided by ReactDOM or React Native.
|
||||
*/
|
||||
readonly setBatchNotifyFunction: (fn: BatchNotifyFunction) => void;
|
||||
readonly setScheduler: (fn: ScheduleFunction) => void;
|
||||
};
|
||||
|
||||
export { createNotifyManager, notifyManager };
|
||||
83
node_modules/@tanstack/query-core/build/modern/notifyManager.js
generated
vendored
Normal file
83
node_modules/@tanstack/query-core/build/modern/notifyManager.js
generated
vendored
Normal file
@ -0,0 +1,83 @@
|
||||
// src/notifyManager.ts
|
||||
function createNotifyManager() {
|
||||
let queue = [];
|
||||
let transactions = 0;
|
||||
let notifyFn = (callback) => {
|
||||
callback();
|
||||
};
|
||||
let batchNotifyFn = (callback) => {
|
||||
callback();
|
||||
};
|
||||
let scheduleFn = (cb) => setTimeout(cb, 0);
|
||||
const schedule = (callback) => {
|
||||
if (transactions) {
|
||||
queue.push(callback);
|
||||
} else {
|
||||
scheduleFn(() => {
|
||||
notifyFn(callback);
|
||||
});
|
||||
}
|
||||
};
|
||||
const flush = () => {
|
||||
const originalQueue = queue;
|
||||
queue = [];
|
||||
if (originalQueue.length) {
|
||||
scheduleFn(() => {
|
||||
batchNotifyFn(() => {
|
||||
originalQueue.forEach((callback) => {
|
||||
notifyFn(callback);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
return {
|
||||
batch: (callback) => {
|
||||
let result;
|
||||
transactions++;
|
||||
try {
|
||||
result = callback();
|
||||
} finally {
|
||||
transactions--;
|
||||
if (!transactions) {
|
||||
flush();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
},
|
||||
/**
|
||||
* All calls to the wrapped function will be batched.
|
||||
*/
|
||||
batchCalls: (callback) => {
|
||||
return (...args) => {
|
||||
schedule(() => {
|
||||
callback(...args);
|
||||
});
|
||||
};
|
||||
},
|
||||
schedule,
|
||||
/**
|
||||
* Use this method to set a custom notify function.
|
||||
* This can be used to for example wrap notifications with `React.act` while running tests.
|
||||
*/
|
||||
setNotifyFunction: (fn) => {
|
||||
notifyFn = fn;
|
||||
},
|
||||
/**
|
||||
* Use this method to set a custom function to batch notifications together into a single tick.
|
||||
* By default React Query will use the batch function provided by ReactDOM or React Native.
|
||||
*/
|
||||
setBatchNotifyFunction: (fn) => {
|
||||
batchNotifyFn = fn;
|
||||
},
|
||||
setScheduler: (fn) => {
|
||||
scheduleFn = fn;
|
||||
}
|
||||
};
|
||||
}
|
||||
var notifyManager = createNotifyManager();
|
||||
export {
|
||||
createNotifyManager,
|
||||
notifyManager
|
||||
};
|
||||
//# sourceMappingURL=notifyManager.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/notifyManager.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/notifyManager.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/notifyManager.ts"],"sourcesContent":["// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback<T extends Array<unknown>> = (...args: T) => void\n\ntype ScheduleFunction = (callback: () => void) => void\n\nexport function createNotifyManager() {\n let queue: Array<NotifyCallback> = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n let scheduleFn: ScheduleFunction = (cb) => setTimeout(cb, 0)\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleFn(() => {\n notifyFn(callback)\n })\n }\n }\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n return {\n batch: <T>(callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: <T extends Array<unknown>>(\n callback: BatchCallsCallback<T>,\n ): BatchCallsCallback<T> => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn: NotifyFunction) => {\n notifyFn = fn\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n },\n setScheduler: (fn: ScheduleFunction) => {\n scheduleFn = fn\n },\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n"],"mappings":";AAYO,SAAS,sBAAsB;AACpC,MAAI,QAA+B,CAAC;AACpC,MAAI,eAAe;AACnB,MAAI,WAA2B,CAAC,aAAa;AAC3C,aAAS;AAAA,EACX;AACA,MAAI,gBAAqC,CAAC,aAAyB;AACjE,aAAS;AAAA,EACX;AACA,MAAI,aAA+B,CAAC,OAAO,WAAW,IAAI,CAAC;AAE3D,QAAM,WAAW,CAAC,aAAmC;AACnD,QAAI,cAAc;AAChB,YAAM,KAAK,QAAQ;AAAA,IACrB,OAAO;AACL,iBAAW,MAAM;AACf,iBAAS,QAAQ;AAAA,MACnB,CAAC;AAAA,IACH;AAAA,EACF;AACA,QAAM,QAAQ,MAAY;AACxB,UAAM,gBAAgB;AACtB,YAAQ,CAAC;AACT,QAAI,cAAc,QAAQ;AACxB,iBAAW,MAAM;AACf,sBAAc,MAAM;AAClB,wBAAc,QAAQ,CAAC,aAAa;AAClC,qBAAS,QAAQ;AAAA,UACnB,CAAC;AAAA,QACH,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO,CAAI,aAAyB;AAClC,UAAI;AACJ;AACA,UAAI;AACF,iBAAS,SAAS;AAAA,MACpB,UAAE;AACA;AACA,YAAI,CAAC,cAAc;AACjB,gBAAM;AAAA,QACR;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAIA,YAAY,CACV,aAC0B;AAC1B,aAAO,IAAI,SAAS;AAClB,iBAAS,MAAM;AACb,mBAAS,GAAG,IAAI;AAAA,QAClB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAmB,CAAC,OAAuB;AACzC,iBAAW;AAAA,IACb;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,wBAAwB,CAAC,OAA4B;AACnD,sBAAgB;AAAA,IAClB;AAAA,IACA,cAAc,CAAC,OAAyB;AACtC,mBAAa;AAAA,IACf;AAAA,EACF;AACF;AAGO,IAAM,gBAAgB,oBAAoB;","names":[]}
|
||||
84
node_modules/@tanstack/query-core/build/modern/onlineManager.cjs
generated
vendored
Normal file
84
node_modules/@tanstack/query-core/build/modern/onlineManager.cjs
generated
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/onlineManager.ts
|
||||
var onlineManager_exports = {};
|
||||
__export(onlineManager_exports, {
|
||||
OnlineManager: () => OnlineManager,
|
||||
onlineManager: () => onlineManager
|
||||
});
|
||||
module.exports = __toCommonJS(onlineManager_exports);
|
||||
var import_subscribable = require("./subscribable.cjs");
|
||||
var import_utils = require("./utils.cjs");
|
||||
var OnlineManager = class extends import_subscribable.Subscribable {
|
||||
#online = true;
|
||||
#cleanup;
|
||||
#setup;
|
||||
constructor() {
|
||||
super();
|
||||
this.#setup = (onOnline) => {
|
||||
if (!import_utils.isServer && window.addEventListener) {
|
||||
const onlineListener = () => onOnline(true);
|
||||
const offlineListener = () => onOnline(false);
|
||||
window.addEventListener("online", onlineListener, false);
|
||||
window.addEventListener("offline", offlineListener, false);
|
||||
return () => {
|
||||
window.removeEventListener("online", onlineListener);
|
||||
window.removeEventListener("offline", offlineListener);
|
||||
};
|
||||
}
|
||||
return;
|
||||
};
|
||||
}
|
||||
onSubscribe() {
|
||||
if (!this.#cleanup) {
|
||||
this.setEventListener(this.#setup);
|
||||
}
|
||||
}
|
||||
onUnsubscribe() {
|
||||
if (!this.hasListeners()) {
|
||||
this.#cleanup?.();
|
||||
this.#cleanup = void 0;
|
||||
}
|
||||
}
|
||||
setEventListener(setup) {
|
||||
this.#setup = setup;
|
||||
this.#cleanup?.();
|
||||
this.#cleanup = setup(this.setOnline.bind(this));
|
||||
}
|
||||
setOnline(online) {
|
||||
const changed = this.#online !== online;
|
||||
if (changed) {
|
||||
this.#online = online;
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(online);
|
||||
});
|
||||
}
|
||||
}
|
||||
isOnline() {
|
||||
return this.#online;
|
||||
}
|
||||
};
|
||||
var onlineManager = new OnlineManager();
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
OnlineManager,
|
||||
onlineManager
|
||||
});
|
||||
//# sourceMappingURL=onlineManager.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/onlineManager.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/onlineManager.cjs.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (online: boolean) => void\ntype SetupFn = (setOnline: Listener) => (() => void) | undefined\n\nexport class OnlineManager extends Subscribable<Listener> {\n #online = true\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true)\n const offlineListener = () => onOnline(false)\n // Listen to online\n window.addEventListener('online', onlineListener, false)\n window.addEventListener('offline', offlineListener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', onlineListener)\n window.removeEventListener('offline', offlineListener)\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup(this.setOnline.bind(this))\n }\n\n setOnline(online: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.listeners.forEach((listener) => {\n listener(online)\n })\n }\n }\n\n isOnline(): boolean {\n return this.#online\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAC7B,mBAAyB;AAKlB,IAAM,gBAAN,cAA4B,iCAAuB;AAAA,EACxD,UAAU;AAAA,EACV;AAAA,EAEA;AAAA,EAEA,cAAc;AACZ,UAAM;AACN,SAAK,SAAS,CAAC,aAAa;AAG1B,UAAI,CAAC,yBAAY,OAAO,kBAAkB;AACxC,cAAM,iBAAiB,MAAM,SAAS,IAAI;AAC1C,cAAM,kBAAkB,MAAM,SAAS,KAAK;AAE5C,eAAO,iBAAiB,UAAU,gBAAgB,KAAK;AACvD,eAAO,iBAAiB,WAAW,iBAAiB,KAAK;AAEzD,eAAO,MAAM;AAEX,iBAAO,oBAAoB,UAAU,cAAc;AACnD,iBAAO,oBAAoB,WAAW,eAAe;AAAA,QACvD;AAAA,MACF;AAEA;AAAA,IACF;AAAA,EACF;AAAA,EAEU,cAAoB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACnC;AAAA,EACF;AAAA,EAEU,gBAAgB;AACxB,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,WAAW;AAChB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,iBAAiB,OAAsB;AACrC,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,WAAW,MAAM,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,EACjD;AAAA,EAEA,UAAU,QAAuB;AAC/B,UAAM,UAAU,KAAK,YAAY;AAEjC,QAAI,SAAS;AACX,WAAK,UAAU;AACf,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,MAAM;AAAA,MACjB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,WAAoB;AAClB,WAAO,KAAK;AAAA,EACd;AACF;AAEO,IAAM,gBAAgB,IAAI,cAAc;","names":[]}
|
||||
16
node_modules/@tanstack/query-core/build/modern/onlineManager.d.cts
generated
vendored
Normal file
16
node_modules/@tanstack/query-core/build/modern/onlineManager.d.cts
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
import { Subscribable } from './subscribable.cjs';
|
||||
|
||||
type Listener = (online: boolean) => void;
|
||||
type SetupFn = (setOnline: Listener) => (() => void) | undefined;
|
||||
declare class OnlineManager extends Subscribable<Listener> {
|
||||
#private;
|
||||
constructor();
|
||||
protected onSubscribe(): void;
|
||||
protected onUnsubscribe(): void;
|
||||
setEventListener(setup: SetupFn): void;
|
||||
setOnline(online: boolean): void;
|
||||
isOnline(): boolean;
|
||||
}
|
||||
declare const onlineManager: OnlineManager;
|
||||
|
||||
export { OnlineManager, onlineManager };
|
||||
16
node_modules/@tanstack/query-core/build/modern/onlineManager.d.ts
generated
vendored
Normal file
16
node_modules/@tanstack/query-core/build/modern/onlineManager.d.ts
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
import { Subscribable } from './subscribable.js';
|
||||
|
||||
type Listener = (online: boolean) => void;
|
||||
type SetupFn = (setOnline: Listener) => (() => void) | undefined;
|
||||
declare class OnlineManager extends Subscribable<Listener> {
|
||||
#private;
|
||||
constructor();
|
||||
protected onSubscribe(): void;
|
||||
protected onUnsubscribe(): void;
|
||||
setEventListener(setup: SetupFn): void;
|
||||
setOnline(online: boolean): void;
|
||||
isOnline(): boolean;
|
||||
}
|
||||
declare const onlineManager: OnlineManager;
|
||||
|
||||
export { OnlineManager, onlineManager };
|
||||
58
node_modules/@tanstack/query-core/build/modern/onlineManager.js
generated
vendored
Normal file
58
node_modules/@tanstack/query-core/build/modern/onlineManager.js
generated
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
// src/onlineManager.ts
|
||||
import { Subscribable } from "./subscribable.js";
|
||||
import { isServer } from "./utils.js";
|
||||
var OnlineManager = class extends Subscribable {
|
||||
#online = true;
|
||||
#cleanup;
|
||||
#setup;
|
||||
constructor() {
|
||||
super();
|
||||
this.#setup = (onOnline) => {
|
||||
if (!isServer && window.addEventListener) {
|
||||
const onlineListener = () => onOnline(true);
|
||||
const offlineListener = () => onOnline(false);
|
||||
window.addEventListener("online", onlineListener, false);
|
||||
window.addEventListener("offline", offlineListener, false);
|
||||
return () => {
|
||||
window.removeEventListener("online", onlineListener);
|
||||
window.removeEventListener("offline", offlineListener);
|
||||
};
|
||||
}
|
||||
return;
|
||||
};
|
||||
}
|
||||
onSubscribe() {
|
||||
if (!this.#cleanup) {
|
||||
this.setEventListener(this.#setup);
|
||||
}
|
||||
}
|
||||
onUnsubscribe() {
|
||||
if (!this.hasListeners()) {
|
||||
this.#cleanup?.();
|
||||
this.#cleanup = void 0;
|
||||
}
|
||||
}
|
||||
setEventListener(setup) {
|
||||
this.#setup = setup;
|
||||
this.#cleanup?.();
|
||||
this.#cleanup = setup(this.setOnline.bind(this));
|
||||
}
|
||||
setOnline(online) {
|
||||
const changed = this.#online !== online;
|
||||
if (changed) {
|
||||
this.#online = online;
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(online);
|
||||
});
|
||||
}
|
||||
}
|
||||
isOnline() {
|
||||
return this.#online;
|
||||
}
|
||||
};
|
||||
var onlineManager = new OnlineManager();
|
||||
export {
|
||||
OnlineManager,
|
||||
onlineManager
|
||||
};
|
||||
//# sourceMappingURL=onlineManager.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/onlineManager.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/onlineManager.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (online: boolean) => void\ntype SetupFn = (setOnline: Listener) => (() => void) | undefined\n\nexport class OnlineManager extends Subscribable<Listener> {\n #online = true\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true)\n const offlineListener = () => onOnline(false)\n // Listen to online\n window.addEventListener('online', onlineListener, false)\n window.addEventListener('offline', offlineListener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', onlineListener)\n window.removeEventListener('offline', offlineListener)\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup(this.setOnline.bind(this))\n }\n\n setOnline(online: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.listeners.forEach((listener) => {\n listener(online)\n })\n }\n }\n\n isOnline(): boolean {\n return this.#online\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"mappings":";AAAA,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AAKlB,IAAM,gBAAN,cAA4B,aAAuB;AAAA,EACxD,UAAU;AAAA,EACV;AAAA,EAEA;AAAA,EAEA,cAAc;AACZ,UAAM;AACN,SAAK,SAAS,CAAC,aAAa;AAG1B,UAAI,CAAC,YAAY,OAAO,kBAAkB;AACxC,cAAM,iBAAiB,MAAM,SAAS,IAAI;AAC1C,cAAM,kBAAkB,MAAM,SAAS,KAAK;AAE5C,eAAO,iBAAiB,UAAU,gBAAgB,KAAK;AACvD,eAAO,iBAAiB,WAAW,iBAAiB,KAAK;AAEzD,eAAO,MAAM;AAEX,iBAAO,oBAAoB,UAAU,cAAc;AACnD,iBAAO,oBAAoB,WAAW,eAAe;AAAA,QACvD;AAAA,MACF;AAEA;AAAA,IACF;AAAA,EACF;AAAA,EAEU,cAAoB;AAC5B,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,iBAAiB,KAAK,MAAM;AAAA,IACnC;AAAA,EACF;AAAA,EAEU,gBAAgB;AACxB,QAAI,CAAC,KAAK,aAAa,GAAG;AACxB,WAAK,WAAW;AAChB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,iBAAiB,OAAsB;AACrC,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,WAAW,MAAM,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,EACjD;AAAA,EAEA,UAAU,QAAuB;AAC/B,UAAM,UAAU,KAAK,YAAY;AAEjC,QAAI,SAAS;AACX,WAAK,UAAU;AACf,WAAK,UAAU,QAAQ,CAAC,aAAa;AACnC,iBAAS,MAAM;AAAA,MACjB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,WAAoB;AAClB,WAAO,KAAK;AAAA,EACd;AACF;AAEO,IAAM,gBAAgB,IAAI,cAAc;","names":[]}
|
||||
227
node_modules/@tanstack/query-core/build/modern/queriesObserver.cjs
generated
vendored
Normal file
227
node_modules/@tanstack/query-core/build/modern/queriesObserver.cjs
generated
vendored
Normal file
@ -0,0 +1,227 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/queriesObserver.ts
|
||||
var queriesObserver_exports = {};
|
||||
__export(queriesObserver_exports, {
|
||||
QueriesObserver: () => QueriesObserver
|
||||
});
|
||||
module.exports = __toCommonJS(queriesObserver_exports);
|
||||
var import_notifyManager = require("./notifyManager.cjs");
|
||||
var import_queryObserver = require("./queryObserver.cjs");
|
||||
var import_subscribable = require("./subscribable.cjs");
|
||||
var import_utils = require("./utils.cjs");
|
||||
function difference(array1, array2) {
|
||||
return array1.filter((x) => !array2.includes(x));
|
||||
}
|
||||
function replaceAt(array, index, value) {
|
||||
const copy = array.slice(0);
|
||||
copy[index] = value;
|
||||
return copy;
|
||||
}
|
||||
var QueriesObserver = class extends import_subscribable.Subscribable {
|
||||
#client;
|
||||
#result;
|
||||
#queries;
|
||||
#options;
|
||||
#observers;
|
||||
#combinedResult;
|
||||
#lastCombine;
|
||||
#lastResult;
|
||||
constructor(client, queries, options) {
|
||||
super();
|
||||
this.#client = client;
|
||||
this.#options = options;
|
||||
this.#queries = [];
|
||||
this.#observers = [];
|
||||
this.#result = [];
|
||||
this.setQueries(queries);
|
||||
}
|
||||
onSubscribe() {
|
||||
if (this.listeners.size === 1) {
|
||||
this.#observers.forEach((observer) => {
|
||||
observer.subscribe((result) => {
|
||||
this.#onUpdate(observer, result);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
onUnsubscribe() {
|
||||
if (!this.listeners.size) {
|
||||
this.destroy();
|
||||
}
|
||||
}
|
||||
destroy() {
|
||||
this.listeners = /* @__PURE__ */ new Set();
|
||||
this.#observers.forEach((observer) => {
|
||||
observer.destroy();
|
||||
});
|
||||
}
|
||||
setQueries(queries, options, notifyOptions) {
|
||||
this.#queries = queries;
|
||||
this.#options = options;
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
const queryHashes = queries.map((query) => query.queryHash);
|
||||
if (new Set(queryHashes).size !== queryHashes.length) {
|
||||
console.warn(
|
||||
"[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior."
|
||||
);
|
||||
}
|
||||
}
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
const prevObservers = this.#observers;
|
||||
const newObserverMatches = this.#findMatchingObservers(this.#queries);
|
||||
newObserverMatches.forEach(
|
||||
(match) => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions)
|
||||
);
|
||||
const newObservers = newObserverMatches.map((match) => match.observer);
|
||||
const newResult = newObservers.map(
|
||||
(observer) => observer.getCurrentResult()
|
||||
);
|
||||
const hasIndexChange = newObservers.some(
|
||||
(observer, index) => observer !== prevObservers[index]
|
||||
);
|
||||
if (prevObservers.length === newObservers.length && !hasIndexChange) {
|
||||
return;
|
||||
}
|
||||
this.#observers = newObservers;
|
||||
this.#result = newResult;
|
||||
if (!this.hasListeners()) {
|
||||
return;
|
||||
}
|
||||
difference(prevObservers, newObservers).forEach((observer) => {
|
||||
observer.destroy();
|
||||
});
|
||||
difference(newObservers, prevObservers).forEach((observer) => {
|
||||
observer.subscribe((result) => {
|
||||
this.#onUpdate(observer, result);
|
||||
});
|
||||
});
|
||||
this.#notify();
|
||||
});
|
||||
}
|
||||
getCurrentResult() {
|
||||
return this.#result;
|
||||
}
|
||||
getQueries() {
|
||||
return this.#observers.map((observer) => observer.getCurrentQuery());
|
||||
}
|
||||
getObservers() {
|
||||
return this.#observers;
|
||||
}
|
||||
getOptimisticResult(queries, combine) {
|
||||
const matches = this.#findMatchingObservers(queries);
|
||||
const result = matches.map(
|
||||
(match) => match.observer.getOptimisticResult(match.defaultedQueryOptions)
|
||||
);
|
||||
return [
|
||||
result,
|
||||
(r) => {
|
||||
return this.#combineResult(r ?? result, combine);
|
||||
},
|
||||
() => {
|
||||
return this.#trackResult(result, queries);
|
||||
}
|
||||
];
|
||||
}
|
||||
#trackResult(result, queries) {
|
||||
const matches = this.#findMatchingObservers(queries);
|
||||
return matches.map((match, index) => {
|
||||
const observerResult = result[index];
|
||||
return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {
|
||||
matches.forEach((m) => {
|
||||
m.observer.trackProp(accessedProp);
|
||||
});
|
||||
}) : observerResult;
|
||||
});
|
||||
}
|
||||
#combineResult(input, combine) {
|
||||
if (combine) {
|
||||
if (!this.#combinedResult || this.#result !== this.#lastResult || combine !== this.#lastCombine) {
|
||||
this.#lastCombine = combine;
|
||||
this.#lastResult = this.#result;
|
||||
this.#combinedResult = (0, import_utils.replaceEqualDeep)(
|
||||
this.#combinedResult,
|
||||
combine(input)
|
||||
);
|
||||
}
|
||||
return this.#combinedResult;
|
||||
}
|
||||
return input;
|
||||
}
|
||||
#findMatchingObservers(queries) {
|
||||
const prevObserversMap = new Map(
|
||||
this.#observers.map((observer) => [observer.options.queryHash, observer])
|
||||
);
|
||||
const observers = [];
|
||||
queries.forEach((options) => {
|
||||
const defaultedOptions = this.#client.defaultQueryOptions(options);
|
||||
const match = prevObserversMap.get(defaultedOptions.queryHash);
|
||||
if (match) {
|
||||
observers.push({
|
||||
defaultedQueryOptions: defaultedOptions,
|
||||
observer: match
|
||||
});
|
||||
} else {
|
||||
const existingObserver = this.#observers.find(
|
||||
(o) => o.options.queryHash === defaultedOptions.queryHash
|
||||
);
|
||||
observers.push({
|
||||
defaultedQueryOptions: defaultedOptions,
|
||||
observer: existingObserver ?? new import_queryObserver.QueryObserver(this.#client, defaultedOptions)
|
||||
});
|
||||
}
|
||||
});
|
||||
return observers.sort((a, b) => {
|
||||
return queries.findIndex(
|
||||
(q) => q.queryHash === a.defaultedQueryOptions.queryHash
|
||||
) - queries.findIndex(
|
||||
(q) => q.queryHash === b.defaultedQueryOptions.queryHash
|
||||
);
|
||||
});
|
||||
}
|
||||
#onUpdate(observer, result) {
|
||||
const index = this.#observers.indexOf(observer);
|
||||
if (index !== -1) {
|
||||
this.#result = replaceAt(this.#result, index, result);
|
||||
this.#notify();
|
||||
}
|
||||
}
|
||||
#notify() {
|
||||
if (this.hasListeners()) {
|
||||
const previousResult = this.#combinedResult;
|
||||
const newResult = this.#combineResult(
|
||||
this.#trackResult(this.#result, this.#queries),
|
||||
this.#options?.combine
|
||||
);
|
||||
if (previousResult !== newResult) {
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(this.#result);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
QueriesObserver
|
||||
});
|
||||
//# sourceMappingURL=queriesObserver.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/queriesObserver.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/queriesObserver.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
27
node_modules/@tanstack/query-core/build/modern/queriesObserver.d.cts
generated
vendored
Normal file
27
node_modules/@tanstack/query-core/build/modern/queriesObserver.d.cts
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
import { av as QueryObserverResult, b as QueryClient, a4 as QueryObserverOptions, a_ as NotifyOptions, u as Query, A as QueryKey, c as QueryObserver } from './hydration-BXpkOXt5.cjs';
|
||||
import { Subscribable } from './subscribable.cjs';
|
||||
import './removable.cjs';
|
||||
|
||||
type QueriesObserverListener = (result: Array<QueryObserverResult>) => void;
|
||||
type CombineFn<TCombinedResult> = (result: Array<QueryObserverResult>) => TCombinedResult;
|
||||
interface QueriesObserverOptions<TCombinedResult = Array<QueryObserverResult>> {
|
||||
combine?: CombineFn<TCombinedResult>;
|
||||
}
|
||||
declare class QueriesObserver<TCombinedResult = Array<QueryObserverResult>> extends Subscribable<QueriesObserverListener> {
|
||||
#private;
|
||||
constructor(client: QueryClient, queries: Array<QueryObserverOptions<any, any, any, any, any>>, options?: QueriesObserverOptions<TCombinedResult>);
|
||||
protected onSubscribe(): void;
|
||||
protected onUnsubscribe(): void;
|
||||
destroy(): void;
|
||||
setQueries(queries: Array<QueryObserverOptions>, options?: QueriesObserverOptions<TCombinedResult>, notifyOptions?: NotifyOptions): void;
|
||||
getCurrentResult(): Array<QueryObserverResult>;
|
||||
getQueries(): Query<unknown, Error, unknown, QueryKey>[];
|
||||
getObservers(): QueryObserver<unknown, Error, unknown, unknown, QueryKey>[];
|
||||
getOptimisticResult(queries: Array<QueryObserverOptions>, combine: CombineFn<TCombinedResult> | undefined): [
|
||||
rawResult: Array<QueryObserverResult>,
|
||||
combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,
|
||||
trackResult: () => Array<QueryObserverResult>
|
||||
];
|
||||
}
|
||||
|
||||
export { QueriesObserver, type QueriesObserverOptions };
|
||||
27
node_modules/@tanstack/query-core/build/modern/queriesObserver.d.ts
generated
vendored
Normal file
27
node_modules/@tanstack/query-core/build/modern/queriesObserver.d.ts
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
import { av as QueryObserverResult, b as QueryClient, a4 as QueryObserverOptions, a_ as NotifyOptions, u as Query, A as QueryKey, c as QueryObserver } from './hydration-mKPlgzt9.js';
|
||||
import { Subscribable } from './subscribable.js';
|
||||
import './removable.js';
|
||||
|
||||
type QueriesObserverListener = (result: Array<QueryObserverResult>) => void;
|
||||
type CombineFn<TCombinedResult> = (result: Array<QueryObserverResult>) => TCombinedResult;
|
||||
interface QueriesObserverOptions<TCombinedResult = Array<QueryObserverResult>> {
|
||||
combine?: CombineFn<TCombinedResult>;
|
||||
}
|
||||
declare class QueriesObserver<TCombinedResult = Array<QueryObserverResult>> extends Subscribable<QueriesObserverListener> {
|
||||
#private;
|
||||
constructor(client: QueryClient, queries: Array<QueryObserverOptions<any, any, any, any, any>>, options?: QueriesObserverOptions<TCombinedResult>);
|
||||
protected onSubscribe(): void;
|
||||
protected onUnsubscribe(): void;
|
||||
destroy(): void;
|
||||
setQueries(queries: Array<QueryObserverOptions>, options?: QueriesObserverOptions<TCombinedResult>, notifyOptions?: NotifyOptions): void;
|
||||
getCurrentResult(): Array<QueryObserverResult>;
|
||||
getQueries(): Query<unknown, Error, unknown, QueryKey>[];
|
||||
getObservers(): QueryObserver<unknown, Error, unknown, unknown, QueryKey>[];
|
||||
getOptimisticResult(queries: Array<QueryObserverOptions>, combine: CombineFn<TCombinedResult> | undefined): [
|
||||
rawResult: Array<QueryObserverResult>,
|
||||
combineResult: (r?: Array<QueryObserverResult>) => TCombinedResult,
|
||||
trackResult: () => Array<QueryObserverResult>
|
||||
];
|
||||
}
|
||||
|
||||
export { QueriesObserver, type QueriesObserverOptions };
|
||||
202
node_modules/@tanstack/query-core/build/modern/queriesObserver.js
generated
vendored
Normal file
202
node_modules/@tanstack/query-core/build/modern/queriesObserver.js
generated
vendored
Normal file
@ -0,0 +1,202 @@
|
||||
// src/queriesObserver.ts
|
||||
import { notifyManager } from "./notifyManager.js";
|
||||
import { QueryObserver } from "./queryObserver.js";
|
||||
import { Subscribable } from "./subscribable.js";
|
||||
import { replaceEqualDeep } from "./utils.js";
|
||||
function difference(array1, array2) {
|
||||
return array1.filter((x) => !array2.includes(x));
|
||||
}
|
||||
function replaceAt(array, index, value) {
|
||||
const copy = array.slice(0);
|
||||
copy[index] = value;
|
||||
return copy;
|
||||
}
|
||||
var QueriesObserver = class extends Subscribable {
|
||||
#client;
|
||||
#result;
|
||||
#queries;
|
||||
#options;
|
||||
#observers;
|
||||
#combinedResult;
|
||||
#lastCombine;
|
||||
#lastResult;
|
||||
constructor(client, queries, options) {
|
||||
super();
|
||||
this.#client = client;
|
||||
this.#options = options;
|
||||
this.#queries = [];
|
||||
this.#observers = [];
|
||||
this.#result = [];
|
||||
this.setQueries(queries);
|
||||
}
|
||||
onSubscribe() {
|
||||
if (this.listeners.size === 1) {
|
||||
this.#observers.forEach((observer) => {
|
||||
observer.subscribe((result) => {
|
||||
this.#onUpdate(observer, result);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
onUnsubscribe() {
|
||||
if (!this.listeners.size) {
|
||||
this.destroy();
|
||||
}
|
||||
}
|
||||
destroy() {
|
||||
this.listeners = /* @__PURE__ */ new Set();
|
||||
this.#observers.forEach((observer) => {
|
||||
observer.destroy();
|
||||
});
|
||||
}
|
||||
setQueries(queries, options, notifyOptions) {
|
||||
this.#queries = queries;
|
||||
this.#options = options;
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
const queryHashes = queries.map((query) => query.queryHash);
|
||||
if (new Set(queryHashes).size !== queryHashes.length) {
|
||||
console.warn(
|
||||
"[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior."
|
||||
);
|
||||
}
|
||||
}
|
||||
notifyManager.batch(() => {
|
||||
const prevObservers = this.#observers;
|
||||
const newObserverMatches = this.#findMatchingObservers(this.#queries);
|
||||
newObserverMatches.forEach(
|
||||
(match) => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions)
|
||||
);
|
||||
const newObservers = newObserverMatches.map((match) => match.observer);
|
||||
const newResult = newObservers.map(
|
||||
(observer) => observer.getCurrentResult()
|
||||
);
|
||||
const hasIndexChange = newObservers.some(
|
||||
(observer, index) => observer !== prevObservers[index]
|
||||
);
|
||||
if (prevObservers.length === newObservers.length && !hasIndexChange) {
|
||||
return;
|
||||
}
|
||||
this.#observers = newObservers;
|
||||
this.#result = newResult;
|
||||
if (!this.hasListeners()) {
|
||||
return;
|
||||
}
|
||||
difference(prevObservers, newObservers).forEach((observer) => {
|
||||
observer.destroy();
|
||||
});
|
||||
difference(newObservers, prevObservers).forEach((observer) => {
|
||||
observer.subscribe((result) => {
|
||||
this.#onUpdate(observer, result);
|
||||
});
|
||||
});
|
||||
this.#notify();
|
||||
});
|
||||
}
|
||||
getCurrentResult() {
|
||||
return this.#result;
|
||||
}
|
||||
getQueries() {
|
||||
return this.#observers.map((observer) => observer.getCurrentQuery());
|
||||
}
|
||||
getObservers() {
|
||||
return this.#observers;
|
||||
}
|
||||
getOptimisticResult(queries, combine) {
|
||||
const matches = this.#findMatchingObservers(queries);
|
||||
const result = matches.map(
|
||||
(match) => match.observer.getOptimisticResult(match.defaultedQueryOptions)
|
||||
);
|
||||
return [
|
||||
result,
|
||||
(r) => {
|
||||
return this.#combineResult(r ?? result, combine);
|
||||
},
|
||||
() => {
|
||||
return this.#trackResult(result, queries);
|
||||
}
|
||||
];
|
||||
}
|
||||
#trackResult(result, queries) {
|
||||
const matches = this.#findMatchingObservers(queries);
|
||||
return matches.map((match, index) => {
|
||||
const observerResult = result[index];
|
||||
return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {
|
||||
matches.forEach((m) => {
|
||||
m.observer.trackProp(accessedProp);
|
||||
});
|
||||
}) : observerResult;
|
||||
});
|
||||
}
|
||||
#combineResult(input, combine) {
|
||||
if (combine) {
|
||||
if (!this.#combinedResult || this.#result !== this.#lastResult || combine !== this.#lastCombine) {
|
||||
this.#lastCombine = combine;
|
||||
this.#lastResult = this.#result;
|
||||
this.#combinedResult = replaceEqualDeep(
|
||||
this.#combinedResult,
|
||||
combine(input)
|
||||
);
|
||||
}
|
||||
return this.#combinedResult;
|
||||
}
|
||||
return input;
|
||||
}
|
||||
#findMatchingObservers(queries) {
|
||||
const prevObserversMap = new Map(
|
||||
this.#observers.map((observer) => [observer.options.queryHash, observer])
|
||||
);
|
||||
const observers = [];
|
||||
queries.forEach((options) => {
|
||||
const defaultedOptions = this.#client.defaultQueryOptions(options);
|
||||
const match = prevObserversMap.get(defaultedOptions.queryHash);
|
||||
if (match) {
|
||||
observers.push({
|
||||
defaultedQueryOptions: defaultedOptions,
|
||||
observer: match
|
||||
});
|
||||
} else {
|
||||
const existingObserver = this.#observers.find(
|
||||
(o) => o.options.queryHash === defaultedOptions.queryHash
|
||||
);
|
||||
observers.push({
|
||||
defaultedQueryOptions: defaultedOptions,
|
||||
observer: existingObserver ?? new QueryObserver(this.#client, defaultedOptions)
|
||||
});
|
||||
}
|
||||
});
|
||||
return observers.sort((a, b) => {
|
||||
return queries.findIndex(
|
||||
(q) => q.queryHash === a.defaultedQueryOptions.queryHash
|
||||
) - queries.findIndex(
|
||||
(q) => q.queryHash === b.defaultedQueryOptions.queryHash
|
||||
);
|
||||
});
|
||||
}
|
||||
#onUpdate(observer, result) {
|
||||
const index = this.#observers.indexOf(observer);
|
||||
if (index !== -1) {
|
||||
this.#result = replaceAt(this.#result, index, result);
|
||||
this.#notify();
|
||||
}
|
||||
}
|
||||
#notify() {
|
||||
if (this.hasListeners()) {
|
||||
const previousResult = this.#combinedResult;
|
||||
const newResult = this.#combineResult(
|
||||
this.#trackResult(this.#result, this.#queries),
|
||||
this.#options?.combine
|
||||
);
|
||||
if (previousResult !== newResult) {
|
||||
notifyManager.batch(() => {
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(this.#result);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
export {
|
||||
QueriesObserver
|
||||
};
|
||||
//# sourceMappingURL=queriesObserver.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/queriesObserver.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/queriesObserver.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
402
node_modules/@tanstack/query-core/build/modern/query.cjs
generated
vendored
Normal file
402
node_modules/@tanstack/query-core/build/modern/query.cjs
generated
vendored
Normal file
@ -0,0 +1,402 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/query.ts
|
||||
var query_exports = {};
|
||||
__export(query_exports, {
|
||||
Query: () => Query,
|
||||
fetchState: () => fetchState
|
||||
});
|
||||
module.exports = __toCommonJS(query_exports);
|
||||
var import_utils = require("./utils.cjs");
|
||||
var import_notifyManager = require("./notifyManager.cjs");
|
||||
var import_retryer = require("./retryer.cjs");
|
||||
var import_removable = require("./removable.cjs");
|
||||
var Query = class extends import_removable.Removable {
|
||||
#initialState;
|
||||
#revertState;
|
||||
#cache;
|
||||
#retryer;
|
||||
#defaultOptions;
|
||||
#abortSignalConsumed;
|
||||
constructor(config) {
|
||||
super();
|
||||
this.#abortSignalConsumed = false;
|
||||
this.#defaultOptions = config.defaultOptions;
|
||||
this.setOptions(config.options);
|
||||
this.observers = [];
|
||||
this.#cache = config.cache;
|
||||
this.queryKey = config.queryKey;
|
||||
this.queryHash = config.queryHash;
|
||||
this.#initialState = getDefaultState(this.options);
|
||||
this.state = config.state ?? this.#initialState;
|
||||
this.scheduleGc();
|
||||
}
|
||||
get meta() {
|
||||
return this.options.meta;
|
||||
}
|
||||
get promise() {
|
||||
return this.#retryer?.promise;
|
||||
}
|
||||
setOptions(options) {
|
||||
this.options = { ...this.#defaultOptions, ...options };
|
||||
this.updateGcTime(this.options.gcTime);
|
||||
}
|
||||
optionalRemove() {
|
||||
if (!this.observers.length && this.state.fetchStatus === "idle") {
|
||||
this.#cache.remove(this);
|
||||
}
|
||||
}
|
||||
setData(newData, options) {
|
||||
const data = (0, import_utils.replaceData)(this.state.data, newData, this.options);
|
||||
this.#dispatch({
|
||||
data,
|
||||
type: "success",
|
||||
dataUpdatedAt: options?.updatedAt,
|
||||
manual: options?.manual
|
||||
});
|
||||
return data;
|
||||
}
|
||||
setState(state, setStateOptions) {
|
||||
this.#dispatch({ type: "setState", state, setStateOptions });
|
||||
}
|
||||
cancel(options) {
|
||||
const promise = this.#retryer?.promise;
|
||||
this.#retryer?.cancel(options);
|
||||
return promise ? promise.then(import_utils.noop).catch(import_utils.noop) : Promise.resolve();
|
||||
}
|
||||
destroy() {
|
||||
super.destroy();
|
||||
this.cancel({ silent: true });
|
||||
}
|
||||
reset() {
|
||||
this.destroy();
|
||||
this.setState(this.#initialState);
|
||||
}
|
||||
isActive() {
|
||||
return this.observers.some(
|
||||
(observer) => (0, import_utils.resolveEnabled)(observer.options.enabled, this) !== false
|
||||
);
|
||||
}
|
||||
isDisabled() {
|
||||
if (this.getObserversCount() > 0) {
|
||||
return !this.isActive();
|
||||
}
|
||||
return this.options.queryFn === import_utils.skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0;
|
||||
}
|
||||
isStale() {
|
||||
if (this.state.isInvalidated) {
|
||||
return true;
|
||||
}
|
||||
if (this.getObserversCount() > 0) {
|
||||
return this.observers.some(
|
||||
(observer) => observer.getCurrentResult().isStale
|
||||
);
|
||||
}
|
||||
return this.state.data === void 0;
|
||||
}
|
||||
isStaleByTime(staleTime = 0) {
|
||||
return this.state.isInvalidated || this.state.data === void 0 || !(0, import_utils.timeUntilStale)(this.state.dataUpdatedAt, staleTime);
|
||||
}
|
||||
onFocus() {
|
||||
const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());
|
||||
observer?.refetch({ cancelRefetch: false });
|
||||
this.#retryer?.continue();
|
||||
}
|
||||
onOnline() {
|
||||
const observer = this.observers.find((x) => x.shouldFetchOnReconnect());
|
||||
observer?.refetch({ cancelRefetch: false });
|
||||
this.#retryer?.continue();
|
||||
}
|
||||
addObserver(observer) {
|
||||
if (!this.observers.includes(observer)) {
|
||||
this.observers.push(observer);
|
||||
this.clearGcTimeout();
|
||||
this.#cache.notify({ type: "observerAdded", query: this, observer });
|
||||
}
|
||||
}
|
||||
removeObserver(observer) {
|
||||
if (this.observers.includes(observer)) {
|
||||
this.observers = this.observers.filter((x) => x !== observer);
|
||||
if (!this.observers.length) {
|
||||
if (this.#retryer) {
|
||||
if (this.#abortSignalConsumed) {
|
||||
this.#retryer.cancel({ revert: true });
|
||||
} else {
|
||||
this.#retryer.cancelRetry();
|
||||
}
|
||||
}
|
||||
this.scheduleGc();
|
||||
}
|
||||
this.#cache.notify({ type: "observerRemoved", query: this, observer });
|
||||
}
|
||||
}
|
||||
getObserversCount() {
|
||||
return this.observers.length;
|
||||
}
|
||||
invalidate() {
|
||||
if (!this.state.isInvalidated) {
|
||||
this.#dispatch({ type: "invalidate" });
|
||||
}
|
||||
}
|
||||
fetch(options, fetchOptions) {
|
||||
if (this.state.fetchStatus !== "idle") {
|
||||
if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {
|
||||
this.cancel({ silent: true });
|
||||
} else if (this.#retryer) {
|
||||
this.#retryer.continueRetry();
|
||||
return this.#retryer.promise;
|
||||
}
|
||||
}
|
||||
if (options) {
|
||||
this.setOptions(options);
|
||||
}
|
||||
if (!this.options.queryFn) {
|
||||
const observer = this.observers.find((x) => x.options.queryFn);
|
||||
if (observer) {
|
||||
this.setOptions(observer.options);
|
||||
}
|
||||
}
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
if (!Array.isArray(this.options.queryKey)) {
|
||||
console.error(
|
||||
`As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`
|
||||
);
|
||||
}
|
||||
}
|
||||
const abortController = new AbortController();
|
||||
const addSignalProperty = (object) => {
|
||||
Object.defineProperty(object, "signal", {
|
||||
enumerable: true,
|
||||
get: () => {
|
||||
this.#abortSignalConsumed = true;
|
||||
return abortController.signal;
|
||||
}
|
||||
});
|
||||
};
|
||||
const fetchFn = () => {
|
||||
const queryFn = (0, import_utils.ensureQueryFn)(this.options, fetchOptions);
|
||||
const queryFnContext = {
|
||||
queryKey: this.queryKey,
|
||||
meta: this.meta
|
||||
};
|
||||
addSignalProperty(queryFnContext);
|
||||
this.#abortSignalConsumed = false;
|
||||
if (this.options.persister) {
|
||||
return this.options.persister(
|
||||
queryFn,
|
||||
queryFnContext,
|
||||
this
|
||||
);
|
||||
}
|
||||
return queryFn(queryFnContext);
|
||||
};
|
||||
const context = {
|
||||
fetchOptions,
|
||||
options: this.options,
|
||||
queryKey: this.queryKey,
|
||||
state: this.state,
|
||||
fetchFn
|
||||
};
|
||||
addSignalProperty(context);
|
||||
this.options.behavior?.onFetch(
|
||||
context,
|
||||
this
|
||||
);
|
||||
this.#revertState = this.state;
|
||||
if (this.state.fetchStatus === "idle" || this.state.fetchMeta !== context.fetchOptions?.meta) {
|
||||
this.#dispatch({ type: "fetch", meta: context.fetchOptions?.meta });
|
||||
}
|
||||
const onError = (error) => {
|
||||
if (!((0, import_retryer.isCancelledError)(error) && error.silent)) {
|
||||
this.#dispatch({
|
||||
type: "error",
|
||||
error
|
||||
});
|
||||
}
|
||||
if (!(0, import_retryer.isCancelledError)(error)) {
|
||||
this.#cache.config.onError?.(
|
||||
error,
|
||||
this
|
||||
);
|
||||
this.#cache.config.onSettled?.(
|
||||
this.state.data,
|
||||
error,
|
||||
this
|
||||
);
|
||||
}
|
||||
this.scheduleGc();
|
||||
};
|
||||
this.#retryer = (0, import_retryer.createRetryer)({
|
||||
initialPromise: fetchOptions?.initialPromise,
|
||||
fn: context.fetchFn,
|
||||
abort: abortController.abort.bind(abortController),
|
||||
onSuccess: (data) => {
|
||||
if (data === void 0) {
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
console.error(
|
||||
`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`
|
||||
);
|
||||
}
|
||||
onError(new Error(`${this.queryHash} data is undefined`));
|
||||
return;
|
||||
}
|
||||
try {
|
||||
this.setData(data);
|
||||
} catch (error) {
|
||||
onError(error);
|
||||
return;
|
||||
}
|
||||
this.#cache.config.onSuccess?.(data, this);
|
||||
this.#cache.config.onSettled?.(
|
||||
data,
|
||||
this.state.error,
|
||||
this
|
||||
);
|
||||
this.scheduleGc();
|
||||
},
|
||||
onError,
|
||||
onFail: (failureCount, error) => {
|
||||
this.#dispatch({ type: "failed", failureCount, error });
|
||||
},
|
||||
onPause: () => {
|
||||
this.#dispatch({ type: "pause" });
|
||||
},
|
||||
onContinue: () => {
|
||||
this.#dispatch({ type: "continue" });
|
||||
},
|
||||
retry: context.options.retry,
|
||||
retryDelay: context.options.retryDelay,
|
||||
networkMode: context.options.networkMode,
|
||||
canRun: () => true
|
||||
});
|
||||
return this.#retryer.start();
|
||||
}
|
||||
#dispatch(action) {
|
||||
const reducer = (state) => {
|
||||
switch (action.type) {
|
||||
case "failed":
|
||||
return {
|
||||
...state,
|
||||
fetchFailureCount: action.failureCount,
|
||||
fetchFailureReason: action.error
|
||||
};
|
||||
case "pause":
|
||||
return {
|
||||
...state,
|
||||
fetchStatus: "paused"
|
||||
};
|
||||
case "continue":
|
||||
return {
|
||||
...state,
|
||||
fetchStatus: "fetching"
|
||||
};
|
||||
case "fetch":
|
||||
return {
|
||||
...state,
|
||||
...fetchState(state.data, this.options),
|
||||
fetchMeta: action.meta ?? null
|
||||
};
|
||||
case "success":
|
||||
return {
|
||||
...state,
|
||||
data: action.data,
|
||||
dataUpdateCount: state.dataUpdateCount + 1,
|
||||
dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),
|
||||
error: null,
|
||||
isInvalidated: false,
|
||||
status: "success",
|
||||
...!action.manual && {
|
||||
fetchStatus: "idle",
|
||||
fetchFailureCount: 0,
|
||||
fetchFailureReason: null
|
||||
}
|
||||
};
|
||||
case "error":
|
||||
const error = action.error;
|
||||
if ((0, import_retryer.isCancelledError)(error) && error.revert && this.#revertState) {
|
||||
return { ...this.#revertState, fetchStatus: "idle" };
|
||||
}
|
||||
return {
|
||||
...state,
|
||||
error,
|
||||
errorUpdateCount: state.errorUpdateCount + 1,
|
||||
errorUpdatedAt: Date.now(),
|
||||
fetchFailureCount: state.fetchFailureCount + 1,
|
||||
fetchFailureReason: error,
|
||||
fetchStatus: "idle",
|
||||
status: "error"
|
||||
};
|
||||
case "invalidate":
|
||||
return {
|
||||
...state,
|
||||
isInvalidated: true
|
||||
};
|
||||
case "setState":
|
||||
return {
|
||||
...state,
|
||||
...action.state
|
||||
};
|
||||
}
|
||||
};
|
||||
this.state = reducer(this.state);
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
this.observers.forEach((observer) => {
|
||||
observer.onQueryUpdate();
|
||||
});
|
||||
this.#cache.notify({ query: this, type: "updated", action });
|
||||
});
|
||||
}
|
||||
};
|
||||
function fetchState(data, options) {
|
||||
return {
|
||||
fetchFailureCount: 0,
|
||||
fetchFailureReason: null,
|
||||
fetchStatus: (0, import_retryer.canFetch)(options.networkMode) ? "fetching" : "paused",
|
||||
...data === void 0 && {
|
||||
error: null,
|
||||
status: "pending"
|
||||
}
|
||||
};
|
||||
}
|
||||
function getDefaultState(options) {
|
||||
const data = typeof options.initialData === "function" ? options.initialData() : options.initialData;
|
||||
const hasData = data !== void 0;
|
||||
const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === "function" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;
|
||||
return {
|
||||
data,
|
||||
dataUpdateCount: 0,
|
||||
dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,
|
||||
error: null,
|
||||
errorUpdateCount: 0,
|
||||
errorUpdatedAt: 0,
|
||||
fetchFailureCount: 0,
|
||||
fetchFailureReason: null,
|
||||
fetchMeta: null,
|
||||
isInvalidated: false,
|
||||
status: hasData ? "success" : "pending",
|
||||
fetchStatus: "idle"
|
||||
};
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
Query,
|
||||
fetchState
|
||||
});
|
||||
//# sourceMappingURL=query.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/query.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/query.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
node_modules/@tanstack/query-core/build/modern/query.d.cts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/query.d.cts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import './removable.cjs';
|
||||
export { b3 as Action, a$ as FetchContext, b0 as FetchDirection, b1 as FetchMeta, b2 as FetchOptions, u as Query, aZ as QueryBehavior, t as QueryState, b4 as SetStateOptions, b5 as fetchState } from './hydration-BXpkOXt5.cjs';
|
||||
import './subscribable.cjs';
|
||||
3
node_modules/@tanstack/query-core/build/modern/query.d.ts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/query.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import './removable.js';
|
||||
export { b3 as Action, a$ as FetchContext, b0 as FetchDirection, b1 as FetchMeta, b2 as FetchOptions, u as Query, aZ as QueryBehavior, t as QueryState, b4 as SetStateOptions, b5 as fetchState } from './hydration-mKPlgzt9.js';
|
||||
import './subscribable.js';
|
||||
383
node_modules/@tanstack/query-core/build/modern/query.js
generated
vendored
Normal file
383
node_modules/@tanstack/query-core/build/modern/query.js
generated
vendored
Normal file
@ -0,0 +1,383 @@
|
||||
// src/query.ts
|
||||
import {
|
||||
ensureQueryFn,
|
||||
noop,
|
||||
replaceData,
|
||||
resolveEnabled,
|
||||
skipToken,
|
||||
timeUntilStale
|
||||
} from "./utils.js";
|
||||
import { notifyManager } from "./notifyManager.js";
|
||||
import { canFetch, createRetryer, isCancelledError } from "./retryer.js";
|
||||
import { Removable } from "./removable.js";
|
||||
var Query = class extends Removable {
|
||||
#initialState;
|
||||
#revertState;
|
||||
#cache;
|
||||
#retryer;
|
||||
#defaultOptions;
|
||||
#abortSignalConsumed;
|
||||
constructor(config) {
|
||||
super();
|
||||
this.#abortSignalConsumed = false;
|
||||
this.#defaultOptions = config.defaultOptions;
|
||||
this.setOptions(config.options);
|
||||
this.observers = [];
|
||||
this.#cache = config.cache;
|
||||
this.queryKey = config.queryKey;
|
||||
this.queryHash = config.queryHash;
|
||||
this.#initialState = getDefaultState(this.options);
|
||||
this.state = config.state ?? this.#initialState;
|
||||
this.scheduleGc();
|
||||
}
|
||||
get meta() {
|
||||
return this.options.meta;
|
||||
}
|
||||
get promise() {
|
||||
return this.#retryer?.promise;
|
||||
}
|
||||
setOptions(options) {
|
||||
this.options = { ...this.#defaultOptions, ...options };
|
||||
this.updateGcTime(this.options.gcTime);
|
||||
}
|
||||
optionalRemove() {
|
||||
if (!this.observers.length && this.state.fetchStatus === "idle") {
|
||||
this.#cache.remove(this);
|
||||
}
|
||||
}
|
||||
setData(newData, options) {
|
||||
const data = replaceData(this.state.data, newData, this.options);
|
||||
this.#dispatch({
|
||||
data,
|
||||
type: "success",
|
||||
dataUpdatedAt: options?.updatedAt,
|
||||
manual: options?.manual
|
||||
});
|
||||
return data;
|
||||
}
|
||||
setState(state, setStateOptions) {
|
||||
this.#dispatch({ type: "setState", state, setStateOptions });
|
||||
}
|
||||
cancel(options) {
|
||||
const promise = this.#retryer?.promise;
|
||||
this.#retryer?.cancel(options);
|
||||
return promise ? promise.then(noop).catch(noop) : Promise.resolve();
|
||||
}
|
||||
destroy() {
|
||||
super.destroy();
|
||||
this.cancel({ silent: true });
|
||||
}
|
||||
reset() {
|
||||
this.destroy();
|
||||
this.setState(this.#initialState);
|
||||
}
|
||||
isActive() {
|
||||
return this.observers.some(
|
||||
(observer) => resolveEnabled(observer.options.enabled, this) !== false
|
||||
);
|
||||
}
|
||||
isDisabled() {
|
||||
if (this.getObserversCount() > 0) {
|
||||
return !this.isActive();
|
||||
}
|
||||
return this.options.queryFn === skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0;
|
||||
}
|
||||
isStale() {
|
||||
if (this.state.isInvalidated) {
|
||||
return true;
|
||||
}
|
||||
if (this.getObserversCount() > 0) {
|
||||
return this.observers.some(
|
||||
(observer) => observer.getCurrentResult().isStale
|
||||
);
|
||||
}
|
||||
return this.state.data === void 0;
|
||||
}
|
||||
isStaleByTime(staleTime = 0) {
|
||||
return this.state.isInvalidated || this.state.data === void 0 || !timeUntilStale(this.state.dataUpdatedAt, staleTime);
|
||||
}
|
||||
onFocus() {
|
||||
const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());
|
||||
observer?.refetch({ cancelRefetch: false });
|
||||
this.#retryer?.continue();
|
||||
}
|
||||
onOnline() {
|
||||
const observer = this.observers.find((x) => x.shouldFetchOnReconnect());
|
||||
observer?.refetch({ cancelRefetch: false });
|
||||
this.#retryer?.continue();
|
||||
}
|
||||
addObserver(observer) {
|
||||
if (!this.observers.includes(observer)) {
|
||||
this.observers.push(observer);
|
||||
this.clearGcTimeout();
|
||||
this.#cache.notify({ type: "observerAdded", query: this, observer });
|
||||
}
|
||||
}
|
||||
removeObserver(observer) {
|
||||
if (this.observers.includes(observer)) {
|
||||
this.observers = this.observers.filter((x) => x !== observer);
|
||||
if (!this.observers.length) {
|
||||
if (this.#retryer) {
|
||||
if (this.#abortSignalConsumed) {
|
||||
this.#retryer.cancel({ revert: true });
|
||||
} else {
|
||||
this.#retryer.cancelRetry();
|
||||
}
|
||||
}
|
||||
this.scheduleGc();
|
||||
}
|
||||
this.#cache.notify({ type: "observerRemoved", query: this, observer });
|
||||
}
|
||||
}
|
||||
getObserversCount() {
|
||||
return this.observers.length;
|
||||
}
|
||||
invalidate() {
|
||||
if (!this.state.isInvalidated) {
|
||||
this.#dispatch({ type: "invalidate" });
|
||||
}
|
||||
}
|
||||
fetch(options, fetchOptions) {
|
||||
if (this.state.fetchStatus !== "idle") {
|
||||
if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {
|
||||
this.cancel({ silent: true });
|
||||
} else if (this.#retryer) {
|
||||
this.#retryer.continueRetry();
|
||||
return this.#retryer.promise;
|
||||
}
|
||||
}
|
||||
if (options) {
|
||||
this.setOptions(options);
|
||||
}
|
||||
if (!this.options.queryFn) {
|
||||
const observer = this.observers.find((x) => x.options.queryFn);
|
||||
if (observer) {
|
||||
this.setOptions(observer.options);
|
||||
}
|
||||
}
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
if (!Array.isArray(this.options.queryKey)) {
|
||||
console.error(
|
||||
`As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`
|
||||
);
|
||||
}
|
||||
}
|
||||
const abortController = new AbortController();
|
||||
const addSignalProperty = (object) => {
|
||||
Object.defineProperty(object, "signal", {
|
||||
enumerable: true,
|
||||
get: () => {
|
||||
this.#abortSignalConsumed = true;
|
||||
return abortController.signal;
|
||||
}
|
||||
});
|
||||
};
|
||||
const fetchFn = () => {
|
||||
const queryFn = ensureQueryFn(this.options, fetchOptions);
|
||||
const queryFnContext = {
|
||||
queryKey: this.queryKey,
|
||||
meta: this.meta
|
||||
};
|
||||
addSignalProperty(queryFnContext);
|
||||
this.#abortSignalConsumed = false;
|
||||
if (this.options.persister) {
|
||||
return this.options.persister(
|
||||
queryFn,
|
||||
queryFnContext,
|
||||
this
|
||||
);
|
||||
}
|
||||
return queryFn(queryFnContext);
|
||||
};
|
||||
const context = {
|
||||
fetchOptions,
|
||||
options: this.options,
|
||||
queryKey: this.queryKey,
|
||||
state: this.state,
|
||||
fetchFn
|
||||
};
|
||||
addSignalProperty(context);
|
||||
this.options.behavior?.onFetch(
|
||||
context,
|
||||
this
|
||||
);
|
||||
this.#revertState = this.state;
|
||||
if (this.state.fetchStatus === "idle" || this.state.fetchMeta !== context.fetchOptions?.meta) {
|
||||
this.#dispatch({ type: "fetch", meta: context.fetchOptions?.meta });
|
||||
}
|
||||
const onError = (error) => {
|
||||
if (!(isCancelledError(error) && error.silent)) {
|
||||
this.#dispatch({
|
||||
type: "error",
|
||||
error
|
||||
});
|
||||
}
|
||||
if (!isCancelledError(error)) {
|
||||
this.#cache.config.onError?.(
|
||||
error,
|
||||
this
|
||||
);
|
||||
this.#cache.config.onSettled?.(
|
||||
this.state.data,
|
||||
error,
|
||||
this
|
||||
);
|
||||
}
|
||||
this.scheduleGc();
|
||||
};
|
||||
this.#retryer = createRetryer({
|
||||
initialPromise: fetchOptions?.initialPromise,
|
||||
fn: context.fetchFn,
|
||||
abort: abortController.abort.bind(abortController),
|
||||
onSuccess: (data) => {
|
||||
if (data === void 0) {
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
console.error(
|
||||
`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`
|
||||
);
|
||||
}
|
||||
onError(new Error(`${this.queryHash} data is undefined`));
|
||||
return;
|
||||
}
|
||||
try {
|
||||
this.setData(data);
|
||||
} catch (error) {
|
||||
onError(error);
|
||||
return;
|
||||
}
|
||||
this.#cache.config.onSuccess?.(data, this);
|
||||
this.#cache.config.onSettled?.(
|
||||
data,
|
||||
this.state.error,
|
||||
this
|
||||
);
|
||||
this.scheduleGc();
|
||||
},
|
||||
onError,
|
||||
onFail: (failureCount, error) => {
|
||||
this.#dispatch({ type: "failed", failureCount, error });
|
||||
},
|
||||
onPause: () => {
|
||||
this.#dispatch({ type: "pause" });
|
||||
},
|
||||
onContinue: () => {
|
||||
this.#dispatch({ type: "continue" });
|
||||
},
|
||||
retry: context.options.retry,
|
||||
retryDelay: context.options.retryDelay,
|
||||
networkMode: context.options.networkMode,
|
||||
canRun: () => true
|
||||
});
|
||||
return this.#retryer.start();
|
||||
}
|
||||
#dispatch(action) {
|
||||
const reducer = (state) => {
|
||||
switch (action.type) {
|
||||
case "failed":
|
||||
return {
|
||||
...state,
|
||||
fetchFailureCount: action.failureCount,
|
||||
fetchFailureReason: action.error
|
||||
};
|
||||
case "pause":
|
||||
return {
|
||||
...state,
|
||||
fetchStatus: "paused"
|
||||
};
|
||||
case "continue":
|
||||
return {
|
||||
...state,
|
||||
fetchStatus: "fetching"
|
||||
};
|
||||
case "fetch":
|
||||
return {
|
||||
...state,
|
||||
...fetchState(state.data, this.options),
|
||||
fetchMeta: action.meta ?? null
|
||||
};
|
||||
case "success":
|
||||
return {
|
||||
...state,
|
||||
data: action.data,
|
||||
dataUpdateCount: state.dataUpdateCount + 1,
|
||||
dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),
|
||||
error: null,
|
||||
isInvalidated: false,
|
||||
status: "success",
|
||||
...!action.manual && {
|
||||
fetchStatus: "idle",
|
||||
fetchFailureCount: 0,
|
||||
fetchFailureReason: null
|
||||
}
|
||||
};
|
||||
case "error":
|
||||
const error = action.error;
|
||||
if (isCancelledError(error) && error.revert && this.#revertState) {
|
||||
return { ...this.#revertState, fetchStatus: "idle" };
|
||||
}
|
||||
return {
|
||||
...state,
|
||||
error,
|
||||
errorUpdateCount: state.errorUpdateCount + 1,
|
||||
errorUpdatedAt: Date.now(),
|
||||
fetchFailureCount: state.fetchFailureCount + 1,
|
||||
fetchFailureReason: error,
|
||||
fetchStatus: "idle",
|
||||
status: "error"
|
||||
};
|
||||
case "invalidate":
|
||||
return {
|
||||
...state,
|
||||
isInvalidated: true
|
||||
};
|
||||
case "setState":
|
||||
return {
|
||||
...state,
|
||||
...action.state
|
||||
};
|
||||
}
|
||||
};
|
||||
this.state = reducer(this.state);
|
||||
notifyManager.batch(() => {
|
||||
this.observers.forEach((observer) => {
|
||||
observer.onQueryUpdate();
|
||||
});
|
||||
this.#cache.notify({ query: this, type: "updated", action });
|
||||
});
|
||||
}
|
||||
};
|
||||
function fetchState(data, options) {
|
||||
return {
|
||||
fetchFailureCount: 0,
|
||||
fetchFailureReason: null,
|
||||
fetchStatus: canFetch(options.networkMode) ? "fetching" : "paused",
|
||||
...data === void 0 && {
|
||||
error: null,
|
||||
status: "pending"
|
||||
}
|
||||
};
|
||||
}
|
||||
function getDefaultState(options) {
|
||||
const data = typeof options.initialData === "function" ? options.initialData() : options.initialData;
|
||||
const hasData = data !== void 0;
|
||||
const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === "function" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;
|
||||
return {
|
||||
data,
|
||||
dataUpdateCount: 0,
|
||||
dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,
|
||||
error: null,
|
||||
errorUpdateCount: 0,
|
||||
errorUpdatedAt: 0,
|
||||
fetchFailureCount: 0,
|
||||
fetchFailureReason: null,
|
||||
fetchMeta: null,
|
||||
isInvalidated: false,
|
||||
status: hasData ? "success" : "pending",
|
||||
fetchStatus: "idle"
|
||||
};
|
||||
}
|
||||
export {
|
||||
Query,
|
||||
fetchState
|
||||
};
|
||||
//# sourceMappingURL=query.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/query.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/query.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
122
node_modules/@tanstack/query-core/build/modern/queryCache.cjs
generated
vendored
Normal file
122
node_modules/@tanstack/query-core/build/modern/queryCache.cjs
generated
vendored
Normal file
@ -0,0 +1,122 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/queryCache.ts
|
||||
var queryCache_exports = {};
|
||||
__export(queryCache_exports, {
|
||||
QueryCache: () => QueryCache
|
||||
});
|
||||
module.exports = __toCommonJS(queryCache_exports);
|
||||
var import_utils = require("./utils.cjs");
|
||||
var import_query = require("./query.cjs");
|
||||
var import_notifyManager = require("./notifyManager.cjs");
|
||||
var import_subscribable = require("./subscribable.cjs");
|
||||
var QueryCache = class extends import_subscribable.Subscribable {
|
||||
constructor(config = {}) {
|
||||
super();
|
||||
this.config = config;
|
||||
this.#queries = /* @__PURE__ */ new Map();
|
||||
}
|
||||
#queries;
|
||||
build(client, options, state) {
|
||||
const queryKey = options.queryKey;
|
||||
const queryHash = options.queryHash ?? (0, import_utils.hashQueryKeyByOptions)(queryKey, options);
|
||||
let query = this.get(queryHash);
|
||||
if (!query) {
|
||||
query = new import_query.Query({
|
||||
cache: this,
|
||||
queryKey,
|
||||
queryHash,
|
||||
options: client.defaultQueryOptions(options),
|
||||
state,
|
||||
defaultOptions: client.getQueryDefaults(queryKey)
|
||||
});
|
||||
this.add(query);
|
||||
}
|
||||
return query;
|
||||
}
|
||||
add(query) {
|
||||
if (!this.#queries.has(query.queryHash)) {
|
||||
this.#queries.set(query.queryHash, query);
|
||||
this.notify({
|
||||
type: "added",
|
||||
query
|
||||
});
|
||||
}
|
||||
}
|
||||
remove(query) {
|
||||
const queryInMap = this.#queries.get(query.queryHash);
|
||||
if (queryInMap) {
|
||||
query.destroy();
|
||||
if (queryInMap === query) {
|
||||
this.#queries.delete(query.queryHash);
|
||||
}
|
||||
this.notify({ type: "removed", query });
|
||||
}
|
||||
}
|
||||
clear() {
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
this.getAll().forEach((query) => {
|
||||
this.remove(query);
|
||||
});
|
||||
});
|
||||
}
|
||||
get(queryHash) {
|
||||
return this.#queries.get(queryHash);
|
||||
}
|
||||
getAll() {
|
||||
return [...this.#queries.values()];
|
||||
}
|
||||
find(filters) {
|
||||
const defaultedFilters = { exact: true, ...filters };
|
||||
return this.getAll().find(
|
||||
(query) => (0, import_utils.matchQuery)(defaultedFilters, query)
|
||||
);
|
||||
}
|
||||
findAll(filters = {}) {
|
||||
const queries = this.getAll();
|
||||
return Object.keys(filters).length > 0 ? queries.filter((query) => (0, import_utils.matchQuery)(filters, query)) : queries;
|
||||
}
|
||||
notify(event) {
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(event);
|
||||
});
|
||||
});
|
||||
}
|
||||
onFocus() {
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
this.getAll().forEach((query) => {
|
||||
query.onFocus();
|
||||
});
|
||||
});
|
||||
}
|
||||
onOnline() {
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
this.getAll().forEach((query) => {
|
||||
query.onOnline();
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
QueryCache
|
||||
});
|
||||
//# sourceMappingURL=queryCache.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/queryCache.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/queryCache.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
node_modules/@tanstack/query-core/build/modern/queryCache.d.cts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/queryCache.d.cts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export { Q as QueryCache, a as QueryCacheNotifyEvent, bn as QueryStore } from './hydration-BXpkOXt5.cjs';
|
||||
import './subscribable.cjs';
|
||||
import './removable.cjs';
|
||||
3
node_modules/@tanstack/query-core/build/modern/queryCache.d.ts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/queryCache.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export { Q as QueryCache, a as QueryCacheNotifyEvent, bn as QueryStore } from './hydration-mKPlgzt9.js';
|
||||
import './subscribable.js';
|
||||
import './removable.js';
|
||||
97
node_modules/@tanstack/query-core/build/modern/queryCache.js
generated
vendored
Normal file
97
node_modules/@tanstack/query-core/build/modern/queryCache.js
generated
vendored
Normal file
@ -0,0 +1,97 @@
|
||||
// src/queryCache.ts
|
||||
import { hashQueryKeyByOptions, matchQuery } from "./utils.js";
|
||||
import { Query } from "./query.js";
|
||||
import { notifyManager } from "./notifyManager.js";
|
||||
import { Subscribable } from "./subscribable.js";
|
||||
var QueryCache = class extends Subscribable {
|
||||
constructor(config = {}) {
|
||||
super();
|
||||
this.config = config;
|
||||
this.#queries = /* @__PURE__ */ new Map();
|
||||
}
|
||||
#queries;
|
||||
build(client, options, state) {
|
||||
const queryKey = options.queryKey;
|
||||
const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);
|
||||
let query = this.get(queryHash);
|
||||
if (!query) {
|
||||
query = new Query({
|
||||
cache: this,
|
||||
queryKey,
|
||||
queryHash,
|
||||
options: client.defaultQueryOptions(options),
|
||||
state,
|
||||
defaultOptions: client.getQueryDefaults(queryKey)
|
||||
});
|
||||
this.add(query);
|
||||
}
|
||||
return query;
|
||||
}
|
||||
add(query) {
|
||||
if (!this.#queries.has(query.queryHash)) {
|
||||
this.#queries.set(query.queryHash, query);
|
||||
this.notify({
|
||||
type: "added",
|
||||
query
|
||||
});
|
||||
}
|
||||
}
|
||||
remove(query) {
|
||||
const queryInMap = this.#queries.get(query.queryHash);
|
||||
if (queryInMap) {
|
||||
query.destroy();
|
||||
if (queryInMap === query) {
|
||||
this.#queries.delete(query.queryHash);
|
||||
}
|
||||
this.notify({ type: "removed", query });
|
||||
}
|
||||
}
|
||||
clear() {
|
||||
notifyManager.batch(() => {
|
||||
this.getAll().forEach((query) => {
|
||||
this.remove(query);
|
||||
});
|
||||
});
|
||||
}
|
||||
get(queryHash) {
|
||||
return this.#queries.get(queryHash);
|
||||
}
|
||||
getAll() {
|
||||
return [...this.#queries.values()];
|
||||
}
|
||||
find(filters) {
|
||||
const defaultedFilters = { exact: true, ...filters };
|
||||
return this.getAll().find(
|
||||
(query) => matchQuery(defaultedFilters, query)
|
||||
);
|
||||
}
|
||||
findAll(filters = {}) {
|
||||
const queries = this.getAll();
|
||||
return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;
|
||||
}
|
||||
notify(event) {
|
||||
notifyManager.batch(() => {
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(event);
|
||||
});
|
||||
});
|
||||
}
|
||||
onFocus() {
|
||||
notifyManager.batch(() => {
|
||||
this.getAll().forEach((query) => {
|
||||
query.onFocus();
|
||||
});
|
||||
});
|
||||
}
|
||||
onOnline() {
|
||||
notifyManager.batch(() => {
|
||||
this.getAll().forEach((query) => {
|
||||
query.onOnline();
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
export {
|
||||
QueryCache
|
||||
};
|
||||
//# sourceMappingURL=queryCache.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/queryCache.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/queryCache.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
312
node_modules/@tanstack/query-core/build/modern/queryClient.cjs
generated
vendored
Normal file
312
node_modules/@tanstack/query-core/build/modern/queryClient.cjs
generated
vendored
Normal file
@ -0,0 +1,312 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/queryClient.ts
|
||||
var queryClient_exports = {};
|
||||
__export(queryClient_exports, {
|
||||
QueryClient: () => QueryClient
|
||||
});
|
||||
module.exports = __toCommonJS(queryClient_exports);
|
||||
var import_utils = require("./utils.cjs");
|
||||
var import_queryCache = require("./queryCache.cjs");
|
||||
var import_mutationCache = require("./mutationCache.cjs");
|
||||
var import_focusManager = require("./focusManager.cjs");
|
||||
var import_onlineManager = require("./onlineManager.cjs");
|
||||
var import_notifyManager = require("./notifyManager.cjs");
|
||||
var import_infiniteQueryBehavior = require("./infiniteQueryBehavior.cjs");
|
||||
var QueryClient = class {
|
||||
#queryCache;
|
||||
#mutationCache;
|
||||
#defaultOptions;
|
||||
#queryDefaults;
|
||||
#mutationDefaults;
|
||||
#mountCount;
|
||||
#unsubscribeFocus;
|
||||
#unsubscribeOnline;
|
||||
constructor(config = {}) {
|
||||
this.#queryCache = config.queryCache || new import_queryCache.QueryCache();
|
||||
this.#mutationCache = config.mutationCache || new import_mutationCache.MutationCache();
|
||||
this.#defaultOptions = config.defaultOptions || {};
|
||||
this.#queryDefaults = /* @__PURE__ */ new Map();
|
||||
this.#mutationDefaults = /* @__PURE__ */ new Map();
|
||||
this.#mountCount = 0;
|
||||
}
|
||||
mount() {
|
||||
this.#mountCount++;
|
||||
if (this.#mountCount !== 1)
|
||||
return;
|
||||
this.#unsubscribeFocus = import_focusManager.focusManager.subscribe(async (focused) => {
|
||||
if (focused) {
|
||||
await this.resumePausedMutations();
|
||||
this.#queryCache.onFocus();
|
||||
}
|
||||
});
|
||||
this.#unsubscribeOnline = import_onlineManager.onlineManager.subscribe(async (online) => {
|
||||
if (online) {
|
||||
await this.resumePausedMutations();
|
||||
this.#queryCache.onOnline();
|
||||
}
|
||||
});
|
||||
}
|
||||
unmount() {
|
||||
this.#mountCount--;
|
||||
if (this.#mountCount !== 0)
|
||||
return;
|
||||
this.#unsubscribeFocus?.();
|
||||
this.#unsubscribeFocus = void 0;
|
||||
this.#unsubscribeOnline?.();
|
||||
this.#unsubscribeOnline = void 0;
|
||||
}
|
||||
isFetching(filters) {
|
||||
return this.#queryCache.findAll({ ...filters, fetchStatus: "fetching" }).length;
|
||||
}
|
||||
isMutating(filters) {
|
||||
return this.#mutationCache.findAll({ ...filters, status: "pending" }).length;
|
||||
}
|
||||
getQueryData(queryKey) {
|
||||
const options = this.defaultQueryOptions({ queryKey });
|
||||
return this.#queryCache.get(options.queryHash)?.state.data;
|
||||
}
|
||||
ensureQueryData(options) {
|
||||
const cachedData = this.getQueryData(options.queryKey);
|
||||
if (cachedData === void 0)
|
||||
return this.fetchQuery(options);
|
||||
else {
|
||||
const defaultedOptions = this.defaultQueryOptions(options);
|
||||
const query = this.#queryCache.build(this, defaultedOptions);
|
||||
if (options.revalidateIfStale && query.isStaleByTime((0, import_utils.resolveStaleTime)(defaultedOptions.staleTime, query))) {
|
||||
void this.prefetchQuery(defaultedOptions);
|
||||
}
|
||||
return Promise.resolve(cachedData);
|
||||
}
|
||||
}
|
||||
getQueriesData(filters) {
|
||||
return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {
|
||||
const data = state.data;
|
||||
return [queryKey, data];
|
||||
});
|
||||
}
|
||||
setQueryData(queryKey, updater, options) {
|
||||
const defaultedOptions = this.defaultQueryOptions({ queryKey });
|
||||
const query = this.#queryCache.get(
|
||||
defaultedOptions.queryHash
|
||||
);
|
||||
const prevData = query?.state.data;
|
||||
const data = (0, import_utils.functionalUpdate)(updater, prevData);
|
||||
if (data === void 0) {
|
||||
return void 0;
|
||||
}
|
||||
return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });
|
||||
}
|
||||
setQueriesData(filters, updater, options) {
|
||||
return import_notifyManager.notifyManager.batch(
|
||||
() => this.#queryCache.findAll(filters).map(({ queryKey }) => [
|
||||
queryKey,
|
||||
this.setQueryData(queryKey, updater, options)
|
||||
])
|
||||
);
|
||||
}
|
||||
getQueryState(queryKey) {
|
||||
const options = this.defaultQueryOptions({ queryKey });
|
||||
return this.#queryCache.get(options.queryHash)?.state;
|
||||
}
|
||||
removeQueries(filters) {
|
||||
const queryCache = this.#queryCache;
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
queryCache.findAll(filters).forEach((query) => {
|
||||
queryCache.remove(query);
|
||||
});
|
||||
});
|
||||
}
|
||||
resetQueries(filters, options) {
|
||||
const queryCache = this.#queryCache;
|
||||
const refetchFilters = {
|
||||
type: "active",
|
||||
...filters
|
||||
};
|
||||
return import_notifyManager.notifyManager.batch(() => {
|
||||
queryCache.findAll(filters).forEach((query) => {
|
||||
query.reset();
|
||||
});
|
||||
return this.refetchQueries(refetchFilters, options);
|
||||
});
|
||||
}
|
||||
cancelQueries(filters = {}, cancelOptions = {}) {
|
||||
const defaultedCancelOptions = { revert: true, ...cancelOptions };
|
||||
const promises = import_notifyManager.notifyManager.batch(
|
||||
() => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))
|
||||
);
|
||||
return Promise.all(promises).then(import_utils.noop).catch(import_utils.noop);
|
||||
}
|
||||
invalidateQueries(filters = {}, options = {}) {
|
||||
return import_notifyManager.notifyManager.batch(() => {
|
||||
this.#queryCache.findAll(filters).forEach((query) => {
|
||||
query.invalidate();
|
||||
});
|
||||
if (filters.refetchType === "none") {
|
||||
return Promise.resolve();
|
||||
}
|
||||
const refetchFilters = {
|
||||
...filters,
|
||||
type: filters.refetchType ?? filters.type ?? "active"
|
||||
};
|
||||
return this.refetchQueries(refetchFilters, options);
|
||||
});
|
||||
}
|
||||
refetchQueries(filters = {}, options) {
|
||||
const fetchOptions = {
|
||||
...options,
|
||||
cancelRefetch: options?.cancelRefetch ?? true
|
||||
};
|
||||
const promises = import_notifyManager.notifyManager.batch(
|
||||
() => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => {
|
||||
let promise = query.fetch(void 0, fetchOptions);
|
||||
if (!fetchOptions.throwOnError) {
|
||||
promise = promise.catch(import_utils.noop);
|
||||
}
|
||||
return query.state.fetchStatus === "paused" ? Promise.resolve() : promise;
|
||||
})
|
||||
);
|
||||
return Promise.all(promises).then(import_utils.noop);
|
||||
}
|
||||
fetchQuery(options) {
|
||||
const defaultedOptions = this.defaultQueryOptions(options);
|
||||
if (defaultedOptions.retry === void 0) {
|
||||
defaultedOptions.retry = false;
|
||||
}
|
||||
const query = this.#queryCache.build(this, defaultedOptions);
|
||||
return query.isStaleByTime(
|
||||
(0, import_utils.resolveStaleTime)(defaultedOptions.staleTime, query)
|
||||
) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);
|
||||
}
|
||||
prefetchQuery(options) {
|
||||
return this.fetchQuery(options).then(import_utils.noop).catch(import_utils.noop);
|
||||
}
|
||||
fetchInfiniteQuery(options) {
|
||||
options.behavior = (0, import_infiniteQueryBehavior.infiniteQueryBehavior)(options.pages);
|
||||
return this.fetchQuery(options);
|
||||
}
|
||||
prefetchInfiniteQuery(options) {
|
||||
return this.fetchInfiniteQuery(options).then(import_utils.noop).catch(import_utils.noop);
|
||||
}
|
||||
ensureInfiniteQueryData(options) {
|
||||
options.behavior = (0, import_infiniteQueryBehavior.infiniteQueryBehavior)(options.pages);
|
||||
return this.ensureQueryData(options);
|
||||
}
|
||||
resumePausedMutations() {
|
||||
if (import_onlineManager.onlineManager.isOnline()) {
|
||||
return this.#mutationCache.resumePausedMutations();
|
||||
}
|
||||
return Promise.resolve();
|
||||
}
|
||||
getQueryCache() {
|
||||
return this.#queryCache;
|
||||
}
|
||||
getMutationCache() {
|
||||
return this.#mutationCache;
|
||||
}
|
||||
getDefaultOptions() {
|
||||
return this.#defaultOptions;
|
||||
}
|
||||
setDefaultOptions(options) {
|
||||
this.#defaultOptions = options;
|
||||
}
|
||||
setQueryDefaults(queryKey, options) {
|
||||
this.#queryDefaults.set((0, import_utils.hashKey)(queryKey), {
|
||||
queryKey,
|
||||
defaultOptions: options
|
||||
});
|
||||
}
|
||||
getQueryDefaults(queryKey) {
|
||||
const defaults = [...this.#queryDefaults.values()];
|
||||
let result = {};
|
||||
defaults.forEach((queryDefault) => {
|
||||
if ((0, import_utils.partialMatchKey)(queryKey, queryDefault.queryKey)) {
|
||||
result = { ...result, ...queryDefault.defaultOptions };
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
setMutationDefaults(mutationKey, options) {
|
||||
this.#mutationDefaults.set((0, import_utils.hashKey)(mutationKey), {
|
||||
mutationKey,
|
||||
defaultOptions: options
|
||||
});
|
||||
}
|
||||
getMutationDefaults(mutationKey) {
|
||||
const defaults = [...this.#mutationDefaults.values()];
|
||||
let result = {};
|
||||
defaults.forEach((queryDefault) => {
|
||||
if ((0, import_utils.partialMatchKey)(mutationKey, queryDefault.mutationKey)) {
|
||||
result = { ...result, ...queryDefault.defaultOptions };
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
defaultQueryOptions(options) {
|
||||
if (options._defaulted) {
|
||||
return options;
|
||||
}
|
||||
const defaultedOptions = {
|
||||
...this.#defaultOptions.queries,
|
||||
...this.getQueryDefaults(options.queryKey),
|
||||
...options,
|
||||
_defaulted: true
|
||||
};
|
||||
if (!defaultedOptions.queryHash) {
|
||||
defaultedOptions.queryHash = (0, import_utils.hashQueryKeyByOptions)(
|
||||
defaultedOptions.queryKey,
|
||||
defaultedOptions
|
||||
);
|
||||
}
|
||||
if (defaultedOptions.refetchOnReconnect === void 0) {
|
||||
defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== "always";
|
||||
}
|
||||
if (defaultedOptions.throwOnError === void 0) {
|
||||
defaultedOptions.throwOnError = !!defaultedOptions.suspense;
|
||||
}
|
||||
if (!defaultedOptions.networkMode && defaultedOptions.persister) {
|
||||
defaultedOptions.networkMode = "offlineFirst";
|
||||
}
|
||||
if (defaultedOptions.enabled !== true && defaultedOptions.queryFn === import_utils.skipToken) {
|
||||
defaultedOptions.enabled = false;
|
||||
}
|
||||
return defaultedOptions;
|
||||
}
|
||||
defaultMutationOptions(options) {
|
||||
if (options?._defaulted) {
|
||||
return options;
|
||||
}
|
||||
return {
|
||||
...this.#defaultOptions.mutations,
|
||||
...options?.mutationKey && this.getMutationDefaults(options.mutationKey),
|
||||
...options,
|
||||
_defaulted: true
|
||||
};
|
||||
}
|
||||
clear() {
|
||||
this.#queryCache.clear();
|
||||
this.#mutationCache.clear();
|
||||
}
|
||||
};
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
QueryClient
|
||||
});
|
||||
//# sourceMappingURL=queryClient.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/queryClient.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/queryClient.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
node_modules/@tanstack/query-core/build/modern/queryClient.d.cts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/queryClient.d.cts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export { b as QueryClient } from './hydration-BXpkOXt5.cjs';
|
||||
import './removable.cjs';
|
||||
import './subscribable.cjs';
|
||||
3
node_modules/@tanstack/query-core/build/modern/queryClient.d.ts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/queryClient.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export { b as QueryClient } from './hydration-mKPlgzt9.js';
|
||||
import './removable.js';
|
||||
import './subscribable.js';
|
||||
295
node_modules/@tanstack/query-core/build/modern/queryClient.js
generated
vendored
Normal file
295
node_modules/@tanstack/query-core/build/modern/queryClient.js
generated
vendored
Normal file
@ -0,0 +1,295 @@
|
||||
// src/queryClient.ts
|
||||
import {
|
||||
functionalUpdate,
|
||||
hashKey,
|
||||
hashQueryKeyByOptions,
|
||||
noop,
|
||||
partialMatchKey,
|
||||
resolveStaleTime,
|
||||
skipToken
|
||||
} from "./utils.js";
|
||||
import { QueryCache } from "./queryCache.js";
|
||||
import { MutationCache } from "./mutationCache.js";
|
||||
import { focusManager } from "./focusManager.js";
|
||||
import { onlineManager } from "./onlineManager.js";
|
||||
import { notifyManager } from "./notifyManager.js";
|
||||
import { infiniteQueryBehavior } from "./infiniteQueryBehavior.js";
|
||||
var QueryClient = class {
|
||||
#queryCache;
|
||||
#mutationCache;
|
||||
#defaultOptions;
|
||||
#queryDefaults;
|
||||
#mutationDefaults;
|
||||
#mountCount;
|
||||
#unsubscribeFocus;
|
||||
#unsubscribeOnline;
|
||||
constructor(config = {}) {
|
||||
this.#queryCache = config.queryCache || new QueryCache();
|
||||
this.#mutationCache = config.mutationCache || new MutationCache();
|
||||
this.#defaultOptions = config.defaultOptions || {};
|
||||
this.#queryDefaults = /* @__PURE__ */ new Map();
|
||||
this.#mutationDefaults = /* @__PURE__ */ new Map();
|
||||
this.#mountCount = 0;
|
||||
}
|
||||
mount() {
|
||||
this.#mountCount++;
|
||||
if (this.#mountCount !== 1)
|
||||
return;
|
||||
this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {
|
||||
if (focused) {
|
||||
await this.resumePausedMutations();
|
||||
this.#queryCache.onFocus();
|
||||
}
|
||||
});
|
||||
this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {
|
||||
if (online) {
|
||||
await this.resumePausedMutations();
|
||||
this.#queryCache.onOnline();
|
||||
}
|
||||
});
|
||||
}
|
||||
unmount() {
|
||||
this.#mountCount--;
|
||||
if (this.#mountCount !== 0)
|
||||
return;
|
||||
this.#unsubscribeFocus?.();
|
||||
this.#unsubscribeFocus = void 0;
|
||||
this.#unsubscribeOnline?.();
|
||||
this.#unsubscribeOnline = void 0;
|
||||
}
|
||||
isFetching(filters) {
|
||||
return this.#queryCache.findAll({ ...filters, fetchStatus: "fetching" }).length;
|
||||
}
|
||||
isMutating(filters) {
|
||||
return this.#mutationCache.findAll({ ...filters, status: "pending" }).length;
|
||||
}
|
||||
getQueryData(queryKey) {
|
||||
const options = this.defaultQueryOptions({ queryKey });
|
||||
return this.#queryCache.get(options.queryHash)?.state.data;
|
||||
}
|
||||
ensureQueryData(options) {
|
||||
const cachedData = this.getQueryData(options.queryKey);
|
||||
if (cachedData === void 0)
|
||||
return this.fetchQuery(options);
|
||||
else {
|
||||
const defaultedOptions = this.defaultQueryOptions(options);
|
||||
const query = this.#queryCache.build(this, defaultedOptions);
|
||||
if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {
|
||||
void this.prefetchQuery(defaultedOptions);
|
||||
}
|
||||
return Promise.resolve(cachedData);
|
||||
}
|
||||
}
|
||||
getQueriesData(filters) {
|
||||
return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {
|
||||
const data = state.data;
|
||||
return [queryKey, data];
|
||||
});
|
||||
}
|
||||
setQueryData(queryKey, updater, options) {
|
||||
const defaultedOptions = this.defaultQueryOptions({ queryKey });
|
||||
const query = this.#queryCache.get(
|
||||
defaultedOptions.queryHash
|
||||
);
|
||||
const prevData = query?.state.data;
|
||||
const data = functionalUpdate(updater, prevData);
|
||||
if (data === void 0) {
|
||||
return void 0;
|
||||
}
|
||||
return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });
|
||||
}
|
||||
setQueriesData(filters, updater, options) {
|
||||
return notifyManager.batch(
|
||||
() => this.#queryCache.findAll(filters).map(({ queryKey }) => [
|
||||
queryKey,
|
||||
this.setQueryData(queryKey, updater, options)
|
||||
])
|
||||
);
|
||||
}
|
||||
getQueryState(queryKey) {
|
||||
const options = this.defaultQueryOptions({ queryKey });
|
||||
return this.#queryCache.get(options.queryHash)?.state;
|
||||
}
|
||||
removeQueries(filters) {
|
||||
const queryCache = this.#queryCache;
|
||||
notifyManager.batch(() => {
|
||||
queryCache.findAll(filters).forEach((query) => {
|
||||
queryCache.remove(query);
|
||||
});
|
||||
});
|
||||
}
|
||||
resetQueries(filters, options) {
|
||||
const queryCache = this.#queryCache;
|
||||
const refetchFilters = {
|
||||
type: "active",
|
||||
...filters
|
||||
};
|
||||
return notifyManager.batch(() => {
|
||||
queryCache.findAll(filters).forEach((query) => {
|
||||
query.reset();
|
||||
});
|
||||
return this.refetchQueries(refetchFilters, options);
|
||||
});
|
||||
}
|
||||
cancelQueries(filters = {}, cancelOptions = {}) {
|
||||
const defaultedCancelOptions = { revert: true, ...cancelOptions };
|
||||
const promises = notifyManager.batch(
|
||||
() => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))
|
||||
);
|
||||
return Promise.all(promises).then(noop).catch(noop);
|
||||
}
|
||||
invalidateQueries(filters = {}, options = {}) {
|
||||
return notifyManager.batch(() => {
|
||||
this.#queryCache.findAll(filters).forEach((query) => {
|
||||
query.invalidate();
|
||||
});
|
||||
if (filters.refetchType === "none") {
|
||||
return Promise.resolve();
|
||||
}
|
||||
const refetchFilters = {
|
||||
...filters,
|
||||
type: filters.refetchType ?? filters.type ?? "active"
|
||||
};
|
||||
return this.refetchQueries(refetchFilters, options);
|
||||
});
|
||||
}
|
||||
refetchQueries(filters = {}, options) {
|
||||
const fetchOptions = {
|
||||
...options,
|
||||
cancelRefetch: options?.cancelRefetch ?? true
|
||||
};
|
||||
const promises = notifyManager.batch(
|
||||
() => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => {
|
||||
let promise = query.fetch(void 0, fetchOptions);
|
||||
if (!fetchOptions.throwOnError) {
|
||||
promise = promise.catch(noop);
|
||||
}
|
||||
return query.state.fetchStatus === "paused" ? Promise.resolve() : promise;
|
||||
})
|
||||
);
|
||||
return Promise.all(promises).then(noop);
|
||||
}
|
||||
fetchQuery(options) {
|
||||
const defaultedOptions = this.defaultQueryOptions(options);
|
||||
if (defaultedOptions.retry === void 0) {
|
||||
defaultedOptions.retry = false;
|
||||
}
|
||||
const query = this.#queryCache.build(this, defaultedOptions);
|
||||
return query.isStaleByTime(
|
||||
resolveStaleTime(defaultedOptions.staleTime, query)
|
||||
) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);
|
||||
}
|
||||
prefetchQuery(options) {
|
||||
return this.fetchQuery(options).then(noop).catch(noop);
|
||||
}
|
||||
fetchInfiniteQuery(options) {
|
||||
options.behavior = infiniteQueryBehavior(options.pages);
|
||||
return this.fetchQuery(options);
|
||||
}
|
||||
prefetchInfiniteQuery(options) {
|
||||
return this.fetchInfiniteQuery(options).then(noop).catch(noop);
|
||||
}
|
||||
ensureInfiniteQueryData(options) {
|
||||
options.behavior = infiniteQueryBehavior(options.pages);
|
||||
return this.ensureQueryData(options);
|
||||
}
|
||||
resumePausedMutations() {
|
||||
if (onlineManager.isOnline()) {
|
||||
return this.#mutationCache.resumePausedMutations();
|
||||
}
|
||||
return Promise.resolve();
|
||||
}
|
||||
getQueryCache() {
|
||||
return this.#queryCache;
|
||||
}
|
||||
getMutationCache() {
|
||||
return this.#mutationCache;
|
||||
}
|
||||
getDefaultOptions() {
|
||||
return this.#defaultOptions;
|
||||
}
|
||||
setDefaultOptions(options) {
|
||||
this.#defaultOptions = options;
|
||||
}
|
||||
setQueryDefaults(queryKey, options) {
|
||||
this.#queryDefaults.set(hashKey(queryKey), {
|
||||
queryKey,
|
||||
defaultOptions: options
|
||||
});
|
||||
}
|
||||
getQueryDefaults(queryKey) {
|
||||
const defaults = [...this.#queryDefaults.values()];
|
||||
let result = {};
|
||||
defaults.forEach((queryDefault) => {
|
||||
if (partialMatchKey(queryKey, queryDefault.queryKey)) {
|
||||
result = { ...result, ...queryDefault.defaultOptions };
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
setMutationDefaults(mutationKey, options) {
|
||||
this.#mutationDefaults.set(hashKey(mutationKey), {
|
||||
mutationKey,
|
||||
defaultOptions: options
|
||||
});
|
||||
}
|
||||
getMutationDefaults(mutationKey) {
|
||||
const defaults = [...this.#mutationDefaults.values()];
|
||||
let result = {};
|
||||
defaults.forEach((queryDefault) => {
|
||||
if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {
|
||||
result = { ...result, ...queryDefault.defaultOptions };
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
defaultQueryOptions(options) {
|
||||
if (options._defaulted) {
|
||||
return options;
|
||||
}
|
||||
const defaultedOptions = {
|
||||
...this.#defaultOptions.queries,
|
||||
...this.getQueryDefaults(options.queryKey),
|
||||
...options,
|
||||
_defaulted: true
|
||||
};
|
||||
if (!defaultedOptions.queryHash) {
|
||||
defaultedOptions.queryHash = hashQueryKeyByOptions(
|
||||
defaultedOptions.queryKey,
|
||||
defaultedOptions
|
||||
);
|
||||
}
|
||||
if (defaultedOptions.refetchOnReconnect === void 0) {
|
||||
defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== "always";
|
||||
}
|
||||
if (defaultedOptions.throwOnError === void 0) {
|
||||
defaultedOptions.throwOnError = !!defaultedOptions.suspense;
|
||||
}
|
||||
if (!defaultedOptions.networkMode && defaultedOptions.persister) {
|
||||
defaultedOptions.networkMode = "offlineFirst";
|
||||
}
|
||||
if (defaultedOptions.enabled !== true && defaultedOptions.queryFn === skipToken) {
|
||||
defaultedOptions.enabled = false;
|
||||
}
|
||||
return defaultedOptions;
|
||||
}
|
||||
defaultMutationOptions(options) {
|
||||
if (options?._defaulted) {
|
||||
return options;
|
||||
}
|
||||
return {
|
||||
...this.#defaultOptions.mutations,
|
||||
...options?.mutationKey && this.getMutationDefaults(options.mutationKey),
|
||||
...options,
|
||||
_defaulted: true
|
||||
};
|
||||
}
|
||||
clear() {
|
||||
this.#queryCache.clear();
|
||||
this.#mutationCache.clear();
|
||||
}
|
||||
};
|
||||
export {
|
||||
QueryClient
|
||||
};
|
||||
//# sourceMappingURL=queryClient.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/queryClient.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/queryClient.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
496
node_modules/@tanstack/query-core/build/modern/queryObserver.cjs
generated
vendored
Normal file
496
node_modules/@tanstack/query-core/build/modern/queryObserver.cjs
generated
vendored
Normal file
@ -0,0 +1,496 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/queryObserver.ts
|
||||
var queryObserver_exports = {};
|
||||
__export(queryObserver_exports, {
|
||||
QueryObserver: () => QueryObserver
|
||||
});
|
||||
module.exports = __toCommonJS(queryObserver_exports);
|
||||
var import_focusManager = require("./focusManager.cjs");
|
||||
var import_notifyManager = require("./notifyManager.cjs");
|
||||
var import_query = require("./query.cjs");
|
||||
var import_subscribable = require("./subscribable.cjs");
|
||||
var import_thenable = require("./thenable.cjs");
|
||||
var import_utils = require("./utils.cjs");
|
||||
var QueryObserver = class extends import_subscribable.Subscribable {
|
||||
constructor(client, options) {
|
||||
super();
|
||||
this.options = options;
|
||||
this.#client = client;
|
||||
this.#selectError = null;
|
||||
this.#currentThenable = (0, import_thenable.pendingThenable)();
|
||||
if (!this.options.experimental_prefetchInRender) {
|
||||
this.#currentThenable.reject(
|
||||
new Error("experimental_prefetchInRender feature flag is not enabled")
|
||||
);
|
||||
}
|
||||
this.bindMethods();
|
||||
this.setOptions(options);
|
||||
}
|
||||
#client;
|
||||
#currentQuery = void 0;
|
||||
#currentQueryInitialState = void 0;
|
||||
#currentResult = void 0;
|
||||
#currentResultState;
|
||||
#currentResultOptions;
|
||||
#currentThenable;
|
||||
#selectError;
|
||||
#selectFn;
|
||||
#selectResult;
|
||||
// This property keeps track of the last query with defined data.
|
||||
// It will be used to pass the previous data and query to the placeholder function between renders.
|
||||
#lastQueryWithDefinedData;
|
||||
#staleTimeoutId;
|
||||
#refetchIntervalId;
|
||||
#currentRefetchInterval;
|
||||
#trackedProps = /* @__PURE__ */ new Set();
|
||||
bindMethods() {
|
||||
this.refetch = this.refetch.bind(this);
|
||||
}
|
||||
onSubscribe() {
|
||||
if (this.listeners.size === 1) {
|
||||
this.#currentQuery.addObserver(this);
|
||||
if (shouldFetchOnMount(this.#currentQuery, this.options)) {
|
||||
this.#executeFetch();
|
||||
} else {
|
||||
this.updateResult();
|
||||
}
|
||||
this.#updateTimers();
|
||||
}
|
||||
}
|
||||
onUnsubscribe() {
|
||||
if (!this.hasListeners()) {
|
||||
this.destroy();
|
||||
}
|
||||
}
|
||||
shouldFetchOnReconnect() {
|
||||
return shouldFetchOn(
|
||||
this.#currentQuery,
|
||||
this.options,
|
||||
this.options.refetchOnReconnect
|
||||
);
|
||||
}
|
||||
shouldFetchOnWindowFocus() {
|
||||
return shouldFetchOn(
|
||||
this.#currentQuery,
|
||||
this.options,
|
||||
this.options.refetchOnWindowFocus
|
||||
);
|
||||
}
|
||||
destroy() {
|
||||
this.listeners = /* @__PURE__ */ new Set();
|
||||
this.#clearStaleTimeout();
|
||||
this.#clearRefetchInterval();
|
||||
this.#currentQuery.removeObserver(this);
|
||||
}
|
||||
setOptions(options, notifyOptions) {
|
||||
const prevOptions = this.options;
|
||||
const prevQuery = this.#currentQuery;
|
||||
this.options = this.#client.defaultQueryOptions(options);
|
||||
if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof (0, import_utils.resolveEnabled)(this.options.enabled, this.#currentQuery) !== "boolean") {
|
||||
throw new Error(
|
||||
"Expected enabled to be a boolean or a callback that returns a boolean"
|
||||
);
|
||||
}
|
||||
this.#updateQuery();
|
||||
this.#currentQuery.setOptions(this.options);
|
||||
if (prevOptions._defaulted && !(0, import_utils.shallowEqualObjects)(this.options, prevOptions)) {
|
||||
this.#client.getQueryCache().notify({
|
||||
type: "observerOptionsUpdated",
|
||||
query: this.#currentQuery,
|
||||
observer: this
|
||||
});
|
||||
}
|
||||
const mounted = this.hasListeners();
|
||||
if (mounted && shouldFetchOptionally(
|
||||
this.#currentQuery,
|
||||
prevQuery,
|
||||
this.options,
|
||||
prevOptions
|
||||
)) {
|
||||
this.#executeFetch();
|
||||
}
|
||||
this.updateResult(notifyOptions);
|
||||
if (mounted && (this.#currentQuery !== prevQuery || (0, import_utils.resolveEnabled)(this.options.enabled, this.#currentQuery) !== (0, import_utils.resolveEnabled)(prevOptions.enabled, this.#currentQuery) || (0, import_utils.resolveStaleTime)(this.options.staleTime, this.#currentQuery) !== (0, import_utils.resolveStaleTime)(prevOptions.staleTime, this.#currentQuery))) {
|
||||
this.#updateStaleTimeout();
|
||||
}
|
||||
const nextRefetchInterval = this.#computeRefetchInterval();
|
||||
if (mounted && (this.#currentQuery !== prevQuery || (0, import_utils.resolveEnabled)(this.options.enabled, this.#currentQuery) !== (0, import_utils.resolveEnabled)(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {
|
||||
this.#updateRefetchInterval(nextRefetchInterval);
|
||||
}
|
||||
}
|
||||
getOptimisticResult(options) {
|
||||
const query = this.#client.getQueryCache().build(this.#client, options);
|
||||
const result = this.createResult(query, options);
|
||||
if (shouldAssignObserverCurrentProperties(this, result)) {
|
||||
this.#currentResult = result;
|
||||
this.#currentResultOptions = this.options;
|
||||
this.#currentResultState = this.#currentQuery.state;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
getCurrentResult() {
|
||||
return this.#currentResult;
|
||||
}
|
||||
trackResult(result, onPropTracked) {
|
||||
const trackedResult = {};
|
||||
Object.keys(result).forEach((key) => {
|
||||
Object.defineProperty(trackedResult, key, {
|
||||
configurable: false,
|
||||
enumerable: true,
|
||||
get: () => {
|
||||
this.trackProp(key);
|
||||
onPropTracked?.(key);
|
||||
return result[key];
|
||||
}
|
||||
});
|
||||
});
|
||||
return trackedResult;
|
||||
}
|
||||
trackProp(key) {
|
||||
this.#trackedProps.add(key);
|
||||
}
|
||||
getCurrentQuery() {
|
||||
return this.#currentQuery;
|
||||
}
|
||||
refetch({ ...options } = {}) {
|
||||
return this.fetch({
|
||||
...options
|
||||
});
|
||||
}
|
||||
fetchOptimistic(options) {
|
||||
const defaultedOptions = this.#client.defaultQueryOptions(options);
|
||||
const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);
|
||||
return query.fetch().then(() => this.createResult(query, defaultedOptions));
|
||||
}
|
||||
fetch(fetchOptions) {
|
||||
return this.#executeFetch({
|
||||
...fetchOptions,
|
||||
cancelRefetch: fetchOptions.cancelRefetch ?? true
|
||||
}).then(() => {
|
||||
this.updateResult();
|
||||
return this.#currentResult;
|
||||
});
|
||||
}
|
||||
#executeFetch(fetchOptions) {
|
||||
this.#updateQuery();
|
||||
let promise = this.#currentQuery.fetch(
|
||||
this.options,
|
||||
fetchOptions
|
||||
);
|
||||
if (!fetchOptions?.throwOnError) {
|
||||
promise = promise.catch(import_utils.noop);
|
||||
}
|
||||
return promise;
|
||||
}
|
||||
#updateStaleTimeout() {
|
||||
this.#clearStaleTimeout();
|
||||
const staleTime = (0, import_utils.resolveStaleTime)(
|
||||
this.options.staleTime,
|
||||
this.#currentQuery
|
||||
);
|
||||
if (import_utils.isServer || this.#currentResult.isStale || !(0, import_utils.isValidTimeout)(staleTime)) {
|
||||
return;
|
||||
}
|
||||
const time = (0, import_utils.timeUntilStale)(this.#currentResult.dataUpdatedAt, staleTime);
|
||||
const timeout = time + 1;
|
||||
this.#staleTimeoutId = setTimeout(() => {
|
||||
if (!this.#currentResult.isStale) {
|
||||
this.updateResult();
|
||||
}
|
||||
}, timeout);
|
||||
}
|
||||
#computeRefetchInterval() {
|
||||
return (typeof this.options.refetchInterval === "function" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;
|
||||
}
|
||||
#updateRefetchInterval(nextInterval) {
|
||||
this.#clearRefetchInterval();
|
||||
this.#currentRefetchInterval = nextInterval;
|
||||
if (import_utils.isServer || (0, import_utils.resolveEnabled)(this.options.enabled, this.#currentQuery) === false || !(0, import_utils.isValidTimeout)(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {
|
||||
return;
|
||||
}
|
||||
this.#refetchIntervalId = setInterval(() => {
|
||||
if (this.options.refetchIntervalInBackground || import_focusManager.focusManager.isFocused()) {
|
||||
this.#executeFetch();
|
||||
}
|
||||
}, this.#currentRefetchInterval);
|
||||
}
|
||||
#updateTimers() {
|
||||
this.#updateStaleTimeout();
|
||||
this.#updateRefetchInterval(this.#computeRefetchInterval());
|
||||
}
|
||||
#clearStaleTimeout() {
|
||||
if (this.#staleTimeoutId) {
|
||||
clearTimeout(this.#staleTimeoutId);
|
||||
this.#staleTimeoutId = void 0;
|
||||
}
|
||||
}
|
||||
#clearRefetchInterval() {
|
||||
if (this.#refetchIntervalId) {
|
||||
clearInterval(this.#refetchIntervalId);
|
||||
this.#refetchIntervalId = void 0;
|
||||
}
|
||||
}
|
||||
createResult(query, options) {
|
||||
const prevQuery = this.#currentQuery;
|
||||
const prevOptions = this.options;
|
||||
const prevResult = this.#currentResult;
|
||||
const prevResultState = this.#currentResultState;
|
||||
const prevResultOptions = this.#currentResultOptions;
|
||||
const queryChange = query !== prevQuery;
|
||||
const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;
|
||||
const { state } = query;
|
||||
let newState = { ...state };
|
||||
let isPlaceholderData = false;
|
||||
let data;
|
||||
if (options._optimisticResults) {
|
||||
const mounted = this.hasListeners();
|
||||
const fetchOnMount = !mounted && shouldFetchOnMount(query, options);
|
||||
const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);
|
||||
if (fetchOnMount || fetchOptionally) {
|
||||
newState = {
|
||||
...newState,
|
||||
...(0, import_query.fetchState)(state.data, query.options)
|
||||
};
|
||||
}
|
||||
if (options._optimisticResults === "isRestoring") {
|
||||
newState.fetchStatus = "idle";
|
||||
}
|
||||
}
|
||||
let { error, errorUpdatedAt, status } = newState;
|
||||
if (options.select && newState.data !== void 0) {
|
||||
if (prevResult && newState.data === prevResultState?.data && options.select === this.#selectFn) {
|
||||
data = this.#selectResult;
|
||||
} else {
|
||||
try {
|
||||
this.#selectFn = options.select;
|
||||
data = options.select(newState.data);
|
||||
data = (0, import_utils.replaceData)(prevResult?.data, data, options);
|
||||
this.#selectResult = data;
|
||||
this.#selectError = null;
|
||||
} catch (selectError) {
|
||||
this.#selectError = selectError;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
data = newState.data;
|
||||
}
|
||||
if (options.placeholderData !== void 0 && data === void 0 && status === "pending") {
|
||||
let placeholderData;
|
||||
if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {
|
||||
placeholderData = prevResult.data;
|
||||
} else {
|
||||
placeholderData = typeof options.placeholderData === "function" ? options.placeholderData(
|
||||
this.#lastQueryWithDefinedData?.state.data,
|
||||
this.#lastQueryWithDefinedData
|
||||
) : options.placeholderData;
|
||||
if (options.select && placeholderData !== void 0) {
|
||||
try {
|
||||
placeholderData = options.select(placeholderData);
|
||||
this.#selectError = null;
|
||||
} catch (selectError) {
|
||||
this.#selectError = selectError;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (placeholderData !== void 0) {
|
||||
status = "success";
|
||||
data = (0, import_utils.replaceData)(
|
||||
prevResult?.data,
|
||||
placeholderData,
|
||||
options
|
||||
);
|
||||
isPlaceholderData = true;
|
||||
}
|
||||
}
|
||||
if (this.#selectError) {
|
||||
error = this.#selectError;
|
||||
data = this.#selectResult;
|
||||
errorUpdatedAt = Date.now();
|
||||
status = "error";
|
||||
}
|
||||
const isFetching = newState.fetchStatus === "fetching";
|
||||
const isPending = status === "pending";
|
||||
const isError = status === "error";
|
||||
const isLoading = isPending && isFetching;
|
||||
const hasData = data !== void 0;
|
||||
const result = {
|
||||
status,
|
||||
fetchStatus: newState.fetchStatus,
|
||||
isPending,
|
||||
isSuccess: status === "success",
|
||||
isError,
|
||||
isInitialLoading: isLoading,
|
||||
isLoading,
|
||||
data,
|
||||
dataUpdatedAt: newState.dataUpdatedAt,
|
||||
error,
|
||||
errorUpdatedAt,
|
||||
failureCount: newState.fetchFailureCount,
|
||||
failureReason: newState.fetchFailureReason,
|
||||
errorUpdateCount: newState.errorUpdateCount,
|
||||
isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,
|
||||
isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,
|
||||
isFetching,
|
||||
isRefetching: isFetching && !isPending,
|
||||
isLoadingError: isError && !hasData,
|
||||
isPaused: newState.fetchStatus === "paused",
|
||||
isPlaceholderData,
|
||||
isRefetchError: isError && hasData,
|
||||
isStale: isStale(query, options),
|
||||
refetch: this.refetch,
|
||||
promise: this.#currentThenable
|
||||
};
|
||||
const nextResult = result;
|
||||
if (this.options.experimental_prefetchInRender) {
|
||||
const finalizeThenableIfPossible = (thenable) => {
|
||||
if (nextResult.status === "error") {
|
||||
thenable.reject(nextResult.error);
|
||||
} else if (nextResult.data !== void 0) {
|
||||
thenable.resolve(nextResult.data);
|
||||
}
|
||||
};
|
||||
const recreateThenable = () => {
|
||||
const pending = this.#currentThenable = nextResult.promise = (0, import_thenable.pendingThenable)();
|
||||
finalizeThenableIfPossible(pending);
|
||||
};
|
||||
const prevThenable = this.#currentThenable;
|
||||
switch (prevThenable.status) {
|
||||
case "pending":
|
||||
if (query.queryHash === prevQuery.queryHash) {
|
||||
finalizeThenableIfPossible(prevThenable);
|
||||
}
|
||||
break;
|
||||
case "fulfilled":
|
||||
if (nextResult.status === "error" || nextResult.data !== prevThenable.value) {
|
||||
recreateThenable();
|
||||
}
|
||||
break;
|
||||
case "rejected":
|
||||
if (nextResult.status !== "error" || nextResult.error !== prevThenable.reason) {
|
||||
recreateThenable();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return nextResult;
|
||||
}
|
||||
updateResult(notifyOptions) {
|
||||
const prevResult = this.#currentResult;
|
||||
const nextResult = this.createResult(this.#currentQuery, this.options);
|
||||
this.#currentResultState = this.#currentQuery.state;
|
||||
this.#currentResultOptions = this.options;
|
||||
if (this.#currentResultState.data !== void 0) {
|
||||
this.#lastQueryWithDefinedData = this.#currentQuery;
|
||||
}
|
||||
if ((0, import_utils.shallowEqualObjects)(nextResult, prevResult)) {
|
||||
return;
|
||||
}
|
||||
this.#currentResult = nextResult;
|
||||
const defaultNotifyOptions = {};
|
||||
const shouldNotifyListeners = () => {
|
||||
if (!prevResult) {
|
||||
return true;
|
||||
}
|
||||
const { notifyOnChangeProps } = this.options;
|
||||
const notifyOnChangePropsValue = typeof notifyOnChangeProps === "function" ? notifyOnChangeProps() : notifyOnChangeProps;
|
||||
if (notifyOnChangePropsValue === "all" || !notifyOnChangePropsValue && !this.#trackedProps.size) {
|
||||
return true;
|
||||
}
|
||||
const includedProps = new Set(
|
||||
notifyOnChangePropsValue ?? this.#trackedProps
|
||||
);
|
||||
if (this.options.throwOnError) {
|
||||
includedProps.add("error");
|
||||
}
|
||||
return Object.keys(this.#currentResult).some((key) => {
|
||||
const typedKey = key;
|
||||
const changed = this.#currentResult[typedKey] !== prevResult[typedKey];
|
||||
return changed && includedProps.has(typedKey);
|
||||
});
|
||||
};
|
||||
if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {
|
||||
defaultNotifyOptions.listeners = true;
|
||||
}
|
||||
this.#notify({ ...defaultNotifyOptions, ...notifyOptions });
|
||||
}
|
||||
#updateQuery() {
|
||||
const query = this.#client.getQueryCache().build(this.#client, this.options);
|
||||
if (query === this.#currentQuery) {
|
||||
return;
|
||||
}
|
||||
const prevQuery = this.#currentQuery;
|
||||
this.#currentQuery = query;
|
||||
this.#currentQueryInitialState = query.state;
|
||||
if (this.hasListeners()) {
|
||||
prevQuery?.removeObserver(this);
|
||||
query.addObserver(this);
|
||||
}
|
||||
}
|
||||
onQueryUpdate() {
|
||||
this.updateResult();
|
||||
if (this.hasListeners()) {
|
||||
this.#updateTimers();
|
||||
}
|
||||
}
|
||||
#notify(notifyOptions) {
|
||||
import_notifyManager.notifyManager.batch(() => {
|
||||
if (notifyOptions.listeners) {
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(this.#currentResult);
|
||||
});
|
||||
}
|
||||
this.#client.getQueryCache().notify({
|
||||
query: this.#currentQuery,
|
||||
type: "observerResultsUpdated"
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
function shouldLoadOnMount(query, options) {
|
||||
return (0, import_utils.resolveEnabled)(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && options.retryOnMount === false);
|
||||
}
|
||||
function shouldFetchOnMount(query, options) {
|
||||
return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);
|
||||
}
|
||||
function shouldFetchOn(query, options, field) {
|
||||
if ((0, import_utils.resolveEnabled)(options.enabled, query) !== false) {
|
||||
const value = typeof field === "function" ? field(query) : field;
|
||||
return value === "always" || value !== false && isStale(query, options);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function shouldFetchOptionally(query, prevQuery, options, prevOptions) {
|
||||
return (query !== prevQuery || (0, import_utils.resolveEnabled)(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options);
|
||||
}
|
||||
function isStale(query, options) {
|
||||
return (0, import_utils.resolveEnabled)(options.enabled, query) !== false && query.isStaleByTime((0, import_utils.resolveStaleTime)(options.staleTime, query));
|
||||
}
|
||||
function shouldAssignObserverCurrentProperties(observer, optimisticResult) {
|
||||
if (!(0, import_utils.shallowEqualObjects)(observer.getCurrentResult(), optimisticResult)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
QueryObserver
|
||||
});
|
||||
//# sourceMappingURL=queryObserver.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/queryObserver.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/queryObserver.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
node_modules/@tanstack/query-core/build/modern/queryObserver.d.cts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/queryObserver.d.cts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import './subscribable.cjs';
|
||||
export { a_ as NotifyOptions, c as QueryObserver } from './hydration-BXpkOXt5.cjs';
|
||||
import './removable.cjs';
|
||||
3
node_modules/@tanstack/query-core/build/modern/queryObserver.d.ts
generated
vendored
Normal file
3
node_modules/@tanstack/query-core/build/modern/queryObserver.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import './subscribable.js';
|
||||
export { a_ as NotifyOptions, c as QueryObserver } from './hydration-mKPlgzt9.js';
|
||||
import './removable.js';
|
||||
480
node_modules/@tanstack/query-core/build/modern/queryObserver.js
generated
vendored
Normal file
480
node_modules/@tanstack/query-core/build/modern/queryObserver.js
generated
vendored
Normal file
@ -0,0 +1,480 @@
|
||||
// src/queryObserver.ts
|
||||
import { focusManager } from "./focusManager.js";
|
||||
import { notifyManager } from "./notifyManager.js";
|
||||
import { fetchState } from "./query.js";
|
||||
import { Subscribable } from "./subscribable.js";
|
||||
import { pendingThenable } from "./thenable.js";
|
||||
import {
|
||||
isServer,
|
||||
isValidTimeout,
|
||||
noop,
|
||||
replaceData,
|
||||
resolveEnabled,
|
||||
resolveStaleTime,
|
||||
shallowEqualObjects,
|
||||
timeUntilStale
|
||||
} from "./utils.js";
|
||||
var QueryObserver = class extends Subscribable {
|
||||
constructor(client, options) {
|
||||
super();
|
||||
this.options = options;
|
||||
this.#client = client;
|
||||
this.#selectError = null;
|
||||
this.#currentThenable = pendingThenable();
|
||||
if (!this.options.experimental_prefetchInRender) {
|
||||
this.#currentThenable.reject(
|
||||
new Error("experimental_prefetchInRender feature flag is not enabled")
|
||||
);
|
||||
}
|
||||
this.bindMethods();
|
||||
this.setOptions(options);
|
||||
}
|
||||
#client;
|
||||
#currentQuery = void 0;
|
||||
#currentQueryInitialState = void 0;
|
||||
#currentResult = void 0;
|
||||
#currentResultState;
|
||||
#currentResultOptions;
|
||||
#currentThenable;
|
||||
#selectError;
|
||||
#selectFn;
|
||||
#selectResult;
|
||||
// This property keeps track of the last query with defined data.
|
||||
// It will be used to pass the previous data and query to the placeholder function between renders.
|
||||
#lastQueryWithDefinedData;
|
||||
#staleTimeoutId;
|
||||
#refetchIntervalId;
|
||||
#currentRefetchInterval;
|
||||
#trackedProps = /* @__PURE__ */ new Set();
|
||||
bindMethods() {
|
||||
this.refetch = this.refetch.bind(this);
|
||||
}
|
||||
onSubscribe() {
|
||||
if (this.listeners.size === 1) {
|
||||
this.#currentQuery.addObserver(this);
|
||||
if (shouldFetchOnMount(this.#currentQuery, this.options)) {
|
||||
this.#executeFetch();
|
||||
} else {
|
||||
this.updateResult();
|
||||
}
|
||||
this.#updateTimers();
|
||||
}
|
||||
}
|
||||
onUnsubscribe() {
|
||||
if (!this.hasListeners()) {
|
||||
this.destroy();
|
||||
}
|
||||
}
|
||||
shouldFetchOnReconnect() {
|
||||
return shouldFetchOn(
|
||||
this.#currentQuery,
|
||||
this.options,
|
||||
this.options.refetchOnReconnect
|
||||
);
|
||||
}
|
||||
shouldFetchOnWindowFocus() {
|
||||
return shouldFetchOn(
|
||||
this.#currentQuery,
|
||||
this.options,
|
||||
this.options.refetchOnWindowFocus
|
||||
);
|
||||
}
|
||||
destroy() {
|
||||
this.listeners = /* @__PURE__ */ new Set();
|
||||
this.#clearStaleTimeout();
|
||||
this.#clearRefetchInterval();
|
||||
this.#currentQuery.removeObserver(this);
|
||||
}
|
||||
setOptions(options, notifyOptions) {
|
||||
const prevOptions = this.options;
|
||||
const prevQuery = this.#currentQuery;
|
||||
this.options = this.#client.defaultQueryOptions(options);
|
||||
if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof resolveEnabled(this.options.enabled, this.#currentQuery) !== "boolean") {
|
||||
throw new Error(
|
||||
"Expected enabled to be a boolean or a callback that returns a boolean"
|
||||
);
|
||||
}
|
||||
this.#updateQuery();
|
||||
this.#currentQuery.setOptions(this.options);
|
||||
if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {
|
||||
this.#client.getQueryCache().notify({
|
||||
type: "observerOptionsUpdated",
|
||||
query: this.#currentQuery,
|
||||
observer: this
|
||||
});
|
||||
}
|
||||
const mounted = this.hasListeners();
|
||||
if (mounted && shouldFetchOptionally(
|
||||
this.#currentQuery,
|
||||
prevQuery,
|
||||
this.options,
|
||||
prevOptions
|
||||
)) {
|
||||
this.#executeFetch();
|
||||
}
|
||||
this.updateResult(notifyOptions);
|
||||
if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {
|
||||
this.#updateStaleTimeout();
|
||||
}
|
||||
const nextRefetchInterval = this.#computeRefetchInterval();
|
||||
if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {
|
||||
this.#updateRefetchInterval(nextRefetchInterval);
|
||||
}
|
||||
}
|
||||
getOptimisticResult(options) {
|
||||
const query = this.#client.getQueryCache().build(this.#client, options);
|
||||
const result = this.createResult(query, options);
|
||||
if (shouldAssignObserverCurrentProperties(this, result)) {
|
||||
this.#currentResult = result;
|
||||
this.#currentResultOptions = this.options;
|
||||
this.#currentResultState = this.#currentQuery.state;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
getCurrentResult() {
|
||||
return this.#currentResult;
|
||||
}
|
||||
trackResult(result, onPropTracked) {
|
||||
const trackedResult = {};
|
||||
Object.keys(result).forEach((key) => {
|
||||
Object.defineProperty(trackedResult, key, {
|
||||
configurable: false,
|
||||
enumerable: true,
|
||||
get: () => {
|
||||
this.trackProp(key);
|
||||
onPropTracked?.(key);
|
||||
return result[key];
|
||||
}
|
||||
});
|
||||
});
|
||||
return trackedResult;
|
||||
}
|
||||
trackProp(key) {
|
||||
this.#trackedProps.add(key);
|
||||
}
|
||||
getCurrentQuery() {
|
||||
return this.#currentQuery;
|
||||
}
|
||||
refetch({ ...options } = {}) {
|
||||
return this.fetch({
|
||||
...options
|
||||
});
|
||||
}
|
||||
fetchOptimistic(options) {
|
||||
const defaultedOptions = this.#client.defaultQueryOptions(options);
|
||||
const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);
|
||||
return query.fetch().then(() => this.createResult(query, defaultedOptions));
|
||||
}
|
||||
fetch(fetchOptions) {
|
||||
return this.#executeFetch({
|
||||
...fetchOptions,
|
||||
cancelRefetch: fetchOptions.cancelRefetch ?? true
|
||||
}).then(() => {
|
||||
this.updateResult();
|
||||
return this.#currentResult;
|
||||
});
|
||||
}
|
||||
#executeFetch(fetchOptions) {
|
||||
this.#updateQuery();
|
||||
let promise = this.#currentQuery.fetch(
|
||||
this.options,
|
||||
fetchOptions
|
||||
);
|
||||
if (!fetchOptions?.throwOnError) {
|
||||
promise = promise.catch(noop);
|
||||
}
|
||||
return promise;
|
||||
}
|
||||
#updateStaleTimeout() {
|
||||
this.#clearStaleTimeout();
|
||||
const staleTime = resolveStaleTime(
|
||||
this.options.staleTime,
|
||||
this.#currentQuery
|
||||
);
|
||||
if (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {
|
||||
return;
|
||||
}
|
||||
const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);
|
||||
const timeout = time + 1;
|
||||
this.#staleTimeoutId = setTimeout(() => {
|
||||
if (!this.#currentResult.isStale) {
|
||||
this.updateResult();
|
||||
}
|
||||
}, timeout);
|
||||
}
|
||||
#computeRefetchInterval() {
|
||||
return (typeof this.options.refetchInterval === "function" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;
|
||||
}
|
||||
#updateRefetchInterval(nextInterval) {
|
||||
this.#clearRefetchInterval();
|
||||
this.#currentRefetchInterval = nextInterval;
|
||||
if (isServer || resolveEnabled(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {
|
||||
return;
|
||||
}
|
||||
this.#refetchIntervalId = setInterval(() => {
|
||||
if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {
|
||||
this.#executeFetch();
|
||||
}
|
||||
}, this.#currentRefetchInterval);
|
||||
}
|
||||
#updateTimers() {
|
||||
this.#updateStaleTimeout();
|
||||
this.#updateRefetchInterval(this.#computeRefetchInterval());
|
||||
}
|
||||
#clearStaleTimeout() {
|
||||
if (this.#staleTimeoutId) {
|
||||
clearTimeout(this.#staleTimeoutId);
|
||||
this.#staleTimeoutId = void 0;
|
||||
}
|
||||
}
|
||||
#clearRefetchInterval() {
|
||||
if (this.#refetchIntervalId) {
|
||||
clearInterval(this.#refetchIntervalId);
|
||||
this.#refetchIntervalId = void 0;
|
||||
}
|
||||
}
|
||||
createResult(query, options) {
|
||||
const prevQuery = this.#currentQuery;
|
||||
const prevOptions = this.options;
|
||||
const prevResult = this.#currentResult;
|
||||
const prevResultState = this.#currentResultState;
|
||||
const prevResultOptions = this.#currentResultOptions;
|
||||
const queryChange = query !== prevQuery;
|
||||
const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;
|
||||
const { state } = query;
|
||||
let newState = { ...state };
|
||||
let isPlaceholderData = false;
|
||||
let data;
|
||||
if (options._optimisticResults) {
|
||||
const mounted = this.hasListeners();
|
||||
const fetchOnMount = !mounted && shouldFetchOnMount(query, options);
|
||||
const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);
|
||||
if (fetchOnMount || fetchOptionally) {
|
||||
newState = {
|
||||
...newState,
|
||||
...fetchState(state.data, query.options)
|
||||
};
|
||||
}
|
||||
if (options._optimisticResults === "isRestoring") {
|
||||
newState.fetchStatus = "idle";
|
||||
}
|
||||
}
|
||||
let { error, errorUpdatedAt, status } = newState;
|
||||
if (options.select && newState.data !== void 0) {
|
||||
if (prevResult && newState.data === prevResultState?.data && options.select === this.#selectFn) {
|
||||
data = this.#selectResult;
|
||||
} else {
|
||||
try {
|
||||
this.#selectFn = options.select;
|
||||
data = options.select(newState.data);
|
||||
data = replaceData(prevResult?.data, data, options);
|
||||
this.#selectResult = data;
|
||||
this.#selectError = null;
|
||||
} catch (selectError) {
|
||||
this.#selectError = selectError;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
data = newState.data;
|
||||
}
|
||||
if (options.placeholderData !== void 0 && data === void 0 && status === "pending") {
|
||||
let placeholderData;
|
||||
if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {
|
||||
placeholderData = prevResult.data;
|
||||
} else {
|
||||
placeholderData = typeof options.placeholderData === "function" ? options.placeholderData(
|
||||
this.#lastQueryWithDefinedData?.state.data,
|
||||
this.#lastQueryWithDefinedData
|
||||
) : options.placeholderData;
|
||||
if (options.select && placeholderData !== void 0) {
|
||||
try {
|
||||
placeholderData = options.select(placeholderData);
|
||||
this.#selectError = null;
|
||||
} catch (selectError) {
|
||||
this.#selectError = selectError;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (placeholderData !== void 0) {
|
||||
status = "success";
|
||||
data = replaceData(
|
||||
prevResult?.data,
|
||||
placeholderData,
|
||||
options
|
||||
);
|
||||
isPlaceholderData = true;
|
||||
}
|
||||
}
|
||||
if (this.#selectError) {
|
||||
error = this.#selectError;
|
||||
data = this.#selectResult;
|
||||
errorUpdatedAt = Date.now();
|
||||
status = "error";
|
||||
}
|
||||
const isFetching = newState.fetchStatus === "fetching";
|
||||
const isPending = status === "pending";
|
||||
const isError = status === "error";
|
||||
const isLoading = isPending && isFetching;
|
||||
const hasData = data !== void 0;
|
||||
const result = {
|
||||
status,
|
||||
fetchStatus: newState.fetchStatus,
|
||||
isPending,
|
||||
isSuccess: status === "success",
|
||||
isError,
|
||||
isInitialLoading: isLoading,
|
||||
isLoading,
|
||||
data,
|
||||
dataUpdatedAt: newState.dataUpdatedAt,
|
||||
error,
|
||||
errorUpdatedAt,
|
||||
failureCount: newState.fetchFailureCount,
|
||||
failureReason: newState.fetchFailureReason,
|
||||
errorUpdateCount: newState.errorUpdateCount,
|
||||
isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,
|
||||
isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,
|
||||
isFetching,
|
||||
isRefetching: isFetching && !isPending,
|
||||
isLoadingError: isError && !hasData,
|
||||
isPaused: newState.fetchStatus === "paused",
|
||||
isPlaceholderData,
|
||||
isRefetchError: isError && hasData,
|
||||
isStale: isStale(query, options),
|
||||
refetch: this.refetch,
|
||||
promise: this.#currentThenable
|
||||
};
|
||||
const nextResult = result;
|
||||
if (this.options.experimental_prefetchInRender) {
|
||||
const finalizeThenableIfPossible = (thenable) => {
|
||||
if (nextResult.status === "error") {
|
||||
thenable.reject(nextResult.error);
|
||||
} else if (nextResult.data !== void 0) {
|
||||
thenable.resolve(nextResult.data);
|
||||
}
|
||||
};
|
||||
const recreateThenable = () => {
|
||||
const pending = this.#currentThenable = nextResult.promise = pendingThenable();
|
||||
finalizeThenableIfPossible(pending);
|
||||
};
|
||||
const prevThenable = this.#currentThenable;
|
||||
switch (prevThenable.status) {
|
||||
case "pending":
|
||||
if (query.queryHash === prevQuery.queryHash) {
|
||||
finalizeThenableIfPossible(prevThenable);
|
||||
}
|
||||
break;
|
||||
case "fulfilled":
|
||||
if (nextResult.status === "error" || nextResult.data !== prevThenable.value) {
|
||||
recreateThenable();
|
||||
}
|
||||
break;
|
||||
case "rejected":
|
||||
if (nextResult.status !== "error" || nextResult.error !== prevThenable.reason) {
|
||||
recreateThenable();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return nextResult;
|
||||
}
|
||||
updateResult(notifyOptions) {
|
||||
const prevResult = this.#currentResult;
|
||||
const nextResult = this.createResult(this.#currentQuery, this.options);
|
||||
this.#currentResultState = this.#currentQuery.state;
|
||||
this.#currentResultOptions = this.options;
|
||||
if (this.#currentResultState.data !== void 0) {
|
||||
this.#lastQueryWithDefinedData = this.#currentQuery;
|
||||
}
|
||||
if (shallowEqualObjects(nextResult, prevResult)) {
|
||||
return;
|
||||
}
|
||||
this.#currentResult = nextResult;
|
||||
const defaultNotifyOptions = {};
|
||||
const shouldNotifyListeners = () => {
|
||||
if (!prevResult) {
|
||||
return true;
|
||||
}
|
||||
const { notifyOnChangeProps } = this.options;
|
||||
const notifyOnChangePropsValue = typeof notifyOnChangeProps === "function" ? notifyOnChangeProps() : notifyOnChangeProps;
|
||||
if (notifyOnChangePropsValue === "all" || !notifyOnChangePropsValue && !this.#trackedProps.size) {
|
||||
return true;
|
||||
}
|
||||
const includedProps = new Set(
|
||||
notifyOnChangePropsValue ?? this.#trackedProps
|
||||
);
|
||||
if (this.options.throwOnError) {
|
||||
includedProps.add("error");
|
||||
}
|
||||
return Object.keys(this.#currentResult).some((key) => {
|
||||
const typedKey = key;
|
||||
const changed = this.#currentResult[typedKey] !== prevResult[typedKey];
|
||||
return changed && includedProps.has(typedKey);
|
||||
});
|
||||
};
|
||||
if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {
|
||||
defaultNotifyOptions.listeners = true;
|
||||
}
|
||||
this.#notify({ ...defaultNotifyOptions, ...notifyOptions });
|
||||
}
|
||||
#updateQuery() {
|
||||
const query = this.#client.getQueryCache().build(this.#client, this.options);
|
||||
if (query === this.#currentQuery) {
|
||||
return;
|
||||
}
|
||||
const prevQuery = this.#currentQuery;
|
||||
this.#currentQuery = query;
|
||||
this.#currentQueryInitialState = query.state;
|
||||
if (this.hasListeners()) {
|
||||
prevQuery?.removeObserver(this);
|
||||
query.addObserver(this);
|
||||
}
|
||||
}
|
||||
onQueryUpdate() {
|
||||
this.updateResult();
|
||||
if (this.hasListeners()) {
|
||||
this.#updateTimers();
|
||||
}
|
||||
}
|
||||
#notify(notifyOptions) {
|
||||
notifyManager.batch(() => {
|
||||
if (notifyOptions.listeners) {
|
||||
this.listeners.forEach((listener) => {
|
||||
listener(this.#currentResult);
|
||||
});
|
||||
}
|
||||
this.#client.getQueryCache().notify({
|
||||
query: this.#currentQuery,
|
||||
type: "observerResultsUpdated"
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
function shouldLoadOnMount(query, options) {
|
||||
return resolveEnabled(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && options.retryOnMount === false);
|
||||
}
|
||||
function shouldFetchOnMount(query, options) {
|
||||
return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);
|
||||
}
|
||||
function shouldFetchOn(query, options, field) {
|
||||
if (resolveEnabled(options.enabled, query) !== false) {
|
||||
const value = typeof field === "function" ? field(query) : field;
|
||||
return value === "always" || value !== false && isStale(query, options);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function shouldFetchOptionally(query, prevQuery, options, prevOptions) {
|
||||
return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options);
|
||||
}
|
||||
function isStale(query, options) {
|
||||
return resolveEnabled(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));
|
||||
}
|
||||
function shouldAssignObserverCurrentProperties(observer, optimisticResult) {
|
||||
if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
export {
|
||||
QueryObserver
|
||||
};
|
||||
//# sourceMappingURL=queryObserver.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/queryObserver.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/queryObserver.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
57
node_modules/@tanstack/query-core/build/modern/removable.cjs
generated
vendored
Normal file
57
node_modules/@tanstack/query-core/build/modern/removable.cjs
generated
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/removable.ts
|
||||
var removable_exports = {};
|
||||
__export(removable_exports, {
|
||||
Removable: () => Removable
|
||||
});
|
||||
module.exports = __toCommonJS(removable_exports);
|
||||
var import_utils = require("./utils.cjs");
|
||||
var Removable = class {
|
||||
#gcTimeout;
|
||||
destroy() {
|
||||
this.clearGcTimeout();
|
||||
}
|
||||
scheduleGc() {
|
||||
this.clearGcTimeout();
|
||||
if ((0, import_utils.isValidTimeout)(this.gcTime)) {
|
||||
this.#gcTimeout = setTimeout(() => {
|
||||
this.optionalRemove();
|
||||
}, this.gcTime);
|
||||
}
|
||||
}
|
||||
updateGcTime(newGcTime) {
|
||||
this.gcTime = Math.max(
|
||||
this.gcTime || 0,
|
||||
newGcTime ?? (import_utils.isServer ? Infinity : 5 * 60 * 1e3)
|
||||
);
|
||||
}
|
||||
clearGcTimeout() {
|
||||
if (this.#gcTimeout) {
|
||||
clearTimeout(this.#gcTimeout);
|
||||
this.#gcTimeout = void 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
Removable
|
||||
});
|
||||
//# sourceMappingURL=removable.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/removable.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/removable.cjs.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/removable.ts"],"sourcesContent":["import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType<typeof setTimeout>\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyC;AAElC,IAAe,YAAf,MAAyB;AAAA,EAE9B;AAAA,EAEA,UAAgB;AACd,SAAK,eAAe;AAAA,EACtB;AAAA,EAEU,aAAmB;AAC3B,SAAK,eAAe;AAEpB,YAAI,6BAAe,KAAK,MAAM,GAAG;AAC/B,WAAK,aAAa,WAAW,MAAM;AACjC,aAAK,eAAe;AAAA,MACtB,GAAG,KAAK,MAAM;AAAA,IAChB;AAAA,EACF;AAAA,EAEU,aAAa,WAAqC;AAE1D,SAAK,SAAS,KAAK;AAAA,MACjB,KAAK,UAAU;AAAA,MACf,cAAc,wBAAW,WAAW,IAAI,KAAK;AAAA,IAC/C;AAAA,EACF;AAAA,EAEU,iBAAiB;AACzB,QAAI,KAAK,YAAY;AACnB,mBAAa,KAAK,UAAU;AAC5B,WAAK,aAAa;AAAA,IACpB;AAAA,EACF;AAGF;","names":[]}
|
||||
11
node_modules/@tanstack/query-core/build/modern/removable.d.cts
generated
vendored
Normal file
11
node_modules/@tanstack/query-core/build/modern/removable.d.cts
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
declare abstract class Removable {
|
||||
#private;
|
||||
gcTime: number;
|
||||
destroy(): void;
|
||||
protected scheduleGc(): void;
|
||||
protected updateGcTime(newGcTime: number | undefined): void;
|
||||
protected clearGcTimeout(): void;
|
||||
protected abstract optionalRemove(): void;
|
||||
}
|
||||
|
||||
export { Removable };
|
||||
11
node_modules/@tanstack/query-core/build/modern/removable.d.ts
generated
vendored
Normal file
11
node_modules/@tanstack/query-core/build/modern/removable.d.ts
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
declare abstract class Removable {
|
||||
#private;
|
||||
gcTime: number;
|
||||
destroy(): void;
|
||||
protected scheduleGc(): void;
|
||||
protected updateGcTime(newGcTime: number | undefined): void;
|
||||
protected clearGcTimeout(): void;
|
||||
protected abstract optionalRemove(): void;
|
||||
}
|
||||
|
||||
export { Removable };
|
||||
32
node_modules/@tanstack/query-core/build/modern/removable.js
generated
vendored
Normal file
32
node_modules/@tanstack/query-core/build/modern/removable.js
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
// src/removable.ts
|
||||
import { isServer, isValidTimeout } from "./utils.js";
|
||||
var Removable = class {
|
||||
#gcTimeout;
|
||||
destroy() {
|
||||
this.clearGcTimeout();
|
||||
}
|
||||
scheduleGc() {
|
||||
this.clearGcTimeout();
|
||||
if (isValidTimeout(this.gcTime)) {
|
||||
this.#gcTimeout = setTimeout(() => {
|
||||
this.optionalRemove();
|
||||
}, this.gcTime);
|
||||
}
|
||||
}
|
||||
updateGcTime(newGcTime) {
|
||||
this.gcTime = Math.max(
|
||||
this.gcTime || 0,
|
||||
newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)
|
||||
);
|
||||
}
|
||||
clearGcTimeout() {
|
||||
if (this.#gcTimeout) {
|
||||
clearTimeout(this.#gcTimeout);
|
||||
this.#gcTimeout = void 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
export {
|
||||
Removable
|
||||
};
|
||||
//# sourceMappingURL=removable.js.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/removable.js.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/removable.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/removable.ts"],"sourcesContent":["import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType<typeof setTimeout>\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n"],"mappings":";AAAA,SAAS,UAAU,sBAAsB;AAElC,IAAe,YAAf,MAAyB;AAAA,EAE9B;AAAA,EAEA,UAAgB;AACd,SAAK,eAAe;AAAA,EACtB;AAAA,EAEU,aAAmB;AAC3B,SAAK,eAAe;AAEpB,QAAI,eAAe,KAAK,MAAM,GAAG;AAC/B,WAAK,aAAa,WAAW,MAAM;AACjC,aAAK,eAAe;AAAA,MACtB,GAAG,KAAK,MAAM;AAAA,IAChB;AAAA,EACF;AAAA,EAEU,aAAa,WAAqC;AAE1D,SAAK,SAAS,KAAK;AAAA,MACjB,KAAK,UAAU;AAAA,MACf,cAAc,WAAW,WAAW,IAAI,KAAK;AAAA,IAC/C;AAAA,EACF;AAAA,EAEU,iBAAiB;AACzB,QAAI,KAAK,YAAY;AACnB,mBAAa,KAAK,UAAU;AAC5B,WAAK,aAAa;AAAA,IACpB;AAAA,EACF;AAGF;","names":[]}
|
||||
163
node_modules/@tanstack/query-core/build/modern/retryer.cjs
generated
vendored
Normal file
163
node_modules/@tanstack/query-core/build/modern/retryer.cjs
generated
vendored
Normal file
@ -0,0 +1,163 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/retryer.ts
|
||||
var retryer_exports = {};
|
||||
__export(retryer_exports, {
|
||||
CancelledError: () => CancelledError,
|
||||
canFetch: () => canFetch,
|
||||
createRetryer: () => createRetryer,
|
||||
isCancelledError: () => isCancelledError
|
||||
});
|
||||
module.exports = __toCommonJS(retryer_exports);
|
||||
var import_focusManager = require("./focusManager.cjs");
|
||||
var import_onlineManager = require("./onlineManager.cjs");
|
||||
var import_thenable = require("./thenable.cjs");
|
||||
var import_utils = require("./utils.cjs");
|
||||
function defaultRetryDelay(failureCount) {
|
||||
return Math.min(1e3 * 2 ** failureCount, 3e4);
|
||||
}
|
||||
function canFetch(networkMode) {
|
||||
return (networkMode ?? "online") === "online" ? import_onlineManager.onlineManager.isOnline() : true;
|
||||
}
|
||||
var CancelledError = class extends Error {
|
||||
constructor(options) {
|
||||
super("CancelledError");
|
||||
this.revert = options?.revert;
|
||||
this.silent = options?.silent;
|
||||
}
|
||||
};
|
||||
function isCancelledError(value) {
|
||||
return value instanceof CancelledError;
|
||||
}
|
||||
function createRetryer(config) {
|
||||
let isRetryCancelled = false;
|
||||
let failureCount = 0;
|
||||
let isResolved = false;
|
||||
let continueFn;
|
||||
const thenable = (0, import_thenable.pendingThenable)();
|
||||
const cancel = (cancelOptions) => {
|
||||
if (!isResolved) {
|
||||
reject(new CancelledError(cancelOptions));
|
||||
config.abort?.();
|
||||
}
|
||||
};
|
||||
const cancelRetry = () => {
|
||||
isRetryCancelled = true;
|
||||
};
|
||||
const continueRetry = () => {
|
||||
isRetryCancelled = false;
|
||||
};
|
||||
const canContinue = () => import_focusManager.focusManager.isFocused() && (config.networkMode === "always" || import_onlineManager.onlineManager.isOnline()) && config.canRun();
|
||||
const canStart = () => canFetch(config.networkMode) && config.canRun();
|
||||
const resolve = (value) => {
|
||||
if (!isResolved) {
|
||||
isResolved = true;
|
||||
config.onSuccess?.(value);
|
||||
continueFn?.();
|
||||
thenable.resolve(value);
|
||||
}
|
||||
};
|
||||
const reject = (value) => {
|
||||
if (!isResolved) {
|
||||
isResolved = true;
|
||||
config.onError?.(value);
|
||||
continueFn?.();
|
||||
thenable.reject(value);
|
||||
}
|
||||
};
|
||||
const pause = () => {
|
||||
return new Promise((continueResolve) => {
|
||||
continueFn = (value) => {
|
||||
if (isResolved || canContinue()) {
|
||||
continueResolve(value);
|
||||
}
|
||||
};
|
||||
config.onPause?.();
|
||||
}).then(() => {
|
||||
continueFn = void 0;
|
||||
if (!isResolved) {
|
||||
config.onContinue?.();
|
||||
}
|
||||
});
|
||||
};
|
||||
const run = () => {
|
||||
if (isResolved) {
|
||||
return;
|
||||
}
|
||||
let promiseOrValue;
|
||||
const initialPromise = failureCount === 0 ? config.initialPromise : void 0;
|
||||
try {
|
||||
promiseOrValue = initialPromise ?? config.fn();
|
||||
} catch (error) {
|
||||
promiseOrValue = Promise.reject(error);
|
||||
}
|
||||
Promise.resolve(promiseOrValue).then(resolve).catch((error) => {
|
||||
if (isResolved) {
|
||||
return;
|
||||
}
|
||||
const retry = config.retry ?? (import_utils.isServer ? 0 : 3);
|
||||
const retryDelay = config.retryDelay ?? defaultRetryDelay;
|
||||
const delay = typeof retryDelay === "function" ? retryDelay(failureCount, error) : retryDelay;
|
||||
const shouldRetry = retry === true || typeof retry === "number" && failureCount < retry || typeof retry === "function" && retry(failureCount, error);
|
||||
if (isRetryCancelled || !shouldRetry) {
|
||||
reject(error);
|
||||
return;
|
||||
}
|
||||
failureCount++;
|
||||
config.onFail?.(failureCount, error);
|
||||
(0, import_utils.sleep)(delay).then(() => {
|
||||
return canContinue() ? void 0 : pause();
|
||||
}).then(() => {
|
||||
if (isRetryCancelled) {
|
||||
reject(error);
|
||||
} else {
|
||||
run();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
return {
|
||||
promise: thenable,
|
||||
cancel,
|
||||
continue: () => {
|
||||
continueFn?.();
|
||||
return thenable;
|
||||
},
|
||||
cancelRetry,
|
||||
continueRetry,
|
||||
canStart,
|
||||
start: () => {
|
||||
if (canStart()) {
|
||||
run();
|
||||
} else {
|
||||
pause().then(run);
|
||||
}
|
||||
return thenable;
|
||||
}
|
||||
};
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
CancelledError,
|
||||
canFetch,
|
||||
createRetryer,
|
||||
isCancelledError
|
||||
});
|
||||
//# sourceMappingURL=retryer.cjs.map
|
||||
1
node_modules/@tanstack/query-core/build/modern/retryer.cjs.map
generated
vendored
Normal file
1
node_modules/@tanstack/query-core/build/modern/retryer.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user