zenstack 1.0.0-alpha.70 → 1.0.0-alpha.73
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/README.md +3 -1
- package/cli/cli-util.js +3 -2
- package/cli/cli-util.js.map +1 -1
- package/cli/plugin-runner.js +5 -5
- package/cli/plugin-runner.js.map +1 -1
- package/language-server/validator/utils.d.ts +1 -1
- package/language-server/validator/utils.js +2 -0
- package/language-server/validator/utils.js.map +1 -1
- package/language-server/zmodel-linker.d.ts +1 -0
- package/language-server/zmodel-linker.js +7 -0
- package/language-server/zmodel-linker.js.map +1 -1
- package/package.json +5 -5
- package/plugins/prisma/zmodel-code-generator.d.ts +3 -1
- package/plugins/prisma/zmodel-code-generator.js +8 -0
- package/plugins/prisma/zmodel-code-generator.js.map +1 -1
- package/plugins/zod/generator.d.ts +4 -0
- package/plugins/zod/generator.js +102 -0
- package/plugins/zod/generator.js.map +1 -0
- package/plugins/zod/index.d.ts +5 -0
- package/plugins/zod/index.js +21 -0
- package/plugins/zod/index.js.map +1 -0
- package/plugins/zod/transformer.d.ts +67 -0
- package/plugins/zod/transformer.js +452 -0
- package/plugins/zod/transformer.js.map +1 -0
- package/plugins/zod/types.d.ts +22 -0
- package/plugins/zod/types.js +3 -0
- package/plugins/zod/types.js.map +1 -0
- package/plugins/zod/utils/removeDir.d.ts +1 -0
- package/plugins/zod/utils/removeDir.js +30 -0
- package/plugins/zod/utils/removeDir.js.map +1 -0
- package/res/stdlib.zmodel +10 -0
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
+
<a href="https://zenstack.dev">
|
|
2
3
|
<img src="https://user-images.githubusercontent.com/104139426/214809937-4ed30485-a683-4fea-b737-928c48e86fd7.png" style="max-width: 512px; width: 100%; height: auto; margin-bottom: 1rem;"
|
|
3
4
|
>
|
|
5
|
+
</a>
|
|
4
6
|
<div></div>
|
|
5
7
|
<a href="https://www.npmjs.com/package/zenstack">
|
|
6
8
|
<img src="https://img.shields.io/npm/v/zenstack">
|
|
@@ -99,7 +101,7 @@ The following diagram gives a high-level overview of how it works.
|
|
|
99
101
|
- [Documentation](https://zenstack.dev/docs)
|
|
100
102
|
- [Community chat](https://go.zenstack.dev/chat)
|
|
101
103
|
- [Twitter](https://twitter.com/zenstackhq)
|
|
102
|
-
- [Blog](https://dev
|
|
104
|
+
- [Blog](https://zenstack.dev/blog)
|
|
103
105
|
|
|
104
106
|
## Features
|
|
105
107
|
|
package/cli/cli-util.js
CHANGED
|
@@ -100,6 +100,7 @@ function loadDocument(fileName) {
|
|
|
100
100
|
}
|
|
101
101
|
// load standard library
|
|
102
102
|
const stdLib = services.shared.workspace.LangiumDocuments.getOrCreateDocument(vscode_uri_1.URI.file(path_1.default.resolve(path_1.default.join(__dirname, '../res', constants_1.STD_LIB_MODULE_NAME))));
|
|
103
|
+
// load documents provided by plugins
|
|
103
104
|
const pluginDocuments = yield getPluginDocuments(services, fileName);
|
|
104
105
|
// load the document
|
|
105
106
|
const document = services.shared.workspace.LangiumDocuments.getOrCreateDocument(vscode_uri_1.URI.file(path_1.default.resolve(fileName)));
|
|
@@ -121,8 +122,10 @@ function loadDocument(fileName) {
|
|
|
121
122
|
exports.loadDocument = loadDocument;
|
|
122
123
|
function getPluginDocuments(services, fileName) {
|
|
123
124
|
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
// parse the user document (without validation)
|
|
124
126
|
const parseResult = services.parser.LangiumParser.parse(fs_1.default.readFileSync(fileName, { encoding: 'utf-8' }));
|
|
125
127
|
const parsed = parseResult.value;
|
|
128
|
+
// traverse plugins and collect "plugin.zmodel" documents
|
|
126
129
|
const result = [];
|
|
127
130
|
parsed.declarations.forEach((decl) => {
|
|
128
131
|
if ((0, ast_1.isPlugin)(decl)) {
|
|
@@ -134,13 +137,11 @@ function getPluginDocuments(services, fileName) {
|
|
|
134
137
|
const pluginEntrance = require.resolve(`${provider}`);
|
|
135
138
|
const pluginModelFile = path_1.default.join(path_1.default.dirname(pluginEntrance), constants_1.PLUGIN_MODULE_NAME);
|
|
136
139
|
if (fs_1.default.existsSync(pluginModelFile)) {
|
|
137
|
-
console.log('Including zmodel module from:', pluginModelFile);
|
|
138
140
|
result.push(services.shared.workspace.LangiumDocuments.getOrCreateDocument(vscode_uri_1.URI.file(pluginModelFile)));
|
|
139
141
|
}
|
|
140
142
|
}
|
|
141
143
|
catch (_a) {
|
|
142
144
|
console.warn(`Unable to load plugin from ${provider}, skipping`);
|
|
143
|
-
// noop
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
147
|
}
|
package/cli/cli-util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-util.js","sourceRoot":"","sources":["../../src/cli/cli-util.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli-util.js","sourceRoot":"","sources":["../../src/cli/cli-util.ts"],"names":[],"mappings":"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"}
|
package/cli/plugin-runner.js
CHANGED
|
@@ -35,7 +35,7 @@ class PluginRunner {
|
|
|
35
35
|
console.log(colors_1.default.bold(`⌛️ ZenStack CLI v${version}, running plugins`));
|
|
36
36
|
const plugins = [];
|
|
37
37
|
const pluginDecls = context.schema.declarations.filter((d) => (0, ast_1.isPlugin)(d));
|
|
38
|
-
const prereqPlugins = ['@
|
|
38
|
+
const prereqPlugins = ['@core/prisma', '@core/model-meta', '@core/access-policy', '@core/zod'];
|
|
39
39
|
const allPluginProviders = prereqPlugins.concat(pluginDecls
|
|
40
40
|
.map((p) => this.getPluginProvider(p))
|
|
41
41
|
.filter((p) => !!p && !prereqPlugins.includes(p)));
|
|
@@ -71,7 +71,7 @@ class PluginRunner {
|
|
|
71
71
|
run: pluginModule.default,
|
|
72
72
|
options,
|
|
73
73
|
});
|
|
74
|
-
if (pluginProvider === '@
|
|
74
|
+
if (pluginProvider === '@core/prisma' && options.output) {
|
|
75
75
|
// record custom prisma output path
|
|
76
76
|
prismaOutput = options.output;
|
|
77
77
|
}
|
|
@@ -91,7 +91,7 @@ class PluginRunner {
|
|
|
91
91
|
let dmmf = undefined;
|
|
92
92
|
for (const { name, provider, run, options } of plugins) {
|
|
93
93
|
yield this.runPlugin(name, run, context, options, dmmf, warnings);
|
|
94
|
-
if (provider === '@
|
|
94
|
+
if (provider === '@core/prisma') {
|
|
95
95
|
// load prisma DMMF
|
|
96
96
|
dmmf = yield (0, internals_1.getDMMF)({
|
|
97
97
|
datamodel: fs_1.default.readFileSync(prismaOutput, { encoding: 'utf-8' }),
|
|
@@ -135,8 +135,8 @@ class PluginRunner {
|
|
|
135
135
|
}
|
|
136
136
|
getPluginModulePath(provider) {
|
|
137
137
|
let pluginModulePath = provider;
|
|
138
|
-
if (pluginModulePath.startsWith('@
|
|
139
|
-
pluginModulePath = pluginModulePath.replace(/^@
|
|
138
|
+
if (pluginModulePath.startsWith('@core/')) {
|
|
139
|
+
pluginModulePath = pluginModulePath.replace(/^@core/, path_1.default.join(__dirname, '../plugins'));
|
|
140
140
|
}
|
|
141
141
|
return pluginModulePath;
|
|
142
142
|
}
|
package/cli/plugin-runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-runner.js","sourceRoot":"","sources":["../../src/cli/plugin-runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,iDAA4C;AAC5C,kDAA4D;AAC5D,yCAA6F;AAC7F,oDAA4B;AAC5B,4CAAoB;AACpB,8CAAsB;AACtB,gDAAwB;AACxB,6DAAqC;AAErC,2CAAuC;AAEvC;;GAEG;AACH,MAAa,YAAY;IACrB;;OAEG;IACG,GAAG,CAAC,OAAgB;;YACtB,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,IAAI,CAAC,oBAAoB,OAAO,mBAAmB,CAAC,CAAC,CAAC;YAEzE,MAAM,OAAO,GAKR,EAAE,CAAC;YAER,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,IAAA,cAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,aAAa,GAAG,CAAC,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin-runner.js","sourceRoot":"","sources":["../../src/cli/plugin-runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,iDAA4C;AAC5C,kDAA4D;AAC5D,yCAA6F;AAC7F,oDAA4B;AAC5B,4CAAoB;AACpB,8CAAsB;AACtB,gDAAwB;AACxB,6DAAqC;AAErC,2CAAuC;AAEvC;;GAEG;AACH,MAAa,YAAY;IACrB;;OAEG;IACG,GAAG,CAAC,OAAgB;;YACtB,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,IAAI,CAAC,oBAAoB,OAAO,mBAAmB,CAAC,CAAC,CAAC;YAEzE,MAAM,OAAO,GAKR,EAAE,CAAC;YAER,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,IAAA,cAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAC;YAC/F,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAC3C,WAAW;iBACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;iBACrC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;YACF,IAAI,YAAY,GAAG,wBAAwB,CAAC;YAE5C,KAAK,MAAM,cAAc,IAAI,kBAAkB,EAAE;gBAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;gBACrF,IAAI,MAAM,EAAE;oBACR,MAAM,OAAO,GAAkB,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;oBAElE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBACxB,MAAM,KAAK,GAAG,IAAA,gBAAU,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAA,qBAAe,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC9D,IAAI,CAAC,KAAK,EAAE;4BACR,MAAM,IAAI,oBAAQ,CAAC,4BAA4B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;yBAC5D;wBACD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBAC5B,CAAC,CAAC,CAAC;oBAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;oBAClE,8DAA8D;oBAC9D,IAAI,YAAiB,CAAC;oBACtB,IAAI;wBACA,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;qBAC5C;oBAAC,OAAO,GAAG,EAAE;wBACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,cAAc,KAAK,gBAAgB,KAAK,GAAG,EAAE,CAAC,CAAC;wBAC7F,MAAM,IAAI,oBAAQ,CAAC,gCAAgC,cAAc,EAAE,CAAC,CAAC;qBACxE;oBAED,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,OAAO,YAAY,CAAC,OAAO,KAAK,UAAU,EAAE;wBACrE,OAAO,CAAC,KAAK,CAAC,mBAAmB,cAAc,uCAAuC,CAAC,CAAC;wBACxF,MAAM,IAAI,oBAAQ,CAAC,mBAAmB,cAAc,uCAAuC,CAAC,CAAC;qBAChG;oBACD,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC;wBACtD,QAAQ,EAAE,cAAc;wBACxB,GAAG,EAAE,YAAY,CAAC,OAAyB;wBAC3C,OAAO;qBACV,CAAC,CAAC;oBAEH,IAAI,cAAc,KAAK,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE;wBACrD,mCAAmC;wBACnC,YAAY,GAAG,OAAO,CAAC,MAAgB,CAAC;qBAC3C;iBACJ;qBAAM;oBACH,sBAAsB;oBACtB,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACvE,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC;wBACtD,QAAQ,EAAE,cAAc;wBACxB,GAAG,EAAE,YAAY,CAAC,OAAO;wBACzB,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;qBAC9C,CAAC,CAAC;iBACN;aACJ;YAED,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,IAAI,IAAI,GAA8B,SAAS,CAAC;YAChD,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE;gBACpD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAClE,IAAI,QAAQ,KAAK,cAAc,EAAE;oBAC7B,mBAAmB;oBACnB,IAAI,GAAG,MAAM,IAAA,mBAAO,EAAC;wBACjB,SAAS,EAAE,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;qBAClE,CAAC,CAAC;iBACN;aACJ;YAED,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,KAAK,CAAC,gBAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC;YAEnF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;KAAA;IAED,8DAA8D;IACtD,aAAa,CAAC,YAAiB,EAAE,cAAsB;QAC3D,OAAO,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,YAAY,CAAC,IAAe,CAAC,CAAC,CAAC,cAAc,CAAC;IAClG,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACpC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACvE,OAAO,IAAA,gBAAU,EAAS,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAEa,SAAS,CACnB,IAAY,EACZ,GAAmB,EACnB,OAAgB,EAChB,OAAsB,EACtB,IAA+B,EAC/B,QAAkB;;YAElB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,kBAAkB,gBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YACnE,IAAI;gBACA,MAAM,mBAAS,CAAC,SAAS,CACrB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB;oBACI,MAAM,EAAE,IAAI;iBACf,EACD,GAAS,EAAE;oBACP,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;oBAChD,IAAI,MAAM,YAAY,OAAO,EAAE;wBAC3B,MAAM,GAAG,MAAM,MAAM,CAAC;qBACzB;oBACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wBACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;qBAC5B;gBACL,CAAC,CAAA,CACJ,CAAC;gBACF,OAAO,CAAC,OAAO,EAAE,CAAC;aACrB;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,GAAG,CAAC;aACb;QACL,CAAC;KAAA;IAEO,mBAAmB,CAAC,QAAgB;QACxC,IAAI,gBAAgB,GAAG,QAAQ,CAAC;QAChC,IAAI,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YACvC,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;SAC7F;QACD,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ;AA/ID,oCA+IC"}
|
|
@@ -17,7 +17,7 @@ export declare function typeAssignable(destType: ExpressionType, sourceType: Exp
|
|
|
17
17
|
/**
|
|
18
18
|
* Maps a ZModel builtin type to expression type
|
|
19
19
|
*/
|
|
20
|
-
export declare function mapBuiltinTypeToExpressionType(type: BuiltinType | 'Any' | 'Null'): ExpressionType | 'Any';
|
|
20
|
+
export declare function mapBuiltinTypeToExpressionType(type: BuiltinType | 'Any' | 'Object' | 'Null'): ExpressionType | 'Any';
|
|
21
21
|
/**
|
|
22
22
|
* Determines if the given attribute argument is assignable to the given attribute parameter
|
|
23
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/language-server/validator/utils.ts"],"names":[],"mappings":";;;;;;AAAA,kDAmBkC;AAClC,yCAA2C;AAE3C,0DAAkC;AAElC;;GAEG;AACH,SAAgB,8BAA8B,CAC1C,KAAwC,EACxC,MAA0B;IAE1B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAoD,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;;QAChG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAY,WAAW,CAAC,EAAE;QAChE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,MAAM,CAAC,OAAO,EAAE,gCAAgC,IAAI,GAAG,EAAE;gBACrD,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;aACjB,CAAC,CAAC;SACN;KACJ;AACL,CAAC;AAjBD,wEAiBC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,IAAyB;IACtD,IAAI,IAAA,mBAAa,EAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAND,4CAMC;AAED,MAAM,gBAAgB,GAAG,2EAA2E,CAAC;AAErG;;GAEG;AACH,SAAgB,cAAc,CAAC,QAAwB,EAAE,UAA0B,EAAE,UAAuB;IACxG,2DAA2D;IAC3D,IAAI,QAAQ,KAAK,UAAU,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,IAAA,mBAAa,EAAC,UAAU,CAAC,EAAE;QAC/F,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC3C,iCAAiC;YACjC,UAAU,GAAG,UAAU,CAAC;SAC3B;KACJ;IAED,QAAQ,QAAQ,EAAE;QACd,KAAK,KAAK;YACN,OAAO,IAAI,CAAC;QAChB,KAAK,OAAO;YACR,OAAO,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,OAAO,CAAC;QAClF;YACI,OAAO,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,QAAQ,CAAC;KAC9D;AACL,CAAC;AAlBD,wCAkBC;AAED;;GAEG;AACH,SAAgB,8BAA8B,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/language-server/validator/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,6 +82,9 @@ class ZModelLinker extends langium_1.DefaultLinker {
|
|
|
82
82
|
case ast_1.BinaryExpr:
|
|
83
83
|
this.resolveBinary(node, document, extraScopes);
|
|
84
84
|
break;
|
|
85
|
+
case ast_1.ObjectExpr:
|
|
86
|
+
this.resolveObject(node, document, extraScopes);
|
|
87
|
+
break;
|
|
85
88
|
case ast_1.ThisExpr:
|
|
86
89
|
this.resolveThis(node, document, extraScopes);
|
|
87
90
|
break;
|
|
@@ -132,6 +135,10 @@ class ZModelLinker extends langium_1.DefaultLinker {
|
|
|
132
135
|
this.resolve(node.operand, document, extraScopes);
|
|
133
136
|
node.$resolvedType = node.operand.$resolvedType;
|
|
134
137
|
}
|
|
138
|
+
resolveObject(node, document, extraScopes) {
|
|
139
|
+
node.fields.forEach((field) => this.resolve(field.value, document, extraScopes));
|
|
140
|
+
this.resolveToBuiltinTypeOrDecl(node, 'Object');
|
|
141
|
+
}
|
|
135
142
|
resolveReference(node, document, extraScopes) {
|
|
136
143
|
this.linkReference(node, 'target', document, extraScopes);
|
|
137
144
|
node.args.forEach((arg) => this.resolve(arg, document, extraScopes));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zmodel-linker.js","sourceRoot":"","sources":["../../src/language-server/zmodel-linker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zmodel-linker.js","sourceRoot":"","sources":["../../src/language-server/zmodel-linker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publisher": "zenstack",
|
|
4
4
|
"displayName": "ZenStack Language Tools",
|
|
5
5
|
"description": "A toolkit for building secure CRUD apps with Next.js + Typescript",
|
|
6
|
-
"version": "1.0.0-alpha.
|
|
6
|
+
"version": "1.0.0-alpha.73",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "ZenStack Team"
|
|
9
9
|
},
|
|
@@ -90,9 +90,9 @@
|
|
|
90
90
|
"vscode-languageserver-textdocument": "^1.0.7",
|
|
91
91
|
"vscode-uri": "^3.0.6",
|
|
92
92
|
"zod": "^3.19.1",
|
|
93
|
-
"@zenstackhq/language": "1.0.0-alpha.
|
|
94
|
-
"@zenstackhq/runtime": "1.0.0-alpha.
|
|
95
|
-
"@zenstackhq/sdk": "1.0.0-alpha.
|
|
93
|
+
"@zenstackhq/language": "1.0.0-alpha.73",
|
|
94
|
+
"@zenstackhq/runtime": "1.0.0-alpha.73",
|
|
95
|
+
"@zenstackhq/sdk": "1.0.0-alpha.73"
|
|
96
96
|
},
|
|
97
97
|
"devDependencies": {
|
|
98
98
|
"@types/async-exit-hook": "^2.0.0",
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
"tsc-alias": "^1.7.0",
|
|
122
122
|
"typescript": "^4.8.4",
|
|
123
123
|
"vsce": "^2.13.0",
|
|
124
|
-
"@zenstackhq/testtools": "1.0.0-alpha.
|
|
124
|
+
"@zenstackhq/testtools": "1.0.0-alpha.73"
|
|
125
125
|
},
|
|
126
126
|
"scripts": {
|
|
127
127
|
"vscode:publish": "vsce publish --no-dependencies",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Argument, ArrayExpr, AttributeArg, BinaryExpr, DataModelAttribute, DataModelFieldAttribute, Expression, InvocationExpr, LiteralExpr, MemberAccessExpr, ReferenceArg, ReferenceExpr, UnaryExpr } from '@zenstackhq/language/ast';
|
|
1
|
+
import { Argument, ArrayExpr, AttributeArg, BinaryExpr, DataModelAttribute, DataModelFieldAttribute, Expression, FieldInitializer, InvocationExpr, LiteralExpr, MemberAccessExpr, ObjectExpr, ReferenceArg, ReferenceExpr, UnaryExpr } from '@zenstackhq/language/ast';
|
|
2
2
|
/**
|
|
3
3
|
* Options for the generator.
|
|
4
4
|
*/
|
|
@@ -12,6 +12,8 @@ export default class ZModelCodeGenerator {
|
|
|
12
12
|
generateAttribute(ast: DataModelAttribute | DataModelFieldAttribute): string;
|
|
13
13
|
generateAttributeArg(ast: AttributeArg): string;
|
|
14
14
|
generateExpression(ast: Expression): string;
|
|
15
|
+
generateObjectExpr(ast: ObjectExpr): string;
|
|
16
|
+
generateObjectField(field: FieldInitializer): string;
|
|
15
17
|
generateArrayExpr(ast: ArrayExpr): string;
|
|
16
18
|
generateLiteralExpr(ast: LiteralExpr): string;
|
|
17
19
|
generateUnaryExpr(ast: UnaryExpr): string;
|
|
@@ -38,6 +38,8 @@ class ZModelCodeGenerator {
|
|
|
38
38
|
return this.generateMemberExpr(ast);
|
|
39
39
|
case ast_1.InvocationExpr:
|
|
40
40
|
return this.generateInvocationExpr(ast);
|
|
41
|
+
case ast_1.ObjectExpr:
|
|
42
|
+
return this.generateObjectExpr(ast);
|
|
41
43
|
case ast_1.NullExpr:
|
|
42
44
|
case ast_1.ThisExpr:
|
|
43
45
|
return ast.value;
|
|
@@ -45,6 +47,12 @@ class ZModelCodeGenerator {
|
|
|
45
47
|
throw new Error(`Not implemented: ${ast}`);
|
|
46
48
|
}
|
|
47
49
|
}
|
|
50
|
+
generateObjectExpr(ast) {
|
|
51
|
+
return `{ ${ast.fields.map((field) => this.generateObjectField(field)).join(', ')} }`;
|
|
52
|
+
}
|
|
53
|
+
generateObjectField(field) {
|
|
54
|
+
return `${field.name}: ${this.generateExpression(field.value)}`;
|
|
55
|
+
}
|
|
48
56
|
generateArrayExpr(ast) {
|
|
49
57
|
return `[${ast.items.map((item) => this.generateExpression(item)).join(', ')}]`;
|
|
50
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zmodel-code-generator.js","sourceRoot":"","sources":["../../../src/plugins/prisma/zmodel-code-generator.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"zmodel-code-generator.js","sourceRoot":"","sources":["../../../src/plugins/prisma/zmodel-code-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.generate = void 0;
|
|
16
|
+
const sdk_1 = require("@zenstackhq/sdk");
|
|
17
|
+
const ast_1 = require("@zenstackhq/sdk/ast");
|
|
18
|
+
const dmmf_helpers_1 = require("@zenstackhq/sdk/dmmf-helpers");
|
|
19
|
+
const fs_1 = require("fs");
|
|
20
|
+
const path_1 = __importDefault(require("path"));
|
|
21
|
+
const ts_morph_1 = require("ts-morph");
|
|
22
|
+
const plugin_utils_1 = require("../plugin-utils");
|
|
23
|
+
const transformer_1 = __importDefault(require("./transformer"));
|
|
24
|
+
const removeDir_1 = __importDefault(require("./utils/removeDir"));
|
|
25
|
+
function generate(model, options, dmmf) {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
let output = options.output;
|
|
29
|
+
if (!output) {
|
|
30
|
+
const defaultOutputFolder = (0, plugin_utils_1.getDefaultOutputFolder)();
|
|
31
|
+
if (defaultOutputFolder) {
|
|
32
|
+
output = path_1.default.join(defaultOutputFolder, 'zod');
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
output = './generated/zod';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
yield handleGeneratorOutputValue(output);
|
|
39
|
+
const prismaClientDmmf = dmmf;
|
|
40
|
+
const modelOperations = prismaClientDmmf.mappings.modelOperations;
|
|
41
|
+
const inputObjectTypes = prismaClientDmmf.schema.inputObjectTypes.prisma;
|
|
42
|
+
const outputObjectTypes = prismaClientDmmf.schema.outputObjectTypes.prisma;
|
|
43
|
+
const models = prismaClientDmmf.datamodel.models;
|
|
44
|
+
const project = new ts_morph_1.Project();
|
|
45
|
+
yield generateEnumSchemas(prismaClientDmmf.schema.enumTypes.prisma, (_a = prismaClientDmmf.schema.enumTypes.model) !== null && _a !== void 0 ? _a : [], project);
|
|
46
|
+
const dataSource = model.declarations.find((d) => (0, ast_1.isDataSource)(d));
|
|
47
|
+
const dataSourceProvider = (0, sdk_1.getLiteral)((_b = dataSource === null || dataSource === void 0 ? void 0 : dataSource.fields.find((f) => f.name === 'provider')) === null || _b === void 0 ? void 0 : _b.value);
|
|
48
|
+
transformer_1.default.provider = dataSourceProvider;
|
|
49
|
+
const generatorConfigOptions = {};
|
|
50
|
+
Object.entries(options).forEach(([k, v]) => (generatorConfigOptions[k] = v));
|
|
51
|
+
(0, dmmf_helpers_1.addMissingInputObjectTypes)(inputObjectTypes, outputObjectTypes, models);
|
|
52
|
+
const aggregateOperationSupport = (0, dmmf_helpers_1.resolveAggregateOperationSupport)(inputObjectTypes);
|
|
53
|
+
yield generateObjectSchemas(inputObjectTypes, project);
|
|
54
|
+
yield generateModelSchemas(models, modelOperations, aggregateOperationSupport, project);
|
|
55
|
+
yield (0, sdk_1.emitProject)(project);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
exports.generate = generate;
|
|
59
|
+
function handleGeneratorOutputValue(output) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
// create the output directory and delete contents that might exist from a previous run
|
|
62
|
+
yield fs_1.promises.mkdir(output, { recursive: true });
|
|
63
|
+
const isRemoveContentsOnly = true;
|
|
64
|
+
yield (0, removeDir_1.default)(output, isRemoveContentsOnly);
|
|
65
|
+
transformer_1.default.setOutputPath(output);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function generateEnumSchemas(prismaSchemaEnum, modelSchemaEnum, project) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const enumTypes = [...prismaSchemaEnum, ...modelSchemaEnum];
|
|
71
|
+
const enumNames = enumTypes.map((enumItem) => enumItem.name);
|
|
72
|
+
transformer_1.default.enumNames = enumNames !== null && enumNames !== void 0 ? enumNames : [];
|
|
73
|
+
const transformer = new transformer_1.default({
|
|
74
|
+
enumTypes,
|
|
75
|
+
project,
|
|
76
|
+
});
|
|
77
|
+
yield transformer.generateEnumSchemas();
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function generateObjectSchemas(inputObjectTypes, project) {
|
|
81
|
+
var _a, _b;
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
for (let i = 0; i < inputObjectTypes.length; i += 1) {
|
|
84
|
+
const fields = (_a = inputObjectTypes[i]) === null || _a === void 0 ? void 0 : _a.fields;
|
|
85
|
+
const name = (_b = inputObjectTypes[i]) === null || _b === void 0 ? void 0 : _b.name;
|
|
86
|
+
const transformer = new transformer_1.default({ name, fields, project });
|
|
87
|
+
yield transformer.generateObjectSchema();
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function generateModelSchemas(models, modelOperations, aggregateOperationSupport, project) {
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
const transformer = new transformer_1.default({
|
|
94
|
+
models,
|
|
95
|
+
modelOperations,
|
|
96
|
+
aggregateOperationSupport,
|
|
97
|
+
project,
|
|
98
|
+
});
|
|
99
|
+
yield transformer.generateModelSchemas();
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/plugins/zod/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DMMF } from '@prisma/generator-helper';
|
|
2
|
+
import { PluginOptions } from '@zenstackhq/sdk';
|
|
3
|
+
import { Model } from '@zenstackhq/sdk/ast';
|
|
4
|
+
export declare const name = "Zod";
|
|
5
|
+
export default function run(model: Model, options: PluginOptions, dmmf: DMMF.Document): Promise<void>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
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.name = void 0;
|
|
13
|
+
const generator_1 = require("./generator");
|
|
14
|
+
exports.name = 'Zod';
|
|
15
|
+
function run(model, options, dmmf) {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
return (0, generator_1.generate)(model, options, dmmf);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
exports.default = run;
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/zod/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,2CAAuC;AAE1B,QAAA,IAAI,GAAG,KAAK,CAAC;AAE1B,SAA8B,GAAG,CAAC,KAAY,EAAE,OAAsB,EAAE,IAAmB;;QACvF,OAAO,IAAA,oBAAQ,EAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;CAAA;AAFD,sBAEC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { DMMF as PrismaDMMF } from '@prisma/generator-helper';
|
|
2
|
+
import { AggregateOperationSupport, TransformerParams } from './types';
|
|
3
|
+
export default class Transformer {
|
|
4
|
+
name: string;
|
|
5
|
+
fields: PrismaDMMF.SchemaArg[];
|
|
6
|
+
schemaImports: Set<string>;
|
|
7
|
+
models: PrismaDMMF.Model[];
|
|
8
|
+
modelOperations: PrismaDMMF.ModelMapping[];
|
|
9
|
+
aggregateOperationSupport: AggregateOperationSupport;
|
|
10
|
+
enumTypes: PrismaDMMF.SchemaEnum[];
|
|
11
|
+
static enumNames: string[];
|
|
12
|
+
static rawOpsMap: {
|
|
13
|
+
[name: string]: string;
|
|
14
|
+
};
|
|
15
|
+
static provider: string;
|
|
16
|
+
private static outputPath;
|
|
17
|
+
private hasJson;
|
|
18
|
+
private static prismaClientOutputPath;
|
|
19
|
+
private static isCustomPrismaClientOutputPath;
|
|
20
|
+
private project;
|
|
21
|
+
constructor(params: TransformerParams);
|
|
22
|
+
static setOutputPath(outPath: string): void;
|
|
23
|
+
static getOutputPath(): string;
|
|
24
|
+
static setPrismaClientOutputPath(prismaClientCustomPath: string): void;
|
|
25
|
+
generateEnumSchemas(): Promise<void>;
|
|
26
|
+
generateImportZodStatement(): string;
|
|
27
|
+
generateExportSchemaStatement(name: string, schema: string): string;
|
|
28
|
+
generateObjectSchema(): Promise<void>;
|
|
29
|
+
generateObjectSchemaFields(): string[];
|
|
30
|
+
generateObjectSchemaField(field: PrismaDMMF.SchemaArg): [string, PrismaDMMF.SchemaArg, boolean][];
|
|
31
|
+
wrapWithZodValidators(mainValidator: string, field: PrismaDMMF.SchemaArg, inputType: PrismaDMMF.SchemaArgInputType): string;
|
|
32
|
+
addSchemaImport(name: string): void;
|
|
33
|
+
generatePrismaStringLine(field: PrismaDMMF.SchemaArg, inputType: PrismaDMMF.SchemaArgInputType, inputsLength: number): string;
|
|
34
|
+
generateFieldValidators(zodStringWithMainType: string, field: PrismaDMMF.SchemaArg): string;
|
|
35
|
+
prepareObjectSchema(zodObjectSchemaFields: string[]): string;
|
|
36
|
+
generateExportObjectSchemaStatement(schema: string): string;
|
|
37
|
+
addFinalWrappers({ zodStringFields }: {
|
|
38
|
+
zodStringFields: string[];
|
|
39
|
+
}): string;
|
|
40
|
+
generateImportPrismaStatement(): string;
|
|
41
|
+
generateJsonSchemaImplementation(): string;
|
|
42
|
+
generateObjectSchemaImportStatements(): string;
|
|
43
|
+
generateSchemaImports(): string;
|
|
44
|
+
checkIsModelQueryType(type: string): {
|
|
45
|
+
isModelQueryType: boolean;
|
|
46
|
+
modelName: string;
|
|
47
|
+
queryName: string;
|
|
48
|
+
} | {
|
|
49
|
+
isModelQueryType: boolean;
|
|
50
|
+
modelName?: undefined;
|
|
51
|
+
queryName?: undefined;
|
|
52
|
+
};
|
|
53
|
+
resolveModelQuerySchemaName(modelName: string, queryName: string): string;
|
|
54
|
+
wrapWithZodUnion(zodStringFields: string[]): string;
|
|
55
|
+
wrapWithZodObject(zodStringFields: string | string[]): string;
|
|
56
|
+
resolveObjectSchemaName(): string;
|
|
57
|
+
generateModelSchemas(): Promise<void>;
|
|
58
|
+
generateImportStatements(imports: (string | undefined)[]): string;
|
|
59
|
+
resolveSelectIncludeImportAndZodSchemaLine(model: PrismaDMMF.Model): {
|
|
60
|
+
selectImport: string;
|
|
61
|
+
includeImport: string;
|
|
62
|
+
selectZodSchemaLine: string;
|
|
63
|
+
includeZodSchemaLine: string;
|
|
64
|
+
selectZodSchemaLineLazy: string;
|
|
65
|
+
includeZodSchemaLineLazy: string;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const sdk_1 = require("@zenstackhq/sdk");
|
|
16
|
+
const dmmf_helpers_1 = require("@zenstackhq/sdk/dmmf-helpers");
|
|
17
|
+
const utils_1 = __importDefault(require("@zenstackhq/sdk/utils"));
|
|
18
|
+
const path_1 = __importDefault(require("path"));
|
|
19
|
+
class Transformer {
|
|
20
|
+
constructor(params) {
|
|
21
|
+
var _a, _b, _c, _d, _e, _f;
|
|
22
|
+
this.schemaImports = new Set();
|
|
23
|
+
this.hasJson = false;
|
|
24
|
+
this.name = (_a = params.name) !== null && _a !== void 0 ? _a : '';
|
|
25
|
+
this.fields = (_b = params.fields) !== null && _b !== void 0 ? _b : [];
|
|
26
|
+
this.models = (_c = params.models) !== null && _c !== void 0 ? _c : [];
|
|
27
|
+
this.modelOperations = (_d = params.modelOperations) !== null && _d !== void 0 ? _d : [];
|
|
28
|
+
this.aggregateOperationSupport = (_e = params.aggregateOperationSupport) !== null && _e !== void 0 ? _e : {};
|
|
29
|
+
this.enumTypes = (_f = params.enumTypes) !== null && _f !== void 0 ? _f : [];
|
|
30
|
+
this.project = params.project;
|
|
31
|
+
}
|
|
32
|
+
static setOutputPath(outPath) {
|
|
33
|
+
this.outputPath = outPath;
|
|
34
|
+
}
|
|
35
|
+
static getOutputPath() {
|
|
36
|
+
return this.outputPath;
|
|
37
|
+
}
|
|
38
|
+
static setPrismaClientOutputPath(prismaClientCustomPath) {
|
|
39
|
+
this.prismaClientOutputPath = prismaClientCustomPath;
|
|
40
|
+
this.isCustomPrismaClientOutputPath = prismaClientCustomPath !== '@prisma/client';
|
|
41
|
+
}
|
|
42
|
+
generateEnumSchemas() {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
for (const enumType of this.enumTypes) {
|
|
45
|
+
const { name, values } = enumType;
|
|
46
|
+
const filteredValues = values.filter((v) => !sdk_1.AUXILIARY_FIELDS.includes(v));
|
|
47
|
+
const filePath = path_1.default.join(Transformer.outputPath, `enums/${name}.schema.ts`);
|
|
48
|
+
const content = `/* eslint-disable */\n${this.generateImportZodStatement()}\n${this.generateExportSchemaStatement(`${name}`, `z.enum(${JSON.stringify(filteredValues)})`)}`;
|
|
49
|
+
this.project.createSourceFile(filePath, content, { overwrite: true });
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
generateImportZodStatement() {
|
|
54
|
+
return "import { z } from 'zod';\n";
|
|
55
|
+
}
|
|
56
|
+
generateExportSchemaStatement(name, schema) {
|
|
57
|
+
return `export const ${name}Schema = ${schema}`;
|
|
58
|
+
}
|
|
59
|
+
generateObjectSchema() {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
const zodObjectSchemaFields = this.generateObjectSchemaFields();
|
|
62
|
+
const objectSchema = this.prepareObjectSchema(zodObjectSchemaFields);
|
|
63
|
+
const objectSchemaName = this.resolveObjectSchemaName();
|
|
64
|
+
const filePath = path_1.default.join(Transformer.outputPath, `objects/${objectSchemaName}.schema.ts`);
|
|
65
|
+
const content = '/* eslint-disable */\n' + objectSchema;
|
|
66
|
+
this.project.createSourceFile(filePath, content, { overwrite: true });
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
generateObjectSchemaFields() {
|
|
70
|
+
const zodObjectSchemaFields = this.fields
|
|
71
|
+
.filter((field) => !sdk_1.AUXILIARY_FIELDS.includes(field.name))
|
|
72
|
+
.map((field) => this.generateObjectSchemaField(field))
|
|
73
|
+
.flatMap((item) => item)
|
|
74
|
+
.map((item) => {
|
|
75
|
+
const [zodStringWithMainType, field, skipValidators] = item;
|
|
76
|
+
const value = skipValidators
|
|
77
|
+
? zodStringWithMainType
|
|
78
|
+
: this.generateFieldValidators(zodStringWithMainType, field);
|
|
79
|
+
return value.trim();
|
|
80
|
+
});
|
|
81
|
+
return zodObjectSchemaFields;
|
|
82
|
+
}
|
|
83
|
+
generateObjectSchemaField(field) {
|
|
84
|
+
const lines = field.inputTypes;
|
|
85
|
+
if (lines.length === 0) {
|
|
86
|
+
return [];
|
|
87
|
+
}
|
|
88
|
+
let alternatives = lines.reduce((result, inputType) => {
|
|
89
|
+
if (inputType.type === 'String') {
|
|
90
|
+
result.push(this.wrapWithZodValidators('z.string()', field, inputType));
|
|
91
|
+
}
|
|
92
|
+
else if (inputType.type === 'Int' || inputType.type === 'Float' || inputType.type === 'Decimal') {
|
|
93
|
+
result.push(this.wrapWithZodValidators('z.number()', field, inputType));
|
|
94
|
+
}
|
|
95
|
+
else if (inputType.type === 'BigInt') {
|
|
96
|
+
result.push(this.wrapWithZodValidators('z.bigint()', field, inputType));
|
|
97
|
+
}
|
|
98
|
+
else if (inputType.type === 'Boolean') {
|
|
99
|
+
result.push(this.wrapWithZodValidators('z.boolean()', field, inputType));
|
|
100
|
+
}
|
|
101
|
+
else if (inputType.type === 'DateTime') {
|
|
102
|
+
result.push(this.wrapWithZodValidators('z.date()', field, inputType));
|
|
103
|
+
}
|
|
104
|
+
else if (inputType.type === 'Json') {
|
|
105
|
+
this.hasJson = true;
|
|
106
|
+
result.push(this.wrapWithZodValidators('jsonSchema', field, inputType));
|
|
107
|
+
}
|
|
108
|
+
else if (inputType.type === 'True') {
|
|
109
|
+
result.push(this.wrapWithZodValidators('z.literal(true)', field, inputType));
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
const isEnum = inputType.location === 'enumTypes';
|
|
113
|
+
if (inputType.namespace === 'prisma' || isEnum) {
|
|
114
|
+
if (inputType.type !== this.name && typeof inputType.type === 'string') {
|
|
115
|
+
this.addSchemaImport(inputType.type);
|
|
116
|
+
}
|
|
117
|
+
result.push(this.generatePrismaStringLine(field, inputType, lines.length));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return result;
|
|
121
|
+
}, []);
|
|
122
|
+
if (alternatives.length === 0) {
|
|
123
|
+
return [];
|
|
124
|
+
}
|
|
125
|
+
if (alternatives.length > 1) {
|
|
126
|
+
alternatives = alternatives.map((alter) => alter.replace('.optional()', ''));
|
|
127
|
+
}
|
|
128
|
+
const fieldName = alternatives.some((alt) => alt.includes(':')) ? '' : ` ${field.name}:`;
|
|
129
|
+
const opt = !field.isRequired ? '.optional()' : '';
|
|
130
|
+
let resString = alternatives.length === 1 ? alternatives.join(',\r\n') : `z.union([${alternatives.join(',\r\n')}])${opt}`;
|
|
131
|
+
if (field.isNullable) {
|
|
132
|
+
resString += '.nullable()';
|
|
133
|
+
}
|
|
134
|
+
return [[` ${fieldName} ${resString} `, field, true]];
|
|
135
|
+
}
|
|
136
|
+
wrapWithZodValidators(mainValidator, field, inputType) {
|
|
137
|
+
let line = '';
|
|
138
|
+
line = mainValidator;
|
|
139
|
+
if (inputType.isList) {
|
|
140
|
+
line += '.array()';
|
|
141
|
+
}
|
|
142
|
+
if (!field.isRequired) {
|
|
143
|
+
line += '.optional()';
|
|
144
|
+
}
|
|
145
|
+
return line;
|
|
146
|
+
}
|
|
147
|
+
addSchemaImport(name) {
|
|
148
|
+
this.schemaImports.add(name);
|
|
149
|
+
}
|
|
150
|
+
generatePrismaStringLine(field, inputType, inputsLength) {
|
|
151
|
+
const isEnum = inputType.location === 'enumTypes';
|
|
152
|
+
const { isModelQueryType, modelName, queryName } = this.checkIsModelQueryType(inputType.type);
|
|
153
|
+
const objectSchemaLine = isModelQueryType
|
|
154
|
+
? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
155
|
+
this.resolveModelQuerySchemaName(modelName, queryName)
|
|
156
|
+
: `${inputType.type}ObjectSchema`;
|
|
157
|
+
const enumSchemaLine = `${inputType.type}Schema`;
|
|
158
|
+
const schema = inputType.type === this.name ? objectSchemaLine : isEnum ? enumSchemaLine : objectSchemaLine;
|
|
159
|
+
const arr = inputType.isList ? '.array()' : '';
|
|
160
|
+
const opt = !field.isRequired ? '.optional()' : '';
|
|
161
|
+
return inputsLength === 1
|
|
162
|
+
? ` ${field.name}: z.lazy(() => ${schema})${arr}${opt}`
|
|
163
|
+
: `z.lazy(() => ${schema})${arr}${opt}`;
|
|
164
|
+
}
|
|
165
|
+
generateFieldValidators(zodStringWithMainType, field) {
|
|
166
|
+
const { isRequired, isNullable } = field;
|
|
167
|
+
if (!isRequired) {
|
|
168
|
+
zodStringWithMainType += '.optional()';
|
|
169
|
+
}
|
|
170
|
+
if (isNullable) {
|
|
171
|
+
zodStringWithMainType += '.nullable()';
|
|
172
|
+
}
|
|
173
|
+
return zodStringWithMainType;
|
|
174
|
+
}
|
|
175
|
+
prepareObjectSchema(zodObjectSchemaFields) {
|
|
176
|
+
const objectSchema = `${this.generateExportObjectSchemaStatement(this.addFinalWrappers({ zodStringFields: zodObjectSchemaFields }))}\n`;
|
|
177
|
+
const prismaImportStatement = this.generateImportPrismaStatement();
|
|
178
|
+
const json = this.generateJsonSchemaImplementation();
|
|
179
|
+
return `${this.generateObjectSchemaImportStatements()}${prismaImportStatement}${json}${objectSchema}`;
|
|
180
|
+
}
|
|
181
|
+
generateExportObjectSchemaStatement(schema) {
|
|
182
|
+
let name = this.name;
|
|
183
|
+
if ((0, dmmf_helpers_1.isAggregateInputType)(name)) {
|
|
184
|
+
name = `${name}Type`;
|
|
185
|
+
}
|
|
186
|
+
const end = `export const ${this.name}ObjectSchema = Schema`;
|
|
187
|
+
return `const Schema: z.ZodType<Omit<Prisma.${name}, ${sdk_1.AUXILIARY_FIELDS.map((f) => "'" + f + "'").join('|')}>> = ${schema};\n\n ${end}`;
|
|
188
|
+
}
|
|
189
|
+
addFinalWrappers({ zodStringFields }) {
|
|
190
|
+
const fields = [...zodStringFields];
|
|
191
|
+
return this.wrapWithZodObject(fields) + '.strict()';
|
|
192
|
+
}
|
|
193
|
+
generateImportPrismaStatement() {
|
|
194
|
+
let prismaClientImportPath;
|
|
195
|
+
if (Transformer.isCustomPrismaClientOutputPath) {
|
|
196
|
+
/**
|
|
197
|
+
* If a custom location was designated for the prisma client, we need to figure out the
|
|
198
|
+
* relative path from {outputPath}/objects to {prismaClientCustomPath}
|
|
199
|
+
*/
|
|
200
|
+
const fromPath = path_1.default.join(Transformer.outputPath, 'objects');
|
|
201
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
202
|
+
const toPath = Transformer.prismaClientOutputPath;
|
|
203
|
+
const relativePathFromOutputToPrismaClient = path_1.default
|
|
204
|
+
.relative(fromPath, toPath)
|
|
205
|
+
.split(path_1.default.sep)
|
|
206
|
+
.join(path_1.default.posix.sep);
|
|
207
|
+
prismaClientImportPath = relativePathFromOutputToPrismaClient;
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
/**
|
|
211
|
+
* If the default output path for prisma client (@prisma/client) is being used, we can import from it directly
|
|
212
|
+
* without having to resolve a relative path
|
|
213
|
+
*/
|
|
214
|
+
prismaClientImportPath = Transformer.prismaClientOutputPath;
|
|
215
|
+
}
|
|
216
|
+
return `import type { Prisma } from '${prismaClientImportPath}';\n\n`;
|
|
217
|
+
}
|
|
218
|
+
generateJsonSchemaImplementation() {
|
|
219
|
+
let jsonSchemaImplementation = '';
|
|
220
|
+
if (this.hasJson) {
|
|
221
|
+
jsonSchemaImplementation += `\n`;
|
|
222
|
+
jsonSchemaImplementation += `const literalSchema = z.union([z.string(), z.number(), z.boolean()]);\n`;
|
|
223
|
+
jsonSchemaImplementation += `const jsonSchema: z.ZodType<Prisma.InputJsonValue> = z.lazy(() =>\n`;
|
|
224
|
+
jsonSchemaImplementation += ` z.union([literalSchema, z.array(jsonSchema.nullable()), z.record(jsonSchema.nullable())])\n`;
|
|
225
|
+
jsonSchemaImplementation += `);\n\n`;
|
|
226
|
+
}
|
|
227
|
+
return jsonSchemaImplementation;
|
|
228
|
+
}
|
|
229
|
+
generateObjectSchemaImportStatements() {
|
|
230
|
+
let generatedImports = this.generateImportZodStatement();
|
|
231
|
+
generatedImports += this.generateSchemaImports();
|
|
232
|
+
generatedImports += '\n\n';
|
|
233
|
+
return generatedImports;
|
|
234
|
+
}
|
|
235
|
+
generateSchemaImports() {
|
|
236
|
+
return [...this.schemaImports]
|
|
237
|
+
.map((name) => {
|
|
238
|
+
const { isModelQueryType, modelName } = this.checkIsModelQueryType(name);
|
|
239
|
+
if (isModelQueryType) {
|
|
240
|
+
return `import { ${modelName}Schema } from '../${modelName}.schema'`;
|
|
241
|
+
}
|
|
242
|
+
else if (Transformer.enumNames.includes(name)) {
|
|
243
|
+
return `import { ${name}Schema } from '../enums/${name}.schema'`;
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
return `import { ${name}ObjectSchema } from './${name}.schema'`;
|
|
247
|
+
}
|
|
248
|
+
})
|
|
249
|
+
.join(';\r\n');
|
|
250
|
+
}
|
|
251
|
+
checkIsModelQueryType(type) {
|
|
252
|
+
const modelQueryTypeSuffixToQueryName = {
|
|
253
|
+
FindManyArgs: 'findMany',
|
|
254
|
+
};
|
|
255
|
+
for (const modelQueryType of ['FindManyArgs']) {
|
|
256
|
+
if (type.includes(modelQueryType)) {
|
|
257
|
+
const modelQueryTypeSuffixIndex = type.indexOf(modelQueryType);
|
|
258
|
+
return {
|
|
259
|
+
isModelQueryType: true,
|
|
260
|
+
modelName: type.substring(0, modelQueryTypeSuffixIndex),
|
|
261
|
+
queryName: modelQueryTypeSuffixToQueryName[modelQueryType],
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return { isModelQueryType: false };
|
|
266
|
+
}
|
|
267
|
+
resolveModelQuerySchemaName(modelName, queryName) {
|
|
268
|
+
const modelNameCapitalized = modelName.charAt(0).toUpperCase() + modelName.slice(1);
|
|
269
|
+
return `${modelNameCapitalized}Schema.${queryName}`;
|
|
270
|
+
}
|
|
271
|
+
wrapWithZodUnion(zodStringFields) {
|
|
272
|
+
let wrapped = '';
|
|
273
|
+
wrapped += 'z.union([';
|
|
274
|
+
wrapped += '\n';
|
|
275
|
+
wrapped += ' ' + zodStringFields.join(',');
|
|
276
|
+
wrapped += '\n';
|
|
277
|
+
wrapped += '])';
|
|
278
|
+
return wrapped;
|
|
279
|
+
}
|
|
280
|
+
wrapWithZodObject(zodStringFields) {
|
|
281
|
+
let wrapped = '';
|
|
282
|
+
wrapped += 'z.object({';
|
|
283
|
+
wrapped += '\n';
|
|
284
|
+
wrapped += ' ' + zodStringFields;
|
|
285
|
+
wrapped += '\n';
|
|
286
|
+
wrapped += '})';
|
|
287
|
+
return wrapped;
|
|
288
|
+
}
|
|
289
|
+
resolveObjectSchemaName() {
|
|
290
|
+
return this.name;
|
|
291
|
+
}
|
|
292
|
+
generateModelSchemas() {
|
|
293
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
294
|
+
const globalImports = [];
|
|
295
|
+
let globalExport = '';
|
|
296
|
+
for (const modelOperation of this.modelOperations) {
|
|
297
|
+
const { model: modelName, findUnique, findFirst, findMany,
|
|
298
|
+
// @ts-expect-error
|
|
299
|
+
createOne, createMany,
|
|
300
|
+
// @ts-expect-error
|
|
301
|
+
deleteOne,
|
|
302
|
+
// @ts-expect-error
|
|
303
|
+
updateOne, deleteMany, updateMany,
|
|
304
|
+
// @ts-expect-error
|
|
305
|
+
upsertOne, aggregate, groupBy,
|
|
306
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
307
|
+
} = modelOperation;
|
|
308
|
+
globalImports.push(`import { ${modelName}Schema } from './${modelName}.schema'`);
|
|
309
|
+
globalExport += `${modelName}: ${modelName}Schema,`;
|
|
310
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
311
|
+
const model = (0, dmmf_helpers_1.findModelByName)(this.models, modelName);
|
|
312
|
+
const { selectImport, includeImport, selectZodSchemaLineLazy, includeZodSchemaLineLazy } = this.resolveSelectIncludeImportAndZodSchemaLine(model);
|
|
313
|
+
let imports = [`import { z } from 'zod'`, selectImport, includeImport];
|
|
314
|
+
let codeBody = '';
|
|
315
|
+
if (findUnique) {
|
|
316
|
+
imports.push(`import { ${modelName}WhereUniqueInputObjectSchema } from './objects/${modelName}WhereUniqueInput.schema'`);
|
|
317
|
+
codeBody += `findUnique: z.object({ ${selectZodSchemaLineLazy} ${includeZodSchemaLineLazy} where: ${modelName}WhereUniqueInputObjectSchema }),`;
|
|
318
|
+
}
|
|
319
|
+
if (findFirst) {
|
|
320
|
+
imports.push(`import { ${modelName}WhereInputObjectSchema } from './objects/${modelName}WhereInput.schema'`, `import { ${modelName}OrderByWithRelationInputObjectSchema } from './objects/${modelName}OrderByWithRelationInput.schema'`, `import { ${modelName}WhereUniqueInputObjectSchema } from './objects/${modelName}WhereUniqueInput.schema'`, `import { ${modelName}ScalarFieldEnumSchema } from './enums/${modelName}ScalarFieldEnum.schema'`);
|
|
321
|
+
codeBody += `findFirst: z.object({ ${selectZodSchemaLineLazy} ${includeZodSchemaLineLazy} where: ${modelName}WhereInputObjectSchema.optional(), orderBy: z.union([${modelName}OrderByWithRelationInputObjectSchema, ${modelName}OrderByWithRelationInputObjectSchema.array()]).optional(), cursor: ${modelName}WhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.array(${modelName}ScalarFieldEnumSchema).optional() }),`;
|
|
322
|
+
}
|
|
323
|
+
if (findMany) {
|
|
324
|
+
imports.push(`import { ${modelName}WhereInputObjectSchema } from './objects/${modelName}WhereInput.schema'`, `import { ${modelName}OrderByWithRelationInputObjectSchema } from './objects/${modelName}OrderByWithRelationInput.schema'`, `import { ${modelName}WhereUniqueInputObjectSchema } from './objects/${modelName}WhereUniqueInput.schema'`, `import { ${modelName}ScalarFieldEnumSchema } from './enums/${modelName}ScalarFieldEnum.schema'`);
|
|
325
|
+
codeBody += `findMany: z.object({ ${selectZodSchemaLineLazy} ${includeZodSchemaLineLazy} where: ${modelName}WhereInputObjectSchema.optional(), orderBy: z.union([${modelName}OrderByWithRelationInputObjectSchema, ${modelName}OrderByWithRelationInputObjectSchema.array()]).optional(), cursor: ${modelName}WhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.array(${modelName}ScalarFieldEnumSchema).optional() }),`;
|
|
326
|
+
}
|
|
327
|
+
if (createOne) {
|
|
328
|
+
imports.push(`import { ${modelName}CreateInputObjectSchema } from './objects/${modelName}CreateInput.schema'`);
|
|
329
|
+
codeBody += `create: z.object({ ${selectZodSchemaLineLazy} ${includeZodSchemaLineLazy} data: ${modelName}CreateInputObjectSchema }),`;
|
|
330
|
+
}
|
|
331
|
+
if (createMany) {
|
|
332
|
+
imports.push(`import { ${modelName}CreateManyInputObjectSchema } from './objects/${modelName}CreateManyInput.schema'`);
|
|
333
|
+
codeBody += `createMany: z.object({ data: ${modelName}CreateManyInputObjectSchema }),`;
|
|
334
|
+
}
|
|
335
|
+
if (deleteOne) {
|
|
336
|
+
imports.push(`import { ${modelName}WhereUniqueInputObjectSchema } from './objects/${modelName}WhereUniqueInput.schema'`);
|
|
337
|
+
codeBody += `'delete': z.object({ ${selectZodSchemaLineLazy} ${includeZodSchemaLineLazy} where: ${modelName}WhereUniqueInputObjectSchema }),`;
|
|
338
|
+
}
|
|
339
|
+
if (deleteMany) {
|
|
340
|
+
imports.push(`import { ${modelName}WhereInputObjectSchema } from './objects/${modelName}WhereInput.schema'`);
|
|
341
|
+
codeBody += `deleteMany: z.object({ where: ${modelName}WhereInputObjectSchema.optional() }),`;
|
|
342
|
+
}
|
|
343
|
+
if (updateOne) {
|
|
344
|
+
imports.push(`import { ${modelName}UpdateInputObjectSchema } from './objects/${modelName}UpdateInput.schema'`, `import { ${modelName}WhereUniqueInputObjectSchema } from './objects/${modelName}WhereUniqueInput.schema'`);
|
|
345
|
+
codeBody += `update: z.object({ ${selectZodSchemaLineLazy} ${includeZodSchemaLineLazy} data: ${modelName}UpdateInputObjectSchema, where: ${modelName}WhereUniqueInputObjectSchema }),`;
|
|
346
|
+
}
|
|
347
|
+
if (updateMany) {
|
|
348
|
+
imports.push(`import { ${modelName}UpdateManyMutationInputObjectSchema } from './objects/${modelName}UpdateManyMutationInput.schema'`, `import { ${modelName}WhereInputObjectSchema } from './objects/${modelName}WhereInput.schema'`);
|
|
349
|
+
codeBody += `updateMany: z.object({ data: ${modelName}UpdateManyMutationInputObjectSchema, where: ${modelName}WhereInputObjectSchema.optional() }),`;
|
|
350
|
+
}
|
|
351
|
+
if (upsertOne) {
|
|
352
|
+
imports.push(`import { ${modelName}WhereUniqueInputObjectSchema } from './objects/${modelName}WhereUniqueInput.schema'`, `import { ${modelName}CreateInputObjectSchema } from './objects/${modelName}CreateInput.schema'`, `import { ${modelName}UpdateInputObjectSchema } from './objects/${modelName}UpdateInput.schema'`);
|
|
353
|
+
codeBody += `upsert: z.object({ ${selectZodSchemaLineLazy} ${includeZodSchemaLineLazy} where: ${modelName}WhereUniqueInputObjectSchema, create: ${modelName}CreateInputObjectSchema, update: ${modelName}UpdateInputObjectSchema }),`;
|
|
354
|
+
}
|
|
355
|
+
const aggregateOperations = [];
|
|
356
|
+
if (this.aggregateOperationSupport[modelName].count) {
|
|
357
|
+
imports.push(`import { ${modelName}CountAggregateInputObjectSchema } from './objects/${modelName}CountAggregateInput.schema'`);
|
|
358
|
+
aggregateOperations.push(`_count: z.union([ z.literal(true), ${modelName}CountAggregateInputObjectSchema ]).optional()`);
|
|
359
|
+
}
|
|
360
|
+
if (this.aggregateOperationSupport[modelName].min) {
|
|
361
|
+
imports.push(`import { ${modelName}MinAggregateInputObjectSchema } from './objects/${modelName}MinAggregateInput.schema'`);
|
|
362
|
+
aggregateOperations.push(`_min: ${modelName}MinAggregateInputObjectSchema.optional()`);
|
|
363
|
+
}
|
|
364
|
+
if (this.aggregateOperationSupport[modelName].max) {
|
|
365
|
+
imports.push(`import { ${modelName}MaxAggregateInputObjectSchema } from './objects/${modelName}MaxAggregateInput.schema'`);
|
|
366
|
+
aggregateOperations.push(`_max: ${modelName}MaxAggregateInputObjectSchema.optional()`);
|
|
367
|
+
}
|
|
368
|
+
if (this.aggregateOperationSupport[modelName].avg) {
|
|
369
|
+
imports.push(`import { ${modelName}AvgAggregateInputObjectSchema } from './objects/${modelName}AvgAggregateInput.schema'`);
|
|
370
|
+
aggregateOperations.push(`_avg: ${modelName}AvgAggregateInputObjectSchema.optional()`);
|
|
371
|
+
}
|
|
372
|
+
if (this.aggregateOperationSupport[modelName].sum) {
|
|
373
|
+
imports.push(`import { ${modelName}SumAggregateInputObjectSchema } from './objects/${modelName}SumAggregateInput.schema'`);
|
|
374
|
+
aggregateOperations.push(`_sum: ${modelName}SumAggregateInputObjectSchema.optional()`);
|
|
375
|
+
}
|
|
376
|
+
if (aggregate) {
|
|
377
|
+
imports.push(`import { ${modelName}WhereInputObjectSchema } from './objects/${modelName}WhereInput.schema'`, `import { ${modelName}OrderByWithRelationInputObjectSchema } from './objects/${modelName}OrderByWithRelationInput.schema'`, `import { ${modelName}WhereUniqueInputObjectSchema } from './objects/${modelName}WhereUniqueInput.schema'`);
|
|
378
|
+
codeBody += `aggregate: z.object({ where: ${modelName}WhereInputObjectSchema.optional(), orderBy: z.union([${modelName}OrderByWithRelationInputObjectSchema, ${modelName}OrderByWithRelationInputObjectSchema.array()]).optional(), cursor: ${modelName}WhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), ${aggregateOperations.join(', ')} }),`;
|
|
379
|
+
}
|
|
380
|
+
if (groupBy) {
|
|
381
|
+
imports.push(`import { ${modelName}WhereInputObjectSchema } from './objects/${modelName}WhereInput.schema'`, `import { ${modelName}OrderByWithAggregationInputObjectSchema } from './objects/${modelName}OrderByWithAggregationInput.schema'`, `import { ${modelName}ScalarWhereWithAggregatesInputObjectSchema } from './objects/${modelName}ScalarWhereWithAggregatesInput.schema'`, `import { ${modelName}ScalarFieldEnumSchema } from './enums/${modelName}ScalarFieldEnum.schema'`);
|
|
382
|
+
codeBody += `groupBy: z.object({ where: ${modelName}WhereInputObjectSchema.optional(), orderBy: z.union([${modelName}OrderByWithAggregationInputObjectSchema, ${modelName}OrderByWithAggregationInputObjectSchema.array()]).optional(), having: ${modelName}ScalarWhereWithAggregatesInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), by: z.array(${modelName}ScalarFieldEnumSchema), ${aggregateOperations.join(', ')} }),`;
|
|
383
|
+
}
|
|
384
|
+
imports = [...new Set(imports)];
|
|
385
|
+
const filePath = path_1.default.join(Transformer.outputPath, `${modelName}.schema.ts`);
|
|
386
|
+
const content = `
|
|
387
|
+
/* eslint-disable */
|
|
388
|
+
${imports.join(';\n')}
|
|
389
|
+
|
|
390
|
+
export const ${modelName}Schema = {
|
|
391
|
+
${(0, utils_1.default)(codeBody, 4)}
|
|
392
|
+
};
|
|
393
|
+
`;
|
|
394
|
+
this.project.createSourceFile(filePath, content, { overwrite: true });
|
|
395
|
+
}
|
|
396
|
+
const indexFilePath = path_1.default.join(Transformer.outputPath, 'index.ts');
|
|
397
|
+
const indexContent = `
|
|
398
|
+
/* eslint-disable */
|
|
399
|
+
${globalImports.join(';\n')}
|
|
400
|
+
|
|
401
|
+
const schemas = {
|
|
402
|
+
${(0, utils_1.default)(globalExport, 4)}
|
|
403
|
+
};
|
|
404
|
+
|
|
405
|
+
export default schemas;
|
|
406
|
+
`;
|
|
407
|
+
this.project.createSourceFile(indexFilePath, indexContent, { overwrite: true });
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
generateImportStatements(imports) {
|
|
411
|
+
var _a;
|
|
412
|
+
let generatedImports = this.generateImportZodStatement();
|
|
413
|
+
generatedImports += (_a = imports === null || imports === void 0 ? void 0 : imports.filter((importItem) => !!importItem).join(';\r\n')) !== null && _a !== void 0 ? _a : '';
|
|
414
|
+
generatedImports += '\n\n';
|
|
415
|
+
return generatedImports;
|
|
416
|
+
}
|
|
417
|
+
resolveSelectIncludeImportAndZodSchemaLine(model) {
|
|
418
|
+
const { name: modelName } = model;
|
|
419
|
+
const hasRelationToAnotherModel = (0, dmmf_helpers_1.checkModelHasModelRelation)(model);
|
|
420
|
+
const selectImport = `import { ${modelName}SelectObjectSchema } from './objects/${modelName}Select.schema'`;
|
|
421
|
+
const includeImport = hasRelationToAnotherModel
|
|
422
|
+
? `import { ${modelName}IncludeObjectSchema } from './objects/${modelName}Include.schema'`
|
|
423
|
+
: '';
|
|
424
|
+
let selectZodSchemaLine = '';
|
|
425
|
+
let includeZodSchemaLine = '';
|
|
426
|
+
let selectZodSchemaLineLazy = '';
|
|
427
|
+
let includeZodSchemaLineLazy = '';
|
|
428
|
+
const zodSelectObjectSchema = `${modelName}SelectObjectSchema.optional()`;
|
|
429
|
+
selectZodSchemaLine = `select: ${zodSelectObjectSchema},`;
|
|
430
|
+
selectZodSchemaLineLazy = `select: z.lazy(() => ${zodSelectObjectSchema}),`;
|
|
431
|
+
if (hasRelationToAnotherModel) {
|
|
432
|
+
const zodIncludeObjectSchema = `${modelName}IncludeObjectSchema.optional()`;
|
|
433
|
+
includeZodSchemaLine = `include: ${zodIncludeObjectSchema},`;
|
|
434
|
+
includeZodSchemaLineLazy = `include: z.lazy(() => ${zodIncludeObjectSchema}),`;
|
|
435
|
+
}
|
|
436
|
+
return {
|
|
437
|
+
selectImport,
|
|
438
|
+
includeImport,
|
|
439
|
+
selectZodSchemaLine,
|
|
440
|
+
includeZodSchemaLine,
|
|
441
|
+
selectZodSchemaLineLazy,
|
|
442
|
+
includeZodSchemaLineLazy,
|
|
443
|
+
};
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
exports.default = Transformer;
|
|
447
|
+
Transformer.enumNames = [];
|
|
448
|
+
Transformer.rawOpsMap = {};
|
|
449
|
+
Transformer.outputPath = './generated';
|
|
450
|
+
Transformer.prismaClientOutputPath = '@prisma/client';
|
|
451
|
+
Transformer.isCustomPrismaClientOutputPath = false;
|
|
452
|
+
//# sourceMappingURL=transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/plugins/zod/transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DMMF as PrismaDMMF } from '@prisma/generator-helper';
|
|
2
|
+
import { Project } from 'ts-morph';
|
|
3
|
+
export declare type TransformerParams = {
|
|
4
|
+
enumTypes?: PrismaDMMF.SchemaEnum[];
|
|
5
|
+
fields?: PrismaDMMF.SchemaArg[];
|
|
6
|
+
name?: string;
|
|
7
|
+
models?: PrismaDMMF.Model[];
|
|
8
|
+
modelOperations?: PrismaDMMF.ModelMapping[];
|
|
9
|
+
aggregateOperationSupport?: AggregateOperationSupport;
|
|
10
|
+
isDefaultPrismaClientOutput?: boolean;
|
|
11
|
+
prismaClientOutputPath?: string;
|
|
12
|
+
project: Project;
|
|
13
|
+
};
|
|
14
|
+
export declare type AggregateOperationSupport = {
|
|
15
|
+
[model: string]: {
|
|
16
|
+
count?: boolean;
|
|
17
|
+
min?: boolean;
|
|
18
|
+
max?: boolean;
|
|
19
|
+
sum?: boolean;
|
|
20
|
+
avg?: boolean;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/zod/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function removeDir(dirPath: string, onlyContent: boolean): Promise<void>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const path_1 = __importDefault(require("path"));
|
|
16
|
+
const fs_1 = require("fs");
|
|
17
|
+
function removeDir(dirPath, onlyContent) {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
const dirEntries = yield fs_1.promises.readdir(dirPath, { withFileTypes: true });
|
|
20
|
+
yield Promise.all(dirEntries.map((dirEntry) => __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const fullPath = path_1.default.join(dirPath, dirEntry.name);
|
|
22
|
+
return dirEntry.isDirectory() ? yield removeDir(fullPath, false) : yield fs_1.promises.unlink(fullPath);
|
|
23
|
+
})));
|
|
24
|
+
if (!onlyContent) {
|
|
25
|
+
yield fs_1.promises.rmdir(dirPath);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
exports.default = removeDir;
|
|
30
|
+
//# sourceMappingURL=removeDir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeDir.js","sourceRoot":"","sources":["../../../../src/plugins/zod/utils/removeDir.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,2BAAoC;AAEpC,SAA8B,SAAS,CAAC,OAAe,EAAE,WAAoB;;QACzE,MAAM,UAAU,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,OAAO,CAAC,GAAG,CACb,UAAU,CAAC,GAAG,CAAC,CAAO,QAAQ,EAAE,EAAE;YAC9B,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,aAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjG,CAAC,CAAA,CAAC,CACL,CAAC;QACF,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,aAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC3B;IACL,CAAC;CAAA;AAXD,4BAWC"}
|
package/res/stdlib.zmodel
CHANGED
|
@@ -153,6 +153,16 @@ attribute @map(_ name: String) @@@prisma
|
|
|
153
153
|
*/
|
|
154
154
|
attribute @@map(_ name: String) @@@prisma
|
|
155
155
|
|
|
156
|
+
/*
|
|
157
|
+
* Exclude a field from the Prisma Client (for example, a model that you do not want Prisma users to update).
|
|
158
|
+
*/
|
|
159
|
+
attribute @ignore() @@@prisma
|
|
160
|
+
|
|
161
|
+
/*
|
|
162
|
+
* Exclude a model from the Prisma Client (for example, a model that you do not want Prisma users to update).
|
|
163
|
+
*/
|
|
164
|
+
attribute @@ignore() @@@prisma
|
|
165
|
+
|
|
156
166
|
/*
|
|
157
167
|
* Automatically stores the time when a record was last updated.
|
|
158
168
|
*/
|