@reckona/mreact-query 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/LICENSE +21 -0
- package/README.md +42 -0
- package/dist/devtools.d.ts +4 -0
- package/dist/devtools.d.ts.map +1 -0
- package/dist/devtools.js +5 -0
- package/dist/devtools.js.map +1 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +307 -0
- package/dist/index.js.map +1 -0
- package/package.json +45 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Tatsuo Kaniwa
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# @reckona/mreact-query
|
|
2
|
+
|
|
3
|
+
`@reckona/mreact-query` provides server state and async cache primitives for
|
|
4
|
+
mreact. Loaders can prefetch data on the server, while client components hydrate
|
|
5
|
+
and continue using the same query cache.
|
|
6
|
+
|
|
7
|
+
## Basic Usage
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import {
|
|
11
|
+
createQuery,
|
|
12
|
+
createQueryClient,
|
|
13
|
+
dehydrate,
|
|
14
|
+
getQueryClient,
|
|
15
|
+
hydrate,
|
|
16
|
+
} from "@reckona/mreact-query";
|
|
17
|
+
|
|
18
|
+
const queryClient = createQueryClient();
|
|
19
|
+
|
|
20
|
+
await queryClient.prefetchQuery({
|
|
21
|
+
queryKey: ["profile"],
|
|
22
|
+
queryFn: () => fetch("/api/profile").then((res) => res.json()),
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const state = dehydrate(queryClient);
|
|
26
|
+
hydrate(getQueryClient(), state);
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Core APIs
|
|
30
|
+
|
|
31
|
+
- `createQueryClient()` creates a query cache.
|
|
32
|
+
- `fetchQuery()` and `prefetchQuery()` execute async data functions and cache their results.
|
|
33
|
+
- `createQuery()` creates a reactive query observer.
|
|
34
|
+
- `createMutation()` handles mutations and invalidation.
|
|
35
|
+
- `dehydrate()` and `hydrate()` move query state from server to client.
|
|
36
|
+
- `getQueryClient()` returns the browser singleton query client.
|
|
37
|
+
|
|
38
|
+
## Router Usage
|
|
39
|
+
|
|
40
|
+
Use the request-scoped query client inside `loader`, then hydrate the browser
|
|
41
|
+
singleton returned by `getQueryClient()`. This keeps large apps centered around
|
|
42
|
+
query keys instead of passing every server-state value through page props.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAEA,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAE9F"}
|
package/dist/devtools.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,UAAU,sBAAsB,CAAC,KAAiD;IACtF,uBAAuB,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type ReadonlyCell } from "@reckona/mreact-reactive-core";
|
|
2
|
+
export type QueryKey = readonly unknown[];
|
|
3
|
+
export type QueryStatus = "pending" | "success" | "error";
|
|
4
|
+
export type MutationStatus = "idle" | "pending" | "success" | "error";
|
|
5
|
+
export interface QueryResult<TData> {
|
|
6
|
+
data: TData | undefined;
|
|
7
|
+
error: unknown;
|
|
8
|
+
isFetching: boolean;
|
|
9
|
+
status: QueryStatus;
|
|
10
|
+
updatedAt: number;
|
|
11
|
+
}
|
|
12
|
+
export interface MutationResult<TData> {
|
|
13
|
+
data: TData | undefined;
|
|
14
|
+
error: unknown;
|
|
15
|
+
status: MutationStatus;
|
|
16
|
+
updatedAt: number;
|
|
17
|
+
}
|
|
18
|
+
export interface QueryEntry<TData = unknown> extends QueryResult<TData> {
|
|
19
|
+
queryHash: string;
|
|
20
|
+
queryKey: QueryKey;
|
|
21
|
+
stale: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface FetchQueryOptions<TData> {
|
|
24
|
+
queryKey: QueryKey;
|
|
25
|
+
queryFn: () => Promise<TData> | TData;
|
|
26
|
+
staleTime?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface InvalidateQueriesOptions {
|
|
29
|
+
queryKey?: QueryKey;
|
|
30
|
+
}
|
|
31
|
+
export interface QueryClient {
|
|
32
|
+
fetchQuery<TData>(options: FetchQueryOptions<TData>): Promise<TData>;
|
|
33
|
+
prefetchQuery<TData>(options: FetchQueryOptions<TData>): Promise<void>;
|
|
34
|
+
getQueryData<TData = unknown>(queryKey: QueryKey): TData | undefined;
|
|
35
|
+
getQueryEntry<TData = unknown>(queryKey: QueryKey): QueryEntry<TData> | undefined;
|
|
36
|
+
setQueryData<TData>(queryKey: QueryKey, data: TData): void;
|
|
37
|
+
invalidateQueries(options?: InvalidateQueriesOptions): void;
|
|
38
|
+
subscribe<TData = unknown>(queryKey: QueryKey, listener: (entry: QueryEntry<TData>) => void): () => void;
|
|
39
|
+
entries(): QueryEntry[];
|
|
40
|
+
}
|
|
41
|
+
export interface CreateQueryOptions<TData> extends FetchQueryOptions<TData> {
|
|
42
|
+
}
|
|
43
|
+
export interface QueryObserver<TData> {
|
|
44
|
+
readonly result: ReadonlyCell<QueryResult<TData>>;
|
|
45
|
+
dispose(): void;
|
|
46
|
+
refetch(): Promise<QueryResult<TData>>;
|
|
47
|
+
}
|
|
48
|
+
export interface CreateMutationOptions<TVariables, TData> {
|
|
49
|
+
invalidate?: readonly QueryKey[];
|
|
50
|
+
mutationFn: (variables: TVariables) => Promise<TData> | TData;
|
|
51
|
+
}
|
|
52
|
+
export interface MutationObserver<TVariables, TData> {
|
|
53
|
+
readonly result: ReadonlyCell<MutationResult<TData>>;
|
|
54
|
+
mutate(variables: TVariables): Promise<TData>;
|
|
55
|
+
}
|
|
56
|
+
export interface DehydratedQuery {
|
|
57
|
+
data: unknown;
|
|
58
|
+
queryHash: string;
|
|
59
|
+
queryKey: QueryKey;
|
|
60
|
+
updatedAt: number;
|
|
61
|
+
}
|
|
62
|
+
export interface DehydratedQueryClient {
|
|
63
|
+
queries: DehydratedQuery[];
|
|
64
|
+
}
|
|
65
|
+
export declare const __MREACT_QUERY_STATE_SCRIPT_ID = "__mreact_query_state";
|
|
66
|
+
export declare function createQueryClient(): QueryClient;
|
|
67
|
+
export declare function getQueryClient(): QueryClient;
|
|
68
|
+
export declare function runWithQueryClient<T>(client: QueryClient, fn: () => T): T;
|
|
69
|
+
export declare function __resetQueryClientForTesting(): void;
|
|
70
|
+
export declare function createQuery<TData>(client: QueryClient, options: CreateQueryOptions<TData>): QueryObserver<TData>;
|
|
71
|
+
export declare function createMutation<TVariables = void, TData = unknown>(client: QueryClient, options: CreateMutationOptions<TVariables, TData>): MutationObserver<TVariables, TData>;
|
|
72
|
+
export declare function dehydrate(client: QueryClient): DehydratedQueryClient;
|
|
73
|
+
export declare function hydrate(client: QueryClient, dehydrated: DehydratedQueryClient): void;
|
|
74
|
+
export declare function hashQueryKey(queryKey: QueryKey): string;
|
|
75
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { cell } from "@reckona/mreact-reactive-core";
|
|
2
|
+
import { getGlobalRuntimeState } from "@reckona/mreact-reactive-core/internal";
|
|
3
|
+
import { emitQueryDevtoolsEvent } from "./devtools.js";
|
|
4
|
+
export const __MREACT_QUERY_STATE_SCRIPT_ID = "__mreact_query_state";
|
|
5
|
+
const queryRuntimeStateKey = "__mreactQueryRuntimeState";
|
|
6
|
+
export function createQueryClient() {
|
|
7
|
+
const cache = new Map();
|
|
8
|
+
const subscriptions = new Set();
|
|
9
|
+
function getOrCreateEntry(queryKey) {
|
|
10
|
+
const queryHash = hashQueryKey(queryKey);
|
|
11
|
+
const existing = cache.get(queryHash);
|
|
12
|
+
if (existing !== undefined) {
|
|
13
|
+
return existing;
|
|
14
|
+
}
|
|
15
|
+
const entry = {
|
|
16
|
+
data: undefined,
|
|
17
|
+
error: undefined,
|
|
18
|
+
isFetching: false,
|
|
19
|
+
queryHash,
|
|
20
|
+
queryKey,
|
|
21
|
+
queryKeySegments: hashQueryKeySegments(queryKey),
|
|
22
|
+
stale: true,
|
|
23
|
+
status: "pending",
|
|
24
|
+
updatedAt: 0,
|
|
25
|
+
};
|
|
26
|
+
cache.set(queryHash, entry);
|
|
27
|
+
return entry;
|
|
28
|
+
}
|
|
29
|
+
function notify(entry) {
|
|
30
|
+
const publicEntry = toPublicEntry(entry);
|
|
31
|
+
emitQueryDevtoolsEvent({
|
|
32
|
+
isFetching: publicEntry.isFetching,
|
|
33
|
+
queryHash: publicEntry.queryHash,
|
|
34
|
+
queryKey: publicEntry.queryKey,
|
|
35
|
+
stale: publicEntry.stale,
|
|
36
|
+
status: publicEntry.status,
|
|
37
|
+
type: "query:update",
|
|
38
|
+
});
|
|
39
|
+
for (const subscription of Array.from(subscriptions)) {
|
|
40
|
+
if (queryKeyStartsWith(entry.queryKeySegments, subscription.queryKeySegments)) {
|
|
41
|
+
subscription.listener(publicEntry);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function setSuccess(queryKey, data) {
|
|
46
|
+
const entry = getOrCreateEntry(queryKey);
|
|
47
|
+
entry.data = data;
|
|
48
|
+
entry.error = undefined;
|
|
49
|
+
entry.isFetching = false;
|
|
50
|
+
entry.promise = undefined;
|
|
51
|
+
entry.stale = false;
|
|
52
|
+
entry.status = "success";
|
|
53
|
+
entry.updatedAt = Date.now();
|
|
54
|
+
notify(entry);
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
async fetchQuery(options) {
|
|
58
|
+
const entry = getOrCreateEntry(options.queryKey);
|
|
59
|
+
if (entry.status === "success" && !entry.stale && isFresh(entry, options.staleTime)) {
|
|
60
|
+
return entry.data;
|
|
61
|
+
}
|
|
62
|
+
if (entry.promise !== undefined) {
|
|
63
|
+
return entry.promise;
|
|
64
|
+
}
|
|
65
|
+
entry.isFetching = true;
|
|
66
|
+
notify(entry);
|
|
67
|
+
entry.promise = Promise.resolve()
|
|
68
|
+
.then(() => options.queryFn())
|
|
69
|
+
.then((data) => {
|
|
70
|
+
setSuccess(options.queryKey, data);
|
|
71
|
+
return data;
|
|
72
|
+
}, (error) => {
|
|
73
|
+
entry.error = error;
|
|
74
|
+
entry.isFetching = false;
|
|
75
|
+
entry.promise = undefined;
|
|
76
|
+
entry.stale = true;
|
|
77
|
+
entry.status = "error";
|
|
78
|
+
entry.updatedAt = Date.now();
|
|
79
|
+
notify(entry);
|
|
80
|
+
throw error;
|
|
81
|
+
});
|
|
82
|
+
return entry.promise;
|
|
83
|
+
},
|
|
84
|
+
async prefetchQuery(options) {
|
|
85
|
+
await this.fetchQuery(options);
|
|
86
|
+
},
|
|
87
|
+
getQueryData(queryKey) {
|
|
88
|
+
return cache.get(hashQueryKey(queryKey))?.data;
|
|
89
|
+
},
|
|
90
|
+
getQueryEntry(queryKey) {
|
|
91
|
+
const entry = cache.get(hashQueryKey(queryKey));
|
|
92
|
+
return entry === undefined ? undefined : toPublicEntry(entry);
|
|
93
|
+
},
|
|
94
|
+
setQueryData: setSuccess,
|
|
95
|
+
invalidateQueries(options = {}) {
|
|
96
|
+
const prefixSegments = options.queryKey === undefined ? undefined : hashQueryKeySegments(options.queryKey);
|
|
97
|
+
for (const entry of cache.values()) {
|
|
98
|
+
if (prefixSegments === undefined ||
|
|
99
|
+
queryKeyStartsWith(entry.queryKeySegments, prefixSegments)) {
|
|
100
|
+
entry.stale = true;
|
|
101
|
+
notify(entry);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
subscribe(queryKey, listener) {
|
|
106
|
+
const subscription = {
|
|
107
|
+
listener,
|
|
108
|
+
queryKey,
|
|
109
|
+
queryKeySegments: hashQueryKeySegments(queryKey),
|
|
110
|
+
};
|
|
111
|
+
subscriptions.add(subscription);
|
|
112
|
+
return () => {
|
|
113
|
+
subscriptions.delete(subscription);
|
|
114
|
+
};
|
|
115
|
+
},
|
|
116
|
+
entries() {
|
|
117
|
+
return Array.from(cache.values(), toPublicEntry);
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
export function getQueryClient() {
|
|
122
|
+
const state = queryRuntimeState();
|
|
123
|
+
if (state.currentQueryClient !== undefined) {
|
|
124
|
+
return state.currentQueryClient;
|
|
125
|
+
}
|
|
126
|
+
if (typeof document === "undefined") {
|
|
127
|
+
return createQueryClient();
|
|
128
|
+
}
|
|
129
|
+
if (state.browserQueryClient === undefined) {
|
|
130
|
+
state.browserQueryClient = createQueryClient();
|
|
131
|
+
hydrateFromDocument(state.browserQueryClient);
|
|
132
|
+
}
|
|
133
|
+
return state.browserQueryClient;
|
|
134
|
+
}
|
|
135
|
+
export function runWithQueryClient(client, fn) {
|
|
136
|
+
const state = queryRuntimeState();
|
|
137
|
+
const previous = state.currentQueryClient;
|
|
138
|
+
state.currentQueryClient = client;
|
|
139
|
+
try {
|
|
140
|
+
const result = fn();
|
|
141
|
+
if (isPromise(result)) {
|
|
142
|
+
return result.finally(() => {
|
|
143
|
+
state.currentQueryClient = previous;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
state.currentQueryClient = previous;
|
|
147
|
+
return result;
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
state.currentQueryClient = previous;
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
export function __resetQueryClientForTesting() {
|
|
155
|
+
const state = queryRuntimeState();
|
|
156
|
+
state.currentQueryClient = undefined;
|
|
157
|
+
state.browserQueryClient = undefined;
|
|
158
|
+
}
|
|
159
|
+
export function createQuery(client, options) {
|
|
160
|
+
const result = cell(resultFromEntry(client.getQueryEntry(options.queryKey)));
|
|
161
|
+
const unsubscribe = client.subscribe(options.queryKey, (entry) => {
|
|
162
|
+
if (hashQueryKey(entry.queryKey) === hashQueryKey(options.queryKey)) {
|
|
163
|
+
result.set(resultFromEntry(entry));
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
return {
|
|
167
|
+
result,
|
|
168
|
+
dispose: unsubscribe,
|
|
169
|
+
async refetch() {
|
|
170
|
+
await client.fetchQuery(options);
|
|
171
|
+
const next = resultFromEntry(client.getQueryEntry(options.queryKey));
|
|
172
|
+
result.set(next);
|
|
173
|
+
return next;
|
|
174
|
+
},
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
export function createMutation(client, options) {
|
|
178
|
+
const result = cell({
|
|
179
|
+
data: undefined,
|
|
180
|
+
error: undefined,
|
|
181
|
+
status: "idle",
|
|
182
|
+
updatedAt: 0,
|
|
183
|
+
});
|
|
184
|
+
return {
|
|
185
|
+
result,
|
|
186
|
+
async mutate(variables) {
|
|
187
|
+
result.set({
|
|
188
|
+
data: result.get().data,
|
|
189
|
+
error: undefined,
|
|
190
|
+
status: "pending",
|
|
191
|
+
updatedAt: Date.now(),
|
|
192
|
+
});
|
|
193
|
+
try {
|
|
194
|
+
const data = await options.mutationFn(variables);
|
|
195
|
+
result.set({
|
|
196
|
+
data,
|
|
197
|
+
error: undefined,
|
|
198
|
+
status: "success",
|
|
199
|
+
updatedAt: Date.now(),
|
|
200
|
+
});
|
|
201
|
+
for (const queryKey of options.invalidate ?? []) {
|
|
202
|
+
client.invalidateQueries({ queryKey });
|
|
203
|
+
}
|
|
204
|
+
return data;
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
result.set({
|
|
208
|
+
data: undefined,
|
|
209
|
+
error,
|
|
210
|
+
status: "error",
|
|
211
|
+
updatedAt: Date.now(),
|
|
212
|
+
});
|
|
213
|
+
throw error;
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
export function dehydrate(client) {
|
|
219
|
+
return {
|
|
220
|
+
queries: client
|
|
221
|
+
.entries()
|
|
222
|
+
.filter((entry) => entry.status === "success")
|
|
223
|
+
.map((entry) => ({
|
|
224
|
+
data: entry.data,
|
|
225
|
+
queryHash: entry.queryHash,
|
|
226
|
+
queryKey: entry.queryKey,
|
|
227
|
+
updatedAt: entry.updatedAt,
|
|
228
|
+
})),
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
export function hydrate(client, dehydrated) {
|
|
232
|
+
for (const query of dehydrated.queries) {
|
|
233
|
+
client.setQueryData(query.queryKey, query.data);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
function hydrateFromDocument(client) {
|
|
237
|
+
const node = document.getElementById(__MREACT_QUERY_STATE_SCRIPT_ID);
|
|
238
|
+
if (node?.textContent === undefined || node.textContent === "") {
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
try {
|
|
242
|
+
hydrate(client, JSON.parse(node.textContent));
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
function isPromise(value) {
|
|
249
|
+
return value instanceof Promise;
|
|
250
|
+
}
|
|
251
|
+
function queryRuntimeState() {
|
|
252
|
+
return getGlobalRuntimeState(queryRuntimeStateKey, () => ({}));
|
|
253
|
+
}
|
|
254
|
+
export function hashQueryKey(queryKey) {
|
|
255
|
+
return stableStringify(queryKey);
|
|
256
|
+
}
|
|
257
|
+
function resultFromEntry(entry) {
|
|
258
|
+
return {
|
|
259
|
+
data: entry?.data,
|
|
260
|
+
error: entry?.error,
|
|
261
|
+
isFetching: entry?.isFetching ?? false,
|
|
262
|
+
status: entry?.status ?? "pending",
|
|
263
|
+
updatedAt: entry?.updatedAt ?? 0,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
function toPublicEntry(entry) {
|
|
267
|
+
return {
|
|
268
|
+
data: entry.data,
|
|
269
|
+
error: entry.error,
|
|
270
|
+
isFetching: entry.isFetching,
|
|
271
|
+
queryHash: entry.queryHash,
|
|
272
|
+
queryKey: entry.queryKey,
|
|
273
|
+
stale: entry.stale,
|
|
274
|
+
status: entry.status,
|
|
275
|
+
updatedAt: entry.updatedAt,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
function isFresh(entry, staleTime) {
|
|
279
|
+
return Date.now() - entry.updatedAt < (staleTime ?? 0);
|
|
280
|
+
}
|
|
281
|
+
function hashQueryKeySegments(queryKey) {
|
|
282
|
+
return queryKey.map(stableStringify);
|
|
283
|
+
}
|
|
284
|
+
function queryKeyStartsWith(queryKeySegments, prefixSegments) {
|
|
285
|
+
if (prefixSegments.length > queryKeySegments.length) {
|
|
286
|
+
return false;
|
|
287
|
+
}
|
|
288
|
+
for (let index = 0; index < prefixSegments.length; index += 1) {
|
|
289
|
+
if (prefixSegments[index] !== queryKeySegments[index]) {
|
|
290
|
+
return false;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
return true;
|
|
294
|
+
}
|
|
295
|
+
function stableStringify(value) {
|
|
296
|
+
if (value === null || typeof value !== "object") {
|
|
297
|
+
return JSON.stringify(value);
|
|
298
|
+
}
|
|
299
|
+
if (Array.isArray(value)) {
|
|
300
|
+
return `[${value.map(stableStringify).join(",")}]`;
|
|
301
|
+
}
|
|
302
|
+
const entries = Object.entries(value)
|
|
303
|
+
.filter(([, entryValue]) => entryValue !== undefined)
|
|
304
|
+
.sort(([left], [right]) => left.localeCompare(right));
|
|
305
|
+
return `{${entries.map(([key, entryValue]) => `${JSON.stringify(key)}:${stableStringify(entryValue)}`).join(",")}}`;
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@reckona/mreact-query",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Server state and async cache primitives for mreact.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"cache",
|
|
7
|
+
"jsx",
|
|
8
|
+
"mreact",
|
|
9
|
+
"query",
|
|
10
|
+
"server-state",
|
|
11
|
+
"typescript"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://github.com/t-k/mreact/tree/main/packages/query#readme",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/t-k/mreact/issues"
|
|
16
|
+
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "https://github.com/t-k/mreact.git",
|
|
21
|
+
"directory": "packages/query"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist/**/*.js",
|
|
25
|
+
"dist/**/*.js.map",
|
|
26
|
+
"dist/**/*.d.ts",
|
|
27
|
+
"dist/**/*.d.ts.map"
|
|
28
|
+
],
|
|
29
|
+
"type": "module",
|
|
30
|
+
"sideEffects": false,
|
|
31
|
+
"types": "./dist/index.d.ts",
|
|
32
|
+
"exports": {
|
|
33
|
+
".": {
|
|
34
|
+
"types": "./dist/index.d.ts",
|
|
35
|
+
"default": "./dist/index.js"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@reckona/mreact-devtools": "0.0.1",
|
|
43
|
+
"@reckona/mreact-reactive-core": "0.0.1"
|
|
44
|
+
}
|
|
45
|
+
}
|