@codeleap/query 7.0.2 → 7.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.
- package/dist/factors/createQueryManager.d.ts +17 -14
- package/dist/factors/createQueryManager.d.ts.map +1 -1
- package/dist/factors/createQueryManager.js +18 -19
- package/dist/factors/createQueryManager.js.map +1 -1
- package/dist/factors/createQueryOperations.js +3 -6
- package/dist/factors/createQueryOperations.js.map +1 -1
- package/dist/factors/index.js +2 -18
- package/dist/factors/index.js.map +1 -1
- package/dist/index.js +3 -19
- package/dist/index.js.map +1 -1
- package/dist/lib/Mutations.js +39 -50
- package/dist/lib/Mutations.js.map +1 -1
- package/dist/lib/QueryClientEnhanced/index.js +45 -51
- package/dist/lib/QueryClientEnhanced/index.js.map +1 -1
- package/dist/lib/QueryClientEnhanced/types.js +1 -2
- package/dist/lib/QueryKeys.js +80 -91
- package/dist/lib/QueryKeys.js.map +1 -1
- package/dist/lib/QueryManager.d.ts +26 -10
- package/dist/lib/QueryManager.d.ts.map +1 -1
- package/dist/lib/QueryManager.js +173 -121
- package/dist/lib/QueryManager.js.map +1 -1
- package/dist/lib/QueryOperations/index.d.ts +2 -2
- package/dist/lib/QueryOperations/index.d.ts.map +1 -1
- package/dist/lib/QueryOperations/index.js +33 -33
- package/dist/lib/QueryOperations/index.js.map +1 -1
- package/dist/lib/QueryOperations/types.js +1 -2
- package/dist/lib/index.js +5 -21
- package/dist/lib/index.js.map +1 -1
- package/dist/types/core.d.ts +17 -3
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +1 -2
- package/dist/types/create.js +1 -2
- package/dist/types/delete.js +1 -2
- package/dist/types/index.js +7 -23
- package/dist/types/index.js.map +1 -1
- package/dist/types/list.d.ts +6 -4
- package/dist/types/list.d.ts.map +1 -1
- package/dist/types/list.js +1 -2
- package/dist/types/retrieve.js +1 -2
- package/dist/types/update.js +1 -2
- package/dist/types/utility.js +1 -2
- package/dist/utils/index.js +1 -17
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/misc.js +3 -7
- package/dist/utils/misc.js.map +1 -1
- package/package.json +6 -5
- package/src/factors/createQueryManager.ts +19 -16
- package/src/lib/QueryManager.ts +55 -15
- package/src/types/core.ts +22 -3
- package/src/types/list.ts +7 -5
|
@@ -1,26 +1,17 @@
|
|
|
1
1
|
import { QueryManager } from '../lib';
|
|
2
|
-
import { QueryItem, QueryManagerOptions } from '../types';
|
|
2
|
+
import { ListResponseMeta, QueryItem, QueryManagerOptions } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Factory function to create a new QueryManager instance
|
|
5
5
|
* @template T - The query item type that extends QueryItem
|
|
6
6
|
* @template F - The filter type used for list queries
|
|
7
|
+
* @template M - Optional metadata shape returned alongside list items (e.g. `{ count: number }`). Defaults to `Record<string, unknown>`.
|
|
7
8
|
* @param options - Configuration options for the query manager
|
|
8
9
|
* @returns New QueryManager instance
|
|
9
10
|
*
|
|
10
11
|
* @example
|
|
11
12
|
* ```typescript
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* email: string
|
|
15
|
-
* status: 'active' | 'inactive'
|
|
16
|
-
* }
|
|
17
|
-
*
|
|
18
|
-
* interface UserFilters {
|
|
19
|
-
* status?: 'active' | 'inactive'
|
|
20
|
-
* search?: string
|
|
21
|
-
* }
|
|
22
|
-
*
|
|
23
|
-
* const userQueryManager = createQueryManager<User, UserFilters>({
|
|
13
|
+
* // Without list metadata (backward compatible)
|
|
14
|
+
* const userManager = createQueryManager<User, UserFilters>({
|
|
24
15
|
* name: 'users',
|
|
25
16
|
* queryClient,
|
|
26
17
|
* listFn: (limit, offset, filters) => api.getUsers({ limit, offset, ...filters }),
|
|
@@ -30,7 +21,19 @@ import { QueryItem, QueryManagerOptions } from '../types';
|
|
|
30
21
|
* deleteFn: (id) => api.deleteUser(id),
|
|
31
22
|
* listLimit: 20
|
|
32
23
|
* })
|
|
24
|
+
*
|
|
25
|
+
* // With list metadata
|
|
26
|
+
* const postManager = createQueryManager<Post, PostFilters, { count: number }>({
|
|
27
|
+
* name: 'posts',
|
|
28
|
+
* queryClient,
|
|
29
|
+
* listFn: async (limit, offset, filters) => {
|
|
30
|
+
* const { data } = await api.get('/posts/', { limit, offset, ...filters })
|
|
31
|
+
* return { listItems: data.results, count: data.count }
|
|
32
|
+
* },
|
|
33
|
+
* })
|
|
34
|
+
* // In a component: const { items, meta } = postManager.useList({ filters })
|
|
35
|
+
* // meta?.count is typed as number
|
|
33
36
|
* ```
|
|
34
37
|
*/
|
|
35
|
-
export declare const createQueryManager: <T extends QueryItem, F = {}>(options: QueryManagerOptions<T, F>) => QueryManager<T, F>;
|
|
38
|
+
export declare const createQueryManager: <T extends QueryItem, F = {}, M extends ListResponseMeta = ListResponseMeta>(options: QueryManagerOptions<T, F, M>) => QueryManager<T, F, M>;
|
|
36
39
|
//# sourceMappingURL=createQueryManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createQueryManager.d.ts","sourceRoot":"","sources":["../../src/factors/createQueryManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"createQueryManager.d.ts","sourceRoot":"","sources":["../../src/factors/createQueryManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAAE,SAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,0BAEnJ,CAAA"}
|
|
@@ -1,28 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createQueryManager = void 0;
|
|
4
|
-
const lib_1 = require("../lib");
|
|
1
|
+
import { QueryManager } from '../lib';
|
|
5
2
|
/**
|
|
6
3
|
* Factory function to create a new QueryManager instance
|
|
7
4
|
* @template T - The query item type that extends QueryItem
|
|
8
5
|
* @template F - The filter type used for list queries
|
|
6
|
+
* @template M - Optional metadata shape returned alongside list items (e.g. `{ count: number }`). Defaults to `Record<string, unknown>`.
|
|
9
7
|
* @param options - Configuration options for the query manager
|
|
10
8
|
* @returns New QueryManager instance
|
|
11
9
|
*
|
|
12
10
|
* @example
|
|
13
11
|
* ```typescript
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* email: string
|
|
17
|
-
* status: 'active' | 'inactive'
|
|
18
|
-
* }
|
|
19
|
-
*
|
|
20
|
-
* interface UserFilters {
|
|
21
|
-
* status?: 'active' | 'inactive'
|
|
22
|
-
* search?: string
|
|
23
|
-
* }
|
|
24
|
-
*
|
|
25
|
-
* const userQueryManager = createQueryManager<User, UserFilters>({
|
|
12
|
+
* // Without list metadata (backward compatible)
|
|
13
|
+
* const userManager = createQueryManager<User, UserFilters>({
|
|
26
14
|
* name: 'users',
|
|
27
15
|
* queryClient,
|
|
28
16
|
* listFn: (limit, offset, filters) => api.getUsers({ limit, offset, ...filters }),
|
|
@@ -32,10 +20,21 @@ const lib_1 = require("../lib");
|
|
|
32
20
|
* deleteFn: (id) => api.deleteUser(id),
|
|
33
21
|
* listLimit: 20
|
|
34
22
|
* })
|
|
23
|
+
*
|
|
24
|
+
* // With list metadata
|
|
25
|
+
* const postManager = createQueryManager<Post, PostFilters, { count: number }>({
|
|
26
|
+
* name: 'posts',
|
|
27
|
+
* queryClient,
|
|
28
|
+
* listFn: async (limit, offset, filters) => {
|
|
29
|
+
* const { data } = await api.get('/posts/', { limit, offset, ...filters })
|
|
30
|
+
* return { listItems: data.results, count: data.count }
|
|
31
|
+
* },
|
|
32
|
+
* })
|
|
33
|
+
* // In a component: const { items, meta } = postManager.useList({ filters })
|
|
34
|
+
* // meta?.count is typed as number
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
|
-
const createQueryManager = (options) => {
|
|
38
|
-
return new
|
|
37
|
+
export const createQueryManager = (options) => {
|
|
38
|
+
return new QueryManager(options);
|
|
39
39
|
};
|
|
40
|
-
exports.createQueryManager = createQueryManager;
|
|
41
40
|
//# sourceMappingURL=createQueryManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createQueryManager.js","sourceRoot":"","sources":["../../src/factors/createQueryManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createQueryManager.js","sourceRoot":"","sources":["../../src/factors/createQueryManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAGrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAA6E,OAAqC,EAAE,EAAE;IACtJ,OAAO,IAAI,YAAY,CAAU,OAAO,CAAC,CAAA;AAC3C,CAAC,CAAA"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createQueryOperations = createQueryOperations;
|
|
4
|
-
const lib_1 = require("../lib");
|
|
1
|
+
import { QueryOperations } from '../lib';
|
|
5
2
|
/**
|
|
6
3
|
* Factory function to create a new QueryOperations builder instance
|
|
7
4
|
* @param options - Configuration options including the QueryClient
|
|
@@ -33,7 +30,7 @@ const lib_1 = require("../lib");
|
|
|
33
30
|
* }
|
|
34
31
|
* ```
|
|
35
32
|
*/
|
|
36
|
-
function createQueryOperations(options) {
|
|
37
|
-
return new
|
|
33
|
+
export function createQueryOperations(options) {
|
|
34
|
+
return new QueryOperations(options);
|
|
38
35
|
}
|
|
39
36
|
//# sourceMappingURL=createQueryOperations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createQueryOperations.js","sourceRoot":"","sources":["../../src/factors/createQueryOperations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createQueryOperations.js","sourceRoot":"","sources":["../../src/factors/createQueryOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAGxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC"}
|
package/dist/factors/index.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./createQueryManager"), exports);
|
|
18
|
-
__exportStar(require("./createQueryOperations"), exports);
|
|
1
|
+
export * from './createQueryManager';
|
|
2
|
+
export * from './createQueryOperations';
|
|
19
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factors/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factors/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./lib"), exports);
|
|
18
|
-
__exportStar(require("./types"), exports);
|
|
19
|
-
__exportStar(require("./factors"), exports);
|
|
1
|
+
export * from './lib';
|
|
2
|
+
export * from './types';
|
|
3
|
+
export * from './factors';
|
|
20
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA"}
|
package/dist/lib/Mutations.js
CHANGED
|
@@ -1,28 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.createMutations = exports.Mutations = void 0;
|
|
18
|
-
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
19
|
-
const types_1 = require("@codeleap/types");
|
|
1
|
+
import deepEqual from 'fast-deep-equal';
|
|
2
|
+
import { TypeGuards } from '@codeleap/types';
|
|
20
3
|
/**
|
|
21
4
|
* Class for managing mutations and cache updates for React Query list data
|
|
22
5
|
* @template T - The query item type that extends QueryItem
|
|
23
6
|
* @template F - The filter type used for list queries
|
|
24
7
|
*/
|
|
25
|
-
class Mutations {
|
|
8
|
+
export class Mutations {
|
|
9
|
+
queryKeys;
|
|
10
|
+
queryClient;
|
|
11
|
+
queryName;
|
|
26
12
|
/**
|
|
27
13
|
* Creates a new Mutations instance
|
|
28
14
|
* @param queryKeys - The QueryKeys instance for managing query keys
|
|
@@ -70,14 +56,14 @@ class Mutations {
|
|
|
70
56
|
? updatedPages[last] = [...updatedPages[last], newItem]
|
|
71
57
|
: updatedPages.push([newItem]);
|
|
72
58
|
}
|
|
73
|
-
this.queryClient.setQueryData(queryKey,
|
|
59
|
+
this.queryClient.setQueryData(queryKey, { ...currentData, pages: updatedPages });
|
|
74
60
|
}
|
|
75
61
|
addItem(newItem, position = 'start', listFilters) {
|
|
76
|
-
const isMultiQueryKeys = Array.isArray(position) &&
|
|
62
|
+
const isMultiQueryKeys = Array.isArray(position) && position?.length >= 1;
|
|
77
63
|
if (isMultiQueryKeys) {
|
|
78
64
|
for (const [queryKey, itemPosition] of position) {
|
|
79
65
|
const currentData = this.queryClient.getQueryData(queryKey);
|
|
80
|
-
const updatedPages = [...(
|
|
66
|
+
const updatedPages = [...(currentData?.pages || [])];
|
|
81
67
|
if (itemPosition.pageIndex < updatedPages.length) {
|
|
82
68
|
const targetPage = [...updatedPages[itemPosition.pageIndex]];
|
|
83
69
|
const insertIndex = Math.min(itemPosition.itemIndex, targetPage.length);
|
|
@@ -93,7 +79,7 @@ class Mutations {
|
|
|
93
79
|
updatedPages.push([newItem]);
|
|
94
80
|
}
|
|
95
81
|
}
|
|
96
|
-
this.queryClient.setQueryData(queryKey,
|
|
82
|
+
this.queryClient.setQueryData(queryKey, { ...currentData, pages: updatedPages });
|
|
97
83
|
}
|
|
98
84
|
return;
|
|
99
85
|
}
|
|
@@ -123,19 +109,18 @@ class Mutations {
|
|
|
123
109
|
* ```
|
|
124
110
|
*/
|
|
125
111
|
removeItem(itemId, listFilters) {
|
|
126
|
-
var _a, _b, _c;
|
|
127
112
|
this.queryKeys.removeRetrieveQueryData(itemId);
|
|
128
|
-
const listQueries =
|
|
113
|
+
const listQueries = TypeGuards.isNil(listFilters) ? this.queryKeys.getAllListQueries() : [this.queryKeys.getListQuery(listFilters)];
|
|
129
114
|
const removedItemMap = [];
|
|
130
115
|
for (const query of listQueries) {
|
|
131
|
-
const currentData =
|
|
132
|
-
const queryKey = query
|
|
116
|
+
const currentData = query.state?.data;
|
|
117
|
+
const queryKey = query?.queryKey;
|
|
133
118
|
if (!currentData)
|
|
134
119
|
continue;
|
|
135
120
|
let removedItemPosition = null;
|
|
136
|
-
for (let pageIndex = 0; pageIndex <
|
|
121
|
+
for (let pageIndex = 0; pageIndex < currentData?.pages?.length; pageIndex++) {
|
|
137
122
|
const page = currentData.pages[pageIndex];
|
|
138
|
-
const itemIndex = page.findIndex((item) =>
|
|
123
|
+
const itemIndex = page.findIndex((item) => item?.id === itemId);
|
|
139
124
|
if (itemIndex !== -1) {
|
|
140
125
|
removedItemPosition = {
|
|
141
126
|
pageIndex,
|
|
@@ -147,11 +132,15 @@ class Mutations {
|
|
|
147
132
|
if (!removedItemPosition)
|
|
148
133
|
continue;
|
|
149
134
|
removedItemMap.push([queryKey, removedItemPosition]);
|
|
150
|
-
const updatedPages = currentData.pages.map(page => page.filter((item) =>
|
|
151
|
-
const filteredPages = updatedPages.filter(page =>
|
|
152
|
-
const finalPages =
|
|
153
|
-
const newPageParams =
|
|
154
|
-
const newData =
|
|
135
|
+
const updatedPages = currentData.pages.map(page => page.filter((item) => item?.id !== itemId));
|
|
136
|
+
const filteredPages = updatedPages.filter(page => page?.length > 0);
|
|
137
|
+
const finalPages = filteredPages?.length > 0 ? filteredPages : [[]];
|
|
138
|
+
const newPageParams = currentData?.pageParams?.slice(0, finalPages?.length);
|
|
139
|
+
const newData = {
|
|
140
|
+
...currentData,
|
|
141
|
+
pages: finalPages,
|
|
142
|
+
pageParams: newPageParams
|
|
143
|
+
};
|
|
155
144
|
this.queryClient.setQueryData(queryKey, newData);
|
|
156
145
|
}
|
|
157
146
|
return removedItemMap;
|
|
@@ -180,30 +169,29 @@ class Mutations {
|
|
|
180
169
|
* ```
|
|
181
170
|
*/
|
|
182
171
|
updateItems(data) {
|
|
183
|
-
var _a, _b, _c, _d;
|
|
184
172
|
const listQueries = this.queryKeys.getAllListQueries();
|
|
185
173
|
const dataArray = Array.isArray(data) ? data : [data];
|
|
186
174
|
for (const item of dataArray) {
|
|
187
|
-
const { tempId
|
|
175
|
+
const { tempId, ...updateData } = item;
|
|
188
176
|
const cachedQueryKey = this.queryKeys.keys.retrieve(updateData.id);
|
|
189
177
|
const cachedItemData = this.queryKeys.getRetrieveData(updateData.id);
|
|
190
|
-
if (!(
|
|
178
|
+
if (!deepEqual(cachedItemData, updateData)) {
|
|
191
179
|
this.queryClient.setQueryData(cachedQueryKey, updateData);
|
|
192
180
|
}
|
|
193
181
|
}
|
|
194
|
-
const dataMap = Object.fromEntries(dataArray.map(item =>
|
|
182
|
+
const dataMap = Object.fromEntries(dataArray.map(item => [item?.tempId ?? item?.id, item]));
|
|
195
183
|
for (const query of listQueries) {
|
|
196
|
-
const oldData =
|
|
197
|
-
const queryKey = query
|
|
198
|
-
if (!
|
|
184
|
+
const oldData = query.state?.data;
|
|
185
|
+
const queryKey = query?.queryKey;
|
|
186
|
+
if (!oldData?.pages || !Array.isArray(oldData?.pages))
|
|
199
187
|
continue;
|
|
200
188
|
let hasChanges = false;
|
|
201
|
-
const updatedPages = (
|
|
189
|
+
const updatedPages = (oldData?.pages ?? [])?.filter(Array.isArray)?.map(page => {
|
|
202
190
|
let pageChanged = false;
|
|
203
191
|
const updatedPage = page.map((item) => {
|
|
204
|
-
if (dataMap
|
|
205
|
-
const
|
|
206
|
-
const needsUpdate = !(
|
|
192
|
+
if (dataMap?.[item?.id]) {
|
|
193
|
+
const { tempId, ...updateData } = dataMap?.[item?.id];
|
|
194
|
+
const needsUpdate = !deepEqual(item, updateData);
|
|
207
195
|
if (needsUpdate) {
|
|
208
196
|
pageChanged = true;
|
|
209
197
|
hasChanges = true;
|
|
@@ -215,12 +203,14 @@ class Mutations {
|
|
|
215
203
|
return pageChanged ? updatedPage : page;
|
|
216
204
|
});
|
|
217
205
|
if (hasChanges) {
|
|
218
|
-
this.queryClient.setQueryData(queryKey,
|
|
206
|
+
this.queryClient.setQueryData(queryKey, {
|
|
207
|
+
...oldData,
|
|
208
|
+
pages: updatedPages
|
|
209
|
+
});
|
|
219
210
|
}
|
|
220
211
|
}
|
|
221
212
|
}
|
|
222
213
|
}
|
|
223
|
-
exports.Mutations = Mutations;
|
|
224
214
|
/**
|
|
225
215
|
* Factory function to create a new Mutations instance
|
|
226
216
|
* @template T - The query item type that extends QueryItem
|
|
@@ -236,8 +226,7 @@ exports.Mutations = Mutations;
|
|
|
236
226
|
* const userMutations = createMutations(userQueryKeys, queryClient, 'users')
|
|
237
227
|
* ```
|
|
238
228
|
*/
|
|
239
|
-
const createMutations = (queryKeys, queryClient, queryName) => {
|
|
229
|
+
export const createMutations = (queryKeys, queryClient, queryName) => {
|
|
240
230
|
return new Mutations(queryKeys, queryClient, queryName);
|
|
241
231
|
};
|
|
242
|
-
exports.createMutations = createMutations;
|
|
243
232
|
//# sourceMappingURL=Mutations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mutations.js","sourceRoot":"","sources":["../../src/lib/Mutations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Mutations.js","sourceRoot":"","sources":["../../src/lib/Mutations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.QueryClientEnhanced = void 0;
|
|
13
|
-
const utils_1 = require("@codeleap/utils");
|
|
14
|
-
const react_query_1 = require("@tanstack/react-query");
|
|
1
|
+
import { waitFor } from '@codeleap/utils';
|
|
2
|
+
import { Query, hashKey, matchQuery } from '@tanstack/react-query';
|
|
15
3
|
/**
|
|
16
4
|
* Thin wrapper around React Query's `QueryClient` that adds async primitives for polling, event listening, and proxy-based query handles.
|
|
17
5
|
* Pass an instance of this class wherever `QueryClient | QueryClientEnhanced` is accepted to unlock the enhanced API.
|
|
18
6
|
*/
|
|
19
|
-
class QueryClientEnhanced {
|
|
7
|
+
export class QueryClientEnhanced {
|
|
8
|
+
client;
|
|
20
9
|
constructor(client) {
|
|
21
10
|
this.client = client;
|
|
22
11
|
}
|
|
@@ -31,7 +20,7 @@ class QueryClientEnhanced {
|
|
|
31
20
|
return;
|
|
32
21
|
}
|
|
33
22
|
const removeListener = cache.subscribe((e) => {
|
|
34
|
-
const matches =
|
|
23
|
+
const matches = matchQuery({ exact: true, queryKey: key }, e.query);
|
|
35
24
|
if (matches) {
|
|
36
25
|
callback(e);
|
|
37
26
|
}
|
|
@@ -42,35 +31,33 @@ class QueryClientEnhanced {
|
|
|
42
31
|
* Repeatedly refetches a query on a fixed `interval` until the `callback` returns `{ stop: true }`.
|
|
43
32
|
* Rejects immediately if the query key is not present in the cache when called.
|
|
44
33
|
*/
|
|
45
|
-
pollQuery(key, options) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
yield (0, utils_1.waitFor)(interval);
|
|
62
|
-
}
|
|
63
|
-
this.client.refetchQueries({
|
|
64
|
-
exact: true,
|
|
65
|
-
queryKey: key,
|
|
66
|
-
});
|
|
67
|
-
const newQuery = yield this.waitForRefresh(key);
|
|
68
|
-
const newResult = yield callback(newQuery, count, result === null || result === void 0 ? void 0 : result.data);
|
|
69
|
-
count += 1;
|
|
70
|
-
result = newResult;
|
|
34
|
+
async pollQuery(key, options) {
|
|
35
|
+
const { interval, callback, initialData, leading = false } = options;
|
|
36
|
+
const cache = this.client.getQueryCache();
|
|
37
|
+
const initialQuery = cache.find({ exact: true, queryKey: key });
|
|
38
|
+
if (!initialQuery) {
|
|
39
|
+
return Promise.reject(new Error('Query not found'));
|
|
40
|
+
}
|
|
41
|
+
let count = 0;
|
|
42
|
+
let result = {
|
|
43
|
+
stop: false,
|
|
44
|
+
data: initialData,
|
|
45
|
+
};
|
|
46
|
+
while (!result?.stop) {
|
|
47
|
+
const shouldWait = count > 0 || leading;
|
|
48
|
+
if (shouldWait) {
|
|
49
|
+
await waitFor(interval);
|
|
71
50
|
}
|
|
72
|
-
|
|
73
|
-
|
|
51
|
+
this.client.refetchQueries({
|
|
52
|
+
exact: true,
|
|
53
|
+
queryKey: key,
|
|
54
|
+
});
|
|
55
|
+
const newQuery = await this.waitForRefresh(key);
|
|
56
|
+
const newResult = await callback(newQuery, count, result?.data);
|
|
57
|
+
count += 1;
|
|
58
|
+
result = newResult;
|
|
59
|
+
}
|
|
60
|
+
return result?.data;
|
|
74
61
|
}
|
|
75
62
|
/**
|
|
76
63
|
* Returns an `EnhancedQuery<T>` Proxy for `key`.
|
|
@@ -113,17 +100,20 @@ class QueryClientEnhanced {
|
|
|
113
100
|
};
|
|
114
101
|
case 'ensureData':
|
|
115
102
|
return (options) => {
|
|
116
|
-
return client.client.ensureQueryData(
|
|
103
|
+
return client.client.ensureQueryData({
|
|
104
|
+
queryKey: key,
|
|
105
|
+
...options
|
|
106
|
+
});
|
|
117
107
|
};
|
|
118
108
|
case 'refresh':
|
|
119
|
-
return () =>
|
|
109
|
+
return async () => {
|
|
120
110
|
client.client.refetchQueries({
|
|
121
111
|
exact: true,
|
|
122
112
|
queryKey: key,
|
|
123
113
|
});
|
|
124
|
-
const newQuery =
|
|
114
|
+
const newQuery = await client.waitForRefresh(key);
|
|
125
115
|
return newQuery.state.data;
|
|
126
|
-
}
|
|
116
|
+
};
|
|
127
117
|
case 'poll':
|
|
128
118
|
return (options) => {
|
|
129
119
|
return client.pollQuery(key, options);
|
|
@@ -160,7 +150,7 @@ class QueryClientEnhanced {
|
|
|
160
150
|
else {
|
|
161
151
|
reject();
|
|
162
152
|
}
|
|
163
|
-
removeListener
|
|
153
|
+
removeListener?.();
|
|
164
154
|
}
|
|
165
155
|
});
|
|
166
156
|
});
|
|
@@ -173,7 +163,12 @@ class QueryClientEnhanced {
|
|
|
173
163
|
if (options) {
|
|
174
164
|
this.client.setQueryDefaults(k, options);
|
|
175
165
|
const cache = this.client.getQueryCache();
|
|
176
|
-
const q = new
|
|
166
|
+
const q = new Query({
|
|
167
|
+
client: this.client,
|
|
168
|
+
queryKey: k,
|
|
169
|
+
queryHash: hashKey(k),
|
|
170
|
+
...options,
|
|
171
|
+
});
|
|
177
172
|
cache.add(q);
|
|
178
173
|
}
|
|
179
174
|
return this.queryProxy(k);
|
|
@@ -195,5 +190,4 @@ class QueryClientEnhanced {
|
|
|
195
190
|
});
|
|
196
191
|
}
|
|
197
192
|
}
|
|
198
|
-
exports.QueryClientEnhanced = QueryClientEnhanced;
|
|
199
193
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/QueryClientEnhanced/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/QueryClientEnhanced/index.ts"],"names":[],"mappings":"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"}
|