gitxp 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +17 -0
- package/.output/public/assets/index-BGHvBNtP.js +11 -0
- package/.output/public/assets/routes-DuE8S6pX.js +60 -0
- package/.output/public/assets/styles-D5xbQNYu.css +1 -0
- package/.output/server/_chunks/ssr-renderer.mjs +26 -0
- package/.output/server/_libs/@floating-ui/core+[...].mjs +671 -0
- package/.output/server/_libs/@floating-ui/dom+[...].mjs +649 -0
- package/.output/server/_libs/@floating-ui/react-dom+[...].mjs +856 -0
- package/.output/server/_libs/@radix-ui/react-arrow+[...].mjs +258 -0
- package/.output/server/_libs/@radix-ui/react-dialog+[...].mjs +1862 -0
- package/.output/server/_libs/@radix-ui/react-popper+[...].mjs +320 -0
- package/.output/server/_libs/@radix-ui/react-tooltip+[...].mjs +534 -0
- package/.output/server/_libs/@tanstack/db+[...].mjs +14680 -0
- package/.output/server/_libs/@tanstack/react-router+[...].mjs +14563 -0
- package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +126 -0
- package/.output/server/_libs/@tanstack/router-core+[...].mjs +3636 -0
- package/.output/server/_libs/class-variance-authority+clsx.mjs +69 -0
- package/.output/server/_libs/cmdk.mjs +504 -0
- package/.output/server/_libs/h3+rou3+srvx.mjs +1361 -0
- package/.output/server/_libs/h3-v2.mjs +285 -0
- package/.output/server/_libs/lucide-react.mjs +158 -0
- package/.output/server/_libs/radix-ui__primitive.mjs +44 -0
- package/.output/server/_libs/radix-ui__react-context.mjs +108 -0
- package/.output/server/_libs/tailwind-merge.mjs +3380 -0
- package/.output/server/_libs/tanstack__history.mjs +384 -0
- package/.output/server/_libs/tanstack__query-core.mjs +2225 -0
- package/.output/server/_libs/tanstack__react-db.mjs +242 -0
- package/.output/server/_libs/tanstack__react-query.mjs +140 -0
- package/.output/server/_libs/ufo.mjs +64 -0
- package/.output/server/_runtime.mjs +35 -0
- package/.output/server/_ssr/empty-plugin-adapters-D9UWiqvJ.mjs +5 -0
- package/.output/server/_ssr/events-BNrmOvgU.mjs +13 -0
- package/.output/server/_ssr/notifications-DUoENv6E.mjs +514 -0
- package/.output/server/_ssr/router-DsUHD4bT.mjs +179 -0
- package/.output/server/_ssr/routes-DIFfr242.mjs +982 -0
- package/.output/server/_ssr/ssr.mjs +1854 -0
- package/.output/server/_ssr/start-5Z2QO8AU.mjs +4 -0
- package/.output/server/_tanstack-start-manifest_v-CrD0YpZr.mjs +20 -0
- package/.output/server/index.mjs +310 -0
- package/.output/server/node_modules/tslib/modules/index.js +70 -0
- package/.output/server/node_modules/tslib/modules/package.json +3 -0
- package/.output/server/node_modules/tslib/package.json +47 -0
- package/.output/server/node_modules/tslib/tslib.js +484 -0
- package/.output/server/package.json +9 -0
- package/LICENSE +21 -0
- package/README.md +325 -0
- package/bin/gitxp.js +85 -0
- package/package.json +92 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { i as __toESM } from "../_runtime.mjs";
|
|
2
|
+
import { u as require_react } from "./@floating-ui/react-dom+[...].mjs";
|
|
3
|
+
import { l as require_jsx_runtime } from "./@radix-ui/react-arrow+[...].mjs";
|
|
4
|
+
import { a as createLiveQueryObserver, c as BaseQueryBuilder, i as getStableValueHash, n as prepareLiveQueryValue, o as isCollection, r as UnhashableQueryIRError, s as createLiveQueryCollection, t as getPreparedLiveQueryIdentity, u as deepEquals } from "./@tanstack/db+[...].mjs";
|
|
5
|
+
require_jsx_runtime();
|
|
6
|
+
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
|
|
7
|
+
var DbContext = (0, import_react.createContext)(void 0);
|
|
8
|
+
function useOptionalDbClient() {
|
|
9
|
+
return (0, import_react.useContext)(DbContext);
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region node_modules/@tanstack/react-db/dist/esm/live-query-internals.js
|
|
13
|
+
var liveQueryResultInfo = /* @__PURE__ */ Symbol(`liveQueryResultInfo`);
|
|
14
|
+
function setLiveQueryResultInfo(result, info) {
|
|
15
|
+
Object.defineProperty(result, liveQueryResultInfo, {
|
|
16
|
+
configurable: true,
|
|
17
|
+
value: info
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region node_modules/@tanstack/react-db/dist/esm/useLiveQuery.js
|
|
22
|
+
var DEFAULT_GC_TIME_MS = 1;
|
|
23
|
+
var DERIVED_IDENTITY_SINGLE_RENDER_WARN_MS = 16;
|
|
24
|
+
var DERIVED_IDENTITY_RENDER_COUNT_WARN_THRESHOLD = 10;
|
|
25
|
+
var DERIVED_IDENTITY_TOTAL_WARN_MS = 50;
|
|
26
|
+
var warnedDepsCallsites = /* @__PURE__ */ new Set();
|
|
27
|
+
var warnedDerivedIdentityCallsites = /* @__PURE__ */ new Set();
|
|
28
|
+
var warnedUnhashableIdentityCallsites = /* @__PURE__ */ new Set();
|
|
29
|
+
var unpreparedQueryValue = /* @__PURE__ */ Symbol(`unpreparedQueryValue`);
|
|
30
|
+
function warnDeprecatedDepsArray(hookName = `useLiveQuery`) {
|
|
31
|
+
if (!shouldWarnInDevelopment(`TANSTACK_DB_DISABLE_DEPRECATION_WARNINGS`)) return;
|
|
32
|
+
const callsite = getWarningCallsite(4);
|
|
33
|
+
if (warnedDepsCallsites.has(callsite)) return;
|
|
34
|
+
warnedDepsCallsites.add(callsite);
|
|
35
|
+
console.warn(`[${hookName}] The dependency-array form is deprecated and will be removed in 1.0. Use ${hookName === `useLiveQuery` ? `useLiveQuery({ query })` : `useLiveInfiniteQuery(query, { queryKey })`} instead. Provide queryKey only for functional/opaque queries or to avoid deriving identity from structured query IR on render.`);
|
|
36
|
+
}
|
|
37
|
+
function shouldWarnInDevelopment(disableEnvVar) {
|
|
38
|
+
if (typeof process === `undefined`) return false;
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
function getCurrentTime() {
|
|
42
|
+
return typeof performance !== `undefined` && typeof performance.now === `function` ? performance.now() : Date.now();
|
|
43
|
+
}
|
|
44
|
+
function getWarningCallsite(stackIndex) {
|
|
45
|
+
const stack = (/* @__PURE__ */ new Error()).stack ?? `unknown`;
|
|
46
|
+
return stack.split(`
|
|
47
|
+
`)[stackIndex]?.trim() ?? stack;
|
|
48
|
+
}
|
|
49
|
+
function warnDerivedIdentityHotPath(profiler, durationMs) {
|
|
50
|
+
if (profiler.warned || !shouldWarnInDevelopment(`TANSTACK_DB_DISABLE_QUERY_IDENTITY_WARNINGS`)) return;
|
|
51
|
+
const isSlowSingleRender = durationMs >= DERIVED_IDENTITY_SINGLE_RENDER_WARN_MS;
|
|
52
|
+
const isHotRenderPath = profiler.renderCount >= DERIVED_IDENTITY_RENDER_COUNT_WARN_THRESHOLD && profiler.totalMs >= DERIVED_IDENTITY_TOTAL_WARN_MS;
|
|
53
|
+
if (!isSlowSingleRender && !isHotRenderPath) return;
|
|
54
|
+
const callsite = getWarningCallsite(5);
|
|
55
|
+
if (warnedDerivedIdentityCallsites.has(callsite)) {
|
|
56
|
+
profiler.warned = true;
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
warnedDerivedIdentityCallsites.add(callsite);
|
|
60
|
+
profiler.warned = true;
|
|
61
|
+
const reason = isSlowSingleRender ? `one render took ${durationMs.toFixed(1)}ms` : `${profiler.renderCount} renders took ${profiler.totalMs.toFixed(1)}ms`;
|
|
62
|
+
console.warn(`[useLiveQuery] Deriving live query identity from structured query IR is running on a hot render path (${reason}, max ${profiler.maxMs.toFixed(1)}ms). Provide an explicit queryKey to skip rebuilding and hashing the IR on every render: useLiveQuery({ queryKey: [...], query }).`);
|
|
63
|
+
}
|
|
64
|
+
function getExplicitQueryKey(value) {
|
|
65
|
+
return value && typeof value === `object` && Array.isArray(value.queryKey) ? value.queryKey : void 0;
|
|
66
|
+
}
|
|
67
|
+
function getExplicitDbClient(value) {
|
|
68
|
+
return value && typeof value === `object` && `client` in value && value.client !== void 0 ? value.client : void 0;
|
|
69
|
+
}
|
|
70
|
+
function prepareQueryValue(value, dbClient, deferredCollections) {
|
|
71
|
+
return prepareLiveQueryValue(value, dbClient, deferredCollections);
|
|
72
|
+
}
|
|
73
|
+
function prepareDerivedQuery(value, dbClient, profiler, deferredCollections) {
|
|
74
|
+
const shouldProfile = shouldWarnInDevelopment(`TANSTACK_DB_DISABLE_QUERY_IDENTITY_WARNINGS`);
|
|
75
|
+
const start = shouldProfile ? getCurrentTime() : 0;
|
|
76
|
+
const preparedValue = prepareQueryValue(value, dbClient, deferredCollections);
|
|
77
|
+
try {
|
|
78
|
+
return {
|
|
79
|
+
status: `hashable`,
|
|
80
|
+
value: preparedValue,
|
|
81
|
+
identityDeps: [`derived`, getPreparedLiveQueryIdentity(preparedValue)]
|
|
82
|
+
};
|
|
83
|
+
} catch (error) {
|
|
84
|
+
if (error instanceof UnhashableQueryIRError) return {
|
|
85
|
+
status: `unhashable`,
|
|
86
|
+
value: preparedValue,
|
|
87
|
+
error
|
|
88
|
+
};
|
|
89
|
+
throw error;
|
|
90
|
+
} finally {
|
|
91
|
+
if (shouldProfile) {
|
|
92
|
+
const durationMs = getCurrentTime() - start;
|
|
93
|
+
profiler.renderCount += 1;
|
|
94
|
+
profiler.totalMs += durationMs;
|
|
95
|
+
profiler.maxMs = Math.max(profiler.maxMs, durationMs);
|
|
96
|
+
warnDerivedIdentityHotPath(profiler, durationMs);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function warnUnhashableDerivedIdentity(error) {
|
|
101
|
+
if (!shouldWarnInDevelopment(`TANSTACK_DB_DISABLE_QUERY_IDENTITY_WARNINGS`)) return;
|
|
102
|
+
const callsite = getWarningCallsite(4);
|
|
103
|
+
if (warnedUnhashableIdentityCallsites.has(callsite)) return;
|
|
104
|
+
warnedUnhashableIdentityCallsites.add(callsite);
|
|
105
|
+
console.warn(`[useLiveQuery] This query cannot derive a stable identity because ${error.reason} at ${error.path}. It will keep the legacy mount-stable behavior for now. Add queryKey: [...] to make captured values reactive. Unhashable queries without queryKey will throw in 1.0.`);
|
|
106
|
+
}
|
|
107
|
+
function createCollectionFromPreparedQuery(value) {
|
|
108
|
+
if (value === void 0 || value === null) return null;
|
|
109
|
+
if (isCollection(value)) {
|
|
110
|
+
value.startSyncImmediate();
|
|
111
|
+
return value;
|
|
112
|
+
}
|
|
113
|
+
if (value instanceof BaseQueryBuilder) return createLiveQueryCollection({
|
|
114
|
+
query: value,
|
|
115
|
+
startSync: true,
|
|
116
|
+
gcTime: DEFAULT_GC_TIME_MS
|
|
117
|
+
});
|
|
118
|
+
if (typeof value === `object`) return createLiveQueryCollection({
|
|
119
|
+
startSync: true,
|
|
120
|
+
gcTime: DEFAULT_GC_TIME_MS,
|
|
121
|
+
...value
|
|
122
|
+
});
|
|
123
|
+
throw new Error(`useLiveQuery callback must return a QueryBuilder, LiveQueryCollectionConfig, Collection, undefined, or null. Got: ${typeof value}`);
|
|
124
|
+
}
|
|
125
|
+
function useLiveQuery(configOrQueryOrCollection, deps) {
|
|
126
|
+
const contextDbClient = useOptionalDbClient();
|
|
127
|
+
const inputIsCollection = isCollection(configOrQueryOrCollection);
|
|
128
|
+
const dbClient = inputIsCollection ? contextDbClient : getExplicitDbClient(configOrQueryOrCollection) ?? contextDbClient;
|
|
129
|
+
const resolvedDeps = deps ?? [];
|
|
130
|
+
const collectionRef = (0, import_react.useRef)(null);
|
|
131
|
+
const depsRef = (0, import_react.useRef)(null);
|
|
132
|
+
const configRef = (0, import_react.useRef)(null);
|
|
133
|
+
const clientRef = (0, import_react.useRef)(dbClient);
|
|
134
|
+
const legacyUnhashableIdentityRef = (0, import_react.useRef)([`legacy-unhashable`]);
|
|
135
|
+
const derivedIdentityProfilerRef = (0, import_react.useRef)({
|
|
136
|
+
renderCount: 0,
|
|
137
|
+
totalMs: 0,
|
|
138
|
+
maxMs: 0,
|
|
139
|
+
warned: false
|
|
140
|
+
});
|
|
141
|
+
const deferredCollectionsRef = (0, import_react.useRef)(/* @__PURE__ */ new Set());
|
|
142
|
+
const observerRef = (0, import_react.useRef)(null);
|
|
143
|
+
const queryHashRef = (0, import_react.useRef)(void 0);
|
|
144
|
+
const identityErrorRef = (0, import_react.useRef)(void 0);
|
|
145
|
+
const queryKey = !inputIsCollection ? getExplicitQueryKey(configOrQueryOrCollection) : void 0;
|
|
146
|
+
let preparedQueryValue = unpreparedQueryValue;
|
|
147
|
+
let identityDeps;
|
|
148
|
+
let streamIdentity = void 0;
|
|
149
|
+
let identityError;
|
|
150
|
+
if (queryKey) {
|
|
151
|
+
identityDeps = queryKey;
|
|
152
|
+
streamIdentity = [`queryKey`, queryKey];
|
|
153
|
+
} else if (deps !== void 0) {
|
|
154
|
+
identityDeps = resolvedDeps;
|
|
155
|
+
try {
|
|
156
|
+
preparedQueryValue = prepareQueryValue(configOrQueryOrCollection, dbClient, deferredCollectionsRef.current);
|
|
157
|
+
streamIdentity = [
|
|
158
|
+
`deps`,
|
|
159
|
+
resolvedDeps,
|
|
160
|
+
getPreparedLiveQueryIdentity(preparedQueryValue)
|
|
161
|
+
];
|
|
162
|
+
} catch (error) {
|
|
163
|
+
if (!(error instanceof UnhashableQueryIRError)) throw error;
|
|
164
|
+
warnUnhashableDerivedIdentity(error);
|
|
165
|
+
identityError = error;
|
|
166
|
+
}
|
|
167
|
+
} else if (inputIsCollection) {
|
|
168
|
+
identityDeps = [];
|
|
169
|
+
streamIdentity = [`collection`, configOrQueryOrCollection.id];
|
|
170
|
+
} else {
|
|
171
|
+
const preparation = prepareDerivedQuery(configOrQueryOrCollection, dbClient, derivedIdentityProfilerRef.current, deferredCollectionsRef.current);
|
|
172
|
+
preparedQueryValue = preparation.value;
|
|
173
|
+
if (preparation.status === `hashable`) {
|
|
174
|
+
identityDeps = preparation.identityDeps;
|
|
175
|
+
streamIdentity = preparation.identityDeps;
|
|
176
|
+
} else {
|
|
177
|
+
warnUnhashableDerivedIdentity(preparation.error);
|
|
178
|
+
identityDeps = legacyUnhashableIdentityRef.current;
|
|
179
|
+
identityError = preparation.error;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
let queryHash;
|
|
183
|
+
if (streamIdentity !== void 0) try {
|
|
184
|
+
queryHash = getStableValueHash(streamIdentity, `queryKey`);
|
|
185
|
+
} catch (error) {
|
|
186
|
+
if (error instanceof UnhashableQueryIRError) {
|
|
187
|
+
if (queryKey !== void 0) throw error;
|
|
188
|
+
identityError = error;
|
|
189
|
+
} else throw error;
|
|
190
|
+
}
|
|
191
|
+
if (deps !== void 0) warnDeprecatedDepsArray();
|
|
192
|
+
const identityChanged = depsRef.current === null || (deps !== void 0 ? depsRef.current.length !== identityDeps.length || depsRef.current.some((dep, index) => dep !== identityDeps[index]) : !deepEquals(depsRef.current, identityDeps));
|
|
193
|
+
const needsNewCollection = !collectionRef.current || inputIsCollection && configRef.current !== configOrQueryOrCollection || !inputIsCollection && (clientRef.current !== dbClient || identityChanged);
|
|
194
|
+
const resumeDeferredCollections = () => {
|
|
195
|
+
for (const collection of deferredCollectionsRef.current) collection._resumeSyncStart();
|
|
196
|
+
deferredCollectionsRef.current.clear();
|
|
197
|
+
};
|
|
198
|
+
if (needsNewCollection) {
|
|
199
|
+
if (inputIsCollection) {
|
|
200
|
+
if (configOrQueryOrCollection.config?.syncMode === `on-demand` && shouldWarnInDevelopment(`TANSTACK_DB_DISABLE_QUERY_IDENTITY_WARNINGS`)) console.warn(`[useLiveQuery] Warning: Passing a collection with syncMode "on-demand" directly to useLiveQuery will not load any data. In on-demand mode, data is only loaded when queries with predicates request it.
|
|
201
|
+
|
|
202
|
+
Instead, use a query builder function:
|
|
203
|
+
const { data } = useLiveQuery({ query: (q) => q.from({ c: myCollection }).select(({ c }) => c) })
|
|
204
|
+
|
|
205
|
+
Or switch to syncMode "eager" if you want all data to sync automatically.`);
|
|
206
|
+
configOrQueryOrCollection.startSyncImmediate();
|
|
207
|
+
collectionRef.current = configOrQueryOrCollection;
|
|
208
|
+
configRef.current = configOrQueryOrCollection;
|
|
209
|
+
} else {
|
|
210
|
+
if (preparedQueryValue === unpreparedQueryValue) preparedQueryValue = prepareQueryValue(configOrQueryOrCollection, dbClient, deferredCollectionsRef.current);
|
|
211
|
+
collectionRef.current = createCollectionFromPreparedQuery(preparedQueryValue);
|
|
212
|
+
configRef.current = configOrQueryOrCollection;
|
|
213
|
+
depsRef.current = [...identityDeps];
|
|
214
|
+
}
|
|
215
|
+
clientRef.current = dbClient;
|
|
216
|
+
queryHashRef.current = queryHash;
|
|
217
|
+
identityErrorRef.current = identityError;
|
|
218
|
+
}
|
|
219
|
+
if (needsNewCollection) observerRef.current = createLiveQueryObserver(collectionRef.current, {
|
|
220
|
+
mode: `wholesale`,
|
|
221
|
+
client: dbClient,
|
|
222
|
+
queryHash: queryHashRef.current,
|
|
223
|
+
onPreload: resumeDeferredCollections
|
|
224
|
+
});
|
|
225
|
+
const observer = observerRef.current;
|
|
226
|
+
const subscribeRef = (0, import_react.useRef)(null);
|
|
227
|
+
if (!subscribeRef.current || needsNewCollection) subscribeRef.current = (onStoreChange) => {
|
|
228
|
+
const unsubscribe = observer.subscribe(() => onStoreChange());
|
|
229
|
+
resumeDeferredCollections();
|
|
230
|
+
return unsubscribe;
|
|
231
|
+
};
|
|
232
|
+
const returned = (0, import_react.useSyncExternalStore)(subscribeRef.current, () => observer.getSnapshot(), () => observer.getServerSnapshot());
|
|
233
|
+
setLiveQueryResultInfo(returned, {
|
|
234
|
+
client: dbClient,
|
|
235
|
+
queryHash: queryHashRef.current,
|
|
236
|
+
identityError: identityErrorRef.current,
|
|
237
|
+
observer
|
|
238
|
+
});
|
|
239
|
+
return returned;
|
|
240
|
+
}
|
|
241
|
+
//#endregion
|
|
242
|
+
export { useLiveQuery as t };
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { i as __toESM } from "../_runtime.mjs";
|
|
2
|
+
import { u as require_react } from "./@floating-ui/react-dom+[...].mjs";
|
|
3
|
+
import { l as require_jsx_runtime } from "./@radix-ui/react-arrow+[...].mjs";
|
|
4
|
+
import { c as shouldThrowError, i as notifyManager, n as MutationObserver, r as QueryObserver, s as noop } from "./tanstack__query-core.mjs";
|
|
5
|
+
//#region node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js
|
|
6
|
+
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
|
|
7
|
+
var import_jsx_runtime = require_jsx_runtime();
|
|
8
|
+
var QueryClientContext = import_react.createContext(void 0);
|
|
9
|
+
var useQueryClient = (queryClient) => {
|
|
10
|
+
const client = import_react.useContext(QueryClientContext);
|
|
11
|
+
if (queryClient) return queryClient;
|
|
12
|
+
if (!client) throw new Error("No QueryClient set, use QueryClientProvider to set one");
|
|
13
|
+
return client;
|
|
14
|
+
};
|
|
15
|
+
var QueryClientProvider = ({ client, children }) => {
|
|
16
|
+
import_react.useEffect(() => {
|
|
17
|
+
client.mount();
|
|
18
|
+
return () => {
|
|
19
|
+
client.unmount();
|
|
20
|
+
};
|
|
21
|
+
}, [client]);
|
|
22
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(QueryClientContext.Provider, {
|
|
23
|
+
value: client,
|
|
24
|
+
children
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js
|
|
29
|
+
var IsRestoringContext = import_react.createContext(false);
|
|
30
|
+
var useIsRestoring = () => import_react.useContext(IsRestoringContext);
|
|
31
|
+
IsRestoringContext.Provider;
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js
|
|
34
|
+
function createValue() {
|
|
35
|
+
let isReset = false;
|
|
36
|
+
return {
|
|
37
|
+
clearReset: () => {
|
|
38
|
+
isReset = false;
|
|
39
|
+
},
|
|
40
|
+
reset: () => {
|
|
41
|
+
isReset = true;
|
|
42
|
+
},
|
|
43
|
+
isReset: () => {
|
|
44
|
+
return isReset;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
var QueryErrorResetBoundaryContext = import_react.createContext(createValue());
|
|
49
|
+
var useQueryErrorResetBoundary = () => import_react.useContext(QueryErrorResetBoundaryContext);
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js
|
|
52
|
+
var ensurePreventErrorBoundaryRetry = (options, errorResetBoundary, query) => {
|
|
53
|
+
const throwOnError = query?.state.error && typeof options.throwOnError === "function" ? shouldThrowError(options.throwOnError, [query.state.error, query]) : options.throwOnError;
|
|
54
|
+
if (options.suspense || throwOnError) {
|
|
55
|
+
if (!errorResetBoundary.isReset()) options.retryOnMount = false;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
var useClearResetErrorBoundary = (errorResetBoundary) => {
|
|
59
|
+
import_react.useEffect(() => {
|
|
60
|
+
errorResetBoundary.clearReset();
|
|
61
|
+
}, [errorResetBoundary]);
|
|
62
|
+
};
|
|
63
|
+
var getHasError = ({ result, errorResetBoundary, throwOnError, query, suspense }) => {
|
|
64
|
+
return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));
|
|
65
|
+
};
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region node_modules/@tanstack/react-query/build/modern/suspense.js
|
|
68
|
+
var ensureSuspenseTimers = (defaultedOptions) => {
|
|
69
|
+
if (defaultedOptions.suspense) {
|
|
70
|
+
const MIN_SUSPENSE_TIME_MS = 1e3;
|
|
71
|
+
const clamp = (value) => value === "static" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);
|
|
72
|
+
const originalStaleTime = defaultedOptions.staleTime;
|
|
73
|
+
defaultedOptions.staleTime = typeof originalStaleTime === "function" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);
|
|
74
|
+
if (typeof defaultedOptions.gcTime === "number") defaultedOptions.gcTime = Math.max(defaultedOptions.gcTime, MIN_SUSPENSE_TIME_MS);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
var shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;
|
|
78
|
+
var fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {
|
|
79
|
+
errorResetBoundary.clearReset();
|
|
80
|
+
});
|
|
81
|
+
//#endregion
|
|
82
|
+
//#region node_modules/@tanstack/react-query/build/modern/useBaseQuery.js
|
|
83
|
+
function useBaseQuery(options, Observer, queryClient) {
|
|
84
|
+
const isRestoring = useIsRestoring();
|
|
85
|
+
const errorResetBoundary = useQueryErrorResetBoundary();
|
|
86
|
+
const client = useQueryClient(queryClient);
|
|
87
|
+
const defaultedOptions = client.defaultQueryOptions(options);
|
|
88
|
+
const query = client.getQueryCache().get(defaultedOptions.queryHash);
|
|
89
|
+
const subscribed = options.subscribed !== false;
|
|
90
|
+
defaultedOptions._optimisticResults = isRestoring ? "isRestoring" : subscribed ? "optimistic" : void 0;
|
|
91
|
+
ensureSuspenseTimers(defaultedOptions);
|
|
92
|
+
ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);
|
|
93
|
+
useClearResetErrorBoundary(errorResetBoundary);
|
|
94
|
+
const [observer] = import_react.useState(() => new Observer(client, defaultedOptions));
|
|
95
|
+
const result = observer.getOptimisticResult(defaultedOptions);
|
|
96
|
+
const shouldSubscribe = !isRestoring && subscribed;
|
|
97
|
+
import_react.useSyncExternalStore(import_react.useCallback((onStoreChange) => {
|
|
98
|
+
const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;
|
|
99
|
+
observer.updateResult();
|
|
100
|
+
return unsubscribe;
|
|
101
|
+
}, [observer, shouldSubscribe]), () => observer.getCurrentResult(), () => observer.getCurrentResult());
|
|
102
|
+
import_react.useEffect(() => {
|
|
103
|
+
observer.setOptions(defaultedOptions);
|
|
104
|
+
}, [defaultedOptions, observer]);
|
|
105
|
+
if (shouldSuspend(defaultedOptions, result)) throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);
|
|
106
|
+
if (getHasError({
|
|
107
|
+
result,
|
|
108
|
+
errorResetBoundary,
|
|
109
|
+
throwOnError: defaultedOptions.throwOnError,
|
|
110
|
+
query,
|
|
111
|
+
suspense: defaultedOptions.suspense
|
|
112
|
+
})) throw result.error;
|
|
113
|
+
return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;
|
|
114
|
+
}
|
|
115
|
+
//#endregion
|
|
116
|
+
//#region node_modules/@tanstack/react-query/build/modern/useQuery.js
|
|
117
|
+
function useQuery(options, queryClient) {
|
|
118
|
+
return useBaseQuery(options, QueryObserver, queryClient);
|
|
119
|
+
}
|
|
120
|
+
//#endregion
|
|
121
|
+
//#region node_modules/@tanstack/react-query/build/modern/useMutation.js
|
|
122
|
+
function useMutation(options, queryClient) {
|
|
123
|
+
const client = useQueryClient(queryClient);
|
|
124
|
+
const [observer] = import_react.useState(() => new MutationObserver(client, options));
|
|
125
|
+
import_react.useEffect(() => {
|
|
126
|
+
observer.setOptions(options);
|
|
127
|
+
}, [observer, options]);
|
|
128
|
+
const result = import_react.useSyncExternalStore(import_react.useCallback((onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)), [observer]), () => observer.getCurrentResult(), () => observer.getCurrentResult());
|
|
129
|
+
const mutate = import_react.useCallback((...args) => {
|
|
130
|
+
observer.mutate(args[0], args[1]).catch(noop);
|
|
131
|
+
}, [observer]);
|
|
132
|
+
if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) throw result.error;
|
|
133
|
+
return {
|
|
134
|
+
...result,
|
|
135
|
+
mutate,
|
|
136
|
+
mutateAsync: result.mutate
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
//#endregion
|
|
140
|
+
export { useQueryClient as i, useQuery as n, QueryClientProvider as r, useMutation as t };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
String.fromCharCode;
|
|
2
|
+
var ENC_SLASH_RE = /%2f/gi;
|
|
3
|
+
function decode(text = "") {
|
|
4
|
+
try {
|
|
5
|
+
return decodeURIComponent("" + text);
|
|
6
|
+
} catch {
|
|
7
|
+
return "" + text;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
function decodePath(text) {
|
|
11
|
+
return decode(text.replace(ENC_SLASH_RE, "%252F"));
|
|
12
|
+
}
|
|
13
|
+
var TRAILING_SLASH_RE = /\/$|\/\?|\/#/;
|
|
14
|
+
var JOIN_LEADING_SLASH_RE = /^\.?\//;
|
|
15
|
+
function hasTrailingSlash(input = "", respectQueryAndFragment) {
|
|
16
|
+
if (!respectQueryAndFragment) return input.endsWith("/");
|
|
17
|
+
return TRAILING_SLASH_RE.test(input);
|
|
18
|
+
}
|
|
19
|
+
function withoutTrailingSlash(input = "", respectQueryAndFragment) {
|
|
20
|
+
if (!respectQueryAndFragment) return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || "/";
|
|
21
|
+
if (!hasTrailingSlash(input, true)) return input || "/";
|
|
22
|
+
let path = input;
|
|
23
|
+
let fragment = "";
|
|
24
|
+
const fragmentIndex = input.indexOf("#");
|
|
25
|
+
if (fragmentIndex !== -1) {
|
|
26
|
+
path = input.slice(0, fragmentIndex);
|
|
27
|
+
fragment = input.slice(fragmentIndex);
|
|
28
|
+
}
|
|
29
|
+
const [s0, ...s] = path.split("?");
|
|
30
|
+
return ((s0.endsWith("/") ? s0.slice(0, -1) : s0) || "/") + (s.length > 0 ? `?${s.join("?")}` : "") + fragment;
|
|
31
|
+
}
|
|
32
|
+
function withTrailingSlash(input = "", respectQueryAndFragment) {
|
|
33
|
+
if (!respectQueryAndFragment) return input.endsWith("/") ? input : input + "/";
|
|
34
|
+
if (hasTrailingSlash(input, true)) return input || "/";
|
|
35
|
+
let path = input;
|
|
36
|
+
let fragment = "";
|
|
37
|
+
const fragmentIndex = input.indexOf("#");
|
|
38
|
+
if (fragmentIndex !== -1) {
|
|
39
|
+
path = input.slice(0, fragmentIndex);
|
|
40
|
+
fragment = input.slice(fragmentIndex);
|
|
41
|
+
if (!path) return fragment;
|
|
42
|
+
}
|
|
43
|
+
const [s0, ...s] = path.split("?");
|
|
44
|
+
return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "") + fragment;
|
|
45
|
+
}
|
|
46
|
+
function hasLeadingSlash(input = "") {
|
|
47
|
+
return input.startsWith("/");
|
|
48
|
+
}
|
|
49
|
+
function withLeadingSlash(input = "") {
|
|
50
|
+
return hasLeadingSlash(input) ? input : "/" + input;
|
|
51
|
+
}
|
|
52
|
+
function isNonEmptyURL(url) {
|
|
53
|
+
return url && url !== "/";
|
|
54
|
+
}
|
|
55
|
+
function joinURL(base, ...input) {
|
|
56
|
+
let url = base || "";
|
|
57
|
+
for (const segment of input.filter((url2) => isNonEmptyURL(url2))) if (url) {
|
|
58
|
+
const _segment = segment.replace(JOIN_LEADING_SLASH_RE, "");
|
|
59
|
+
url = withTrailingSlash(url) + _segment;
|
|
60
|
+
} else url = segment;
|
|
61
|
+
return url;
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
export { withoutTrailingSlash as i, joinURL as n, withLeadingSlash as r, decodePath as t };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
//#region \0rolldown/runtime.js
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
10
|
+
var __exportAll = (all, no_symbols) => {
|
|
11
|
+
let target = {};
|
|
12
|
+
for (var name in all) __defProp(target, name, {
|
|
13
|
+
get: all[name],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
17
|
+
return target;
|
|
18
|
+
};
|
|
19
|
+
var __copyProps = (to, from, except, desc) => {
|
|
20
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
21
|
+
key = keys[i];
|
|
22
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
23
|
+
get: ((k) => from[k]).bind(null, key),
|
|
24
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return to;
|
|
28
|
+
};
|
|
29
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
30
|
+
value: mod,
|
|
31
|
+
enumerable: true
|
|
32
|
+
}) : target, mod));
|
|
33
|
+
var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
|
|
34
|
+
//#endregion
|
|
35
|
+
export { __toESM as i, __exportAll as n, __require as r, __commonJSMin as t };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/events-BNrmOvgU.js
|
|
2
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
3
|
+
function onChange(listener) {
|
|
4
|
+
listeners.add(listener);
|
|
5
|
+
return () => {
|
|
6
|
+
listeners.delete(listener);
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
function emitChange(resource) {
|
|
10
|
+
for (const listener of listeners) listener(resource);
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { onChange as n, emitChange as t };
|