qortex-core 0.1.5 → 0.1.7
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/README.md +7 -249
- package/index.d.ts +39 -3
- package/index.js +41 -16
- package/index.mjs +29 -13
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,255 +20,11 @@
|
|
|
20
20
|
pnpm add qortex-core
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
import { queryManager } from "qortex-core";
|
|
23
|
+
## 📚 Documentation
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
queryManager.setDefaultConfig({
|
|
28
|
-
staleTime: 5 * 60 * 1000, // 5 minutes default
|
|
29
|
-
throttleTime: 100, // 100ms throttle
|
|
30
|
-
usePreviousDataOnError: true
|
|
31
|
-
});
|
|
25
|
+
**Complete documentation, examples, and API reference available at:**
|
|
32
26
|
|
|
33
|
-
|
|
34
|
-
queryManager.registerFetcher(["todos"], {
|
|
35
|
-
fetcher: async () => {
|
|
36
|
-
const response = await fetch("/api/todos");
|
|
37
|
-
return response.json();
|
|
38
|
-
},
|
|
39
|
-
placeholderData: [] // Uses global staleTime: 5 minutes
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
// Fetch data
|
|
43
|
-
const todos = await queryManager.fetchQuery(["todos"]);
|
|
44
|
-
console.log("Todos loaded:", todos);
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## 🔐 Perfect for Authentication
|
|
48
|
-
|
|
49
|
-
```ts
|
|
50
|
-
// Auth service - update from anywhere
|
|
51
|
-
class AuthService {
|
|
52
|
-
async login(email: string, password: string) {
|
|
53
|
-
const { user, token } = await fetch("/api/auth/login", {
|
|
54
|
-
method: "POST",
|
|
55
|
-
body: JSON.stringify({ email, password })
|
|
56
|
-
}).then(r => r.json());
|
|
57
|
-
|
|
58
|
-
// 🎯 Update auth state - accessible everywhere!
|
|
59
|
-
queryManager.setQueryData(["auth", "user"], user);
|
|
60
|
-
queryManager.setQueryData(["auth", "isAuthenticated"], true);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
logout() {
|
|
64
|
-
// 🎯 Clear auth state from anywhere
|
|
65
|
-
queryManager.setQueryData(["auth", "user"], null);
|
|
66
|
-
queryManager.setQueryData(["auth", "isAuthenticated"], false);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// Access from any environment
|
|
71
|
-
// React
|
|
72
|
-
function useAuth() {
|
|
73
|
-
const user = queryManager.getQueryData(["auth", "user"]);
|
|
74
|
-
const isAuthenticated = queryManager.getQueryData(["auth", "isAuthenticated"]);
|
|
75
|
-
return { user, isAuthenticated };
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// React with hooks (qortex-react package)
|
|
79
|
-
import { useQuery, useQueryData } from "qortex-react";
|
|
80
|
-
|
|
81
|
-
function AuthComponent() {
|
|
82
|
-
const { data: user, isLoading } = useQuery(["auth", "user"]);
|
|
83
|
-
const isAuthenticated = useQueryData(["auth", "isAuthenticated"]);
|
|
84
|
-
|
|
85
|
-
if (isLoading) return <div>Loading...</div>;
|
|
86
|
-
return <div>Welcome {user?.name}</div>;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// Vue
|
|
90
|
-
function useAuth() {
|
|
91
|
-
const user = ref(queryManager.getQueryData(["auth", "user"]));
|
|
92
|
-
const isAuthenticated = ref(queryManager.getQueryData(["auth", "isAuthenticated"]));
|
|
93
|
-
|
|
94
|
-
queryManager.subscribeQuery(["auth", "user"], (state) => {
|
|
95
|
-
user.value = state.data;
|
|
96
|
-
console.log("Auth state:", state.isSuccess, state.isLoading);
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
return { user, isAuthenticated };
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// Vanilla JS
|
|
103
|
-
function checkAuth() {
|
|
104
|
-
const user = queryManager.getQueryData(["auth", "user"]);
|
|
105
|
-
const isAuthenticated = queryManager.getQueryData(["auth", "isAuthenticated"]);
|
|
106
|
-
return { user, isAuthenticated };
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## 🎨 API Reference
|
|
111
|
-
|
|
112
|
-
### `queryManager.registerFetcher(key, options)`
|
|
113
|
-
|
|
114
|
-
```ts
|
|
115
|
-
queryManager.registerFetcher(key, {
|
|
116
|
-
fetcher: async () => Promise<T>,
|
|
117
|
-
staleTime?: number, // Default: 0
|
|
118
|
-
placeholderData?: T,
|
|
119
|
-
enabled?: boolean // Default: true
|
|
120
|
-
});
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
### `queryManager.fetchQuery(key, options?)`
|
|
124
|
-
|
|
125
|
-
```ts
|
|
126
|
-
const data = await queryManager.fetchQuery(key, {
|
|
127
|
-
fetcher?: Fetcher<T>,
|
|
128
|
-
staleTime?: number
|
|
129
|
-
});
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### `queryManager.setQueryData(key, data)`
|
|
133
|
-
|
|
134
|
-
```ts
|
|
135
|
-
// Direct update
|
|
136
|
-
queryManager.setQueryData(["todos"], newTodos);
|
|
137
|
-
|
|
138
|
-
// Functional update
|
|
139
|
-
queryManager.setQueryData(["todos"], (oldData) => [
|
|
140
|
-
...(oldData || []),
|
|
141
|
-
newTodo
|
|
142
|
-
]);
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### `queryManager.getQueryData(key)`
|
|
146
|
-
|
|
147
|
-
```ts
|
|
148
|
-
const user = queryManager.getQueryData(["auth", "user"]);
|
|
149
|
-
const isAuthenticated = queryManager.getQueryData(["auth", "isAuthenticated"]);
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### React Hooks (qortex-react package)
|
|
153
|
-
|
|
154
|
-
```tsx
|
|
155
|
-
import { useQuery, useQueryData } from "qortex-react";
|
|
156
|
-
|
|
157
|
-
// Full query state with loading, error, refetch
|
|
158
|
-
const { data, isLoading, error, refetch } = useQuery(["todos"]);
|
|
159
|
-
|
|
160
|
-
// Just the data - simpler API
|
|
161
|
-
const todos = useQueryData(["todos"]);
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### `queryManager.subscribeQuery(key, callback, options?)`
|
|
165
|
-
|
|
166
|
-
Subscribe to query state changes with flexible callback signatures.
|
|
167
|
-
|
|
168
|
-
```ts
|
|
169
|
-
// Callback receives the current state
|
|
170
|
-
const unsubscribe = queryManager.subscribeQuery(["todos"], (state) => {
|
|
171
|
-
console.log("State changed:", state);
|
|
172
|
-
console.log("Data:", state.data);
|
|
173
|
-
console.log("Loading:", state.isLoading);
|
|
174
|
-
console.log("Success:", state.isSuccess);
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
// With fetcher for automatic type inference
|
|
178
|
-
const unsubscribe = queryManager.subscribeQuery(["todos"], (state) => {
|
|
179
|
-
console.log("Todos:", state.data); // Automatically typed
|
|
180
|
-
}, { fetcher: fetchTodos });
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### `queryManager.setDefaultConfig(config)`
|
|
184
|
-
|
|
185
|
-
Set global default configuration for all queries.
|
|
186
|
-
|
|
187
|
-
```ts
|
|
188
|
-
queryManager.setDefaultConfig({
|
|
189
|
-
staleTime: 5 * 60 * 1000, // 5 minutes
|
|
190
|
-
refetchOnSubscribe: "stale",
|
|
191
|
-
throttleTime: 100, // 100ms throttle
|
|
192
|
-
usePreviousDataOnError: true,
|
|
193
|
-
equalityFn: shallowEqual
|
|
194
|
-
});
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
**Available options:**
|
|
198
|
-
- `enabled?: boolean` - Whether queries are enabled by default
|
|
199
|
-
- `refetchOnSubscribe?: "stale" | "always" | false` - Default refetch behavior
|
|
200
|
-
- `staleTime?: number` - Default time before data is considered stale
|
|
201
|
-
- `usePreviousDataOnError?: boolean` - Keep previous data on error
|
|
202
|
-
- `usePlaceholderOnError?: boolean` - Use placeholder data on error
|
|
203
|
-
- `equalityFn?: EqualityFn<any>` - Default equality function
|
|
204
|
-
- `throttleTime?: number` - Default throttle time for duplicate request prevention
|
|
205
|
-
|
|
206
|
-
## 🎯 More Examples
|
|
207
|
-
|
|
208
|
-
### WebSocket Updates
|
|
209
|
-
|
|
210
|
-
```ts
|
|
211
|
-
// Update data from WebSocket
|
|
212
|
-
const ws = new WebSocket("ws://localhost:8080");
|
|
213
|
-
ws.onmessage = (event) => {
|
|
214
|
-
const data = JSON.parse(event.data);
|
|
215
|
-
queryManager.setQueryData(["live-stats"], data);
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
// Access from any environment
|
|
219
|
-
const stats = queryManager.getQueryData(["live-stats"]);
|
|
220
|
-
console.log("Users online:", stats?.users);
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
### Cross-Framework Data Sharing
|
|
224
|
-
|
|
225
|
-
```ts
|
|
226
|
-
// React component updates data
|
|
227
|
-
function ReactComponent() {
|
|
228
|
-
const updateTheme = () => {
|
|
229
|
-
queryManager.setQueryData(["user", "preferences"], { theme: "dark" });
|
|
230
|
-
};
|
|
231
|
-
return <button onClick={updateTheme}>Update Theme</button>;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
// Vue component automatically reflects changes
|
|
235
|
-
function VueComponent() {
|
|
236
|
-
const preferences = ref(queryManager.getQueryData(["user", "preferences"]));
|
|
237
|
-
|
|
238
|
-
queryManager.subscribeQuery(["user", "preferences"], (state) => {
|
|
239
|
-
preferences.value = state.data;
|
|
240
|
-
});
|
|
241
|
-
|
|
242
|
-
return { preferences };
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
// Vanilla JS also gets updates
|
|
246
|
-
function vanillaJSFunction() {
|
|
247
|
-
const preferences = queryManager.getQueryData(["user", "preferences"]);
|
|
248
|
-
console.log("Current theme:", preferences?.theme);
|
|
249
|
-
}
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
## 🎭 TypeScript Support
|
|
253
|
-
|
|
254
|
-
```ts
|
|
255
|
-
interface User {
|
|
256
|
-
id: string;
|
|
257
|
-
name: string;
|
|
258
|
-
email: string;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
// Type-safe usage
|
|
262
|
-
queryManager.registerFetcher<User[]>(["users"], {
|
|
263
|
-
fetcher: async (): Promise<User[]> => {
|
|
264
|
-
const response = await fetch("/api/users");
|
|
265
|
-
return response.json();
|
|
266
|
-
}
|
|
267
|
-
});
|
|
268
|
-
|
|
269
|
-
const users = await queryManager.fetchQuery<User[]>(["users"]);
|
|
270
|
-
// users is typed as User[] | undefined
|
|
271
|
-
```
|
|
27
|
+
### 🌐 [qortex.darshannaik.com](https://qortex.darshannaik.com)
|
|
272
28
|
|
|
273
29
|
## 📄 License
|
|
274
30
|
|
|
@@ -276,10 +32,12 @@ MIT License - feel free to use this in your projects! 🎉
|
|
|
276
32
|
|
|
277
33
|
## 🎯 Support
|
|
278
34
|
|
|
279
|
-
Need help? Have questions?
|
|
35
|
+
Need help? Have questions? Want to chat about data fetching strategies?
|
|
280
36
|
|
|
37
|
+
- 📚 **Documentation**: [qortex.darshannaik.com](https://qortex.darshannaik.com)
|
|
281
38
|
- 📧 **Email**: [darshannaik.com](https://darshannaik.com)
|
|
282
39
|
- 🐛 **Issues**: [GitHub Issues](https://github.com/Darshan-Naik/qortex/issues)
|
|
40
|
+
- 💬 **Discussions**: [GitHub Discussions](https://github.com/Darshan-Naik/qortex/discussions)
|
|
283
41
|
- 🌟 **Repository**: [https://github.com/Darshan-Naik/qortex](https://github.com/Darshan-Naik/qortex)
|
|
284
42
|
|
|
285
43
|
---
|
|
@@ -287,4 +45,4 @@ Need help? Have questions?
|
|
|
287
45
|
<div align="center">
|
|
288
46
|
<p>Made with ❤️ by <a href="https://darshannaik.com">Darshan</a></p>
|
|
289
47
|
<p>⭐ Star this repo if you found it helpful!</p>
|
|
290
|
-
</div>
|
|
48
|
+
</div>
|
package/index.d.ts
CHANGED
|
@@ -80,7 +80,7 @@ type QueryState<T = any, E = Error> = {
|
|
|
80
80
|
* Core query manager that handles caching, fetching, and state management
|
|
81
81
|
* Implements robust throttling and race condition prevention
|
|
82
82
|
*/
|
|
83
|
-
declare class
|
|
83
|
+
declare class QueryManagerCore {
|
|
84
84
|
private cache;
|
|
85
85
|
private subs;
|
|
86
86
|
private lastReturnedState;
|
|
@@ -180,7 +180,43 @@ declare class QueryManager {
|
|
|
180
180
|
*/
|
|
181
181
|
private handleMountLogic;
|
|
182
182
|
}
|
|
183
|
-
|
|
183
|
+
|
|
184
|
+
declare const _queryManager: QueryManagerCore;
|
|
185
|
+
declare const registerFetcher: {
|
|
186
|
+
<T = any>(key: QueryKey, opts: QueryOptions<T>): void;
|
|
187
|
+
<F extends Fetcher>(key: QueryKey, opts: QueryOptions<InferFetcherResult<F>> & {
|
|
188
|
+
fetcher: F;
|
|
189
|
+
}): void;
|
|
190
|
+
};
|
|
191
|
+
declare const fetchQuery: {
|
|
192
|
+
<T = any>(key: QueryKey, opts?: QueryOptions<T>): Promise<T>;
|
|
193
|
+
<F extends Fetcher>(key: QueryKey, opts: QueryOptions<InferFetcherResult<F>> & {
|
|
194
|
+
fetcher: F;
|
|
195
|
+
}): Promise<InferFetcherResult<F>>;
|
|
196
|
+
};
|
|
197
|
+
declare const setQueryData: <T = any>(key: QueryKey, data: T) => void;
|
|
198
|
+
declare const getQueryData: {
|
|
199
|
+
<T = any>(key: QueryKey, opts?: QueryOptions<T>): T | undefined;
|
|
200
|
+
<F extends Fetcher>(key: QueryKey, opts: QueryOptions<InferFetcherResult<F>> & {
|
|
201
|
+
fetcher: F;
|
|
202
|
+
}): InferFetcherResult<F> | undefined;
|
|
203
|
+
};
|
|
204
|
+
declare const getQueryState: {
|
|
205
|
+
<T = unknown>(key: QueryKey, opts?: QueryOptions<T>): QueryState<T>;
|
|
206
|
+
<F extends Fetcher>(key: QueryKey, opts: QueryOptions<InferFetcherResult<F>> & {
|
|
207
|
+
fetcher: F;
|
|
208
|
+
}): QueryState<InferFetcherResult<F>>;
|
|
209
|
+
};
|
|
210
|
+
declare const invalidateQuery: (key: QueryKey) => void;
|
|
211
|
+
declare const subscribeQuery: {
|
|
212
|
+
(key: QueryKey, cb: (state: QueryState<any>) => void): () => void;
|
|
213
|
+
<F extends Fetcher>(key: QueryKey, cb: (state: QueryState<InferFetcherResult<F>>) => void, opts: QueryOptions<InferFetcherResult<F>> & {
|
|
214
|
+
fetcher: F;
|
|
215
|
+
}): () => void;
|
|
216
|
+
<T = any>(key: QueryKey, cb: (state: QueryState<T>) => void, opts?: QueryOptions<T>): () => void;
|
|
217
|
+
};
|
|
218
|
+
declare const setDefaultConfig: ({ throttleTime, ...config }: DefaultConfig) => void;
|
|
219
|
+
declare const dangerClearCache: () => void;
|
|
184
220
|
|
|
185
221
|
/**
|
|
186
222
|
* Normalizes query keys to a consistent string format for internal storage
|
|
@@ -188,4 +224,4 @@ declare const queryManager: QueryManager;
|
|
|
188
224
|
*/
|
|
189
225
|
declare function serializeKey(key: QueryKey): string;
|
|
190
226
|
|
|
191
|
-
export { DefaultConfig, EqualityFn, Fetcher, InferFetcherResult, QueryKey,
|
|
227
|
+
export { DefaultConfig, EqualityFn, Fetcher, InferFetcherResult, QueryKey, QueryManagerCore, QueryOptions, QueryState, QueryStatus, _queryManager, dangerClearCache, fetchQuery, getQueryData, getQueryState, invalidateQuery, registerFetcher, serializeKey, setDefaultConfig, setQueryData, subscribeQuery };
|
package/index.js
CHANGED
|
@@ -20,9 +20,18 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
QueryManagerCore: () => QueryManagerCore,
|
|
24
|
+
_queryManager: () => _queryManager,
|
|
25
|
+
dangerClearCache: () => dangerClearCache,
|
|
26
|
+
fetchQuery: () => fetchQuery,
|
|
27
|
+
getQueryData: () => getQueryData,
|
|
28
|
+
getQueryState: () => getQueryState,
|
|
29
|
+
invalidateQuery: () => invalidateQuery,
|
|
30
|
+
registerFetcher: () => registerFetcher,
|
|
31
|
+
serializeKey: () => serializeKey,
|
|
32
|
+
setDefaultConfig: () => setDefaultConfig,
|
|
33
|
+
setQueryData: () => setQueryData,
|
|
34
|
+
subscribeQuery: () => subscribeQuery
|
|
26
35
|
});
|
|
27
36
|
module.exports = __toCommonJS(src_exports);
|
|
28
37
|
|
|
@@ -120,8 +129,8 @@ function warnNoFetcherOrData(key) {
|
|
|
120
129
|
);
|
|
121
130
|
}
|
|
122
131
|
|
|
123
|
-
// src/
|
|
124
|
-
var
|
|
132
|
+
// src/queryManagerCore.ts
|
|
133
|
+
var QueryManagerCore = class {
|
|
125
134
|
constructor() {
|
|
126
135
|
this.cache = /* @__PURE__ */ new Map();
|
|
127
136
|
this.subs = /* @__PURE__ */ new Map();
|
|
@@ -196,13 +205,8 @@ var QueryManager = class {
|
|
|
196
205
|
cb(publicState);
|
|
197
206
|
}
|
|
198
207
|
registerFetcher(key, opts) {
|
|
199
|
-
this.ensureState(key, opts);
|
|
200
|
-
|
|
201
|
-
try {
|
|
202
|
-
void this.fetchQuery(key);
|
|
203
|
-
} catch {
|
|
204
|
-
}
|
|
205
|
-
}
|
|
208
|
+
const state = this.ensureState(key, opts);
|
|
209
|
+
this.handleMountLogic(key, state);
|
|
206
210
|
}
|
|
207
211
|
fetchQuery(key, opts) {
|
|
208
212
|
const state = this.ensureState(key, opts);
|
|
@@ -318,10 +322,31 @@ var QueryManager = class {
|
|
|
318
322
|
}
|
|
319
323
|
}
|
|
320
324
|
};
|
|
321
|
-
var
|
|
325
|
+
var queryManagerCore_default = QueryManagerCore;
|
|
326
|
+
|
|
327
|
+
// src/queryManager.ts
|
|
328
|
+
var _queryManager = new queryManagerCore_default();
|
|
329
|
+
var registerFetcher = _queryManager.registerFetcher.bind(_queryManager);
|
|
330
|
+
var fetchQuery = _queryManager.fetchQuery.bind(_queryManager);
|
|
331
|
+
var setQueryData = _queryManager.setQueryData.bind(_queryManager);
|
|
332
|
+
var getQueryData = _queryManager.getQueryData.bind(_queryManager);
|
|
333
|
+
var getQueryState = _queryManager.getQueryState.bind(_queryManager);
|
|
334
|
+
var invalidateQuery = _queryManager.invalidateQuery.bind(_queryManager);
|
|
335
|
+
var subscribeQuery = _queryManager.subscribeQuery.bind(_queryManager);
|
|
336
|
+
var setDefaultConfig = _queryManager.setDefaultConfig.bind(_queryManager);
|
|
337
|
+
var dangerClearCache = _queryManager.dangerClearCache.bind(_queryManager);
|
|
322
338
|
// Annotate the CommonJS export names for ESM import in node:
|
|
323
339
|
0 && (module.exports = {
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
340
|
+
QueryManagerCore,
|
|
341
|
+
_queryManager,
|
|
342
|
+
dangerClearCache,
|
|
343
|
+
fetchQuery,
|
|
344
|
+
getQueryData,
|
|
345
|
+
getQueryState,
|
|
346
|
+
invalidateQuery,
|
|
347
|
+
registerFetcher,
|
|
348
|
+
serializeKey,
|
|
349
|
+
setDefaultConfig,
|
|
350
|
+
setQueryData,
|
|
351
|
+
subscribeQuery
|
|
327
352
|
});
|
package/index.mjs
CHANGED
|
@@ -92,8 +92,8 @@ function warnNoFetcherOrData(key) {
|
|
|
92
92
|
);
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
// src/
|
|
96
|
-
var
|
|
95
|
+
// src/queryManagerCore.ts
|
|
96
|
+
var QueryManagerCore = class {
|
|
97
97
|
constructor() {
|
|
98
98
|
this.cache = /* @__PURE__ */ new Map();
|
|
99
99
|
this.subs = /* @__PURE__ */ new Map();
|
|
@@ -168,13 +168,8 @@ var QueryManager = class {
|
|
|
168
168
|
cb(publicState);
|
|
169
169
|
}
|
|
170
170
|
registerFetcher(key, opts) {
|
|
171
|
-
this.ensureState(key, opts);
|
|
172
|
-
|
|
173
|
-
try {
|
|
174
|
-
void this.fetchQuery(key);
|
|
175
|
-
} catch {
|
|
176
|
-
}
|
|
177
|
-
}
|
|
171
|
+
const state = this.ensureState(key, opts);
|
|
172
|
+
this.handleMountLogic(key, state);
|
|
178
173
|
}
|
|
179
174
|
fetchQuery(key, opts) {
|
|
180
175
|
const state = this.ensureState(key, opts);
|
|
@@ -290,9 +285,30 @@ var QueryManager = class {
|
|
|
290
285
|
}
|
|
291
286
|
}
|
|
292
287
|
};
|
|
293
|
-
var
|
|
288
|
+
var queryManagerCore_default = QueryManagerCore;
|
|
289
|
+
|
|
290
|
+
// src/queryManager.ts
|
|
291
|
+
var _queryManager = new queryManagerCore_default();
|
|
292
|
+
var registerFetcher = _queryManager.registerFetcher.bind(_queryManager);
|
|
293
|
+
var fetchQuery = _queryManager.fetchQuery.bind(_queryManager);
|
|
294
|
+
var setQueryData = _queryManager.setQueryData.bind(_queryManager);
|
|
295
|
+
var getQueryData = _queryManager.getQueryData.bind(_queryManager);
|
|
296
|
+
var getQueryState = _queryManager.getQueryState.bind(_queryManager);
|
|
297
|
+
var invalidateQuery = _queryManager.invalidateQuery.bind(_queryManager);
|
|
298
|
+
var subscribeQuery = _queryManager.subscribeQuery.bind(_queryManager);
|
|
299
|
+
var setDefaultConfig = _queryManager.setDefaultConfig.bind(_queryManager);
|
|
300
|
+
var dangerClearCache = _queryManager.dangerClearCache.bind(_queryManager);
|
|
294
301
|
export {
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
302
|
+
QueryManagerCore,
|
|
303
|
+
_queryManager,
|
|
304
|
+
dangerClearCache,
|
|
305
|
+
fetchQuery,
|
|
306
|
+
getQueryData,
|
|
307
|
+
getQueryState,
|
|
308
|
+
invalidateQuery,
|
|
309
|
+
registerFetcher,
|
|
310
|
+
serializeKey,
|
|
311
|
+
setDefaultConfig,
|
|
312
|
+
setQueryData,
|
|
313
|
+
subscribeQuery
|
|
298
314
|
};
|