@zenstackhq/runtime 0.6.0-pre.19 → 1.0.0-alpha.100
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/enhancements/nested-write-vistor.d.ts +9 -4
- package/enhancements/nested-write-vistor.js +28 -10
- package/enhancements/nested-write-vistor.js.map +1 -1
- package/enhancements/policy/handler.js +17 -14
- package/enhancements/policy/handler.js.map +1 -1
- package/enhancements/policy/policy-utils.d.ts +19 -3
- package/enhancements/policy/policy-utils.js +239 -59
- package/enhancements/policy/policy-utils.js.map +1 -1
- package/enhancements/preset.d.ts +11 -2
- package/enhancements/preset.js +11 -2
- package/enhancements/preset.js.map +1 -1
- package/enhancements/proxy.js +3 -3
- package/enhancements/proxy.js.map +1 -1
- package/enhancements/types.d.ts +9 -0
- package/enhancements/utils.d.ts +1 -0
- package/enhancements/utils.js +30 -2
- package/enhancements/utils.js.map +1 -1
- package/error.d.ts +1 -0
- package/error.js.map +1 -1
- package/package.json +6 -7
- package/types.d.ts +30 -9
- package/types.js +2 -0
- package/types.js.map +1 -1
- package/validation.d.ts +7 -0
- package/validation.js +15 -1
- package/validation.js.map +1 -1
- package/version.js +6 -1
- package/version.js.map +1 -1
- package/zod.d.ts +10 -0
- package/zod.js +17 -0
- package/zod.js.map +1 -0
- package/client.d.ts +0 -2
- package/client.js +0 -28
- package/client.js.map +0 -1
- package/request.d.ts +0 -37
- package/request.js +0 -161
- package/request.js.map +0 -1
package/enhancements/preset.js
CHANGED
|
@@ -5,8 +5,17 @@ const omit_1 = require("./omit");
|
|
|
5
5
|
const password_1 = require("./password");
|
|
6
6
|
const policy_1 = require("./policy");
|
|
7
7
|
/**
|
|
8
|
-
* Gets
|
|
9
|
-
*
|
|
8
|
+
* Gets a Prisma client enhanced with all essential behaviors, including access
|
|
9
|
+
* policy, field validation, field omission and password hashing.
|
|
10
|
+
*
|
|
11
|
+
* It's a shortcut for calling withOmit(withPassword(withPolicy(prisma, options))).
|
|
12
|
+
*
|
|
13
|
+
* @param prisma The Prisma client to enhance.
|
|
14
|
+
* @param context The context to for evaluating access policies.
|
|
15
|
+
* @param policy The access policy data, generated by @core/access-policy plugin.
|
|
16
|
+
* You only need to pass it if you configured the plugin to generate into custom location.
|
|
17
|
+
* @param modelMeta The model metadata, generated by @core/model-meta plugin.
|
|
18
|
+
* You only need to pass it if you configured the plugin to generate into custom location.
|
|
10
19
|
*/
|
|
11
20
|
function withPresets(prisma, context, policy, modelMeta) {
|
|
12
21
|
return (0, policy_1.withPolicy)((0, omit_1.withOmit)((0, password_1.withPassword)(prisma, modelMeta), modelMeta), context, policy, modelMeta);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../../src/enhancements/preset.ts"],"names":[],"mappings":";;;AAAA,iCAAkC;AAClC,yCAA0C;AAC1C,qCAAyD;AAGzD
|
|
1
|
+
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../../src/enhancements/preset.ts"],"names":[],"mappings":";;;AAAA,iCAAkC;AAClC,yCAA0C;AAC1C,qCAAyD;AAGzD;;;;;;;;;;;;GAYG;AACH,SAAgB,WAAW,CACvB,MAAgB,EAChB,OAA2B,EAC3B,MAAkB,EAClB,SAAqB;IAErB,OAAO,IAAA,mBAAU,EAAC,IAAA,eAAQ,EAAC,IAAA,uBAAY,EAAC,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACxG,CAAC;AAPD,kCAOC"}
|
package/enhancements/proxy.js
CHANGED
|
@@ -142,7 +142,7 @@ exports.DefaultPrismaProxyHandler = DefaultPrismaProxyHandler;
|
|
|
142
142
|
* Makes a Prisma client proxy.
|
|
143
143
|
*/
|
|
144
144
|
function makeProxy(prisma, modelMeta, makeHandler, name = 'unnamed_enhancer', inTransaction = false) {
|
|
145
|
-
const models = Object.keys(modelMeta.fields);
|
|
145
|
+
const models = Object.keys(modelMeta.fields).map((k) => k.toLowerCase());
|
|
146
146
|
const proxy = new Proxy(prisma, {
|
|
147
147
|
get: (target, prop, receiver) => {
|
|
148
148
|
// enhancer metadata
|
|
@@ -163,7 +163,7 @@ function makeProxy(prisma, modelMeta, makeHandler, name = 'unnamed_enhancer', in
|
|
|
163
163
|
if ($transaction) {
|
|
164
164
|
return (input, ...rest) => {
|
|
165
165
|
if (Array.isArray(input)) {
|
|
166
|
-
throw new Error('
|
|
166
|
+
throw new Error('Sequential operations transaction is not supported by ZenStack enhanced Prisma client. Please use interactive transaction instead.');
|
|
167
167
|
}
|
|
168
168
|
else if (typeof input !== 'function') {
|
|
169
169
|
throw new Error('A function value input is expected');
|
|
@@ -179,7 +179,7 @@ function makeProxy(prisma, modelMeta, makeHandler, name = 'unnamed_enhancer', in
|
|
|
179
179
|
return $transaction;
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
|
-
if (typeof prop !== 'string' || prop.startsWith('$') || !models.includes(prop)) {
|
|
182
|
+
if (typeof prop !== 'string' || prop.startsWith('$') || !models.includes(prop.toLowerCase())) {
|
|
183
183
|
// skip non-model fields
|
|
184
184
|
return Reflect.get(target, prop, receiver);
|
|
185
185
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/enhancements/proxy.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;AAkDvD;;;;GAIG;AACH,MAAa,yBAAyB;IAClC,YAA+B,MAAwB,EAAqB,KAAa;QAA1D,WAAM,GAAN,MAAM,CAAkB;QAAqB,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAEvF,UAAU,CAAC,IAAS;;YACtB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,iBAAiB,CAAC,IAAS;;YAC7B,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAC5D,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,SAAS,CAAC,IAAS;;YACrB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,gBAAgB,CAAC,IAAS;;YAC5B,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;YAC3D,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,QAAQ,CAAC,IAAS;;YACpB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACnD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,MAAM,CAAC,IAAS;;YAClB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,UAAU,CAAC,IAAS,EAAE,cAAoC;;YAC5D,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC;KAAA;IAEK,MAAM,CAAC,IAAS;;YAClB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,UAAU,CAAC,IAAS;;YACtB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;KAAA;IAEK,MAAM,CAAC,IAAS;;YAClB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,MAAM,CAAC,IAAS;;YAClB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;KAAA;IAEK,UAAU,CAAC,IAAS;;YACtB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;KAAA;IAEK,SAAS,CAAC,IAAS;;YACrB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;KAAA;IAEK,OAAO,CAAC,IAAS;;YACnB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;KAAA;IAEK,KAAK,CAAC,IAAS;;YACjB,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;KAAA;IAED;;OAEG;IACa,mBAAmB,CAAI,IAAO;;YAC1C,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAED;;OAEG;IACa,cAAc,CAAC,MAA0B,EAAE,IAAS;;YAChE,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;CACJ;AApGD,8DAoGC;AAED;;GAEG;AACH,SAAgB,SAAS,CACrB,MAAW,EACX,SAAoB,EACpB,WAAiD,EACjD,IAAI,GAAG,kBAAkB,EACzB,aAAa,GAAG,KAAK;IAErB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/enhancements/proxy.ts"],"names":[],"mappings":"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"}
|
package/enhancements/types.d.ts
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { FieldInfo, PolicyOperationKind, QueryContext } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Metadata for a model-level unique constraint
|
|
5
|
+
* e.g.: @@unique([a, b])
|
|
6
|
+
*/
|
|
7
|
+
export type UniqueConstraint = {
|
|
8
|
+
name: string;
|
|
9
|
+
fields: string[];
|
|
10
|
+
};
|
|
3
11
|
/**
|
|
4
12
|
* ZModel data model metadata
|
|
5
13
|
*/
|
|
6
14
|
export type ModelMeta = {
|
|
7
15
|
fields: Record<string, Record<string, FieldInfo>>;
|
|
16
|
+
uniqueConstraints: Record<string, Record<string, UniqueConstraint>>;
|
|
8
17
|
};
|
|
9
18
|
/**
|
|
10
19
|
* Function for getting policy guard with a given context
|
package/enhancements/utils.d.ts
CHANGED
package/enhancements/utils.js
CHANGED
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.enumerate = exports.getModelFields = exports.ensureArray = void 0;
|
|
26
|
+
exports.formatObject = exports.enumerate = exports.getModelFields = exports.ensureArray = void 0;
|
|
4
27
|
const sdk_1 = require("@zenstackhq/sdk");
|
|
28
|
+
const util = __importStar(require("util"));
|
|
5
29
|
/**
|
|
6
30
|
* Wraps a value into array if it's not already one
|
|
7
31
|
*/
|
|
@@ -13,7 +37,7 @@ exports.ensureArray = ensureArray;
|
|
|
13
37
|
* Gets field names in a data model entity, filtering out internal fields.
|
|
14
38
|
*/
|
|
15
39
|
function getModelFields(data) {
|
|
16
|
-
return Object.keys(data).filter((f) => !sdk_1.AUXILIARY_FIELDS.includes(f));
|
|
40
|
+
return data ? Object.keys(data).filter((f) => !sdk_1.AUXILIARY_FIELDS.includes(f)) : [];
|
|
17
41
|
}
|
|
18
42
|
exports.getModelFields = getModelFields;
|
|
19
43
|
/**
|
|
@@ -28,4 +52,8 @@ function enumerate(x) {
|
|
|
28
52
|
}
|
|
29
53
|
}
|
|
30
54
|
exports.enumerate = enumerate;
|
|
55
|
+
function formatObject(value) {
|
|
56
|
+
return util.formatWithOptions({ depth: 10 }, value);
|
|
57
|
+
}
|
|
58
|
+
exports.formatObject = formatObject;
|
|
31
59
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/enhancements/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/enhancements/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAmD;AACnD,2CAA6B;AAE7B;;GAEG;AACH,SAAgB,WAAW,CAAI,KAAQ;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAFD,kCAEC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC;AAFD,wCAEC;AAOD;;GAEG;AACH,SAAgB,SAAS,CAAI,CAAgB;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAClB,OAAO,CAAC,CAAC;KACZ;SAAM;QACH,OAAO,CAAC,CAAC,CAAC,CAAC;KACd;AACL,CAAC;AAND,8BAMC;AAED,SAAgB,YAAY,CAAC,KAAc;IACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,oCAEC"}
|
package/error.d.ts
CHANGED
package/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,+BAA+B,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,+BAA+B,CAC3C,GAAQ;IAER,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,+BAA+B,CAAC;AAC9E,CAAC;AAJD,0EAIC;AAED,SAAgB,iCAAiC,CAAC,GAAQ;IACtD,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,iCAAiC,CAAC;AAChF,CAAC;AAFD,8EAEC;AAED,SAAgB,6BAA6B,CAAC,GAAQ;IAClD,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,6BAA6B,CAAC;AAC5E,CAAC;AAFD,sEAEC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zenstackhq/runtime",
|
|
3
3
|
"displayName": "ZenStack Runtime Library",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "1.0.0-alpha.100",
|
|
5
5
|
"description": "Runtime of ZenStack for both client-side and server-side environments.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -19,17 +19,14 @@
|
|
|
19
19
|
"cuid": "^2.1.8",
|
|
20
20
|
"decimal.js": "^10.4.2",
|
|
21
21
|
"deepcopy": "^2.1.0",
|
|
22
|
+
"pluralize": "^8.0.0",
|
|
22
23
|
"superjson": "^1.11.0",
|
|
23
|
-
"swr": "^1.3.0",
|
|
24
24
|
"tslib": "^2.4.1",
|
|
25
25
|
"zod": "^3.19.1",
|
|
26
26
|
"zod-validation-error": "^0.2.1",
|
|
27
|
-
"@zenstackhq/sdk": "0.
|
|
27
|
+
"@zenstackhq/sdk": "1.0.0-alpha.100"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"next": "^12.3.1 || ^13",
|
|
31
|
-
"react": "^17.0.2 || ^18",
|
|
32
|
-
"react-dom": "^17.0.2 || ^18",
|
|
33
30
|
"@prisma/client": "^4.0.0"
|
|
34
31
|
},
|
|
35
32
|
"author": {
|
|
@@ -41,12 +38,14 @@
|
|
|
41
38
|
"@types/bcryptjs": "^2.4.2",
|
|
42
39
|
"@types/jest": "^29.0.3",
|
|
43
40
|
"@types/node": "^14.18.29",
|
|
41
|
+
"@types/pluralize": "^0.0.29",
|
|
42
|
+
"copyfiles": "^2.4.1",
|
|
44
43
|
"rimraf": "^3.0.2",
|
|
45
44
|
"typescript": "^4.9.3"
|
|
46
45
|
},
|
|
47
46
|
"scripts": {
|
|
48
47
|
"clean": "rimraf dist",
|
|
49
|
-
"build": "pnpm lint && pnpm clean && tsc &&
|
|
48
|
+
"build": "pnpm lint && pnpm clean && tsc && copyfiles ./package.json ./README.md ../../LICENSE dist",
|
|
50
49
|
"watch": "tsc --watch",
|
|
51
50
|
"lint": "eslint src --ext ts",
|
|
52
51
|
"publish-dev": "pnpm publish --tag dev"
|
package/types.d.ts
CHANGED
|
@@ -57,24 +57,45 @@ export type RuntimeAttribute = {
|
|
|
57
57
|
* Runtime information of a data model field
|
|
58
58
|
*/
|
|
59
59
|
export type FieldInfo = {
|
|
60
|
+
/**
|
|
61
|
+
* Field name
|
|
62
|
+
*/
|
|
60
63
|
name: string;
|
|
64
|
+
/**
|
|
65
|
+
* Field type name
|
|
66
|
+
*/
|
|
61
67
|
type: string;
|
|
68
|
+
/**
|
|
69
|
+
* If the field is an ID field or part of a multi-field ID
|
|
70
|
+
*/
|
|
62
71
|
isId: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* If the field type is a data model (or an optional/array of data model)
|
|
74
|
+
*/
|
|
63
75
|
isDataModel: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* If the field is an array
|
|
78
|
+
*/
|
|
64
79
|
isArray: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* If the field is optional
|
|
82
|
+
*/
|
|
65
83
|
isOptional: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Attributes on the field
|
|
86
|
+
*/
|
|
66
87
|
attributes: RuntimeAttribute[];
|
|
88
|
+
/**
|
|
89
|
+
* If the field is a relation field, the field name of the reverse side of the relation
|
|
90
|
+
*/
|
|
67
91
|
backLink?: string;
|
|
92
|
+
/**
|
|
93
|
+
* If the field is the owner side of a relation
|
|
94
|
+
*/
|
|
95
|
+
isRelationOwner: boolean;
|
|
68
96
|
};
|
|
69
97
|
export type DbClientContract = Record<string, DbOperations> & {
|
|
70
98
|
$transaction: <T>(action: (tx: Record<string, DbOperations>) => Promise<T>) => Promise<T>;
|
|
71
99
|
};
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
*/
|
|
75
|
-
export type RequestOptions<T> = {
|
|
76
|
-
disabled?: boolean;
|
|
77
|
-
initialData?: T;
|
|
78
|
-
};
|
|
79
|
-
export declare const PrismaWriteActions: readonly ["create", "createMany", "connectOrCreate", "update", "updateMany", "upsert", "delete", "deleteMany"];
|
|
80
|
-
export type PrismaWriteActionType = typeof PrismaWriteActions[number];
|
|
100
|
+
export declare const PrismaWriteActions: readonly ["create", "createMany", "connectOrCreate", "update", "updateMany", "upsert", "connect", "disconnect", "delete", "deleteMany"];
|
|
101
|
+
export type PrismaWriteActionType = (typeof PrismaWriteActions)[number];
|
package/types.js
CHANGED
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA4Ga,QAAA,kBAAkB,GAAG;IAC9B,QAAQ;IACR,YAAY;IACZ,iBAAiB;IACjB,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,YAAY;CACN,CAAC"}
|
package/validation.d.ts
CHANGED
|
@@ -10,3 +10,10 @@ export declare class ValidationError {
|
|
|
10
10
|
* Validate the given data with the given zod schema (for field-level constraints)
|
|
11
11
|
*/
|
|
12
12
|
export declare function validate(validator: z.ZodType, data: unknown): void;
|
|
13
|
+
/**
|
|
14
|
+
* Check if the given object has all the given fields, not null or undefined
|
|
15
|
+
* @param obj
|
|
16
|
+
* @param fields
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export declare function hasAllFields(obj: any, fields: string[]): boolean;
|
package/validation.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validate = exports.ValidationError = void 0;
|
|
3
|
+
exports.hasAllFields = exports.validate = exports.ValidationError = void 0;
|
|
4
4
|
const zod_validation_error_1 = require("zod-validation-error");
|
|
5
5
|
/**
|
|
6
6
|
* Error indicating violations of field-level constraints
|
|
@@ -23,4 +23,18 @@ function validate(validator, data) {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
exports.validate = validate;
|
|
26
|
+
/**
|
|
27
|
+
* Check if the given object has all the given fields, not null or undefined
|
|
28
|
+
* @param obj
|
|
29
|
+
* @param fields
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
33
|
+
function hasAllFields(obj, fields) {
|
|
34
|
+
if (typeof obj !== 'object' || !obj) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return fields.every((f) => obj[f] !== undefined && obj[f] !== null);
|
|
38
|
+
}
|
|
39
|
+
exports.hasAllFields = hasAllFields;
|
|
26
40
|
//# sourceMappingURL=validation.js.map
|
package/validation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;;AACA,+DAAoD;AAEpD;;GAEG;AACH,MAAa,eAAe;IACxB,YAA4B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;CAClD;AAFD,0CAEC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,SAAoB,EAAE,IAAa;IACxD,IAAI;QACA,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACzB;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,eAAe,CAAC,IAAA,mCAAY,EAAC,GAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;KACtE;AACL,CAAC;AAND,4BAMC"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;;AACA,+DAAoD;AAEpD;;GAEG;AACH,MAAa,eAAe;IACxB,YAA4B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;CAClD;AAFD,0CAEC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,SAAoB,EAAE,IAAa;IACxD,IAAI;QACA,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACzB;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,eAAe,CAAC,IAAA,mCAAY,EAAC,GAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;KACtE;AACL,CAAC;AAND,4BAMC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,YAAY,CAAC,GAAQ,EAAE,MAAgB;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE;QACjC,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACxE,CAAC;AALD,oCAKC"}
|
package/version.js
CHANGED
|
@@ -7,7 +7,12 @@ function getVersion() {
|
|
|
7
7
|
return require('./package.json').version;
|
|
8
8
|
}
|
|
9
9
|
catch (_a) {
|
|
10
|
-
|
|
10
|
+
try {
|
|
11
|
+
return require('../package.json').version;
|
|
12
|
+
}
|
|
13
|
+
catch (_b) {
|
|
14
|
+
return 'unknown';
|
|
15
|
+
}
|
|
11
16
|
}
|
|
12
17
|
}
|
|
13
18
|
exports.getVersion = getVersion;
|
package/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,UAAU;IACtB,IAAI;QACA,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;KAC5C;IAAC,WAAM;QACJ,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,UAAU;IACtB,IAAI;QACA,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;KAC5C;IAAC,WAAM;QACJ,IAAI;YACA,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;SAC7C;QAAC,WAAM;YACJ,OAAO,SAAS,CAAC;SACpB;KACJ;AACL,CAAC;AAVD,gCAUC"}
|
package/zod.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { DbOperations } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Mapping from model type name to zod schema for Prisma operations
|
|
5
|
+
*/
|
|
6
|
+
export type ModelZodSchema = Record<string, Record<keyof DbOperations, z.ZodType>>;
|
|
7
|
+
/**
|
|
8
|
+
* Load zod schema from standard location.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getModelZodSchemas(): ModelZodSchema;
|
package/zod.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getModelZodSchemas = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Load zod schema from standard location.
|
|
6
|
+
*/
|
|
7
|
+
function getModelZodSchemas() {
|
|
8
|
+
try {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
10
|
+
return require('.zenstack/zod').default;
|
|
11
|
+
}
|
|
12
|
+
catch (_a) {
|
|
13
|
+
throw new Error('Zod schemas cannot be loaded. Please make sure "@core/zod" plugin is enabled in schema.zmodel.');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.getModelZodSchemas = getModelZodSchemas;
|
|
17
|
+
//# sourceMappingURL=zod.js.map
|
package/zod.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":";;;AAQA;;GAEG;AACH,SAAgB,kBAAkB;IAC9B,IAAI;QACA,8DAA8D;QAC9D,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC;KAC3C;IAAC,WAAM;QACJ,MAAM,IAAI,KAAK,CACX,gGAAgG,CACnG,CAAC;KACL;AACL,CAAC;AATD,gDASC"}
|
package/client.d.ts
DELETED
package/client.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.request = void 0;
|
|
27
|
-
exports.request = __importStar(require("./request"));
|
|
28
|
-
//# sourceMappingURL=client.js.map
|
package/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAqC"}
|
package/request.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { MutatorCallback, MutatorOptions, SWRResponse } from 'swr/dist/types';
|
|
2
|
-
import { RequestOptions } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Makes a GET request with SWR.
|
|
5
|
-
*
|
|
6
|
-
* @param url The request URL.
|
|
7
|
-
* @param args The request args object, which will be superjson-stringified and appended as "?q=" parameter
|
|
8
|
-
* @returns SWR response
|
|
9
|
-
*/
|
|
10
|
-
export declare function get<Data, Error = any>(url: string | null, args?: unknown, options?: RequestOptions<Data>): SWRResponse<Data, Error>;
|
|
11
|
-
/**
|
|
12
|
-
* Makes a POST request.
|
|
13
|
-
*
|
|
14
|
-
* @param url The request URL.
|
|
15
|
-
* @param data The request data.
|
|
16
|
-
* @param mutate Mutator for invalidating cache.
|
|
17
|
-
*/
|
|
18
|
-
export declare function post<Data, Result>(url: string, data: Data, mutate: Mutator): Promise<Result>;
|
|
19
|
-
/**
|
|
20
|
-
* Makes a PUT request.
|
|
21
|
-
*
|
|
22
|
-
* @param url The request URL.
|
|
23
|
-
* @param data The request data.
|
|
24
|
-
* @param mutate Mutator for invalidating cache.
|
|
25
|
-
*/
|
|
26
|
-
export declare function put<Data, Result>(url: string, data: Data, mutate: Mutator): Promise<Result>;
|
|
27
|
-
/**
|
|
28
|
-
* Makes a DELETE request.
|
|
29
|
-
*
|
|
30
|
-
* @param url The request URL.
|
|
31
|
-
* @param args The request args object, which will be superjson-stringified and appended as "?q=" parameter
|
|
32
|
-
* @param mutate Mutator for invalidating cache.
|
|
33
|
-
*/
|
|
34
|
-
export declare function del<Result>(url: string, args: unknown, mutate: Mutator): Promise<Result>;
|
|
35
|
-
type Mutator = (data?: unknown | Promise<unknown> | MutatorCallback, opts?: boolean | MutatorOptions) => Promise<unknown[]>;
|
|
36
|
-
export declare function getMutate(prefixes: string[]): Mutator;
|
|
37
|
-
export {};
|
package/request.js
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.getMutate = exports.del = exports.put = exports.post = exports.get = void 0;
|
|
39
|
-
const superjson_1 = __importDefault(require("superjson"));
|
|
40
|
-
const swr_1 = __importStar(require("swr"));
|
|
41
|
-
const serialization_utils_1 = require("./serialization-utils");
|
|
42
|
-
// register superjson custom serializers
|
|
43
|
-
(0, serialization_utils_1.registerSerializers)();
|
|
44
|
-
const fetcher = (url, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
-
const res = yield fetch(url, options);
|
|
46
|
-
if (!res.ok) {
|
|
47
|
-
const error = new Error('An error occurred while fetching the data.');
|
|
48
|
-
error.info = yield res.json();
|
|
49
|
-
error.status = res.status;
|
|
50
|
-
throw error;
|
|
51
|
-
}
|
|
52
|
-
const textResult = yield res.text();
|
|
53
|
-
try {
|
|
54
|
-
return unmarshal(textResult);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
console.error(`Unable to deserialize data:`, textResult);
|
|
58
|
-
throw err;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
function marshal(value) {
|
|
62
|
-
return superjson_1.default.stringify(value);
|
|
63
|
-
}
|
|
64
|
-
function unmarshal(value) {
|
|
65
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
66
|
-
return superjson_1.default.parse(value);
|
|
67
|
-
}
|
|
68
|
-
function makeUrl(url, args) {
|
|
69
|
-
return args ? url + `?q=${encodeURIComponent(marshal(args))}` : url;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Makes a GET request with SWR.
|
|
73
|
-
*
|
|
74
|
-
* @param url The request URL.
|
|
75
|
-
* @param args The request args object, which will be superjson-stringified and appended as "?q=" parameter
|
|
76
|
-
* @returns SWR response
|
|
77
|
-
*/
|
|
78
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
79
|
-
function get(url, args, options) {
|
|
80
|
-
const reqUrl = (options === null || options === void 0 ? void 0 : options.disabled) ? null : url ? makeUrl(url, args) : null;
|
|
81
|
-
return (0, swr_1.default)(reqUrl, fetcher, {
|
|
82
|
-
fallbackData: options === null || options === void 0 ? void 0 : options.initialData,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
exports.get = get;
|
|
86
|
-
/**
|
|
87
|
-
* Makes a POST request.
|
|
88
|
-
*
|
|
89
|
-
* @param url The request URL.
|
|
90
|
-
* @param data The request data.
|
|
91
|
-
* @param mutate Mutator for invalidating cache.
|
|
92
|
-
*/
|
|
93
|
-
function post(url, data, mutate) {
|
|
94
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
const r = yield fetcher(url, {
|
|
96
|
-
method: 'POST',
|
|
97
|
-
headers: {
|
|
98
|
-
'content-type': 'application/json',
|
|
99
|
-
},
|
|
100
|
-
body: marshal(data),
|
|
101
|
-
});
|
|
102
|
-
mutate();
|
|
103
|
-
return r;
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
exports.post = post;
|
|
107
|
-
/**
|
|
108
|
-
* Makes a PUT request.
|
|
109
|
-
*
|
|
110
|
-
* @param url The request URL.
|
|
111
|
-
* @param data The request data.
|
|
112
|
-
* @param mutate Mutator for invalidating cache.
|
|
113
|
-
*/
|
|
114
|
-
function put(url, data, mutate) {
|
|
115
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
-
const r = yield fetcher(url, {
|
|
117
|
-
method: 'PUT',
|
|
118
|
-
headers: {
|
|
119
|
-
'content-type': 'application/json',
|
|
120
|
-
},
|
|
121
|
-
body: marshal(data),
|
|
122
|
-
});
|
|
123
|
-
mutate();
|
|
124
|
-
return r;
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
exports.put = put;
|
|
128
|
-
/**
|
|
129
|
-
* Makes a DELETE request.
|
|
130
|
-
*
|
|
131
|
-
* @param url The request URL.
|
|
132
|
-
* @param args The request args object, which will be superjson-stringified and appended as "?q=" parameter
|
|
133
|
-
* @param mutate Mutator for invalidating cache.
|
|
134
|
-
*/
|
|
135
|
-
function del(url, args, mutate) {
|
|
136
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
137
|
-
const reqUrl = makeUrl(url, args);
|
|
138
|
-
const r = yield fetcher(reqUrl, {
|
|
139
|
-
method: 'DELETE',
|
|
140
|
-
});
|
|
141
|
-
const path = url.split('/');
|
|
142
|
-
path.pop();
|
|
143
|
-
mutate();
|
|
144
|
-
return r;
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
exports.del = del;
|
|
148
|
-
function getMutate(prefixes) {
|
|
149
|
-
// https://swr.vercel.app/docs/advanced/cache#mutate-multiple-keys-from-regex
|
|
150
|
-
const { cache, mutate } = (0, swr_1.useSWRConfig)();
|
|
151
|
-
return (data, opts) => {
|
|
152
|
-
if (!(cache instanceof Map)) {
|
|
153
|
-
throw new Error('mutate requires the cache provider to be a Map instance');
|
|
154
|
-
}
|
|
155
|
-
const keys = Array.from(cache.keys()).filter((k) => typeof k === 'string' && prefixes.some((prefix) => k.startsWith(prefix)));
|
|
156
|
-
const mutations = keys.map((key) => mutate(key, data, opts));
|
|
157
|
-
return Promise.all(mutations);
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
exports.getMutate = getMutate;
|
|
161
|
-
//# sourceMappingURL=request.js.map
|
package/request.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAkC;AAClC,2CAA2C;AAE3C,+DAA4D;AAG5D,wCAAwC;AACxC,IAAA,yCAAmB,GAAE,CAAC;AAEtB,MAAM,OAAO,GAAG,CAAO,GAAW,EAAE,OAAqB,EAAE,EAAE;IACzD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACT,MAAM,KAAK,GAAgD,IAAI,KAAK,CAChE,4CAA4C,CAC/C,CAAC;QACF,KAAK,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,CAAC;KACf;IAED,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI;QACA,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC;KAChC;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;QACzD,MAAM,GAAG,CAAC;KACb;AACL,CAAC,CAAA,CAAC;AAEF,SAAS,OAAO,CAAC,KAAc;IAC3B,OAAO,mBAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC5B,8DAA8D;IAC9D,OAAO,mBAAS,CAAC,KAAK,CAAM,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,IAAa;IACvC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,8DAA8D;AAC9D,SAAgB,GAAG,CACf,GAAkB,EAClB,IAAc,EACd,OAA8B;IAE9B,MAAM,MAAM,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,OAAO,IAAA,aAAM,EAAc,MAAM,EAAE,OAAO,EAAE;QACxC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW;KACrC,CAAC,CAAC;AACP,CAAC;AATD,kBASC;AAED;;;;;;GAMG;AACH,SAAsB,IAAI,CAAe,GAAW,EAAE,IAAU,EAAE,MAAe;;QAC7E,MAAM,CAAC,GAAW,MAAM,OAAO,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;aACrC;YACD,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,CAAC;IACb,CAAC;CAAA;AAVD,oBAUC;AAED;;;;;;GAMG;AACH,SAAsB,GAAG,CAAe,GAAW,EAAE,IAAU,EAAE,MAAe;;QAC5E,MAAM,CAAC,GAAW,MAAM,OAAO,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;aACrC;YACD,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,CAAC;IACb,CAAC;CAAA;AAVD,kBAUC;AAED;;;;;;GAMG;AACH,SAAsB,GAAG,CAAS,GAAW,EAAE,IAAa,EAAE,MAAe;;QACzE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,GAAW,MAAM,OAAO,CAAC,MAAM,EAAE;YACpC,MAAM,EAAE,QAAQ;SACnB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,CAAC;IACb,CAAC;CAAA;AATD,kBASC;AAOD,SAAgB,SAAS,CAAC,QAAkB;IACxC,6EAA6E;IAC7E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,kBAAY,GAAE,CAAC;IACzC,OAAO,CAAC,IAAmD,EAAE,IAA+B,EAAE,EAAE;QAC5F,IAAI,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;SAC9E;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CACtE,CAAC;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,CAAC;AACN,CAAC;AAdD,8BAcC"}
|