@ainias42/tanstack-ids 0.0.6 → 0.1.0
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/dist/QueryContext/QueriesContextProvider.js +1 -1
- package/dist/QueryContext/QueriesContextProvider.js.map +1 -1
- package/dist/QueryContext/SubQueriesContext.js +1 -1
- package/dist/QueryContext/SubQueriesContext.js.map +1 -1
- package/dist/generateIdsQuery.d.ts +8 -300
- package/dist/generateIdsQuery.js +12 -5
- package/dist/generateIdsQuery.js.map +1 -1
- package/dist/generateNestedIdQuery.d.ts +9 -301
- package/dist/generateQuery.d.ts +1 -1
- package/dist/hoistReactQueryKitAttributes.d.ts +2 -2
- package/dist/hoistReactQueryKitAttributes.js +1 -5
- package/dist/hoistReactQueryKitAttributes.js.map +1 -1
- package/package.json +11 -8
- package/src/QueryContext/QueriesContextProvider.tsx +1 -1
- package/src/QueryContext/SubQueriesContext.tsx +1 -1
- package/src/generateIdsQuery.ts +20 -13
- package/src/hoistReactQueryKitAttributes.ts +13 -11
- package/tsconfig.json +1 -0
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -3,21 +3,21 @@ export declare function generateNestedIdQuery<IdType extends number | string | s
|
|
|
3
3
|
id: IdType;
|
|
4
4
|
}, Args extends any[]>(key: string, fetcherFactory: (...args: Args) => (ids: IdType[]) => Promise<Type[]> | Type[]): {
|
|
5
5
|
(...args: Args): {
|
|
6
|
-
useMany: import("react-query-kit").ExposeMethods<Type, [IdType], Error> & ((ids: IdType[], otherAdditionalQueryOptions?: Omit<import("@tanstack/react-query").UseQueryOptions<Type, unknown, Type, [string, [IdType]]>, "queryKey" | "fetcher" | "context"> & {
|
|
6
|
+
useMany: import("react-query-kit").ExposeMethods<Type, [IdType], Error, never> & ((ids: IdType[], otherAdditionalQueryOptions?: Omit<import("@tanstack/react-query").UseQueryOptions<Type, unknown, Type, [string, [IdType]]>, "queryKey" | "fetcher" | "context"> & {
|
|
7
7
|
reloadWithContext?: boolean;
|
|
8
8
|
}) => Partial<Record<IdType, import("@tanstack/react-query").UseQueryResult<Type, Error> | undefined>>);
|
|
9
|
-
useOne: import("react-query-kit").ExposeMethods<Type, [IdType], Error> & ((identifier: IdType, otherAdditionalQueryOptions?: Omit<import("react-query-kit").QueryHookOptions<Type, unknown, Type, [IdType]>, "queryKey" | "fetcher" | "variables" | "context"> & {
|
|
9
|
+
useOne: import("react-query-kit").ExposeMethods<Type, [IdType], Error, never> & ((identifier: IdType, otherAdditionalQueryOptions?: Omit<import("react-query-kit").QueryHookOptions<Type, unknown, Type, [IdType]>, "queryKey" | "fetcher" | "variables" | "context"> & {
|
|
10
10
|
reloadWithContext?: boolean;
|
|
11
11
|
}) => import("react-query-kit").QueryHookResult<Type, Error>);
|
|
12
12
|
generateFilter: <Func extends (...args: any[]) => Type[] | Promise<Type[]>, FuncArguments extends Parameters<Func>["length"] extends 0 ? void : Parameters<Func> = Parameters<Func>["length"] extends 0 ? void : Parameters<Func>, ResultAsArray extends boolean = false>(filterFunc: Func, additionalOptions?: (Omit<import("react-query-kit").CreateQueryOptions<IdType[], [FuncArguments], Error>, "queryKey" | "fetcher"> & {
|
|
13
13
|
resultAsArray?: ResultAsArray | undefined;
|
|
14
14
|
subKey?: string;
|
|
15
|
-
}) | undefined) => import("react-query-kit").ExposeMethods<IdType[], void | (void & [filter: FuncArguments]), Error> & (<Args_1 extends FuncArguments extends void ? [] : FuncArguments>(...args: Args_1) => ResultAsArray extends true ? import("@tanstack/react-query").UseQueryResult<Type, Error>[] : Partial<Record<IdType, import("@tanstack/react-query").UseQueryResult<Type, Error> | undefined>>);
|
|
15
|
+
}) | undefined) => import("react-query-kit").ExposeMethods<IdType[], void | (void & [filter: FuncArguments]), Error, never> & (<Args_1 extends FuncArguments extends void ? [] : FuncArguments>(...args: Args_1) => ResultAsArray extends true ? import("@tanstack/react-query").UseQueryResult<Type, Error>[] : Partial<Record<IdType, import("@tanstack/react-query").UseQueryResult<Type, Error> | undefined>>);
|
|
16
16
|
generateInfiniteQuery: <PageParams, Meta, FuncArguments extends any[] = []>({ queryFn, ...options }: Omit<import("react-query-kit").CreateInfiniteQueryOptions<{
|
|
17
17
|
data: IdType[];
|
|
18
18
|
meta: Meta;
|
|
19
19
|
}, FuncArguments, Error, PageParams>, "queryKey" | "fetcher" | "getNextPageParam" | "getPreviousPageParam"> & {
|
|
20
|
-
queryFn: (pageParams: PageParams, args: FuncArguments, context: import("@tanstack/
|
|
20
|
+
queryFn: (pageParams: PageParams, args: FuncArguments, context: import("@tanstack/query-core").QueryFunctionContext<[string, FuncArguments], PageParams>) => import("@ainias42/js-helper").Awaitable<{
|
|
21
21
|
data: Type[];
|
|
22
22
|
meta: Meta;
|
|
23
23
|
}>;
|
|
@@ -40,7 +40,7 @@ export declare function generateNestedIdQuery<IdType extends number | string | s
|
|
|
40
40
|
}) => import("react-query-kit").ExposeMethods<{
|
|
41
41
|
data: IdType[];
|
|
42
42
|
meta: Meta;
|
|
43
|
-
}, FuncArguments, Error> & ((...args: FuncArguments extends symbol | {
|
|
43
|
+
}, FuncArguments, Error, PageParams> & ((...args: FuncArguments extends symbol | {
|
|
44
44
|
length: 0;
|
|
45
45
|
} | undefined ? [] | [import("@ainias42/js-helper").Override<import("react-query-kit").InfiniteQueryHookOptions<{
|
|
46
46
|
data: IdType[];
|
|
@@ -68,306 +68,14 @@ export declare function generateNestedIdQuery<IdType extends number | string | s
|
|
|
68
68
|
}[];
|
|
69
69
|
pageParams: PageParams[];
|
|
70
70
|
} | undefined;
|
|
71
|
-
}>]) => {
|
|
72
|
-
data:
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
} | undefined;
|
|
76
|
-
error: Error;
|
|
77
|
-
isError: true;
|
|
78
|
-
isPending: false;
|
|
79
|
-
isLoading: false;
|
|
80
|
-
isLoadingError: false;
|
|
81
|
-
isRefetchError: true;
|
|
82
|
-
isSuccess: false;
|
|
83
|
-
isPlaceholderData: false;
|
|
84
|
-
status: "error";
|
|
85
|
-
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
86
|
-
data: IdType[];
|
|
87
|
-
meta: Meta;
|
|
88
|
-
}, PageParams>, Error>>;
|
|
89
|
-
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
90
|
-
data: IdType[];
|
|
91
|
-
meta: Meta;
|
|
92
|
-
}, PageParams>, Error>>;
|
|
93
|
-
hasNextPage: boolean;
|
|
94
|
-
hasPreviousPage: boolean;
|
|
95
|
-
isFetchNextPageError: boolean;
|
|
96
|
-
isFetchingNextPage: boolean;
|
|
97
|
-
isFetchPreviousPageError: boolean;
|
|
98
|
-
isFetchingPreviousPage: boolean;
|
|
99
|
-
dataUpdatedAt: number;
|
|
100
|
-
errorUpdatedAt: number;
|
|
101
|
-
failureCount: number;
|
|
102
|
-
failureReason: Error | null;
|
|
103
|
-
errorUpdateCount: number;
|
|
104
|
-
isFetched: boolean;
|
|
105
|
-
isFetchedAfterMount: boolean;
|
|
106
|
-
isFetching: boolean;
|
|
107
|
-
isInitialLoading: boolean;
|
|
108
|
-
isPaused: boolean;
|
|
109
|
-
isRefetching: boolean;
|
|
110
|
-
isStale: boolean;
|
|
111
|
-
isEnabled: boolean;
|
|
112
|
-
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
113
|
-
data: IdType[];
|
|
114
|
-
meta: Meta;
|
|
115
|
-
}, PageParams>, Error>>;
|
|
116
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
117
|
-
promise: Promise<import("@tanstack/react-query").InfiniteData<{
|
|
118
|
-
data: IdType[];
|
|
119
|
-
meta: Meta;
|
|
120
|
-
}, PageParams>>;
|
|
121
|
-
} | {
|
|
122
|
-
data: {
|
|
123
|
-
pages: Exclude<Partial<Record<IdType, Type | undefined>>[IdType], undefined>[][];
|
|
124
|
-
pageParams: PageParams[];
|
|
125
|
-
} | undefined;
|
|
126
|
-
error: null;
|
|
127
|
-
isError: false;
|
|
128
|
-
isPending: false;
|
|
129
|
-
isLoading: false;
|
|
130
|
-
isLoadingError: false;
|
|
131
|
-
isRefetchError: false;
|
|
132
|
-
isFetchNextPageError: false;
|
|
133
|
-
isFetchPreviousPageError: false;
|
|
134
|
-
isSuccess: true;
|
|
135
|
-
isPlaceholderData: false;
|
|
136
|
-
status: "success";
|
|
137
|
-
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
138
|
-
data: IdType[];
|
|
139
|
-
meta: Meta;
|
|
140
|
-
}, PageParams>, Error>>;
|
|
141
|
-
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
142
|
-
data: IdType[];
|
|
143
|
-
meta: Meta;
|
|
144
|
-
}, PageParams>, Error>>;
|
|
145
|
-
hasNextPage: boolean;
|
|
146
|
-
hasPreviousPage: boolean;
|
|
147
|
-
isFetchingNextPage: boolean;
|
|
148
|
-
isFetchingPreviousPage: boolean;
|
|
149
|
-
dataUpdatedAt: number;
|
|
150
|
-
errorUpdatedAt: number;
|
|
151
|
-
failureCount: number;
|
|
152
|
-
failureReason: Error | null;
|
|
153
|
-
errorUpdateCount: number;
|
|
154
|
-
isFetched: boolean;
|
|
155
|
-
isFetchedAfterMount: boolean;
|
|
156
|
-
isFetching: boolean;
|
|
157
|
-
isInitialLoading: boolean;
|
|
158
|
-
isPaused: boolean;
|
|
159
|
-
isRefetching: boolean;
|
|
160
|
-
isStale: boolean;
|
|
161
|
-
isEnabled: boolean;
|
|
162
|
-
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
163
|
-
data: IdType[];
|
|
164
|
-
meta: Meta;
|
|
165
|
-
}, PageParams>, Error>>;
|
|
166
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
167
|
-
promise: Promise<import("@tanstack/react-query").InfiniteData<{
|
|
168
|
-
data: IdType[];
|
|
169
|
-
meta: Meta;
|
|
170
|
-
}, PageParams>>;
|
|
171
|
-
} | {
|
|
172
|
-
data: {
|
|
173
|
-
pages: Exclude<Partial<Record<IdType, Type | undefined>>[IdType], undefined>[][];
|
|
174
|
-
pageParams: PageParams[];
|
|
175
|
-
} | undefined;
|
|
176
|
-
error: Error;
|
|
177
|
-
isError: true;
|
|
178
|
-
isPending: false;
|
|
179
|
-
isLoading: false;
|
|
180
|
-
isLoadingError: true;
|
|
181
|
-
isRefetchError: false;
|
|
182
|
-
isFetchNextPageError: false;
|
|
183
|
-
isFetchPreviousPageError: false;
|
|
184
|
-
isSuccess: false;
|
|
185
|
-
isPlaceholderData: false;
|
|
186
|
-
status: "error";
|
|
187
|
-
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
188
|
-
data: IdType[];
|
|
189
|
-
meta: Meta;
|
|
190
|
-
}, PageParams>, Error>>;
|
|
191
|
-
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
192
|
-
data: IdType[];
|
|
193
|
-
meta: Meta;
|
|
194
|
-
}, PageParams>, Error>>;
|
|
195
|
-
hasNextPage: boolean;
|
|
196
|
-
hasPreviousPage: boolean;
|
|
197
|
-
isFetchingNextPage: boolean;
|
|
198
|
-
isFetchingPreviousPage: boolean;
|
|
199
|
-
dataUpdatedAt: number;
|
|
200
|
-
errorUpdatedAt: number;
|
|
201
|
-
failureCount: number;
|
|
202
|
-
failureReason: Error | null;
|
|
203
|
-
errorUpdateCount: number;
|
|
204
|
-
isFetched: boolean;
|
|
205
|
-
isFetchedAfterMount: boolean;
|
|
206
|
-
isFetching: boolean;
|
|
207
|
-
isInitialLoading: boolean;
|
|
208
|
-
isPaused: boolean;
|
|
209
|
-
isRefetching: boolean;
|
|
210
|
-
isStale: boolean;
|
|
211
|
-
isEnabled: boolean;
|
|
212
|
-
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
213
|
-
data: IdType[];
|
|
214
|
-
meta: Meta;
|
|
215
|
-
}, PageParams>, Error>>;
|
|
216
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
217
|
-
promise: Promise<import("@tanstack/react-query").InfiniteData<{
|
|
218
|
-
data: IdType[];
|
|
219
|
-
meta: Meta;
|
|
220
|
-
}, PageParams>>;
|
|
221
|
-
} | {
|
|
222
|
-
data: {
|
|
223
|
-
pages: Exclude<Partial<Record<IdType, Type | undefined>>[IdType], undefined>[][];
|
|
224
|
-
pageParams: PageParams[];
|
|
225
|
-
} | undefined;
|
|
226
|
-
error: null;
|
|
227
|
-
isError: false;
|
|
228
|
-
isPending: true;
|
|
229
|
-
isLoading: true;
|
|
230
|
-
isLoadingError: false;
|
|
231
|
-
isRefetchError: false;
|
|
232
|
-
isFetchNextPageError: false;
|
|
233
|
-
isFetchPreviousPageError: false;
|
|
234
|
-
isSuccess: false;
|
|
235
|
-
isPlaceholderData: false;
|
|
236
|
-
status: "pending";
|
|
237
|
-
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
238
|
-
data: IdType[];
|
|
239
|
-
meta: Meta;
|
|
240
|
-
}, PageParams>, Error>>;
|
|
241
|
-
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
242
|
-
data: IdType[];
|
|
243
|
-
meta: Meta;
|
|
244
|
-
}, PageParams>, Error>>;
|
|
245
|
-
hasNextPage: boolean;
|
|
246
|
-
hasPreviousPage: boolean;
|
|
247
|
-
isFetchingNextPage: boolean;
|
|
248
|
-
isFetchingPreviousPage: boolean;
|
|
249
|
-
dataUpdatedAt: number;
|
|
250
|
-
errorUpdatedAt: number;
|
|
251
|
-
failureCount: number;
|
|
252
|
-
failureReason: Error | null;
|
|
253
|
-
errorUpdateCount: number;
|
|
254
|
-
isFetched: boolean;
|
|
255
|
-
isFetchedAfterMount: boolean;
|
|
256
|
-
isFetching: boolean;
|
|
257
|
-
isInitialLoading: boolean;
|
|
258
|
-
isPaused: boolean;
|
|
259
|
-
isRefetching: boolean;
|
|
260
|
-
isStale: boolean;
|
|
261
|
-
isEnabled: boolean;
|
|
262
|
-
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
263
|
-
data: IdType[];
|
|
264
|
-
meta: Meta;
|
|
265
|
-
}, PageParams>, Error>>;
|
|
266
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
267
|
-
promise: Promise<import("@tanstack/react-query").InfiniteData<{
|
|
268
|
-
data: IdType[];
|
|
269
|
-
meta: Meta;
|
|
270
|
-
}, PageParams>>;
|
|
271
|
-
} | {
|
|
272
|
-
data: {
|
|
273
|
-
pages: Exclude<Partial<Record<IdType, Type | undefined>>[IdType], undefined>[][];
|
|
274
|
-
pageParams: PageParams[];
|
|
275
|
-
} | undefined;
|
|
276
|
-
error: null;
|
|
277
|
-
isError: false;
|
|
278
|
-
isPending: true;
|
|
279
|
-
isLoadingError: false;
|
|
280
|
-
isRefetchError: false;
|
|
281
|
-
isFetchNextPageError: false;
|
|
282
|
-
isFetchPreviousPageError: false;
|
|
283
|
-
isSuccess: false;
|
|
284
|
-
isPlaceholderData: false;
|
|
285
|
-
status: "pending";
|
|
286
|
-
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
287
|
-
data: IdType[];
|
|
288
|
-
meta: Meta;
|
|
289
|
-
}, PageParams>, Error>>;
|
|
290
|
-
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
291
|
-
data: IdType[];
|
|
292
|
-
meta: Meta;
|
|
293
|
-
}, PageParams>, Error>>;
|
|
294
|
-
hasNextPage: boolean;
|
|
295
|
-
hasPreviousPage: boolean;
|
|
296
|
-
isFetchingNextPage: boolean;
|
|
297
|
-
isFetchingPreviousPage: boolean;
|
|
298
|
-
dataUpdatedAt: number;
|
|
299
|
-
errorUpdatedAt: number;
|
|
300
|
-
failureCount: number;
|
|
301
|
-
failureReason: Error | null;
|
|
302
|
-
errorUpdateCount: number;
|
|
303
|
-
isFetched: boolean;
|
|
304
|
-
isFetchedAfterMount: boolean;
|
|
305
|
-
isFetching: boolean;
|
|
306
|
-
isLoading: boolean;
|
|
307
|
-
isInitialLoading: boolean;
|
|
308
|
-
isPaused: boolean;
|
|
309
|
-
isRefetching: boolean;
|
|
310
|
-
isStale: boolean;
|
|
311
|
-
isEnabled: boolean;
|
|
312
|
-
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
313
|
-
data: IdType[];
|
|
314
|
-
meta: Meta;
|
|
315
|
-
}, PageParams>, Error>>;
|
|
316
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
317
|
-
promise: Promise<import("@tanstack/react-query").InfiniteData<{
|
|
318
|
-
data: IdType[];
|
|
319
|
-
meta: Meta;
|
|
320
|
-
}, PageParams>>;
|
|
321
|
-
} | {
|
|
71
|
+
}>]) => Omit<import("react-query-kit").InfiniteQueryHookResult<import("@tanstack/query-core").InfiniteData<{
|
|
72
|
+
data: IdType[];
|
|
73
|
+
meta: Meta;
|
|
74
|
+
}, PageParams>, Error>, "data"> & {
|
|
322
75
|
data: {
|
|
323
76
|
pages: Exclude<Partial<Record<IdType, Type | undefined>>[IdType], undefined>[][];
|
|
324
77
|
pageParams: PageParams[];
|
|
325
78
|
} | undefined;
|
|
326
|
-
isError: false;
|
|
327
|
-
error: null;
|
|
328
|
-
isPending: false;
|
|
329
|
-
isLoading: false;
|
|
330
|
-
isLoadingError: false;
|
|
331
|
-
isRefetchError: false;
|
|
332
|
-
isSuccess: true;
|
|
333
|
-
isPlaceholderData: true;
|
|
334
|
-
isFetchNextPageError: false;
|
|
335
|
-
isFetchPreviousPageError: false;
|
|
336
|
-
status: "success";
|
|
337
|
-
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
338
|
-
data: IdType[];
|
|
339
|
-
meta: Meta;
|
|
340
|
-
}, PageParams>, Error>>;
|
|
341
|
-
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
342
|
-
data: IdType[];
|
|
343
|
-
meta: Meta;
|
|
344
|
-
}, PageParams>, Error>>;
|
|
345
|
-
hasNextPage: boolean;
|
|
346
|
-
hasPreviousPage: boolean;
|
|
347
|
-
isFetchingNextPage: boolean;
|
|
348
|
-
isFetchingPreviousPage: boolean;
|
|
349
|
-
dataUpdatedAt: number;
|
|
350
|
-
errorUpdatedAt: number;
|
|
351
|
-
failureCount: number;
|
|
352
|
-
failureReason: Error | null;
|
|
353
|
-
errorUpdateCount: number;
|
|
354
|
-
isFetched: boolean;
|
|
355
|
-
isFetchedAfterMount: boolean;
|
|
356
|
-
isFetching: boolean;
|
|
357
|
-
isInitialLoading: boolean;
|
|
358
|
-
isPaused: boolean;
|
|
359
|
-
isRefetching: boolean;
|
|
360
|
-
isStale: boolean;
|
|
361
|
-
isEnabled: boolean;
|
|
362
|
-
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<{
|
|
363
|
-
data: IdType[];
|
|
364
|
-
meta: Meta;
|
|
365
|
-
}, PageParams>, Error>>;
|
|
366
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
367
|
-
promise: Promise<import("@tanstack/react-query").InfiniteData<{
|
|
368
|
-
data: IdType[];
|
|
369
|
-
meta: Meta;
|
|
370
|
-
}, PageParams>>;
|
|
371
79
|
});
|
|
372
80
|
};
|
|
373
81
|
getFilterKey(args: Args, variables?: any[]): readonly unknown[];
|
package/dist/generateQuery.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CreateQueryOptions, QueryHookResult } from 'react-query-kit';
|
|
2
|
-
export declare function generateQuery<Func extends (...args: any[]) => Promise<any> | any, FuncArguments extends Parameters<Func>['length'] extends 0 ? void : Parameters<Func> = Parameters<Func>['length'] extends 0 ? void : Parameters<Func>, FuncReturnType extends Awaited<ReturnType<Func>> = Awaited<ReturnType<Func>>, AdditionalOptionsType extends Omit<CreateQueryOptions<FuncReturnType, FuncArguments>, 'queryKey' | 'fetcher'> = Omit<CreateQueryOptions<FuncReturnType, FuncArguments>, 'queryKey' | 'fetcher'>>(primaryKey: string, queryFn: Func, additionalOptions?: AdditionalOptionsType): import("react-query-kit").ExposeMethods<FuncReturnType, FuncArguments, Error> & (<Arg extends FuncArguments extends void ? [] | [import("react-query-kit").QueryHookOptions<FuncReturnType, Error, unknown, FuncArguments> | undefined] : [import("react-query-kit").QueryHookOptions<FuncReturnType, Error, unknown, FuncArguments> | undefined]>(...options: Arg) => QueryHookResult<Arg extends [{
|
|
2
|
+
export declare function generateQuery<Func extends (...args: any[]) => Promise<any> | any, FuncArguments extends Parameters<Func>['length'] extends 0 ? void : Parameters<Func> = Parameters<Func>['length'] extends 0 ? void : Parameters<Func>, FuncReturnType extends Awaited<ReturnType<Func>> = Awaited<ReturnType<Func>>, AdditionalOptionsType extends Omit<CreateQueryOptions<FuncReturnType, FuncArguments>, 'queryKey' | 'fetcher'> = Omit<CreateQueryOptions<FuncReturnType, FuncArguments>, 'queryKey' | 'fetcher'>>(primaryKey: string, queryFn: Func, additionalOptions?: AdditionalOptionsType): import("react-query-kit").ExposeMethods<FuncReturnType, FuncArguments, Error, never> & (<Arg extends FuncArguments extends void ? [] | [import("react-query-kit").QueryHookOptions<FuncReturnType, Error, unknown, FuncArguments> | undefined] : [import("react-query-kit").QueryHookOptions<FuncReturnType, Error, unknown, FuncArguments> | undefined]>(...options: Arg) => QueryHookResult<Arg extends [{
|
|
3
3
|
select: (...arg: any[]) => any;
|
|
4
4
|
}] ? ReturnType<Arg[0]["select"]> : Arg extends [{
|
|
5
5
|
initialData: FuncReturnType | (() => FuncReturnType);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { ExposeMethods } from 'react-query-kit
|
|
2
|
-
export declare function hoistReactQueryKitAttributes<ReturnType, HookArgs, ToFunc extends (...args: any) => any, Error>(from: ExposeMethods<ReturnType, HookArgs, Error>, to: ToFunc): ExposeMethods<ReturnType, HookArgs, Error> & ToFunc;
|
|
1
|
+
import type { ExposeMethods } from 'react-query-kit';
|
|
2
|
+
export declare function hoistReactQueryKitAttributes<ReturnType, HookArgs, ToFunc extends (...args: any[]) => any, Error, PageParam = never>(from: ExposeMethods<ReturnType, HookArgs, Error, PageParam>, to: ToFunc): ExposeMethods<ReturnType, HookArgs, Error, PageParam> & ToFunc;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
export function hoistReactQueryKitAttributes(from, to) {
|
|
2
|
-
const partialHook = to;
|
|
3
|
-
const hoistedOptions = ['fetcher', 'getKey', 'queryKeyHashFn', 'getOptions'];
|
|
4
|
-
for (const name of hoistedOptions) {
|
|
5
|
-
partialHook[name] = from[name];
|
|
6
|
-
}
|
|
2
|
+
const partialHook = Object.assign(to, from);
|
|
7
3
|
return partialHook;
|
|
8
4
|
}
|
|
9
5
|
//# sourceMappingURL=hoistReactQueryKitAttributes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hoistReactQueryKitAttributes.js","sourceRoot":"","sources":["../src/hoistReactQueryKitAttributes.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,4BAA4B,
|
|
1
|
+
{"version":3,"file":"hoistReactQueryKitAttributes.js","sourceRoot":"","sources":["../src/hoistReactQueryKitAttributes.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,4BAA4B,CAM1C,IAA2D,EAAE,EAAU;IACrE,MAAM,WAAW,GAA4E,MAAM,CAAC,MAAM,CACtG,EAAE,EACF,IAAI,CACP,CAAC;IAEF,OAAO,WAA6E,CAAC;AACzF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ainias42/tanstack-ids",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -27,13 +27,16 @@
|
|
|
27
27
|
"url": "gitea@git.silas.link:Ainias/libraries.git"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@ainias42/react-bootstrap-mobile": "
|
|
31
|
-
"@ainias42/config": "
|
|
32
|
-
"@ainias42/js-helper": ">=0.
|
|
33
|
-
"@tanstack/react-query": "^5.
|
|
34
|
-
"@yornaath/batshit": "^0.
|
|
35
|
-
"react-query-kit": "^3.3.
|
|
36
|
-
"zustand": "^5.0.
|
|
30
|
+
"@ainias42/react-bootstrap-mobile": "1.1.0",
|
|
31
|
+
"@ainias42/config": "1.2.0",
|
|
32
|
+
"@ainias42/js-helper": ">=0.9.0",
|
|
33
|
+
"@tanstack/react-query": "^5.101.0",
|
|
34
|
+
"@yornaath/batshit": "^0.14.0",
|
|
35
|
+
"react-query-kit": "^3.3.4",
|
|
36
|
+
"zustand": "^5.0.14"
|
|
37
|
+
},
|
|
38
|
+
"peerDependencies": {
|
|
39
|
+
"react": "^19.2.7"
|
|
37
40
|
},
|
|
38
41
|
"devDependencies": {}
|
|
39
42
|
}
|
|
@@ -6,7 +6,7 @@ import type { ReactNode } from 'react';
|
|
|
6
6
|
|
|
7
7
|
export type QueriesContextProviderProps = { children: ReactNode };
|
|
8
8
|
|
|
9
|
-
export const QueriesContextProvider = withMemo(function
|
|
9
|
+
export const QueriesContextProvider = withMemo(function QueriesContextProviderComponent({
|
|
10
10
|
children,
|
|
11
11
|
}: QueriesContextProviderProps) {
|
|
12
12
|
// Refs
|
|
@@ -6,7 +6,7 @@ import React, { type ReactNode, useContext } from 'react';
|
|
|
6
6
|
|
|
7
7
|
export type SubQueriesContextProps = { children: ReactNode; subContextId?: number };
|
|
8
8
|
|
|
9
|
-
export const SubQueriesContext = withMemo(function
|
|
9
|
+
export const SubQueriesContext = withMemo(function SubQueriesContextComponent({
|
|
10
10
|
children,
|
|
11
11
|
subContextId,
|
|
12
12
|
}: SubQueriesContextProps) {
|
package/src/generateIdsQuery.ts
CHANGED
|
@@ -10,7 +10,6 @@ import { useMemo, useRef } from 'react';
|
|
|
10
10
|
import { useQueriesSubscribeToReload } from './QueryContext/useQuerySubscribeToReload';
|
|
11
11
|
import type { Awaitable, Override, URecord } from '@ainias42/js-helper';
|
|
12
12
|
import type { CreateInfiniteQueryOptions, CreateQueryOptions, QueryHookOptions } from 'react-query-kit';
|
|
13
|
-
import type { QueriesResults } from '@tanstack/react-query/build/legacy/useQueries';
|
|
14
13
|
import type { QueryClient, QueryFunctionContext, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
15
14
|
|
|
16
15
|
export type Unpacked<T> = T extends (infer U)[] ? U : T;
|
|
@@ -65,9 +64,8 @@ export function generateIdsQuery<
|
|
|
65
64
|
...otherAdditionalQueryOptions,
|
|
66
65
|
}));
|
|
67
66
|
|
|
68
|
-
const results = useQueries
|
|
69
|
-
|
|
70
|
-
queries,
|
|
67
|
+
const results = useQueries({
|
|
68
|
+
queries: queries as any,
|
|
71
69
|
}) as UseQueryResult<Type, Error>[];
|
|
72
70
|
|
|
73
71
|
const oldData = useRef<typeof results>([]);
|
|
@@ -116,9 +114,8 @@ export function generateIdsQuery<
|
|
|
116
114
|
|
|
117
115
|
function generateFilter<
|
|
118
116
|
Func extends (...args: any[]) => Promise<Type[]> | Type[],
|
|
119
|
-
FuncArguments extends Parameters<Func>['length'] extends 0
|
|
120
|
-
? void
|
|
121
|
-
: Parameters<Func> = Parameters<Func>['length'] extends 0 ? void : Parameters<Func>,
|
|
117
|
+
FuncArguments extends Parameters<Func>['length'] extends 0 ? void : Parameters<Func> =
|
|
118
|
+
Parameters<Func>['length'] extends 0 ? void : Parameters<Func>,
|
|
122
119
|
ResultAsArray extends boolean = false,
|
|
123
120
|
>(
|
|
124
121
|
filterFunc: Func,
|
|
@@ -180,9 +177,10 @@ export function generateIdsQuery<
|
|
|
180
177
|
// Same goes for reloading with context.
|
|
181
178
|
// Other usages of useManyHook are not affected by this.
|
|
182
179
|
const indexedResult = useManyHook(result.data, { staleTime: Infinity, reloadWithContext: false });
|
|
180
|
+
const filteredIds = result.data as IdType[];
|
|
183
181
|
const arrayResult: UseQueryResult<Type, Error>[] = useMemo(
|
|
184
|
-
() => ArrayHelper.noUndefined(
|
|
185
|
-
[
|
|
182
|
+
() => ArrayHelper.noUndefined(filteredIds.map((id) => indexedResult[id])),
|
|
183
|
+
[filteredIds, indexedResult],
|
|
186
184
|
);
|
|
187
185
|
|
|
188
186
|
if (additionalOptions?.resultAsArray) {
|
|
@@ -388,13 +386,22 @@ export function generateIdsQuery<
|
|
|
388
386
|
: [];
|
|
389
387
|
}, [indexedData, result.data]);
|
|
390
388
|
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
data:
|
|
389
|
+
const data = !result.data ? undefined : { ...result.data, pages };
|
|
390
|
+
type TransformedResult = Omit<typeof result, 'data'> & {
|
|
391
|
+
data: typeof data;
|
|
394
392
|
};
|
|
393
|
+
|
|
394
|
+
return new Proxy(result, {
|
|
395
|
+
get(target, property, receiver) {
|
|
396
|
+
if (property === 'data') {
|
|
397
|
+
return data;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
return Reflect.get(target, property, receiver);
|
|
401
|
+
},
|
|
402
|
+
}) as TransformedResult;
|
|
395
403
|
}
|
|
396
404
|
|
|
397
|
-
// @ts-expect-error wrong type in tanstack-query
|
|
398
405
|
return hoistReactQueryKitAttributes(infiniteQueryHook, useInfiniteQuery);
|
|
399
406
|
}
|
|
400
407
|
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import type { ExposeMethods } from 'react-query-kit
|
|
1
|
+
import type { ExposeMethods } from 'react-query-kit';
|
|
2
2
|
|
|
3
|
-
export function hoistReactQueryKitAttributes<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
export function hoistReactQueryKitAttributes<
|
|
4
|
+
ReturnType,
|
|
5
|
+
HookArgs,
|
|
6
|
+
ToFunc extends (...args: any[]) => any,
|
|
7
|
+
Error,
|
|
8
|
+
PageParam = never,
|
|
9
|
+
>(from: ExposeMethods<ReturnType, HookArgs, Error, PageParam>, to: ToFunc) {
|
|
10
|
+
const partialHook: Partial<ExposeMethods<ReturnType, HookArgs, Error, PageParam>> & ToFunc = Object.assign(
|
|
11
|
+
to,
|
|
12
|
+
from,
|
|
13
|
+
);
|
|
12
14
|
|
|
13
|
-
return partialHook as ExposeMethods<ReturnType, HookArgs, Error> & ToFunc;
|
|
15
|
+
return partialHook as ExposeMethods<ReturnType, HookArgs, Error, PageParam> & ToFunc;
|
|
14
16
|
}
|