@ainias42/tanstack-ids 0.1.0 → 0.1.2

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.
@@ -42,7 +42,71 @@ export declare const useQueriesStore: import("zustand").UseBoundStore<Omit<Omit<
42
42
  } | undefined): () => void;
43
43
  };
44
44
  }, "setState"> & {
45
- setState(nextStateOrUpdater: QueriesStoreState | Partial<QueriesStoreState> | ((state: Draft<Exclude<A2[0], (...args: any[]) => any>>) => void), shouldReplace?: false): void;
46
- setState(nextStateOrUpdater: QueriesStoreState | ((state: Draft<Exclude<A2[0], (...args: any[]) => any>>) => void), shouldReplace: true): void;
45
+ setState(nextStateOrUpdater: QueriesStoreState | Partial<QueriesStoreState> | ((state: {
46
+ get: GetState;
47
+ clear: () => void;
48
+ generateContextId: () => number;
49
+ setItem: (contextId: number, itemId: number | undefined, item: QueryItem) => number | undefined;
50
+ removeItem: (contextId: number, itemId: number | undefined) => void;
51
+ isFetching: (contextId: number) => boolean;
52
+ isFetchingByScope: (contextId: number, scope: {
53
+ global: boolean;
54
+ subContexts: boolean;
55
+ }) => boolean;
56
+ getError: (contextId: number) => any;
57
+ getAllKeys: (contextId: number) => Set<string>;
58
+ reload: (queryClient: QueryClient, contextId: number) => Promise<void>;
59
+ addSubContext: (parent: number, child: number) => void;
60
+ removeSubContext: (parent: number, child: number) => void;
61
+ lastContextId: number;
62
+ contexts: {
63
+ [x: number]: {
64
+ lastId: number;
65
+ items: {
66
+ [x: number]: {
67
+ keys: string[];
68
+ isFetching: boolean;
69
+ error: any;
70
+ } | undefined;
71
+ };
72
+ } | undefined;
73
+ };
74
+ subContexts: {
75
+ [x: number]: number[] | undefined;
76
+ };
77
+ }) => void), shouldReplace?: false): void;
78
+ setState(nextStateOrUpdater: QueriesStoreState | ((state: {
79
+ get: GetState;
80
+ clear: () => void;
81
+ generateContextId: () => number;
82
+ setItem: (contextId: number, itemId: number | undefined, item: QueryItem) => number | undefined;
83
+ removeItem: (contextId: number, itemId: number | undefined) => void;
84
+ isFetching: (contextId: number) => boolean;
85
+ isFetchingByScope: (contextId: number, scope: {
86
+ global: boolean;
87
+ subContexts: boolean;
88
+ }) => boolean;
89
+ getError: (contextId: number) => any;
90
+ getAllKeys: (contextId: number) => Set<string>;
91
+ reload: (queryClient: QueryClient, contextId: number) => Promise<void>;
92
+ addSubContext: (parent: number, child: number) => void;
93
+ removeSubContext: (parent: number, child: number) => void;
94
+ lastContextId: number;
95
+ contexts: {
96
+ [x: number]: {
97
+ lastId: number;
98
+ items: {
99
+ [x: number]: {
100
+ keys: string[];
101
+ isFetching: boolean;
102
+ error: any;
103
+ } | undefined;
104
+ };
105
+ } | undefined;
106
+ };
107
+ subContexts: {
108
+ [x: number]: number[] | undefined;
109
+ };
110
+ }) => void), shouldReplace: true): void;
47
111
  }>;
48
112
  export {};
@@ -2,6 +2,9 @@ import type { Awaitable, Override, URecord } from '@ainias42/js-helper';
2
2
  import type { CreateInfiniteQueryOptions, CreateQueryOptions, QueryHookOptions } from 'react-query-kit';
3
3
  import type { QueryFunctionContext, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
4
4
  export type Unpacked<T> = T extends (infer U)[] ? U : T;
5
+ type DeepPartial<T> = T extends object ? {
6
+ [P in keyof T]?: DeepPartial<T[P]>;
7
+ } : T;
5
8
  export declare function generateIdsQuery<IdType extends number | string | symbol, Type extends {
6
9
  id: IdType;
7
10
  }>(key: string, fetcher: (ids: IdType[]) => Promise<Type[]> | Type[], additionalQueryOptions?: Omit<CreateQueryOptions<Type, [IdType]>, 'queryKey' | 'fetcher'> & {
@@ -16,7 +19,9 @@ export declare function generateIdsQuery<IdType extends number | string | symbol
16
19
  generateFilter: <Func extends (...args: any[]) => Promise<Type[]> | 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<CreateQueryOptions<IdType[], [FuncArguments]>, "queryKey" | "fetcher"> & {
17
20
  resultAsArray?: ResultAsArray;
18
21
  subKey?: string;
19
- }) => import("react-query-kit").ExposeMethods<IdType[], void | (void & [filter: FuncArguments]), Error, never> & (<Args extends FuncArguments extends void ? [] : FuncArguments>(...args: Args) => ResultAsArray extends true ? UseQueryResult<Type, Error>[] : URecord<IdType, UseQueryResult<Type, Error>>);
22
+ }) => (import("react-query-kit").ExposeMethods<IdType[], void | (void & [filter: FuncArguments]), Error, never> & (<Args extends FuncArguments extends void ? [] : FuncArguments>(args: Args, filterQueryOptions?: Omit<CreateQueryOptions<Type[], [FuncArguments]>, "queryKey" | "fetcher" | "variables">) => ResultAsArray extends true ? UseQueryResult<Type, Error>[] : URecord<IdType, UseQueryResult<Type, Error>>)) & {
23
+ getKey: (variables?: DeepPartial<FuncArguments extends void ? [] : FuncArguments> | [(DeepPartial<FuncArguments> | undefined)?]) => readonly unknown[];
24
+ };
20
25
  generateInfiniteQuery: <PageParams, Meta, FuncArguments extends any[] = []>({ queryFn, ...options }: Omit<CreateInfiniteQueryOptions<{
21
26
  data: IdType[];
22
27
  meta: Meta;
@@ -82,3 +87,4 @@ export declare function generateIdsQuery<IdType extends number | string | symbol
82
87
  } | undefined;
83
88
  });
84
89
  };
90
+ export {};
@@ -91,8 +91,28 @@ export function generateIdsQuery(key, fetcher, additionalQueryOptions) {
91
91
  };
92
92
  },
93
93
  ] }));
94
- function useFilter(...args) {
95
- const result = queryHook({ variables: args });
94
+ function useFilter(args, filterQueryOptions = {}) {
95
+ var _a, _b;
96
+ const { initialData } = filterQueryOptions, otherParams = __rest(filterQueryOptions, ["initialData"]);
97
+ let initialDataIds = [];
98
+ if (initialData) {
99
+ const updatedAt = (_a = (typeof otherParams.initialDataUpdatedAt === 'function'
100
+ ? otherParams.initialDataUpdatedAt()
101
+ : otherParams.initialDataUpdatedAt)) !== null && _a !== void 0 ? _a : 0;
102
+ const initialDataArray = Array.isArray(initialData) ? initialData : initialData();
103
+ initialDataIds =
104
+ (_b = initialDataArray === null || initialDataArray === void 0 ? void 0 : initialDataArray.map((item) => {
105
+ const itemKey = useOne.getKey([item.id]);
106
+ const state = queryClient === null || queryClient === void 0 ? void 0 : queryClient.getQueryState(itemKey);
107
+ if (!state || state.dataUpdatedAt < updatedAt) {
108
+ queryClient === null || queryClient === void 0 ? void 0 : queryClient.setQueryData(itemKey, item, {
109
+ updatedAt,
110
+ });
111
+ }
112
+ return item.id;
113
+ })) !== null && _b !== void 0 ? _b : [];
114
+ }
115
+ const result = queryHook(Object.assign(Object.assign({ variables: args }, otherParams), { initialData: initialDataIds }));
96
116
  useQueriesSubscribeToReload([hashKey(queryHook.getKey(args))], result.isFetching, result.error);
97
117
  // When staleTime is same as filterStaleTime, then the queries will run at the same time as the filter
98
118
  // Because of this, use staleTime: Inifinity to prevent the queries from running again. The result of the
@@ -101,13 +121,19 @@ export function generateIdsQuery(key, fetcher, additionalQueryOptions) {
101
121
  // Other usages of useManyHook are not affected by this.
102
122
  const indexedResult = useManyHook(result.data, { staleTime: Infinity, reloadWithContext: false });
103
123
  const filteredIds = result.data;
104
- const arrayResult = useMemo(() => ArrayHelper.noUndefined(filteredIds.map((id) => indexedResult[id])), [filteredIds, indexedResult]);
124
+ const arrayResult = useMemo(() => ArrayHelper.noUndefined(filteredIds === null || filteredIds === void 0 ? void 0 : filteredIds.map((id) => indexedResult[id])), [filteredIds, indexedResult]);
105
125
  if (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.resultAsArray) {
106
126
  return arrayResult;
107
127
  }
108
128
  return indexedResult;
109
129
  }
110
- return hoistReactQueryKitAttributes(queryHook, useFilter);
130
+ const filterHook = hoistReactQueryKitAttributes(queryHook, useFilter);
131
+ const getFilterKey = (variables) => {
132
+ return queryHook.getKey(variables);
133
+ };
134
+ return Object.assign(filterHook, {
135
+ getKey: getFilterKey,
136
+ });
111
137
  }
112
138
  function generateInfiniteQuery(_a) {
113
139
  var { queryFn } = _a, options = __rest(_a, ["queryFn"]);
@@ -1 +1 @@
1
- {"version":3,"file":"generateIdsQuery.js","sourceRoot":"","sources":["../src/generateIdsQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateIdsQuery.js","sourceRoot":"","sources":["../src/generateIdsQuery.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,9 @@ export declare function generateNestedIdQuery<IdType extends number | string | s
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, 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>>);
15
+ }) | undefined) => import("react-query-kit").ExposeMethods<IdType[], void | (void & [filter: FuncArguments]), Error, never> & (<Args_1 extends FuncArguments extends void ? [] : FuncArguments>(args: Args_1, filterQueryOptions?: Omit<import("react-query-kit").CreateQueryOptions<Type[], [FuncArguments], Error>, "queryKey" | "fetcher" | "variables">) => ResultAsArray extends true ? import("@tanstack/react-query").UseQueryResult<Type, Error>[] : Partial<Record<IdType, import("@tanstack/react-query").UseQueryResult<Type, Error> | undefined>>) & {
16
+ getKey: (variables?: (((FuncArguments extends void ? [] : FuncArguments) extends infer T ? T extends (FuncArguments extends void ? [] : FuncArguments) ? T extends object ? { [P in keyof T]?: (T[P] extends infer T_1 ? T_1 extends T[P] ? T_1 extends object ? { [P_2 in keyof T_1]?: (T_1[P_2] extends infer T_2 ? T_2 extends T_1[P_2] ? T_2 extends object ? { [P_3 in keyof T_2]?: (T_2[P_3] extends infer T_3 ? T_3 extends T_2[P_3] ? T_3 extends object ? { [P_4 in keyof T_3]?: (T_3[P_4] extends infer T_4 ? T_4 extends T_3[P_4] ? T_4 extends object ? { [P_5 in keyof T_4]?: (T_4[P_5] extends infer T_5 ? T_5 extends T_4[P_5] ? T_5 extends object ? { [P_6 in keyof T_5]?: (T_5[P_6] extends infer T_6 ? T_6 extends T_5[P_6] ? T_6 extends object ? { [P_7 in keyof T_6]?: (T_6[P_7] extends infer T_7 ? T_7 extends T_6[P_7] ? T_7 extends object ? { [P_8 in keyof T_7]?: (T_7[P_8] extends infer T_8 ? T_8 extends T_7[P_8] ? T_8 extends object ? { [P_9 in keyof T_8]?: (T_8[P_9] extends infer T_9 ? T_9 extends T_8[P_9] ? T_9 extends object ? { [P_10 in keyof T_9]?: (T_9[P_10] extends infer T_10 ? T_10 extends T_9[P_10] ? T_10 extends object ? { [P_11 in keyof T_10]?: /*elided*/ any | undefined; } : T_10 : never : never) | undefined; } : T_9 : never : never) | undefined; } : T_8 : never : never) | undefined; } : T_7 : never : never) | undefined; } : T_6 : never : never) | undefined; } : T_5 : never : never) | undefined; } : T_4 : never : never) | undefined; } : T_3 : never : never) | undefined; } : T_2 : never : never) | undefined; } : T_1 : never : never) | undefined; } : T : never : never) | [((FuncArguments extends object ? { [P_1 in keyof FuncArguments]?: (FuncArguments[P_1] extends infer T_1 ? T_1 extends FuncArguments[P_1] ? T_1 extends object ? { [P_3 in keyof T_1]?: (T_1[P_3] extends infer T_2 ? T_2 extends T_1[P_3] ? T_2 extends object ? { [P_4 in keyof T_2]?: (T_2[P_4] extends infer T_3 ? T_3 extends T_2[P_4] ? T_3 extends object ? { [P_5 in keyof T_3]?: (T_3[P_5] extends infer T_4 ? T_4 extends T_3[P_5] ? T_4 extends object ? { [P_6 in keyof T_4]?: (T_4[P_6] extends infer T_5 ? T_5 extends T_4[P_6] ? T_5 extends object ? { [P_7 in keyof T_5]?: (T_5[P_7] extends infer T_6 ? T_6 extends T_5[P_7] ? T_6 extends object ? { [P_8 in keyof T_6]?: (T_6[P_8] extends infer T_7 ? T_7 extends T_6[P_8] ? T_7 extends object ? { [P_9 in keyof T_7]?: (T_7[P_9] extends infer T_8 ? T_8 extends T_7[P_9] ? T_8 extends object ? { [P_10 in keyof T_8]?: (T_8[P_10] extends infer T_9 ? T_9 extends T_8[P_10] ? T_9 extends object ? { [P_11 in keyof T_9]?: (T_9[P_11] extends infer T_10 ? T_10 extends T_9[P_11] ? T_10 extends object ? { [P_12 in keyof T_10]?: /*elided*/ any | undefined; } : T_10 : never : never) | undefined; } : T_9 : never : never) | undefined; } : T_8 : never : never) | undefined; } : T_7 : never : never) | undefined; } : T_6 : never : never) | undefined; } : T_5 : never : never) | undefined; } : T_4 : never : never) | undefined; } : T_3 : never : never) | undefined; } : T_2 : never : never) | undefined; } : T_1 : never : never) | undefined; } : FuncArguments) | undefined)?]) | undefined) => readonly unknown[];
17
+ };
16
18
  generateInfiniteQuery: <PageParams, Meta, FuncArguments extends any[] = []>({ queryFn, ...options }: Omit<import("react-query-kit").CreateInfiniteQueryOptions<{
17
19
  data: IdType[];
18
20
  meta: Meta;
@@ -3,4 +3,4 @@ export declare function useArrayData<DataType>(result: {
3
3
  data: DataType;
4
4
  }[] | URecord<any, {
5
5
  data: DataType | undefined;
6
- }>): Exclude<DataType, undefined>[];
6
+ }> | undefined): Exclude<DataType, undefined>[];
@@ -1,6 +1,9 @@
1
1
  import { ArrayHelper, ObjectHelper } from '@ainias42/js-helper';
2
2
  import { useMemo } from 'react';
3
3
  export function useArrayData(result) {
4
- return useMemo(() => ArrayHelper.noUndefined((Array.isArray(result) ? result : ObjectHelper.values(result)).map((data) => data.data)), [result]);
4
+ return useMemo(() => {
5
+ var _a;
6
+ return ArrayHelper.noUndefined((_a = (Array.isArray(result) ? result : ObjectHelper.values(result !== null && result !== void 0 ? result : {}))) === null || _a === void 0 ? void 0 : _a.map((data) => data.data));
7
+ }, [result]);
5
8
  }
6
9
  //# sourceMappingURL=useArrayData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useArrayData.js","sourceRoot":"","sources":["../../src/hooks/useArrayData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,MAAM,UAAU,YAAY,CACxB,MAIkD;IAElD,OAAO,OAAO,CACV,GAAG,EAAE,CACD,WAAW,CAAC,WAAW,CACnB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1F,EACL,CAAC,MAAM,CAAC,CACX,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"useArrayData.js","sourceRoot":"","sources":["../../src/hooks/useArrayData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,MAAM,UAAU,YAAY,CACxB,MAKe;IAEf,OAAO,OAAO,CACV,GAAG,EAAE;;QACD,OAAA,WAAW,CAAC,WAAW,CACnB,MAAA,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC,0CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CACjG,CAAA;KAAA,EACL,CAAC,MAAM,CAAC,CACX,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function useInitialData<Type>(data: Type | undefined): {
2
+ initialData: NonNullable<Type>;
3
+ initialDataUpdatedAt: number;
4
+ } | {
5
+ initialData?: undefined;
6
+ initialDataUpdatedAt?: undefined;
7
+ };
@@ -0,0 +1,13 @@
1
+ import { DateHelper } from '@ainias42/js-helper';
2
+ import { useState } from 'react';
3
+ export function useInitialData(data) {
4
+ const [now] = useState(() => DateHelper.now());
5
+ if (data) {
6
+ return {
7
+ initialData: data,
8
+ initialDataUpdatedAt: now,
9
+ };
10
+ }
11
+ return {};
12
+ }
13
+ //# sourceMappingURL=useInitialData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInitialData.js","sourceRoot":"","sources":["../../src/hooks/useInitialData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,UAAU,cAAc,CAAO,IAAsB;IACvD,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,IAAI,IAAI,EAAE,CAAC;QACP,OAAO;YACH,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,GAAG;SAC5B,CAAC;IACN,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export * from './NotFoundError.js';
7
7
  export * from './hooks/formatInitialPage.js';
8
8
  export * from './hooks/useArrayData.js';
9
9
  export * from './hooks/useIndexedData.js';
10
+ export * from './hooks/useInitialData.js';
10
11
  export * from './QueryContext/QueriesContext.js';
11
12
  export * from './QueryContext/QueriesContextProvider.js';
12
13
  export * from './QueryContext/SubQueriesContext.js';
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ export * from './NotFoundError.js';
7
7
  export * from './hooks/formatInitialPage.js';
8
8
  export * from './hooks/useArrayData.js';
9
9
  export * from './hooks/useIndexedData.js';
10
+ export * from './hooks/useInitialData.js';
10
11
  export * from './QueryContext/QueriesContext.js';
11
12
  export * from './QueryContext/QueriesContextProvider.js';
12
13
  export * from './QueryContext/SubQueriesContext.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ainias42/tanstack-ids",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -27,13 +27,14 @@
27
27
  "url": "gitea@git.silas.link:Ainias/libraries.git"
28
28
  },
29
29
  "dependencies": {
30
- "@ainias42/react-bootstrap-mobile": "1.1.0",
30
+ "@ainias42/react-bootstrap-mobile": "1.2.0",
31
31
  "@ainias42/config": "1.2.0",
32
32
  "@ainias42/js-helper": ">=0.9.0",
33
33
  "@tanstack/react-query": "^5.101.0",
34
34
  "@yornaath/batshit": "^0.14.0",
35
35
  "react-query-kit": "^3.3.4",
36
- "zustand": "^5.0.14"
36
+ "zustand": "^5.0.14",
37
+ "immer": "^11.1.8"
37
38
  },
38
39
  "peerDependencies": {
39
40
  "react": "^19.2.7"
@@ -159,11 +159,43 @@ export function generateIdsQuery<
159
159
 
160
160
  type QueryHookArgument = Parameters<typeof queryHook>[0];
161
161
  type HookArgs = FuncArguments extends void ? [] : FuncArguments;
162
+ type FilterKeyArguments = DeepPartial<HookArgs> | DeepPartial<[FuncArguments]>;
163
+ type FilterGetKey = (variables?: FilterKeyArguments) => readonly unknown[];
162
164
 
163
165
  function useFilter<Args extends HookArgs>(
164
- ...args: Args
166
+ args: Args,
167
+ filterQueryOptions: Omit<
168
+ CreateQueryOptions<Type[], [FuncArguments]>,
169
+ 'queryKey' | 'fetcher' | 'variables'
170
+ > = {},
165
171
  ): ResultAsArray extends true ? UseQueryResult<Type, Error>[] : URecord<IdType, UseQueryResult<Type, Error>> {
166
- const result = queryHook({ variables: args } as QueryHookArgument);
172
+ const { initialData, ...otherParams } = filterQueryOptions;
173
+
174
+ let initialDataIds: IdType[] = [];
175
+ if (initialData) {
176
+ const updatedAt =
177
+ (typeof otherParams.initialDataUpdatedAt === 'function'
178
+ ? otherParams.initialDataUpdatedAt()
179
+ : otherParams.initialDataUpdatedAt) ?? 0;
180
+ const initialDataArray = Array.isArray(initialData) ? initialData : initialData();
181
+ initialDataIds =
182
+ initialDataArray?.map((item) => {
183
+ const itemKey = useOne.getKey([item.id as DeepPartial<IdType>]);
184
+ const state = queryClient?.getQueryState(itemKey);
185
+ if (!state || state.dataUpdatedAt < updatedAt) {
186
+ queryClient?.setQueryData(itemKey, item, {
187
+ updatedAt,
188
+ });
189
+ }
190
+ return item.id;
191
+ }) ?? [];
192
+ }
193
+
194
+ const result = queryHook({
195
+ variables: args,
196
+ ...otherParams,
197
+ initialData: initialDataIds,
198
+ } as QueryHookArgument);
167
199
 
168
200
  useQueriesSubscribeToReload(
169
201
  [hashKey(queryHook.getKey(args as Parameters<(typeof queryHook)['getKey']>[0]))],
@@ -179,7 +211,7 @@ export function generateIdsQuery<
179
211
  const indexedResult = useManyHook(result.data, { staleTime: Infinity, reloadWithContext: false });
180
212
  const filteredIds = result.data as IdType[];
181
213
  const arrayResult: UseQueryResult<Type, Error>[] = useMemo(
182
- () => ArrayHelper.noUndefined(filteredIds.map((id) => indexedResult[id])),
214
+ () => ArrayHelper.noUndefined(filteredIds?.map((id) => indexedResult[id])),
183
215
  [filteredIds, indexedResult],
184
216
  );
185
217
 
@@ -193,7 +225,16 @@ export function generateIdsQuery<
193
225
  : URecord<IdType, UseQueryResult<Type, Error>>;
194
226
  }
195
227
 
196
- return hoistReactQueryKitAttributes(queryHook, useFilter);
228
+ const filterHook = hoistReactQueryKitAttributes(queryHook, useFilter);
229
+ const getFilterKey: FilterGetKey = (variables) => {
230
+ return queryHook.getKey(variables as Parameters<(typeof queryHook)['getKey']>[0]);
231
+ };
232
+
233
+ return Object.assign(filterHook, {
234
+ getKey: getFilterKey,
235
+ }) as typeof filterHook & {
236
+ getKey: FilterGetKey;
237
+ };
197
238
  }
198
239
 
199
240
  function generateInfiniteQuery<PageParams, Meta, FuncArguments extends any[] = []>({
@@ -7,12 +7,13 @@ export function useArrayData<DataType>(
7
7
  | {
8
8
  data: DataType;
9
9
  }[]
10
- | URecord<any, { data: DataType | undefined }>,
10
+ | URecord<any, { data: DataType | undefined }>
11
+ | undefined,
11
12
  ): Exclude<DataType, undefined>[] {
12
13
  return useMemo(
13
14
  () =>
14
15
  ArrayHelper.noUndefined(
15
- (Array.isArray(result) ? result : ObjectHelper.values(result)).map((data) => data.data),
16
+ (Array.isArray(result) ? result : ObjectHelper.values(result ?? {}))?.map((data) => data.data),
16
17
  ),
17
18
  [result],
18
19
  );
@@ -0,0 +1,13 @@
1
+ import { DateHelper } from '@ainias42/js-helper';
2
+ import { useState } from 'react';
3
+
4
+ export function useInitialData<Type>(data: Type | undefined) {
5
+ const [now] = useState(() => DateHelper.now());
6
+ if (data) {
7
+ return {
8
+ initialData: data,
9
+ initialDataUpdatedAt: now,
10
+ };
11
+ }
12
+ return {};
13
+ }
package/src/index.ts CHANGED
@@ -7,6 +7,7 @@ export * from './NotFoundError';
7
7
  export * from './hooks/formatInitialPage';
8
8
  export * from './hooks/useArrayData';
9
9
  export * from './hooks/useIndexedData';
10
+ export * from './hooks/useInitialData';
10
11
  export * from './QueryContext/QueriesContext';
11
12
  export * from './QueryContext/QueriesContextProvider';
12
13
  export * from './QueryContext/SubQueriesContext';