@zenstackhq/runtime 1.1.1 → 1.2.0
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/cross/index.d.mts +229 -0
- package/cross/index.d.ts +229 -0
- package/cross/index.js +464 -0
- package/cross/index.js.map +1 -0
- package/cross/index.mjs +431 -0
- package/cross/index.mjs.map +1 -0
- package/enhancements/index.d.ts +2 -3
- package/enhancements/index.js +2 -3
- package/enhancements/index.js.map +1 -1
- package/enhancements/model-data-visitor.d.ts +1 -1
- package/enhancements/model-data-visitor.js +2 -2
- package/enhancements/model-data-visitor.js.map +1 -1
- package/enhancements/omit.d.ts +2 -1
- package/enhancements/omit.js +4 -5
- package/enhancements/omit.js.map +1 -1
- package/enhancements/password.d.ts +2 -1
- package/enhancements/password.js +2 -2
- package/enhancements/password.js.map +1 -1
- package/enhancements/policy/handler.d.ts +2 -1
- package/enhancements/policy/handler.js +14 -15
- package/enhancements/policy/handler.js.map +1 -1
- package/enhancements/policy/index.d.ts +2 -1
- package/enhancements/policy/index.js +2 -2
- package/enhancements/policy/index.js.map +1 -1
- package/enhancements/policy/policy-utils.d.ts +4 -4
- package/enhancements/policy/policy-utils.js +11 -11
- package/enhancements/policy/policy-utils.js.map +1 -1
- package/enhancements/proxy.d.ts +2 -2
- package/enhancements/proxy.js.map +1 -1
- package/enhancements/types.d.ts +2 -17
- package/enhancements/types.js.map +1 -1
- package/enhancements/utils.d.ts +3 -19
- package/enhancements/utils.js +1 -44
- package/enhancements/utils.js.map +1 -1
- package/enhancements/where-visitor.d.ts +1 -2
- package/enhancements/where-visitor.js +3 -4
- package/enhancements/where-visitor.js.map +1 -1
- package/package.json +10 -5
- package/types.d.ts +0 -58
- package/types.js +0 -14
- package/types.js.map +1 -1
- package/enhancements/model-meta.d.ts +0 -10
- package/enhancements/model-meta.js +0 -21
- package/enhancements/model-meta.js.map +0 -1
- package/enhancements/nested-write-visitor.d.ts +0 -75
- package/enhancements/nested-write-visitor.js +0 -241
- package/enhancements/nested-write-visitor.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/enhancements/proxy.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;AAEvD,4CAAqE;
|
|
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,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import { FIELD_LEVEL_READ_CHECKER_PREFIX, FIELD_LEVEL_READ_CHECKER_SELECTOR, FIELD_LEVEL_UPDATE_GUARD_PREFIX, HAS_FIELD_LEVEL_POLICY_FLAG, PRE_UPDATE_VALUE_SELECTOR } from '../constants';
|
|
3
|
+
import type { DbOperations, PolicyOperationKind, QueryContext } from '../types';
|
|
4
4
|
/**
|
|
5
5
|
* Common options for PrismaClient enhancements
|
|
6
6
|
*/
|
|
@@ -10,21 +10,6 @@ export interface CommonEnhancementOptions {
|
|
|
10
10
|
*/
|
|
11
11
|
loadPath?: string;
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Metadata for a model-level unique constraint
|
|
15
|
-
* e.g.: @@unique([a, b])
|
|
16
|
-
*/
|
|
17
|
-
export type UniqueConstraint = {
|
|
18
|
-
name: string;
|
|
19
|
-
fields: string[];
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* ZModel data model metadata
|
|
23
|
-
*/
|
|
24
|
-
export type ModelMeta = {
|
|
25
|
-
fields: Record<string, Record<string, FieldInfo>>;
|
|
26
|
-
uniqueConstraints: Record<string, Record<string, UniqueConstraint>>;
|
|
27
|
-
};
|
|
28
13
|
/**
|
|
29
14
|
* Function for getting policy guard with a given context
|
|
30
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/enhancements/types.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/enhancements/types.ts"],"names":[],"mappings":";;AAEA,4CAMsB"}
|
package/enhancements/utils.d.ts
CHANGED
|
@@ -1,25 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
/**
|
|
4
|
-
* Gets field names in a data model entity, filtering out internal fields.
|
|
5
|
-
*/
|
|
6
|
-
export declare function getModelFields(data: object): string[];
|
|
1
|
+
import type { ModelMeta } from '../cross';
|
|
2
|
+
import type { DbClientContract } from '../types';
|
|
7
3
|
/**
|
|
8
4
|
* Gets id fields for the given model.
|
|
9
5
|
*/
|
|
10
|
-
export declare function getIdFields(modelMeta: ModelMeta, model: string, throwIfNotFound?: boolean): import("../
|
|
11
|
-
/**
|
|
12
|
-
* Array or scalar
|
|
13
|
-
*/
|
|
14
|
-
export type Enumerable<T> = T | Array<T>;
|
|
15
|
-
/**
|
|
16
|
-
* Uniformly enumerates an array or scalar.
|
|
17
|
-
*/
|
|
18
|
-
export declare function enumerate<T>(x: Enumerable<T>): T[];
|
|
19
|
-
/**
|
|
20
|
-
* Zip two arrays or scalars.
|
|
21
|
-
*/
|
|
22
|
-
export declare function zip<T1, T2>(x: Enumerable<T1>, y: Enumerable<T2>): Array<[T1, T2]>;
|
|
6
|
+
export declare function getIdFields(modelMeta: ModelMeta, model: string, throwIfNotFound?: boolean): import("../cross").FieldInfo[];
|
|
23
7
|
/**
|
|
24
8
|
* Formats an object for pretty printing.
|
|
25
9
|
*/
|
package/enhancements/utils.js
CHANGED
|
@@ -27,17 +27,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.prismaClientUnknownRequestError = exports.prismaClientKnownRequestError = exports.prismaClientValidationError = exports.formatObject = exports.
|
|
30
|
+
exports.prismaClientUnknownRequestError = exports.prismaClientKnownRequestError = exports.prismaClientValidationError = exports.formatObject = exports.getIdFields = void 0;
|
|
31
31
|
const lower_case_first_1 = require("lower-case-first");
|
|
32
32
|
const path_1 = __importDefault(require("path"));
|
|
33
33
|
const util = __importStar(require("util"));
|
|
34
|
-
/**
|
|
35
|
-
* Gets field names in a data model entity, filtering out internal fields.
|
|
36
|
-
*/
|
|
37
|
-
function getModelFields(data) {
|
|
38
|
-
return data ? Object.keys(data) : [];
|
|
39
|
-
}
|
|
40
|
-
exports.getModelFields = getModelFields;
|
|
41
34
|
/**
|
|
42
35
|
* Gets id fields for the given model.
|
|
43
36
|
*/
|
|
@@ -58,42 +51,6 @@ function getIdFields(modelMeta, model, throwIfNotFound = false) {
|
|
|
58
51
|
return result;
|
|
59
52
|
}
|
|
60
53
|
exports.getIdFields = getIdFields;
|
|
61
|
-
/**
|
|
62
|
-
* Uniformly enumerates an array or scalar.
|
|
63
|
-
*/
|
|
64
|
-
function enumerate(x) {
|
|
65
|
-
if (x === null || x === undefined) {
|
|
66
|
-
return [];
|
|
67
|
-
}
|
|
68
|
-
else if (Array.isArray(x)) {
|
|
69
|
-
return x;
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
return [x];
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
exports.enumerate = enumerate;
|
|
76
|
-
/**
|
|
77
|
-
* Zip two arrays or scalars.
|
|
78
|
-
*/
|
|
79
|
-
function zip(x, y) {
|
|
80
|
-
if (Array.isArray(x)) {
|
|
81
|
-
if (!Array.isArray(y)) {
|
|
82
|
-
throw new Error('x and y should be both array or both scalar');
|
|
83
|
-
}
|
|
84
|
-
if (x.length !== y.length) {
|
|
85
|
-
throw new Error('x and y should have the same length');
|
|
86
|
-
}
|
|
87
|
-
return x.map((_, i) => [x[i], y[i]]);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
if (Array.isArray(y)) {
|
|
91
|
-
throw new Error('x and y should be both array or both scalar');
|
|
92
|
-
}
|
|
93
|
-
return [[x, y]];
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
exports.zip = zip;
|
|
97
54
|
/**
|
|
98
55
|
* Formats an object for pretty printing.
|
|
99
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/enhancements/utils.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,uDAAkD;AAClD,gDAAwB;AACxB,2CAA6B;AAI7B;;GAEG;AACH,SAAgB,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/enhancements/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.WhereVisitor = void 0;
|
|
15
|
-
const
|
|
16
|
-
const utils_1 = require("./utils");
|
|
15
|
+
const cross_1 = require("../cross");
|
|
17
16
|
const FILTER_OPERATORS = [
|
|
18
17
|
'equals',
|
|
19
18
|
'not',
|
|
@@ -48,7 +47,7 @@ class WhereVisitor {
|
|
|
48
47
|
}
|
|
49
48
|
for (const [k, v] of Object.entries(where)) {
|
|
50
49
|
if (['AND', 'OR', 'NOT'].includes(k)) {
|
|
51
|
-
for (const item of (0,
|
|
50
|
+
for (const item of (0, cross_1.enumerate)(v)) {
|
|
52
51
|
yield this.visit(model, item);
|
|
53
52
|
}
|
|
54
53
|
continue;
|
|
@@ -58,7 +57,7 @@ class WhereVisitor {
|
|
|
58
57
|
yield this.visit(model, v);
|
|
59
58
|
continue;
|
|
60
59
|
}
|
|
61
|
-
const field = (0,
|
|
60
|
+
const field = (0, cross_1.resolveField)(this.modelMeta, model, k);
|
|
62
61
|
if (!field) {
|
|
63
62
|
continue;
|
|
64
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where-visitor.js","sourceRoot":"","sources":["../../src/enhancements/where-visitor.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,uDAAuD;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"where-visitor.js","sourceRoot":"","sources":["../../src/enhancements/where-visitor.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,uDAAuD;;;;;;;;;;;;AAEvD,oCAAmF;AAwBnF,MAAM,gBAAgB,GAAG;IACrB,QAAQ;IACR,KAAK;IACL,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;IACL,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,UAAU;CACb,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAa,YAAY;IACrB,YAA6B,SAAoB,EAAmB,QAA8B;QAArE,cAAS,GAAT,SAAS,CAAW;QAAmB,aAAQ,GAAR,QAAQ,CAAsB;IAAG,CAAC;IAEtG;;OAEG;IACG,KAAK,CAAC,KAAa,EAAE,KAAU;;;YACjC,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO;aACV;YAED,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAM,KAAK,CAAC,EAAE;gBAC7C,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBAClC,KAAK,MAAM,IAAI,IAAI,IAAA,iBAAS,EAAC,CAAC,CAAC,EAAE;wBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBACjC;oBACD,SAAS;iBACZ;gBAED,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBACvC,yBAAyB;oBACzB,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC3B,SAAS;iBACZ;gBAED,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,KAAK,EAAE;oBACR,SAAS;iBACZ;gBAED,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;oBACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,IAAI,QAAQ,EAAE;wBACV,0BAA0B;wBAC1B,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAC,KAAK,mDAAG,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA,CAAC;wBACjE,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;wBACvB,SAAS;qBACZ;oBAED,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;wBACnE,iBAAiB;wBACjB,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBAChC,SAAS;qBACZ;iBACJ;gBAED,eAAe;gBACf,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAC,KAAK,mDAAG,KAAK,EAAE,CAAC,CAAC,CAAA,CAAC;gBACvD,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;aACvB;;KACJ;CACJ;AAnDD,oCAmDC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zenstackhq/runtime",
|
|
3
3
|
"displayName": "ZenStack Runtime Library",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.2.0",
|
|
5
5
|
"description": "Runtime of ZenStack for both client-side and server-side environments.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -33,6 +33,12 @@
|
|
|
33
33
|
"require": "./browser/index.js",
|
|
34
34
|
"default": "./browser/index.js",
|
|
35
35
|
"types": "./browser/index.d.ts"
|
|
36
|
+
},
|
|
37
|
+
"./cross": {
|
|
38
|
+
"import": "./cross/index.mjs",
|
|
39
|
+
"require": "./cross/index.js",
|
|
40
|
+
"default": "./cross/index.js",
|
|
41
|
+
"types": "./cross/index.d.ts"
|
|
36
42
|
}
|
|
37
43
|
},
|
|
38
44
|
"publishConfig": {
|
|
@@ -73,9 +79,8 @@
|
|
|
73
79
|
},
|
|
74
80
|
"scripts": {
|
|
75
81
|
"clean": "rimraf dist",
|
|
76
|
-
"build": "pnpm lint && pnpm clean && tsc && tsup-node && copyfiles ./package.json ./README.md ../../LICENSE dist && copyfiles -u1 'res/**/*' dist && pnpm pack dist --pack-destination '../../../.build'",
|
|
77
|
-
"watch": "concurrently \"tsc --watch\" \"tsup-node --watch\"",
|
|
78
|
-
"lint": "eslint src --ext ts"
|
|
79
|
-
"publish-dev": "pnpm publish --tag dev"
|
|
82
|
+
"build": "pnpm lint && pnpm clean && tsc && tsup-node --config ./tsup-browser.config.ts && tsup-node --config ./tsup-cross.config.ts && copyfiles ./package.json ./README.md ../../LICENSE dist && copyfiles -u1 'res/**/*' dist && pnpm pack dist --pack-destination '../../../.build'",
|
|
83
|
+
"watch": "concurrently \"tsc --watch\" \"tsup-node --config ./tsup-browser.config.ts --watch\" \"tsup-node --config ./tsup-cross.config.ts --watch\"",
|
|
84
|
+
"lint": "eslint src --ext ts"
|
|
80
85
|
}
|
|
81
86
|
}
|
package/types.d.ts
CHANGED
|
@@ -52,64 +52,6 @@ export type QueryContext = {
|
|
|
52
52
|
*/
|
|
53
53
|
preValue?: any;
|
|
54
54
|
};
|
|
55
|
-
export type RuntimeAttribute = {
|
|
56
|
-
name: string;
|
|
57
|
-
args: Array<{
|
|
58
|
-
name?: string;
|
|
59
|
-
value: unknown;
|
|
60
|
-
}>;
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Runtime information of a data model field
|
|
64
|
-
*/
|
|
65
|
-
export type FieldInfo = {
|
|
66
|
-
/**
|
|
67
|
-
* Field name
|
|
68
|
-
*/
|
|
69
|
-
name: string;
|
|
70
|
-
/**
|
|
71
|
-
* Field type name
|
|
72
|
-
*/
|
|
73
|
-
type: string;
|
|
74
|
-
/**
|
|
75
|
-
* If the field is an ID field or part of a multi-field ID
|
|
76
|
-
*/
|
|
77
|
-
isId: boolean;
|
|
78
|
-
/**
|
|
79
|
-
* If the field type is a data model (or an optional/array of data model)
|
|
80
|
-
*/
|
|
81
|
-
isDataModel: boolean;
|
|
82
|
-
/**
|
|
83
|
-
* If the field is an array
|
|
84
|
-
*/
|
|
85
|
-
isArray: boolean;
|
|
86
|
-
/**
|
|
87
|
-
* If the field is optional
|
|
88
|
-
*/
|
|
89
|
-
isOptional: boolean;
|
|
90
|
-
/**
|
|
91
|
-
* Attributes on the field
|
|
92
|
-
*/
|
|
93
|
-
attributes: RuntimeAttribute[];
|
|
94
|
-
/**
|
|
95
|
-
* If the field is a relation field, the field name of the reverse side of the relation
|
|
96
|
-
*/
|
|
97
|
-
backLink?: string;
|
|
98
|
-
/**
|
|
99
|
-
* If the field is the owner side of a relation
|
|
100
|
-
*/
|
|
101
|
-
isRelationOwner: boolean;
|
|
102
|
-
/**
|
|
103
|
-
* If the field is a foreign key field
|
|
104
|
-
*/
|
|
105
|
-
isForeignKey: boolean;
|
|
106
|
-
/**
|
|
107
|
-
* Mapping from foreign key field names to relation field names
|
|
108
|
-
*/
|
|
109
|
-
foreignKeyMapping?: Record<string, string>;
|
|
110
|
-
};
|
|
111
55
|
export type DbClientContract = Record<string, DbOperations> & {
|
|
112
56
|
$transaction: <T>(action: (tx: Record<string, DbOperations>) => Promise<T>, options?: unknown) => Promise<T>;
|
|
113
57
|
};
|
|
114
|
-
export declare const PrismaWriteActions: readonly ["create", "createMany", "connectOrCreate", "update", "updateMany", "upsert", "connect", "disconnect", "set", "delete", "deleteMany"];
|
|
115
|
-
export type PrismaWriteActionType = (typeof PrismaWriteActions)[number];
|
package/types.js
CHANGED
|
@@ -1,18 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.PrismaWriteActions = void 0;
|
|
5
|
-
exports.PrismaWriteActions = [
|
|
6
|
-
'create',
|
|
7
|
-
'createMany',
|
|
8
|
-
'connectOrCreate',
|
|
9
|
-
'update',
|
|
10
|
-
'updateMany',
|
|
11
|
-
'upsert',
|
|
12
|
-
'connect',
|
|
13
|
-
'disconnect',
|
|
14
|
-
'set',
|
|
15
|
-
'delete',
|
|
16
|
-
'deleteMany',
|
|
17
|
-
];
|
|
18
4
|
//# sourceMappingURL=types.js.map
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,uDAAuD
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,uDAAuD"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { FieldInfo } from '../types';
|
|
2
|
-
import { ModelMeta } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Resolves a model field to its metadata. Returns undefined if not found.
|
|
5
|
-
*/
|
|
6
|
-
export declare function resolveField(modelMeta: ModelMeta, model: string, field: string): FieldInfo | undefined;
|
|
7
|
-
/**
|
|
8
|
-
* Gets all fields of a model.
|
|
9
|
-
*/
|
|
10
|
-
export declare function getFields(modelMeta: ModelMeta, model: string): Record<string, FieldInfo>;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getFields = exports.resolveField = void 0;
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
5
|
-
const lower_case_first_1 = require("lower-case-first");
|
|
6
|
-
/**
|
|
7
|
-
* Resolves a model field to its metadata. Returns undefined if not found.
|
|
8
|
-
*/
|
|
9
|
-
function resolveField(modelMeta, model, field) {
|
|
10
|
-
var _a;
|
|
11
|
-
return (_a = modelMeta.fields[(0, lower_case_first_1.lowerCaseFirst)(model)]) === null || _a === void 0 ? void 0 : _a[field];
|
|
12
|
-
}
|
|
13
|
-
exports.resolveField = resolveField;
|
|
14
|
-
/**
|
|
15
|
-
* Gets all fields of a model.
|
|
16
|
-
*/
|
|
17
|
-
function getFields(modelMeta, model) {
|
|
18
|
-
return modelMeta.fields[(0, lower_case_first_1.lowerCaseFirst)(model)];
|
|
19
|
-
}
|
|
20
|
-
exports.getFields = getFields;
|
|
21
|
-
//# sourceMappingURL=model-meta.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-meta.js","sourceRoot":"","sources":["../../src/enhancements/model-meta.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,uDAAkD;AAIlD;;GAEG;AACH,SAAgB,YAAY,CAAC,SAAoB,EAAE,KAAa,EAAE,KAAa;;IAC3E,OAAO,MAAA,SAAS,CAAC,MAAM,CAAC,IAAA,iCAAc,EAAC,KAAK,CAAC,CAAC,0CAAG,KAAK,CAAC,CAAC;AAC5D,CAAC;AAFD,oCAEC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,SAAoB,EAAE,KAAa;IACzD,OAAO,SAAS,CAAC,MAAM,CAAC,IAAA,iCAAc,EAAC,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,8BAEC"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { FieldInfo, PrismaWriteActionType } from '../types';
|
|
2
|
-
import { ModelMeta } from './types';
|
|
3
|
-
type NestingPathItem = {
|
|
4
|
-
field?: FieldInfo;
|
|
5
|
-
model: string;
|
|
6
|
-
where: any;
|
|
7
|
-
unique: boolean;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Context for visiting
|
|
11
|
-
*/
|
|
12
|
-
export type NestedWriteVisitorContext = {
|
|
13
|
-
/**
|
|
14
|
-
* Parent data, can be used to replace fields
|
|
15
|
-
*/
|
|
16
|
-
parent: any;
|
|
17
|
-
/**
|
|
18
|
-
* Current field, undefined if toplevel
|
|
19
|
-
*/
|
|
20
|
-
field?: FieldInfo;
|
|
21
|
-
/**
|
|
22
|
-
* A top-down path of all nested update conditions and corresponding field till now
|
|
23
|
-
*/
|
|
24
|
-
nestingPath: NestingPathItem[];
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* NestedWriteVisitor's callback actions. A call back function should return true or void to indicate
|
|
28
|
-
* that the visitor should continue traversing its children, or false to stop. It can also return an object
|
|
29
|
-
* to let the visitor traverse it instead of its original children.
|
|
30
|
-
*/
|
|
31
|
-
export type NestedWriterVisitorCallback = {
|
|
32
|
-
create?: (model: string, args: any[], context: NestedWriteVisitorContext) => Promise<boolean | void>;
|
|
33
|
-
createMany?: (model: string, args: {
|
|
34
|
-
data: any;
|
|
35
|
-
skipDuplicates?: boolean;
|
|
36
|
-
}, context: NestedWriteVisitorContext) => Promise<boolean | object | void>;
|
|
37
|
-
connectOrCreate?: (model: string, args: {
|
|
38
|
-
where: object;
|
|
39
|
-
create: any;
|
|
40
|
-
}, context: NestedWriteVisitorContext) => Promise<boolean | object | void>;
|
|
41
|
-
connect?: (model: string, args: object, context: NestedWriteVisitorContext) => Promise<boolean | object | void>;
|
|
42
|
-
disconnect?: (model: string, args: object, context: NestedWriteVisitorContext) => Promise<boolean | object | void>;
|
|
43
|
-
set?: (model: string, args: object, context: NestedWriteVisitorContext) => Promise<boolean | object | void>;
|
|
44
|
-
update?: (model: string, args: object, context: NestedWriteVisitorContext) => Promise<boolean | object | void>;
|
|
45
|
-
updateMany?: (model: string, args: {
|
|
46
|
-
where?: object;
|
|
47
|
-
data: any;
|
|
48
|
-
}, context: NestedWriteVisitorContext) => Promise<boolean | object | void>;
|
|
49
|
-
upsert?: (model: string, args: {
|
|
50
|
-
where: object;
|
|
51
|
-
create: any;
|
|
52
|
-
update: any;
|
|
53
|
-
}, context: NestedWriteVisitorContext) => Promise<boolean | object | void>;
|
|
54
|
-
delete?: (model: string, args: object | boolean, context: NestedWriteVisitorContext) => Promise<boolean | object | void>;
|
|
55
|
-
deleteMany?: (model: string, args: any | object, context: NestedWriteVisitorContext) => Promise<boolean | object | void>;
|
|
56
|
-
field?: (field: FieldInfo, action: PrismaWriteActionType, data: any, context: NestedWriteVisitorContext) => Promise<void>;
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Recursive visitor for nested write (create/update) payload.
|
|
60
|
-
*/
|
|
61
|
-
export declare class NestedWriteVisitor {
|
|
62
|
-
private readonly modelMeta;
|
|
63
|
-
private readonly callback;
|
|
64
|
-
constructor(modelMeta: ModelMeta, callback: NestedWriterVisitorCallback);
|
|
65
|
-
private isPrismaWriteAction;
|
|
66
|
-
/**
|
|
67
|
-
* Start visiting
|
|
68
|
-
*
|
|
69
|
-
* @see NestedWriterVisitorCallback
|
|
70
|
-
*/
|
|
71
|
-
visit(model: string, action: PrismaWriteActionType, args: any): Promise<void>;
|
|
72
|
-
private doVisit;
|
|
73
|
-
private visitSubPayload;
|
|
74
|
-
}
|
|
75
|
-
export {};
|