@zenstackhq/swr 1.1.1 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/generator.js +15 -13
- package/generator.js.map +1 -1
- package/package.json +8 -6
- package/runtime/index.d.ts +33 -5
- package/runtime/index.js +94 -23
- package/runtime/index.js.map +1 -1
package/generator.js
CHANGED
|
@@ -19,9 +19,10 @@ const lower_case_first_1 = require("lower-case-first");
|
|
|
19
19
|
const path_1 = __importDefault(require("path"));
|
|
20
20
|
const semver_1 = __importDefault(require("semver"));
|
|
21
21
|
const upper_case_first_1 = require("upper-case-first");
|
|
22
|
+
const _1 = require(".");
|
|
22
23
|
function generate(model, options, dmmf) {
|
|
23
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
let outDir = (0, sdk_1.requireOption)(options, 'output');
|
|
25
|
+
let outDir = (0, sdk_1.requireOption)(options, 'output', _1.name);
|
|
25
26
|
outDir = (0, sdk_1.resolvePath)(outDir, options);
|
|
26
27
|
const project = (0, sdk_1.createProject)();
|
|
27
28
|
const warnings = [];
|
|
@@ -29,6 +30,12 @@ function generate(model, options, dmmf) {
|
|
|
29
30
|
warnings.push('The option "useSuperJson" is deprecated. The generated hooks always use superjson for serialization.');
|
|
30
31
|
}
|
|
31
32
|
const models = (0, sdk_1.getDataModels)(model);
|
|
33
|
+
yield (0, sdk_1.generateModelMeta)(project, models, {
|
|
34
|
+
output: path_1.default.join(outDir, '__model_meta.ts'),
|
|
35
|
+
compile: false,
|
|
36
|
+
preserveTsFiles: true,
|
|
37
|
+
generateAttributes: false,
|
|
38
|
+
});
|
|
32
39
|
generateIndex(project, outDir, models);
|
|
33
40
|
models.forEach((dataModel) => {
|
|
34
41
|
const mapping = dmmf.mappings.modelOperations.find((op) => op.model === dataModel.name);
|
|
@@ -54,22 +61,18 @@ function generateModelHooks(project, outDir, model, mapping) {
|
|
|
54
61
|
moduleSpecifier: prismaImport,
|
|
55
62
|
});
|
|
56
63
|
sf.addStatements([
|
|
57
|
-
`import {
|
|
58
|
-
`import
|
|
64
|
+
`import { RequestHandlerContext, type GetNextArgs, type RequestOptions, type InfiniteRequestOptions, type PickEnumerable, type CheckSelect, useHooksContext } from '@zenstackhq/swr/runtime';`,
|
|
65
|
+
`import metadata from './__model_meta';`,
|
|
59
66
|
`import * as request from '@zenstackhq/swr/runtime';`,
|
|
60
67
|
]);
|
|
61
68
|
const modelNameCap = (0, upper_case_first_1.upperCaseFirst)(model.name);
|
|
62
69
|
const prismaVersion = (0, sdk_1.getPrismaVersion)();
|
|
63
|
-
const prefixesToMutate = ['find', 'aggregate', 'count', 'groupBy'];
|
|
64
70
|
const useMutation = sf.addFunction({
|
|
65
71
|
name: `useMutate${model.name}`,
|
|
66
72
|
isExported: true,
|
|
67
73
|
statements: [
|
|
68
|
-
'const { endpoint, fetch } =
|
|
69
|
-
`const
|
|
70
|
-
.map((prefix) => '`${endpoint}/' + (0, lower_case_first_1.lowerCaseFirst)(model.name) + '/' + prefix + '`')
|
|
71
|
-
.join(', ')}];`,
|
|
72
|
-
'const mutate = request.getMutate(prefixesToMutate);',
|
|
74
|
+
'const { endpoint, fetch, logging } = useHooksContext();',
|
|
75
|
+
`const mutate = request.useMutate('${model.name}', metadata, logging);`,
|
|
73
76
|
],
|
|
74
77
|
});
|
|
75
78
|
const mutationFuncs = [];
|
|
@@ -248,7 +251,6 @@ function generateIndex(project, outDir, models) {
|
|
|
248
251
|
sf.addStatements(`export { Provider } from '@zenstackhq/swr/runtime';`);
|
|
249
252
|
}
|
|
250
253
|
function generateQueryHook(sf, model, operation, argsType, inputType, returnType, typeParameters, infinite = false) {
|
|
251
|
-
const modelRouteName = (0, lower_case_first_1.lowerCaseFirst)(model.name);
|
|
252
254
|
const typeParams = typeParameters ? [...typeParameters] : [`T extends ${argsType}`];
|
|
253
255
|
if (infinite) {
|
|
254
256
|
typeParams.push(`R extends ${returnType}`);
|
|
@@ -278,10 +280,10 @@ function generateQueryHook(sf, model, operation, argsType, inputType, returnType
|
|
|
278
280
|
})
|
|
279
281
|
.addBody()
|
|
280
282
|
.addStatements([
|
|
281
|
-
'const { endpoint, fetch } =
|
|
283
|
+
'const { endpoint, fetch } = useHooksContext();',
|
|
282
284
|
!infinite
|
|
283
|
-
? `return request.
|
|
284
|
-
: `return request.
|
|
285
|
+
? `return request.useGet<${returnType}>('${model.name}', '${operation}', endpoint, args, options, fetch);`
|
|
286
|
+
: `return request.useInfiniteGet<${inputType} | undefined, ${returnType}>('${model.name}', '${operation}', endpoint, getNextArgs, options, fetch);`,
|
|
285
287
|
]);
|
|
286
288
|
}
|
|
287
289
|
function generateMutation(func, model, method, operation, argsType, inputType, returnType, checkReadBack) {
|
package/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zenstackhq/swr",
|
|
3
3
|
"displayName": "ZenStack plugin for generating SWR hooks",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.2.1",
|
|
5
5
|
"description": "ZenStack plugin for generating SWR hooks",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"repository": {
|
|
@@ -18,16 +18,18 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@prisma/generator-helper": "^5.0.0",
|
|
20
20
|
"change-case": "^4.1.2",
|
|
21
|
+
"cross-fetch": "^4.0.0",
|
|
21
22
|
"decimal.js": "^10.4.2",
|
|
22
23
|
"lower-case-first": "^2.0.2",
|
|
23
24
|
"semver": "^7.3.8",
|
|
24
25
|
"ts-morph": "^16.0.0",
|
|
25
26
|
"upper-case-first": "^2.0.2",
|
|
26
|
-
"@zenstackhq/runtime": "1.
|
|
27
|
-
"@zenstackhq/sdk": "1.
|
|
27
|
+
"@zenstackhq/runtime": "1.2.1",
|
|
28
|
+
"@zenstackhq/sdk": "1.2.1"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
31
|
"@tanstack/react-query": "^4.28.0",
|
|
32
|
+
"@testing-library/react": "^14.0.0",
|
|
31
33
|
"@types/jest": "^29.5.0",
|
|
32
34
|
"@types/node": "^18.0.0",
|
|
33
35
|
"@types/react": "18.2.0",
|
|
@@ -35,19 +37,19 @@
|
|
|
35
37
|
"@types/tmp": "^0.2.3",
|
|
36
38
|
"copyfiles": "^2.4.1",
|
|
37
39
|
"jest": "^29.5.0",
|
|
40
|
+
"nock": "^13.3.6",
|
|
38
41
|
"react": "18.2.0",
|
|
39
42
|
"rimraf": "^3.0.2",
|
|
40
43
|
"swr": "^2.0.3",
|
|
41
44
|
"ts-jest": "^29.0.5",
|
|
42
45
|
"typescript": "^4.9.4",
|
|
43
|
-
"@zenstackhq/testtools": "1.
|
|
46
|
+
"@zenstackhq/testtools": "1.2.1"
|
|
44
47
|
},
|
|
45
48
|
"scripts": {
|
|
46
49
|
"clean": "rimraf dist",
|
|
47
50
|
"build": "pnpm lint && pnpm clean && tsc && copyfiles ./package.json ./README.md ./LICENSE dist && pnpm pack dist --pack-destination '../../../../.build'",
|
|
48
51
|
"watch": "tsc --watch",
|
|
49
52
|
"lint": "eslint src --ext ts",
|
|
50
|
-
"test": "ZENSTACK_TEST=1 jest"
|
|
51
|
-
"publish-dev": "pnpm publish --tag dev"
|
|
53
|
+
"test": "ZENSTACK_TEST=1 jest"
|
|
52
54
|
}
|
|
53
55
|
}
|
package/runtime/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { type ModelMeta } from '@zenstackhq/runtime/cross';
|
|
2
3
|
import type { Fetcher, MutatorCallback, MutatorOptions, SWRConfiguration, SWRResponse } from 'swr';
|
|
3
4
|
import { SWRInfiniteConfiguration, SWRInfiniteFetcher, SWRInfiniteResponse } from 'swr/infinite';
|
|
4
5
|
export * from './prisma-types';
|
|
@@ -13,11 +14,15 @@ export type RequestHandlerContext = {
|
|
|
13
14
|
/**
|
|
14
15
|
* The endpoint to use for the queries.
|
|
15
16
|
*/
|
|
16
|
-
endpoint
|
|
17
|
+
endpoint?: string;
|
|
17
18
|
/**
|
|
18
19
|
* A custom fetch function for sending the HTTP requests.
|
|
19
20
|
*/
|
|
20
21
|
fetch?: FetchFn;
|
|
22
|
+
/**
|
|
23
|
+
* If logging is enabled.
|
|
24
|
+
*/
|
|
25
|
+
logging?: boolean;
|
|
21
26
|
};
|
|
22
27
|
/**
|
|
23
28
|
* Context for configuring react hooks.
|
|
@@ -27,6 +32,20 @@ export declare const RequestHandlerContext: import("react").Context<RequestHandl
|
|
|
27
32
|
* Context provider.
|
|
28
33
|
*/
|
|
29
34
|
export declare const Provider: import("react").Provider<RequestHandlerContext>;
|
|
35
|
+
/**
|
|
36
|
+
* Hooks context.
|
|
37
|
+
*/
|
|
38
|
+
export declare function useHooksContext(): {
|
|
39
|
+
/**
|
|
40
|
+
* A custom fetch function for sending the HTTP requests.
|
|
41
|
+
*/
|
|
42
|
+
fetch?: FetchFn | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* If logging is enabled.
|
|
45
|
+
*/
|
|
46
|
+
logging?: boolean | undefined;
|
|
47
|
+
endpoint: string;
|
|
48
|
+
};
|
|
30
49
|
/**
|
|
31
50
|
* Client request options for regular query.
|
|
32
51
|
*/
|
|
@@ -53,6 +72,15 @@ export type InfiniteRequestOptions<Result, Error = any> = {
|
|
|
53
72
|
*/
|
|
54
73
|
initialData?: Result[];
|
|
55
74
|
} & SWRInfiniteConfiguration<Result, Error, SWRInfiniteFetcher<Result>>;
|
|
75
|
+
export declare const QUERY_KEY_PREFIX = "zenstack";
|
|
76
|
+
type QueryKey = {
|
|
77
|
+
prefix: typeof QUERY_KEY_PREFIX;
|
|
78
|
+
model: string;
|
|
79
|
+
operation: string;
|
|
80
|
+
args: unknown;
|
|
81
|
+
};
|
|
82
|
+
export declare function getQueryKey(model: string, operation: string, args?: unknown): string;
|
|
83
|
+
export declare function parseQueryKey(key: unknown): QueryKey | undefined;
|
|
56
84
|
/**
|
|
57
85
|
* Makes a GET request with SWR.
|
|
58
86
|
*
|
|
@@ -62,7 +90,7 @@ export type InfiniteRequestOptions<Result, Error = any> = {
|
|
|
62
90
|
* @param fetch Custom fetch function
|
|
63
91
|
* @returns SWR response
|
|
64
92
|
*/
|
|
65
|
-
export declare function
|
|
93
|
+
export declare function useGet<Result, Error = any>(model: string, operation: string, endpoint: string, args?: unknown, options?: RequestOptions<Result, Error>, fetch?: FetchFn): SWRResponse<Result, Error>;
|
|
66
94
|
/**
|
|
67
95
|
* Function for computing the query args for fetching a page during an infinite query.
|
|
68
96
|
*/
|
|
@@ -76,7 +104,7 @@ export type GetNextArgs<Args, Result> = (pageIndex: number, previousPageData: Re
|
|
|
76
104
|
* @param fetch Custom fetch function
|
|
77
105
|
* @returns SWR infinite query response
|
|
78
106
|
*/
|
|
79
|
-
export declare function
|
|
107
|
+
export declare function useInfiniteGet<Args, Result, Error = any>(model: string, operation: string, endpoint: string, getNextArgs: GetNextArgs<Args, any>, options?: InfiniteRequestOptions<Result, Error>, fetch?: FetchFn): SWRInfiniteResponse<Result, Error>;
|
|
80
108
|
/**
|
|
81
109
|
* Makes a POST request.
|
|
82
110
|
*
|
|
@@ -101,6 +129,6 @@ export declare function put<Result, C extends boolean = boolean>(url: string, da
|
|
|
101
129
|
* @param mutate Mutator for invalidating cache.
|
|
102
130
|
*/
|
|
103
131
|
export declare function del<Result, C extends boolean = boolean>(url: string, args: unknown, mutate: Mutator, fetch?: FetchFn, checkReadBack?: C): Promise<C extends true ? Result | undefined : Result>;
|
|
104
|
-
type Mutator = (data?: unknown | Promise<unknown> | MutatorCallback, opts?: boolean | MutatorOptions) => Promise<unknown[]>;
|
|
105
|
-
export declare function
|
|
132
|
+
type Mutator = (operation: string, data?: unknown | Promise<unknown> | MutatorCallback, opts?: boolean | MutatorOptions) => Promise<unknown[]>;
|
|
133
|
+
export declare function useMutate(model: string, modelMeta: ModelMeta, logging?: boolean): Mutator;
|
|
106
134
|
export declare function fetcher<R, C extends boolean>(url: string, options?: RequestInit, fetch?: FetchFn, checkReadBack?: C): Promise<C extends true ? R | undefined : R>;
|
package/runtime/index.js
CHANGED
|
@@ -34,28 +34,72 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
34
34
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
35
35
|
});
|
|
36
36
|
};
|
|
37
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
38
|
+
var t = {};
|
|
39
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
40
|
+
t[p] = s[p];
|
|
41
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
42
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
43
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
44
|
+
t[p[i]] = s[p[i]];
|
|
45
|
+
}
|
|
46
|
+
return t;
|
|
47
|
+
};
|
|
37
48
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
38
49
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
39
50
|
};
|
|
40
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
-
exports.fetcher = exports.
|
|
52
|
+
exports.fetcher = exports.useMutate = exports.del = exports.put = exports.post = exports.useInfiniteGet = exports.useGet = exports.parseQueryKey = exports.getQueryKey = exports.QUERY_KEY_PREFIX = exports.useHooksContext = exports.Provider = exports.RequestHandlerContext = void 0;
|
|
42
53
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
43
54
|
const browser_1 = require("@zenstackhq/runtime/browser");
|
|
55
|
+
const cross_1 = require("@zenstackhq/runtime/cross");
|
|
56
|
+
const crossFetch = __importStar(require("cross-fetch"));
|
|
57
|
+
const lower_case_first_1 = require("lower-case-first");
|
|
44
58
|
const react_1 = require("react");
|
|
45
59
|
const swr_1 = __importStar(require("swr"));
|
|
46
60
|
const infinite_1 = __importDefault(require("swr/infinite"));
|
|
47
61
|
__exportStar(require("./prisma-types"), exports);
|
|
62
|
+
const DEFAULT_QUERY_ENDPOINT = '/api/model';
|
|
48
63
|
/**
|
|
49
64
|
* Context for configuring react hooks.
|
|
50
65
|
*/
|
|
51
66
|
exports.RequestHandlerContext = (0, react_1.createContext)({
|
|
52
|
-
endpoint:
|
|
67
|
+
endpoint: DEFAULT_QUERY_ENDPOINT,
|
|
53
68
|
fetch: undefined,
|
|
54
69
|
});
|
|
55
70
|
/**
|
|
56
71
|
* Context provider.
|
|
57
72
|
*/
|
|
58
73
|
exports.Provider = exports.RequestHandlerContext.Provider;
|
|
74
|
+
/**
|
|
75
|
+
* Hooks context.
|
|
76
|
+
*/
|
|
77
|
+
function useHooksContext() {
|
|
78
|
+
const _a = (0, react_1.useContext)(exports.RequestHandlerContext), { endpoint } = _a, rest = __rest(_a, ["endpoint"]);
|
|
79
|
+
return Object.assign({ endpoint: endpoint !== null && endpoint !== void 0 ? endpoint : DEFAULT_QUERY_ENDPOINT }, rest);
|
|
80
|
+
}
|
|
81
|
+
exports.useHooksContext = useHooksContext;
|
|
82
|
+
exports.QUERY_KEY_PREFIX = 'zenstack';
|
|
83
|
+
function getQueryKey(model, operation, args) {
|
|
84
|
+
return JSON.stringify({ prefix: exports.QUERY_KEY_PREFIX, model, operation, args });
|
|
85
|
+
}
|
|
86
|
+
exports.getQueryKey = getQueryKey;
|
|
87
|
+
function parseQueryKey(key) {
|
|
88
|
+
if (typeof key !== 'string') {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
const parsed = JSON.parse(key);
|
|
93
|
+
if (!parsed || parsed.prefix !== exports.QUERY_KEY_PREFIX) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
return parsed;
|
|
97
|
+
}
|
|
98
|
+
catch (_a) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.parseQueryKey = parseQueryKey;
|
|
59
103
|
/**
|
|
60
104
|
* Makes a GET request with SWR.
|
|
61
105
|
*
|
|
@@ -66,12 +110,13 @@ exports.Provider = exports.RequestHandlerContext.Provider;
|
|
|
66
110
|
* @returns SWR response
|
|
67
111
|
*/
|
|
68
112
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
69
|
-
function
|
|
113
|
+
function useGet(model, operation, endpoint, args, options, fetch) {
|
|
70
114
|
var _a;
|
|
71
|
-
const
|
|
72
|
-
|
|
115
|
+
const key = (options === null || options === void 0 ? void 0 : options.disabled) ? null : getQueryKey(model, operation, args);
|
|
116
|
+
const url = makeUrl(`${endpoint}/${(0, lower_case_first_1.lowerCaseFirst)(model)}/${operation}`, args);
|
|
117
|
+
return (0, swr_1.default)(key, () => fetcher(url, undefined, fetch, false), Object.assign(Object.assign({}, options), { fallbackData: (_a = options === null || options === void 0 ? void 0 : options.initialData) !== null && _a !== void 0 ? _a : options === null || options === void 0 ? void 0 : options.fallbackData }));
|
|
73
118
|
}
|
|
74
|
-
exports.
|
|
119
|
+
exports.useGet = useGet;
|
|
75
120
|
/**
|
|
76
121
|
* Makes an infinite GET request with SWR.
|
|
77
122
|
*
|
|
@@ -82,20 +127,25 @@ exports.get = get;
|
|
|
82
127
|
* @returns SWR infinite query response
|
|
83
128
|
*/
|
|
84
129
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
85
|
-
function
|
|
130
|
+
function useInfiniteGet(model, operation, endpoint, getNextArgs, options, fetch) {
|
|
86
131
|
var _a;
|
|
87
132
|
const getKey = (pageIndex, previousPageData) => {
|
|
88
|
-
if (
|
|
133
|
+
if (options === null || options === void 0 ? void 0 : options.disabled) {
|
|
89
134
|
return null;
|
|
90
135
|
}
|
|
91
136
|
const nextArgs = getNextArgs(pageIndex, previousPageData);
|
|
92
137
|
return nextArgs !== null // null means reached the end
|
|
93
|
-
?
|
|
138
|
+
? getQueryKey(model, operation, nextArgs)
|
|
94
139
|
: null;
|
|
95
140
|
};
|
|
96
|
-
return (0, infinite_1.default)(getKey, (
|
|
141
|
+
return (0, infinite_1.default)(getKey, (key) => {
|
|
142
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
143
|
+
const parsedKey = parseQueryKey(key);
|
|
144
|
+
const url = makeUrl(`${endpoint}/${(0, lower_case_first_1.lowerCaseFirst)(parsedKey.model)}/${parsedKey.operation}`, parsedKey.args);
|
|
145
|
+
return fetcher(url, undefined, fetch, false);
|
|
146
|
+
}, Object.assign(Object.assign({}, options), { fallbackData: (_a = options === null || options === void 0 ? void 0 : options.initialData) !== null && _a !== void 0 ? _a : options === null || options === void 0 ? void 0 : options.fallbackData }));
|
|
97
147
|
}
|
|
98
|
-
exports.
|
|
148
|
+
exports.useInfiniteGet = useInfiniteGet;
|
|
99
149
|
/**
|
|
100
150
|
* Makes a POST request.
|
|
101
151
|
*
|
|
@@ -112,7 +162,7 @@ function post(url, data, mutate, fetch, checkReadBack) {
|
|
|
112
162
|
},
|
|
113
163
|
body: marshal(data),
|
|
114
164
|
}, fetch, checkReadBack);
|
|
115
|
-
mutate();
|
|
165
|
+
mutate(getOperationFromUrl(url), data);
|
|
116
166
|
return r;
|
|
117
167
|
});
|
|
118
168
|
}
|
|
@@ -133,7 +183,7 @@ function put(url, data, mutate, fetch, checkReadBack) {
|
|
|
133
183
|
},
|
|
134
184
|
body: marshal(data),
|
|
135
185
|
}, fetch, checkReadBack);
|
|
136
|
-
mutate();
|
|
186
|
+
mutate(getOperationFromUrl(url), data);
|
|
137
187
|
return r;
|
|
138
188
|
});
|
|
139
189
|
}
|
|
@@ -151,30 +201,41 @@ function del(url, args, mutate, fetch, checkReadBack) {
|
|
|
151
201
|
const r = yield fetcher(reqUrl, {
|
|
152
202
|
method: 'DELETE',
|
|
153
203
|
}, fetch, checkReadBack);
|
|
154
|
-
|
|
155
|
-
path.pop();
|
|
156
|
-
mutate();
|
|
204
|
+
mutate(getOperationFromUrl(url), args);
|
|
157
205
|
return r;
|
|
158
206
|
});
|
|
159
207
|
}
|
|
160
208
|
exports.del = del;
|
|
161
|
-
function
|
|
209
|
+
function useMutate(model, modelMeta, logging) {
|
|
162
210
|
// https://swr.vercel.app/docs/advanced/cache#mutate-multiple-keys-from-regex
|
|
163
211
|
const { cache, mutate } = (0, swr_1.useSWRConfig)();
|
|
164
|
-
return (
|
|
212
|
+
return (operation, args, opts) => __awaiter(this, void 0, void 0, function* () {
|
|
165
213
|
if (!(cache instanceof Map)) {
|
|
166
214
|
throw new Error('mutate requires the cache provider to be a Map instance');
|
|
167
215
|
}
|
|
168
|
-
const
|
|
169
|
-
const
|
|
216
|
+
const mutatedModels = yield (0, cross_1.getMutatedModels)(model, operation, args, modelMeta);
|
|
217
|
+
const keys = Array.from(cache.keys()).filter((key) => {
|
|
218
|
+
const parsedKey = parseQueryKey(key);
|
|
219
|
+
if (!parsedKey) {
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
const modelsRead = (0, cross_1.getReadModels)(parsedKey.model, modelMeta, parsedKey.args);
|
|
223
|
+
return modelsRead.some((m) => mutatedModels.includes(m));
|
|
224
|
+
});
|
|
225
|
+
if (logging) {
|
|
226
|
+
keys.forEach((key) => {
|
|
227
|
+
console.log(`Invalidating query ${key} due to mutation "${model}.${operation}"`);
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
const mutations = keys.map((key) => mutate(key, undefined, opts));
|
|
170
231
|
return Promise.all(mutations);
|
|
171
|
-
};
|
|
232
|
+
});
|
|
172
233
|
}
|
|
173
|
-
exports.
|
|
234
|
+
exports.useMutate = useMutate;
|
|
174
235
|
function fetcher(url, options, fetch, checkReadBack) {
|
|
175
236
|
var _a, _b, _c;
|
|
176
237
|
return __awaiter(this, void 0, void 0, function* () {
|
|
177
|
-
const _fetch = fetch !== null && fetch !== void 0 ? fetch :
|
|
238
|
+
const _fetch = fetch !== null && fetch !== void 0 ? fetch : crossFetch.fetch;
|
|
178
239
|
const res = yield _fetch(url, options);
|
|
179
240
|
if (!res.ok) {
|
|
180
241
|
const errData = unmarshal(yield res.text());
|
|
@@ -232,4 +293,14 @@ function makeUrl(url, args) {
|
|
|
232
293
|
}
|
|
233
294
|
return result;
|
|
234
295
|
}
|
|
296
|
+
function getOperationFromUrl(url) {
|
|
297
|
+
const parts = url.split('/');
|
|
298
|
+
const r = parts.pop();
|
|
299
|
+
if (!r) {
|
|
300
|
+
throw new Error(`Invalid URL: ${url}`);
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
return r;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
235
306
|
//# sourceMappingURL=index.js.map
|
package/runtime/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
|