@ainias42/tanstack-ids 0.0.2 → 0.0.3
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/.eslintrc.cjs +2 -1
- package/.prettierrc +1 -1
- package/dist/QueryContext/QueriesContextProvider.d.ts +1 -1
- package/dist/QueryContext/QueriesContextProvider.js +1 -1
- package/dist/QueryContext/QueriesContextProvider.js.map +1 -1
- package/dist/QueryContext/SubQueriesContext.d.ts +1 -1
- package/dist/QueryContext/SubQueriesContext.js +2 -2
- package/dist/QueryContext/SubQueriesContext.js.map +1 -1
- package/dist/QueryContext/useGenerateQueriesContextId.js +1 -1
- package/dist/QueryContext/useGenerateQueriesContextId.js.map +1 -1
- package/dist/QueryContext/useQueriesError.js +1 -1
- package/dist/QueryContext/useQueriesError.js.map +1 -1
- package/dist/QueryContext/useQueriesIsFetching.js +1 -1
- package/dist/QueryContext/useQueriesIsFetching.js.map +1 -1
- package/dist/QueryContext/useQueriesReload.js +1 -1
- package/dist/QueryContext/useQueriesReload.js.map +1 -1
- package/dist/QueryContext/useQueriesStore.js +17 -17
- package/dist/QueryContext/useQueriesStore.js.map +1 -1
- package/dist/QueryContext/useQuerySubscribeToReload.js +4 -4
- package/dist/QueryContext/useQuerySubscribeToReload.js.map +1 -1
- package/dist/QueryContext/useScopedQueriesIsFetching.js +1 -1
- package/dist/QueryContext/useScopedQueriesIsFetching.js.map +1 -1
- package/dist/generateIdsQuery.d.ts +22 -2
- package/dist/generateIdsQuery.js +51 -32
- package/dist/generateIdsQuery.js.map +1 -1
- package/dist/generateNestedIdQuery.d.ts +21 -2
- package/dist/generateNestedIdQuery.js +2 -2
- package/dist/generateNestedIdQuery.js.map +1 -1
- package/dist/generateQuery.js +1 -1
- package/dist/generateQuery.js.map +1 -1
- package/dist/hooks/formatInitialPage.js +1 -1
- package/dist/hooks/useArrayData.js +1 -1
- package/dist/hooks/useArrayData.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -2
- package/src/QueryContext/QueriesContextProvider.tsx +2 -2
- package/src/QueryContext/SubQueriesContext.tsx +4 -4
- package/src/QueryContext/useGenerateQueriesContextId.ts +1 -1
- package/src/QueryContext/useQueriesError.ts +1 -1
- package/src/QueryContext/useQueriesIsFetching.ts +1 -1
- package/src/QueryContext/useQueriesReload.ts +1 -1
- package/src/QueryContext/useQueriesStore.ts +21 -21
- package/src/QueryContext/useQuerySubscribeToReload.ts +4 -4
- package/src/QueryContext/useScopedQueriesIsFetching.ts +1 -1
- package/src/generateIdsQuery.ts +172 -127
- package/src/generateNestedIdQuery.ts +4 -4
- package/src/generateQuery.ts +12 -13
- package/src/hoistReactQueryKitAttributes.ts +1 -1
- package/src/hooks/formatInitialPage.ts +1 -1
- package/src/hooks/useArrayData.ts +3 -3
- package/src/hooks/useIndexedData.ts +3 -3
- package/tsconfig.json +3 -12
package/.eslintrc.cjs
CHANGED
package/.prettierrc
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"@
|
|
1
|
+
"@ainias42/config/prettierrc.js"
|
|
@@ -3,4 +3,4 @@ import type { ReactNode } from 'react';
|
|
|
3
3
|
export type QueriesContextProviderProps = {
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
};
|
|
6
|
-
export declare const QueriesContextProvider: ({ children }: QueriesContextProviderProps) => React.JSX.Element;
|
|
6
|
+
export declare const QueriesContextProvider: ({ children, }: QueriesContextProviderProps) => React.JSX.Element;
|
|
@@ -2,7 +2,7 @@ import { QueriesContext } from '../QueryContext/QueriesContext.js';
|
|
|
2
2
|
import { useGenerateQueriesContextId } from '../QueryContext/useGenerateQueriesContextId.js';
|
|
3
3
|
import { withMemo } from '@ainias42/react-bootstrap-mobile';
|
|
4
4
|
import React from 'react';
|
|
5
|
-
export const QueriesContextProvider = withMemo(function QueriesContextProvider({ children }) {
|
|
5
|
+
export const QueriesContextProvider = withMemo(function QueriesContextProvider({ children, }) {
|
|
6
6
|
// Refs
|
|
7
7
|
// States/Variables/Selectors
|
|
8
8
|
const id = useGenerateQueriesContextId();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueriesContextProvider.js","sourceRoot":"","sources":["../../src/QueryContext/QueriesContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,SAAS,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"QueriesContextProvider.js","sourceRoot":"","sources":["../../src/QueryContext/QueriesContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,SAAS,sBAAsB,CAAC,EAC3E,QAAQ,GACkB;IAC1B,OAAO;IAEP,6BAA6B;IAC7B,MAAM,EAAE,GAAG,2BAA2B,EAAE,CAAC;IAEzC,WAAW;IAEX,YAAY;IAEZ,UAAU;IAEV,QAAQ;IAER,kBAAkB;IAElB,OAAO,oBAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAG,QAAQ,CAA2B,CAAC;AACpF,CAAC,CAAC,CAAC"}
|
|
@@ -3,4 +3,4 @@ export type SubQueriesContextProps = {
|
|
|
3
3
|
children: ReactNode;
|
|
4
4
|
subContextId?: number;
|
|
5
5
|
};
|
|
6
|
-
export declare const SubQueriesContext: ({ children, subContextId }: SubQueriesContextProps) => React.JSX.Element;
|
|
6
|
+
export declare const SubQueriesContext: ({ children, subContextId, }: SubQueriesContextProps) => React.JSX.Element;
|
|
@@ -3,11 +3,11 @@ import { useClientLayoutEffect, withMemo } from '@ainias42/react-bootstrap-mobil
|
|
|
3
3
|
import { useGenerateQueriesContextId } from '../QueryContext/useGenerateQueriesContextId.js';
|
|
4
4
|
import { useQueriesStore } from '../QueryContext/useQueriesStore.js';
|
|
5
5
|
import React, { useContext } from 'react';
|
|
6
|
-
export const SubQueriesContext = withMemo(function SubQueriesContext({ children, subContextId }) {
|
|
6
|
+
export const SubQueriesContext = withMemo(function SubQueriesContext({ children, subContextId, }) {
|
|
7
7
|
// Refs
|
|
8
8
|
// States/Variables/Selectors
|
|
9
9
|
const parentId = useContext(QueriesContext);
|
|
10
|
-
const [addSubContext, removeSubContext] = useQueriesStore(s => [s.addSubContext, s.removeSubContext]);
|
|
10
|
+
const [addSubContext, removeSubContext] = useQueriesStore((s) => [s.addSubContext, s.removeSubContext]);
|
|
11
11
|
const id = useGenerateQueriesContextId();
|
|
12
12
|
const usedId = subContextId !== null && subContextId !== void 0 ? subContextId : id;
|
|
13
13
|
// Dispatch
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubQueriesContext.js","sourceRoot":"","sources":["../../src/QueryContext/SubQueriesContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAC;AAI1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"SubQueriesContext.js","sourceRoot":"","sources":["../../src/QueryContext/SubQueriesContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAC;AAI1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,iBAAiB,CAAC,EACjE,QAAQ,EACR,YAAY,GACS;IACrB,OAAO;IAEP,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAExG,MAAM,EAAE,GAAG,2BAA2B,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC;IAElC,WAAW;IAEX,YAAY;IAEZ,UAAU;IACV,qBAAqB,CAAC,GAAG,EAAE;QACvB,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAExD,QAAQ;IAER,kBAAkB;IAElB,OAAO,oBAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,IAAG,QAAQ,CAA2B,CAAC;AACxF,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useMemo } from 'react';
|
|
2
2
|
import { useQueriesStore } from '../QueryContext/useQueriesStore.js';
|
|
3
3
|
export function useGenerateQueriesContextId() {
|
|
4
|
-
const generateId = useQueriesStore(s => s.generateContextId);
|
|
4
|
+
const generateId = useQueriesStore((s) => s.generateContextId);
|
|
5
5
|
return useMemo(() => generateId(), [generateId]);
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=useGenerateQueriesContextId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGenerateQueriesContextId.js","sourceRoot":"","sources":["../../src/QueryContext/useGenerateQueriesContextId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,2BAA2B;IACvC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useGenerateQueriesContextId.js","sourceRoot":"","sources":["../../src/QueryContext/useGenerateQueriesContextId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,2BAA2B;IACvC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/D,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -3,6 +3,6 @@ import { useContext } from 'react';
|
|
|
3
3
|
import { useQueriesStore } from '../QueryContext/useQueriesStore.js';
|
|
4
4
|
export function useQueriesError(contextId) {
|
|
5
5
|
const context = useContext(QueriesContext);
|
|
6
|
-
return useQueriesStore(s => s.getError(contextId !== null && contextId !== void 0 ? contextId : context));
|
|
6
|
+
return useQueriesStore((s) => s.getError(contextId !== null && contextId !== void 0 ? contextId : context));
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=useQueriesError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueriesError.js","sourceRoot":"","sources":["../../src/QueryContext/useQueriesError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,eAAe,CAAC,SAAkB;IAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useQueriesError.js","sourceRoot":"","sources":["../../src/QueryContext/useQueriesError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,eAAe,CAAC,SAAkB;IAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -3,6 +3,6 @@ import { useContext } from 'react';
|
|
|
3
3
|
import { useQueriesStore } from '../QueryContext/useQueriesStore.js';
|
|
4
4
|
export function useQueriesIsFetching(contextId) {
|
|
5
5
|
const context = useContext(QueriesContext);
|
|
6
|
-
return useQueriesStore(s => s.isFetching(contextId !== null && contextId !== void 0 ? contextId : context));
|
|
6
|
+
return useQueriesStore((s) => s.isFetching(contextId !== null && contextId !== void 0 ? contextId : context));
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=useQueriesIsFetching.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueriesIsFetching.js","sourceRoot":"","sources":["../../src/QueryContext/useQueriesIsFetching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,oBAAoB,CAAC,SAAkB;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useQueriesIsFetching.js","sourceRoot":"","sources":["../../src/QueryContext/useQueriesIsFetching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,oBAAoB,CAAC,SAAkB;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,CAAC,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { useQueriesStore } from '../QueryContext/useQueriesStore.js';
|
|
|
4
4
|
import { useQueryClient } from '@tanstack/react-query';
|
|
5
5
|
export function useQueriesReload(contextId) {
|
|
6
6
|
const context = useContext(QueriesContext);
|
|
7
|
-
const reloadContext = useQueriesStore(s => s.reload);
|
|
7
|
+
const reloadContext = useQueriesStore((s) => s.reload);
|
|
8
8
|
const queryClient = useQueryClient();
|
|
9
9
|
return useCallback(async () => {
|
|
10
10
|
return reloadContext(queryClient, contextId !== null && contextId !== void 0 ? contextId : context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueriesReload.js","sourceRoot":"","sources":["../../src/QueryContext/useQueriesReload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,UAAU,gBAAgB,CAAC,SAAkB;IAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useQueriesReload.js","sourceRoot":"","sources":["../../src/QueryContext/useQueriesReload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,UAAU,gBAAgB,CAAC,SAAkB;IAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,OAAO,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1B,OAAO,aAAa,CAAC,WAAW,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,CAAC,CAAC;IAC5D,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -6,7 +6,7 @@ function initialState() {
|
|
|
6
6
|
return {
|
|
7
7
|
lastContextId: 0,
|
|
8
8
|
contexts: {},
|
|
9
|
-
subContexts: {}
|
|
9
|
+
subContexts: {},
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
const actionsGenerator = (set, get) => ({
|
|
@@ -16,11 +16,11 @@ const actionsGenerator = (set, get) => ({
|
|
|
16
16
|
},
|
|
17
17
|
generateContextId() {
|
|
18
18
|
let id = 0;
|
|
19
|
-
set(state => {
|
|
19
|
+
set((state) => {
|
|
20
20
|
state.lastContextId++;
|
|
21
21
|
state.contexts[state.lastContextId] = {
|
|
22
22
|
lastId: 0,
|
|
23
|
-
items: {}
|
|
23
|
+
items: {},
|
|
24
24
|
};
|
|
25
25
|
id = state.lastContextId;
|
|
26
26
|
});
|
|
@@ -28,7 +28,7 @@ const actionsGenerator = (set, get) => ({
|
|
|
28
28
|
},
|
|
29
29
|
setItem(contextId, itemId, item) {
|
|
30
30
|
let id = itemId;
|
|
31
|
-
set(state => {
|
|
31
|
+
set((state) => {
|
|
32
32
|
const contextData = state.contexts[contextId];
|
|
33
33
|
if (!contextData) {
|
|
34
34
|
return;
|
|
@@ -45,7 +45,7 @@ const actionsGenerator = (set, get) => ({
|
|
|
45
45
|
if (!itemId) {
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
|
-
set(state => {
|
|
48
|
+
set((state) => {
|
|
49
49
|
var _a;
|
|
50
50
|
(_a = state.contexts[contextId]) === null || _a === void 0 ? true : delete _a.items[itemId];
|
|
51
51
|
});
|
|
@@ -53,24 +53,24 @@ const actionsGenerator = (set, get) => ({
|
|
|
53
53
|
isFetching(contextId) {
|
|
54
54
|
var _a, _b, _c, _d;
|
|
55
55
|
const state = get();
|
|
56
|
-
return (ObjectHelper.values((_b = (_a = state.contexts[contextId]) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : {}).some(item => item.isFetching) ||
|
|
57
|
-
((_d = (_c = state.subContexts[contextId]) === null || _c === void 0 ? void 0 : _c.some(id => state.isFetching(id))) !== null && _d !== void 0 ? _d : false));
|
|
56
|
+
return (ObjectHelper.values((_b = (_a = state.contexts[contextId]) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : {}).some((item) => item.isFetching) ||
|
|
57
|
+
((_d = (_c = state.subContexts[contextId]) === null || _c === void 0 ? void 0 : _c.some((id) => state.isFetching(id))) !== null && _d !== void 0 ? _d : false));
|
|
58
58
|
},
|
|
59
59
|
isFetchingByScope(contextId, scope) {
|
|
60
60
|
var _a, _b, _c, _d;
|
|
61
61
|
const state = get();
|
|
62
62
|
return ((_d = ((scope.global &&
|
|
63
|
-
ObjectHelper.values((_b = (_a = state.contexts[contextId]) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : {}).some(item => item.isFetching)) ||
|
|
64
|
-
(scope.subContexts && ((_c = state.subContexts[contextId]) === null || _c === void 0 ? void 0 : _c.some(id => state.isFetching(id)))))) !== null && _d !== void 0 ? _d : false);
|
|
63
|
+
ObjectHelper.values((_b = (_a = state.contexts[contextId]) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : {}).some((item) => item.isFetching)) ||
|
|
64
|
+
(scope.subContexts && ((_c = state.subContexts[contextId]) === null || _c === void 0 ? void 0 : _c.some((id) => state.isFetching(id)))))) !== null && _d !== void 0 ? _d : false);
|
|
65
65
|
},
|
|
66
66
|
getError(contextId) {
|
|
67
67
|
var _a, _b, _c, _d;
|
|
68
68
|
const state = get();
|
|
69
|
-
const error = (_c = ObjectHelper.values((_b = (_a = state.contexts[contextId]) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : {}).find(item => item.error)) === null || _c === void 0 ? void 0 : _c.error;
|
|
69
|
+
const error = (_c = ObjectHelper.values((_b = (_a = state.contexts[contextId]) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : {}).find((item) => item.error)) === null || _c === void 0 ? void 0 : _c.error;
|
|
70
70
|
if (error) {
|
|
71
71
|
return error;
|
|
72
72
|
}
|
|
73
|
-
const subContextWithError = (_d = state.subContexts[contextId]) === null || _d === void 0 ? void 0 : _d.find(childId => state.getError(childId));
|
|
73
|
+
const subContextWithError = (_d = state.subContexts[contextId]) === null || _d === void 0 ? void 0 : _d.find((childId) => state.getError(childId));
|
|
74
74
|
if (subContextWithError) {
|
|
75
75
|
return state.getError(subContextWithError);
|
|
76
76
|
}
|
|
@@ -79,7 +79,7 @@ const actionsGenerator = (set, get) => ({
|
|
|
79
79
|
getAllKeys(contextId) {
|
|
80
80
|
var _a, _b;
|
|
81
81
|
const state = get();
|
|
82
|
-
const keys = new Set(ObjectHelper.values((_b = (_a = state.contexts[contextId]) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : {}).flatMap(item => item.keys));
|
|
82
|
+
const keys = new Set(ObjectHelper.values((_b = (_a = state.contexts[contextId]) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : {}).flatMap((item) => item.keys));
|
|
83
83
|
const subContext = state.subContexts[contextId];
|
|
84
84
|
if (subContext) {
|
|
85
85
|
for (const childId of subContext) {
|
|
@@ -95,11 +95,11 @@ const actionsGenerator = (set, get) => ({
|
|
|
95
95
|
const state = get();
|
|
96
96
|
const keys = state.getAllKeys(contextId);
|
|
97
97
|
return queryClient.refetchQueries({
|
|
98
|
-
predicate: query => keys.has(query.queryHash)
|
|
98
|
+
predicate: (query) => keys.has(query.queryHash),
|
|
99
99
|
});
|
|
100
100
|
},
|
|
101
101
|
addSubContext(parent, child) {
|
|
102
|
-
set(state => {
|
|
102
|
+
set((state) => {
|
|
103
103
|
var _a;
|
|
104
104
|
const newChildren = (_a = state.subContexts[parent]) !== null && _a !== void 0 ? _a : [];
|
|
105
105
|
newChildren.push(child);
|
|
@@ -107,11 +107,11 @@ const actionsGenerator = (set, get) => ({
|
|
|
107
107
|
});
|
|
108
108
|
},
|
|
109
109
|
removeSubContext(parent, child) {
|
|
110
|
-
set(state => {
|
|
110
|
+
set((state) => {
|
|
111
111
|
var _a;
|
|
112
|
-
state.subContexts[parent] = (_a = state.subContexts[parent]) === null || _a === void 0 ? void 0 : _a.filter(id => id !== child);
|
|
112
|
+
state.subContexts[parent] = (_a = state.subContexts[parent]) === null || _a === void 0 ? void 0 : _a.filter((id) => id !== child);
|
|
113
113
|
});
|
|
114
|
-
}
|
|
114
|
+
},
|
|
115
115
|
});
|
|
116
116
|
export const useQueriesStore = create()(subscribeWithSelector(immer((set, get) => (Object.assign(Object.assign({}, initialState()), actionsGenerator(set, get))))));
|
|
117
117
|
//# sourceMappingURL=useQueriesStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueriesStore.js","sourceRoot":"","sources":["../../src/QueryContext/useQueriesStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAU3D,SAAS,YAAY;IACjB,OAAO;QACH,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,EAMT;QACD,WAAW,EAAE,EAA+B;KAC/C,CAAC;AACN,CAAC;AAQD,MAAM,gBAAgB,GAAG,CAAC,GAAa,EAAE,GAAa,EAAE,EAAE,CAAC,CAAC;IACxD,GAAG;IACH,KAAK;QACD,GAAG,iCAAM,YAAY,EAAE,GAAK,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAI,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,iBAAiB;QACb,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"useQueriesStore.js","sourceRoot":"","sources":["../../src/QueryContext/useQueriesStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { QueriesContext } from '../QueryContext/QueriesContext.js';
|
|
2
|
-
import { useClientLayoutEffect } from
|
|
2
|
+
import { useClientLayoutEffect } from '@ainias42/react-bootstrap-mobile';
|
|
3
3
|
import { useContext, useRef } from 'react';
|
|
4
4
|
import { useQueriesStore } from '../QueryContext/useQueriesStore.js';
|
|
5
5
|
export function useQueriesSubscribeToReload(keys, isFetching, error) {
|
|
6
6
|
const contextId = useContext(QueriesContext);
|
|
7
|
-
const setItem = useQueriesStore(s => s.setItem);
|
|
8
|
-
const removeItem = useQueriesStore(s => s.removeItem);
|
|
7
|
+
const setItem = useQueriesStore((s) => s.setItem);
|
|
8
|
+
const removeItem = useQueriesStore((s) => s.removeItem);
|
|
9
9
|
const id = useRef();
|
|
10
10
|
useClientLayoutEffect(() => {
|
|
11
11
|
id.current = setItem(contextId, id.current, {
|
|
12
12
|
keys,
|
|
13
13
|
error,
|
|
14
|
-
isFetching
|
|
14
|
+
isFetching,
|
|
15
15
|
});
|
|
16
16
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17
17
|
}, [contextId, error, isFetching, setItem, ...keys]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuerySubscribeToReload.js","sourceRoot":"","sources":["../../src/QueryContext/useQuerySubscribeToReload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,2BAA2B,CAAC,IAAc,EAAE,UAAmB,EAAE,KAAU;IACvF,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useQuerySubscribeToReload.js","sourceRoot":"","sources":["../../src/QueryContext/useQuerySubscribeToReload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,2BAA2B,CAAC,IAAc,EAAE,UAAmB,EAAE,KAAU;IACvF,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,MAAM,EAAsB,CAAC;IAExC,qBAAqB,CAAC,GAAG,EAAE;QACvB,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE;YACxC,IAAI;YACJ,KAAK;YACL,UAAU;SACb,CAAC,CAAC;QACH,uDAAuD;IAC3D,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAErD,qBAAqB,CAAC,GAAG,EAAE;QACvB,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -3,6 +3,6 @@ import { useContext } from 'react';
|
|
|
3
3
|
import { useQueriesStore } from '../QueryContext/useQueriesStore.js';
|
|
4
4
|
export function useScopedQueriesIsFetching(scope, contextId) {
|
|
5
5
|
const context = useContext(QueriesContext);
|
|
6
|
-
return useQueriesStore(s => s.isFetchingByScope(contextId !== null && contextId !== void 0 ? contextId : context, scope));
|
|
6
|
+
return useQueriesStore((s) => s.isFetchingByScope(contextId !== null && contextId !== void 0 ? contextId : context, scope));
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=useScopedQueriesIsFetching.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScopedQueriesIsFetching.js","sourceRoot":"","sources":["../../src/QueryContext/useScopedQueriesIsFetching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,0BAA0B,CAAC,KAAgD,EAAE,SAAkB;IAC3G,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE3C,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useScopedQueriesIsFetching.js","sourceRoot":"","sources":["../../src/QueryContext/useScopedQueriesIsFetching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,0BAA0B,CAAC,KAAgD,EAAE,SAAkB;IAC3G,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE3C,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Awaitable, Override, URecord } from '@ainias42/js-helper';
|
|
2
2
|
import type { CreateInfiniteQueryOptions, CreateQueryOptions, QueryHookOptions } from 'react-query-kit';
|
|
3
|
-
import type {
|
|
3
|
+
import type { QueryFunctionContext, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
4
4
|
export type Unpacked<T> = T extends (infer U)[] ? U : T;
|
|
5
5
|
export declare function generateIdsQuery<IdType extends number | string | symbol, Type extends {
|
|
6
6
|
id: IdType;
|
|
@@ -13,7 +13,7 @@ export declare function generateIdsQuery<IdType extends number | string | symbol
|
|
|
13
13
|
useOne: import("react-query-kit").ExposeMethods<Type, [IdType], Error> & ((identifier: IdType, otherAdditionalQueryOptions?: Omit<QueryHookOptions<Type, unknown, Type, [IdType]>, "context" | "fetcher" | "queryKey" | "variables"> & {
|
|
14
14
|
reloadWithContext?: boolean;
|
|
15
15
|
}) => import("react-query-kit").QueryHookResult<Type, Error>);
|
|
16
|
-
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>(
|
|
16
|
+
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
17
|
resultAsArray?: ResultAsArray;
|
|
18
18
|
subKey?: string;
|
|
19
19
|
}) => import("react-query-kit").ExposeMethods<IdType[], void | (void & [filter: FuncArguments]), Error> & (<Args extends FuncArguments extends void ? [] : FuncArguments>(...args: Args) => ResultAsArray extends true ? UseQueryResult<Type, Error>[] : URecord<IdType, UseQueryResult<Type, Error>>);
|
|
@@ -117,6 +117,10 @@ export declare function generateIdsQuery<IdType extends number | string | symbol
|
|
|
117
117
|
meta: Meta;
|
|
118
118
|
}, PageParams>, Error>>;
|
|
119
119
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
120
|
+
promise: Promise<import("@tanstack/react-query").InfiniteData<{
|
|
121
|
+
data: IdType[];
|
|
122
|
+
meta: Meta;
|
|
123
|
+
}, PageParams>>;
|
|
120
124
|
} | {
|
|
121
125
|
data: {
|
|
122
126
|
pages: Exclude<URecord<IdType, Type>[IdType], undefined>[][];
|
|
@@ -162,6 +166,10 @@ export declare function generateIdsQuery<IdType extends number | string | symbol
|
|
|
162
166
|
meta: Meta;
|
|
163
167
|
}, PageParams>, Error>>;
|
|
164
168
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
169
|
+
promise: Promise<import("@tanstack/react-query").InfiniteData<{
|
|
170
|
+
data: IdType[];
|
|
171
|
+
meta: Meta;
|
|
172
|
+
}, PageParams>>;
|
|
165
173
|
} | {
|
|
166
174
|
data: {
|
|
167
175
|
pages: Exclude<URecord<IdType, Type>[IdType], undefined>[][];
|
|
@@ -207,6 +215,10 @@ export declare function generateIdsQuery<IdType extends number | string | symbol
|
|
|
207
215
|
meta: Meta;
|
|
208
216
|
}, PageParams>, Error>>;
|
|
209
217
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
218
|
+
promise: Promise<import("@tanstack/react-query").InfiniteData<{
|
|
219
|
+
data: IdType[];
|
|
220
|
+
meta: Meta;
|
|
221
|
+
}, PageParams>>;
|
|
210
222
|
} | {
|
|
211
223
|
data: {
|
|
212
224
|
pages: Exclude<URecord<IdType, Type>[IdType], undefined>[][];
|
|
@@ -252,6 +264,10 @@ export declare function generateIdsQuery<IdType extends number | string | symbol
|
|
|
252
264
|
meta: Meta;
|
|
253
265
|
}, PageParams>, Error>>;
|
|
254
266
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
267
|
+
promise: Promise<import("@tanstack/react-query").InfiniteData<{
|
|
268
|
+
data: IdType[];
|
|
269
|
+
meta: Meta;
|
|
270
|
+
}, PageParams>>;
|
|
255
271
|
} | {
|
|
256
272
|
data: {
|
|
257
273
|
pages: Exclude<URecord<IdType, Type>[IdType], undefined>[][];
|
|
@@ -297,5 +313,9 @@ export declare function generateIdsQuery<IdType extends number | string | symbol
|
|
|
297
313
|
meta: Meta;
|
|
298
314
|
}, PageParams>, Error>>;
|
|
299
315
|
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
316
|
+
promise: Promise<import("@tanstack/react-query").InfiniteData<{
|
|
317
|
+
data: IdType[];
|
|
318
|
+
meta: Meta;
|
|
319
|
+
}, PageParams>>;
|
|
300
320
|
});
|
|
301
321
|
};
|
package/dist/generateIdsQuery.js
CHANGED
|
@@ -23,7 +23,7 @@ export function generateIdsQuery(key, fetcher, additionalQueryOptions) {
|
|
|
23
23
|
var _a;
|
|
24
24
|
const batch = create({
|
|
25
25
|
fetcher: async (ids) => {
|
|
26
|
-
return [ArrayHelper.arrayToObject(await fetcher(ids), value => value.id)];
|
|
26
|
+
return [ArrayHelper.arrayToObject(await fetcher(ids), (value) => value.id)];
|
|
27
27
|
},
|
|
28
28
|
resolver: ([items], id) => {
|
|
29
29
|
const item = items === null || items === void 0 ? void 0 : items[id];
|
|
@@ -32,15 +32,15 @@ export function generateIdsQuery(key, fetcher, additionalQueryOptions) {
|
|
|
32
32
|
}
|
|
33
33
|
return item;
|
|
34
34
|
},
|
|
35
|
-
scheduler: windowScheduler((_a = additionalQueryOptions === null || additionalQueryOptions === void 0 ? void 0 : additionalQueryOptions.schedulerTime) !== null && _a !== void 0 ? _a : 15)
|
|
35
|
+
scheduler: windowScheduler((_a = additionalQueryOptions === null || additionalQueryOptions === void 0 ? void 0 : additionalQueryOptions.schedulerTime) !== null && _a !== void 0 ? _a : 15),
|
|
36
36
|
});
|
|
37
|
-
const useQueryHook = createQuery(Object.assign({ queryKey: [key], fetcher: identifier => batch.fetch(identifier[0]) }, additionalQueryOptions));
|
|
37
|
+
const useQueryHook = createQuery(Object.assign({ queryKey: [key], fetcher: (identifier) => batch.fetch(identifier[0]) }, additionalQueryOptions));
|
|
38
38
|
function useManyHook(ids, otherAdditionalQueryOptions = {}) {
|
|
39
39
|
var _a;
|
|
40
|
-
const queries = ids.map(id => (Object.assign(Object.assign({}, useQueryHook.getOptions([id])), otherAdditionalQueryOptions)));
|
|
40
|
+
const queries = ids.map((id) => (Object.assign(Object.assign({}, useQueryHook.getOptions([id])), otherAdditionalQueryOptions)));
|
|
41
41
|
const results = useQueries({
|
|
42
42
|
// @ts-expect-error wrong type in tanstack-query
|
|
43
|
-
queries
|
|
43
|
+
queries,
|
|
44
44
|
});
|
|
45
45
|
const oldData = useRef([]);
|
|
46
46
|
const isSame = JsonHelper.deepEqual(oldData.current, results, 1);
|
|
@@ -54,11 +54,11 @@ export function generateIdsQuery(key, fetcher, additionalQueryOptions) {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
const shouldReload = (_a = otherAdditionalQueryOptions.reloadWithContext) !== null && _a !== void 0 ? _a : true;
|
|
57
|
-
const keys = shouldReload ? ids.map(id => hashKey(useQueryHook.getKey([id]))) : [];
|
|
57
|
+
const keys = shouldReload ? ids.map((id) => hashKey(useQueryHook.getKey([id]))) : [];
|
|
58
58
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
59
|
-
const isFetching = useMemo(() => oldData.current.some(item => item.isFetching), [oldData.current]);
|
|
59
|
+
const isFetching = useMemo(() => oldData.current.some((item) => item.isFetching), [oldData.current]);
|
|
60
60
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61
|
-
const error = useMemo(() => { var _a; return (_a = oldData.current.find(item => item.error)) === null || _a === void 0 ? void 0 : _a.error; }, [oldData.current]);
|
|
61
|
+
const error = useMemo(() => { var _a; return (_a = oldData.current.find((item) => item.error)) === null || _a === void 0 ? void 0 : _a.error; }, [oldData.current]);
|
|
62
62
|
useQueriesSubscribeToReload(keys, isFetching, error);
|
|
63
63
|
return returnData.current;
|
|
64
64
|
}
|
|
@@ -69,15 +69,29 @@ export function generateIdsQuery(key, fetcher, additionalQueryOptions) {
|
|
|
69
69
|
useQueriesSubscribeToReload(shouldReload ? [hashKey(useQueryHook.getKey([identifier]))] : [], result.isFetching, result.error);
|
|
70
70
|
return result;
|
|
71
71
|
}
|
|
72
|
-
function generateFilter(
|
|
72
|
+
function generateFilter(filterFunc, additionalOptions) {
|
|
73
73
|
var _a;
|
|
74
|
+
let queryClient;
|
|
75
|
+
function getQueryClient() {
|
|
76
|
+
if (!queryClient) {
|
|
77
|
+
throw new Error('QueryClient not set');
|
|
78
|
+
}
|
|
79
|
+
return queryClient;
|
|
80
|
+
}
|
|
74
81
|
const queryHook = generateQuery(`${key}-filter${(additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.subKey) ? `-${additionalOptions.subKey}` : ''}`, async (filter) => {
|
|
75
82
|
const result = await filterFunc(filter);
|
|
76
|
-
return result.map(item => {
|
|
77
|
-
|
|
83
|
+
return result.map((item) => {
|
|
84
|
+
getQueryClient().setQueryData(useQueryHook.getKey([item.id]), item);
|
|
78
85
|
return item.id;
|
|
79
86
|
});
|
|
80
|
-
}, Object.assign(Object.assign({ initialDataUpdatedAt: 0 }, additionalOptions), { initialData: (_a = additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.initialData) !== null && _a !== void 0 ? _a : []
|
|
87
|
+
}, Object.assign(Object.assign({ initialDataUpdatedAt: 0 }, additionalOptions), { initialData: (_a = additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.initialData) !== null && _a !== void 0 ? _a : [], use: [
|
|
88
|
+
function myTestMiddleware(useQueryNext) {
|
|
89
|
+
return (options2, currentQueryClient) => {
|
|
90
|
+
queryClient = useQueryClient(currentQueryClient);
|
|
91
|
+
return useQueryNext(options2, queryClient);
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
] }));
|
|
81
95
|
function useFilter(...args) {
|
|
82
96
|
const result = queryHook({ variables: args });
|
|
83
97
|
useQueriesSubscribeToReload([hashKey(queryHook.getKey(args))], result.isFetching, result.error);
|
|
@@ -87,7 +101,7 @@ export function generateIdsQuery(key, fetcher, additionalQueryOptions) {
|
|
|
87
101
|
// Same goes for reloading with context.
|
|
88
102
|
// Other usages of useManyHook are not affected by this.
|
|
89
103
|
const indexedResult = useManyHook(result.data, { staleTime: Infinity, reloadWithContext: false });
|
|
90
|
-
const arrayResult = useMemo(() => ArrayHelper.noUndefined(result.data.map(id => indexedResult[id])), [indexedResult, result.data]);
|
|
104
|
+
const arrayResult = useMemo(() => ArrayHelper.noUndefined(result.data.map((id) => indexedResult[id])), [indexedResult, result.data]);
|
|
91
105
|
if (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.resultAsArray) {
|
|
92
106
|
return arrayResult;
|
|
93
107
|
}
|
|
@@ -100,7 +114,7 @@ export function generateIdsQuery(key, fetcher, additionalQueryOptions) {
|
|
|
100
114
|
let queryClient;
|
|
101
115
|
function getQueryClient() {
|
|
102
116
|
if (!queryClient) {
|
|
103
|
-
throw new Error(
|
|
117
|
+
throw new Error('QueryClient not set');
|
|
104
118
|
}
|
|
105
119
|
return queryClient;
|
|
106
120
|
}
|
|
@@ -108,29 +122,31 @@ export function generateIdsQuery(key, fetcher, additionalQueryOptions) {
|
|
|
108
122
|
return getQueryClient().getQueryData(useQueryHook.getKey([id]));
|
|
109
123
|
}
|
|
110
124
|
const { getPreviousPageParam } = options;
|
|
111
|
-
const infiniteQueryHook = createInfiniteQuery(Object.assign(Object.assign({}, options), { use: [
|
|
112
|
-
|
|
125
|
+
const infiniteQueryHook = createInfiniteQuery(Object.assign(Object.assign({}, options), { use: [
|
|
126
|
+
function myTestMiddleware(useQueryNext) {
|
|
127
|
+
return (options2, currentQueryClient) => {
|
|
113
128
|
queryClient = useQueryClient(currentQueryClient);
|
|
114
|
-
return useQueryNext(
|
|
129
|
+
return useQueryNext(options2, queryClient);
|
|
115
130
|
};
|
|
116
|
-
}
|
|
131
|
+
},
|
|
132
|
+
], queryKey: [`${key}-infinite-query`], fetcher: async (_, ctx) => {
|
|
117
133
|
const context = ctx;
|
|
118
134
|
const result = await queryFn(context.pageParam, context.queryKey[1], context);
|
|
119
135
|
return {
|
|
120
136
|
meta: result.meta,
|
|
121
|
-
data: result.data.map(item => {
|
|
137
|
+
data: result.data.map((item) => {
|
|
122
138
|
getQueryClient().setQueryData(useQueryHook.getKey([item.id]), item);
|
|
123
139
|
return item.id;
|
|
124
|
-
})
|
|
140
|
+
}),
|
|
125
141
|
};
|
|
126
142
|
}, getNextPageParam: (lastPage, allPages, lastPageParam, allPageParams) => {
|
|
127
143
|
return options.getNextPageParam({
|
|
128
144
|
lastPageMeta: lastPage.meta,
|
|
129
145
|
getLastPage: () => ArrayHelper.noUndefined(lastPage.data.map(findEntity)),
|
|
130
|
-
getAllPages: () => allPages.map(page => ArrayHelper.noUndefined(page.data.map(findEntity))),
|
|
146
|
+
getAllPages: () => allPages.map((page) => ArrayHelper.noUndefined(page.data.map(findEntity))),
|
|
131
147
|
lastPageParam,
|
|
132
148
|
allPageParams,
|
|
133
|
-
lastPageLength: lastPage.data.length
|
|
149
|
+
lastPageLength: lastPage.data.length,
|
|
134
150
|
});
|
|
135
151
|
}, getPreviousPageParam: !getPreviousPageParam
|
|
136
152
|
? undefined
|
|
@@ -138,32 +154,35 @@ export function generateIdsQuery(key, fetcher, additionalQueryOptions) {
|
|
|
138
154
|
return getPreviousPageParam({
|
|
139
155
|
firstPageMeta: firstPage.meta,
|
|
140
156
|
getFirstPage: () => ArrayHelper.noUndefined(firstPage.data.map(findEntity)),
|
|
141
|
-
getAllPages: () => allPages.map(page => ArrayHelper.noUndefined(page.data.map(findEntity))),
|
|
157
|
+
getAllPages: () => allPages.map((page) => ArrayHelper.noUndefined(page.data.map(findEntity))),
|
|
142
158
|
firstPageParam,
|
|
143
159
|
allPageParams,
|
|
144
|
-
firstPageLength: firstPage.data.length
|
|
160
|
+
firstPageLength: firstPage.data.length,
|
|
145
161
|
});
|
|
146
162
|
} }));
|
|
147
163
|
function useInfiniteQuery(...args) {
|
|
148
|
-
var _a;
|
|
164
|
+
var _a, _b;
|
|
149
165
|
const infiniteQueryClient = useQueryClient();
|
|
150
166
|
let infiniteOptions;
|
|
151
|
-
if (args.length === 1 &&
|
|
167
|
+
if (args.length === 1 && 'initialData' in args[0] && args[0].initialData) {
|
|
152
168
|
const { initialData } = args[0];
|
|
153
169
|
infiniteOptions = Object.assign(Object.assign({}, args[0]), { initialData: {
|
|
154
|
-
pages: initialData.pages.map(page => (Object.assign(Object.assign({}, page), { data: page.data.map(item => {
|
|
170
|
+
pages: initialData.pages.map((page) => (Object.assign(Object.assign({}, page), { data: page.data.map((item) => {
|
|
155
171
|
infiniteQueryClient.setQueryData(useQueryHook.getKey([item.id]), item);
|
|
156
172
|
return item.id;
|
|
157
173
|
}) }))),
|
|
158
|
-
pageParams: initialData.pageParams
|
|
174
|
+
pageParams: initialData.pageParams,
|
|
159
175
|
} });
|
|
160
176
|
}
|
|
161
177
|
else {
|
|
162
|
-
infiniteOptions =
|
|
178
|
+
infiniteOptions =
|
|
179
|
+
(_a = args[0]) !== null && _a !== void 0 ? _a : {};
|
|
163
180
|
}
|
|
164
181
|
const result = infiniteQueryHook(infiniteOptions);
|
|
165
|
-
useQueriesSubscribeToReload([
|
|
166
|
-
|
|
182
|
+
useQueriesSubscribeToReload([
|
|
183
|
+
hashKey(infiniteQueryHook.getKey(infiniteOptions.variables)),
|
|
184
|
+
], result.isFetching, result.error);
|
|
185
|
+
const ids = useMemo(() => { var _a, _b; return (_b = (_a = result.data) === null || _a === void 0 ? void 0 : _a.pages.flatMap((page) => page.data)) !== null && _b !== void 0 ? _b : []; }, [(_b = result.data) === null || _b === void 0 ? void 0 : _b.pages]);
|
|
167
186
|
// When staleTime is same as filterStaleTime, then the queries will run at the same time as the filter
|
|
168
187
|
// Because of this, use staleTime: Inifinity to prevent the queries from running again. The result of the
|
|
169
188
|
// filter will be saved inside the queryClient, so the queries will be updated with the new data.
|
|
@@ -173,7 +192,7 @@ export function generateIdsQuery(key, fetcher, additionalQueryOptions) {
|
|
|
173
192
|
const indexedData = useIndexedData(manyData);
|
|
174
193
|
const pages = useMemo(() => {
|
|
175
194
|
return result.data
|
|
176
|
-
? result.data.pages.map(page => ArrayHelper.noUndefined(page.data.map(id => indexedData[id])))
|
|
195
|
+
? result.data.pages.map((page) => ArrayHelper.noUndefined(page.data.map((id) => indexedData[id])))
|
|
177
196
|
: [];
|
|
178
197
|
}, [indexedData, result.data]);
|
|
179
198
|
return Object.assign(Object.assign({}, result), { data: !result.data ? undefined : Object.assign(Object.assign({}, result.data), { pages }) });
|