@zenstackhq/sdk 3.0.0-alpha.2 → 3.0.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +397 -249
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +45 -32
- package/dist/index.d.ts +45 -32
- package/dist/index.js +409 -261
- package/dist/index.js.map +1 -1
- package/dist/schema.d.cts +47 -20
- package/dist/schema.d.ts +47 -20
- package/package.json +9 -11
package/dist/index.d.cts
CHANGED
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
import * as _zenstackhq_language_ast from '@zenstackhq/language/ast';
|
|
2
|
-
import {
|
|
2
|
+
import { DataField, DataModel, TypeDef, Enum, EnumField, FunctionDecl, Attribute, AttributeParam, DataFieldAttribute, DataModelAttribute, AstNode, Model, Reference, InvocationExpr } from '@zenstackhq/language/ast';
|
|
3
|
+
import { AttributeTarget } from '@zenstackhq/language/utils';
|
|
4
|
+
import { MaybePromise } from 'langium';
|
|
3
5
|
|
|
4
|
-
declare function isIdField(field:
|
|
5
|
-
declare function hasAttribute(decl: DataModel | TypeDef |
|
|
6
|
-
declare function getAttribute(decl:
|
|
7
|
-
/**
|
|
8
|
-
* Gets `@@id` fields declared at the data model level (including search in base models)
|
|
9
|
-
*/
|
|
10
|
-
declare function getModelIdFields(model: DataModel): DataModelField[];
|
|
11
|
-
/**
|
|
12
|
-
* Gets `@@unique` fields declared at the data model level (including search in base models)
|
|
13
|
-
*/
|
|
14
|
-
declare function getModelUniqueFields(model: DataModel): DataModelField[];
|
|
15
|
-
declare function getRecursiveBases(dataModel: DataModel, includeDelegate?: boolean, seen?: Set<DataModel>): DataModel[];
|
|
6
|
+
declare function isIdField(field: DataField, contextModel: DataModel): boolean;
|
|
7
|
+
declare function hasAttribute(decl: DataModel | TypeDef | DataField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): boolean;
|
|
8
|
+
declare function getAttribute(decl: AttributeTarget, name: string): DataFieldAttribute | DataModelAttribute | undefined;
|
|
16
9
|
declare function isDelegateModel(node: AstNode): boolean;
|
|
17
|
-
declare function isUniqueField(field:
|
|
10
|
+
declare function isUniqueField(field: DataField): boolean;
|
|
18
11
|
declare function isFromStdlib(node: AstNode): boolean;
|
|
19
12
|
declare function getContainingModel(node: AstNode | undefined): Model | null;
|
|
20
13
|
declare function resolved<T extends AstNode>(ref: Reference<T>): T;
|
|
21
14
|
declare function getAuthDecl(model: Model): _zenstackhq_language_ast.AbstractDeclaration | undefined;
|
|
15
|
+
declare function getIdFields(dm: DataModel): string[];
|
|
16
|
+
/**
|
|
17
|
+
* Prefix for auxiliary relation fields generated for delegated models
|
|
18
|
+
*/
|
|
19
|
+
declare const DELEGATE_AUX_RELATION_PREFIX = "delegate_aux";
|
|
22
20
|
|
|
21
|
+
declare const modelUtils_DELEGATE_AUX_RELATION_PREFIX: typeof DELEGATE_AUX_RELATION_PREFIX;
|
|
23
22
|
declare const modelUtils_getAttribute: typeof getAttribute;
|
|
24
23
|
declare const modelUtils_getAuthDecl: typeof getAuthDecl;
|
|
25
24
|
declare const modelUtils_getContainingModel: typeof getContainingModel;
|
|
26
|
-
declare const
|
|
27
|
-
declare const modelUtils_getModelUniqueFields: typeof getModelUniqueFields;
|
|
28
|
-
declare const modelUtils_getRecursiveBases: typeof getRecursiveBases;
|
|
25
|
+
declare const modelUtils_getIdFields: typeof getIdFields;
|
|
29
26
|
declare const modelUtils_hasAttribute: typeof hasAttribute;
|
|
30
27
|
declare const modelUtils_isDelegateModel: typeof isDelegateModel;
|
|
31
28
|
declare const modelUtils_isFromStdlib: typeof isFromStdlib;
|
|
@@ -33,9 +30,16 @@ declare const modelUtils_isIdField: typeof isIdField;
|
|
|
33
30
|
declare const modelUtils_isUniqueField: typeof isUniqueField;
|
|
34
31
|
declare const modelUtils_resolved: typeof resolved;
|
|
35
32
|
declare namespace modelUtils {
|
|
36
|
-
export { modelUtils_getAttribute as getAttribute, modelUtils_getAuthDecl as getAuthDecl, modelUtils_getContainingModel as getContainingModel,
|
|
33
|
+
export { modelUtils_DELEGATE_AUX_RELATION_PREFIX as DELEGATE_AUX_RELATION_PREFIX, modelUtils_getAttribute as getAttribute, modelUtils_getAuthDecl as getAuthDecl, modelUtils_getContainingModel as getContainingModel, modelUtils_getIdFields as getIdFields, modelUtils_hasAttribute as hasAttribute, modelUtils_isDelegateModel as isDelegateModel, modelUtils_isFromStdlib as isFromStdlib, modelUtils_isIdField as isIdField, modelUtils_isUniqueField as isUniqueField, modelUtils_resolved as resolved };
|
|
37
34
|
}
|
|
38
35
|
|
|
36
|
+
type CliGeneratorContext = {
|
|
37
|
+
model: Model;
|
|
38
|
+
outputPath: string;
|
|
39
|
+
tsSchemaFile: string;
|
|
40
|
+
};
|
|
41
|
+
type CliGenerator = (context: CliGeneratorContext) => MaybePromise<void>;
|
|
42
|
+
|
|
39
43
|
declare class FunctionCall {
|
|
40
44
|
func: string;
|
|
41
45
|
args: FunctionCallArg[];
|
|
@@ -54,6 +58,7 @@ declare class FunctionCallArg {
|
|
|
54
58
|
declare class PrismaSchemaGenerator {
|
|
55
59
|
private readonly zmodel;
|
|
56
60
|
private readonly PRELUDE;
|
|
61
|
+
private shortNameMap;
|
|
57
62
|
constructor(zmodel: Model);
|
|
58
63
|
generate(): Promise<string>;
|
|
59
64
|
private generateDataSource;
|
|
@@ -69,7 +74,6 @@ declare class PrismaSchemaGenerator {
|
|
|
69
74
|
private generateModelField;
|
|
70
75
|
private isDefaultWithPluginInvocation;
|
|
71
76
|
private isFromPlugin;
|
|
72
|
-
private setDummyDefault;
|
|
73
77
|
private isInheritedFromDelegate;
|
|
74
78
|
private makeFieldAttribute;
|
|
75
79
|
private makeAttributeArg;
|
|
@@ -79,23 +83,30 @@ declare class PrismaSchemaGenerator {
|
|
|
79
83
|
private generateContainerAttribute;
|
|
80
84
|
private generateEnum;
|
|
81
85
|
private generateEnumField;
|
|
86
|
+
private generateDelegateRelationForBase;
|
|
87
|
+
private generateDelegateRelationForConcrete;
|
|
88
|
+
private getConcreteModels;
|
|
89
|
+
private truncate;
|
|
82
90
|
}
|
|
83
91
|
|
|
84
92
|
declare class TsSchemaGenerator {
|
|
85
|
-
generate(schemaFile: string, pluginModelFiles: string[],
|
|
86
|
-
|
|
87
|
-
warnings: string[];
|
|
88
|
-
}>;
|
|
93
|
+
generate(schemaFile: string, pluginModelFiles: string[], outputDir: string): Promise<void>;
|
|
94
|
+
private generateSchema;
|
|
89
95
|
private generateSchemaStatements;
|
|
90
96
|
private createSchemaObject;
|
|
91
97
|
private createProviderObject;
|
|
92
98
|
private createModelsObject;
|
|
99
|
+
private createTypeDefsObject;
|
|
93
100
|
private createDataModelObject;
|
|
101
|
+
private getSubModels;
|
|
102
|
+
private createTypeDefObject;
|
|
94
103
|
private createComputedFieldsObject;
|
|
95
|
-
private
|
|
96
|
-
private
|
|
104
|
+
private mapFieldTypeToTSType;
|
|
105
|
+
private createDataFieldObject;
|
|
106
|
+
private isDiscriminatorField;
|
|
97
107
|
private getDataSourceProvider;
|
|
98
|
-
private
|
|
108
|
+
private getFieldMappedDefault;
|
|
109
|
+
private getMappedValue;
|
|
99
110
|
private getMemberAccessChain;
|
|
100
111
|
private isAuthMemberAccess;
|
|
101
112
|
private isAuthInvocation;
|
|
@@ -104,12 +115,11 @@ declare class TsSchemaGenerator {
|
|
|
104
115
|
private getForeignKeyFor;
|
|
105
116
|
private getOppositeRelationField;
|
|
106
117
|
private getRelationName;
|
|
107
|
-
private getIdFields;
|
|
108
118
|
private createUniqueFieldsObject;
|
|
119
|
+
private generateFieldTypeLiteral;
|
|
109
120
|
private createEnumObject;
|
|
110
121
|
private getLiteral;
|
|
111
122
|
private createLiteralNode;
|
|
112
|
-
private createDialectConfigProvider;
|
|
113
123
|
private createProceduresObject;
|
|
114
124
|
private createProcedureObject;
|
|
115
125
|
private generateBannerComments;
|
|
@@ -125,6 +135,10 @@ declare class TsSchemaGenerator {
|
|
|
125
135
|
private createRefExpression;
|
|
126
136
|
private createCallExpression;
|
|
127
137
|
private createLiteralExpression;
|
|
138
|
+
private generateModelsAndTypeDefs;
|
|
139
|
+
private generateSchemaImport;
|
|
140
|
+
private generateDocs;
|
|
141
|
+
private generateInputTypes;
|
|
128
142
|
}
|
|
129
143
|
|
|
130
144
|
/**
|
|
@@ -157,10 +171,10 @@ declare class ZModelCodeGenerator {
|
|
|
157
171
|
private _generatePlugin;
|
|
158
172
|
private _generatePluginField;
|
|
159
173
|
private _generateDataModel;
|
|
160
|
-
private
|
|
174
|
+
private _generateDataField;
|
|
161
175
|
private fieldType;
|
|
162
176
|
private _generateDataModelAttribute;
|
|
163
|
-
private
|
|
177
|
+
private _generateDataFieldAttribute;
|
|
164
178
|
private attribute;
|
|
165
179
|
private _generateAttributeArg;
|
|
166
180
|
private _generateObjectExpr;
|
|
@@ -184,7 +198,6 @@ declare class ZModelCodeGenerator {
|
|
|
184
198
|
private _generateFunctionParam;
|
|
185
199
|
private _generateFunctionParamType;
|
|
186
200
|
private _generateTypeDef;
|
|
187
|
-
private _generateTypeDefField;
|
|
188
201
|
private argument;
|
|
189
202
|
private get binaryExprSpace();
|
|
190
203
|
private get unaryExprSpace();
|
|
@@ -193,4 +206,4 @@ declare class ZModelCodeGenerator {
|
|
|
193
206
|
private isCollectionPredicateOperator;
|
|
194
207
|
}
|
|
195
208
|
|
|
196
|
-
export { modelUtils as ModelUtils, PrismaSchemaGenerator, TsSchemaGenerator, ZModelCodeGenerator, type ZModelCodeOptions };
|
|
209
|
+
export { type CliGenerator, type CliGeneratorContext, modelUtils as ModelUtils, PrismaSchemaGenerator, TsSchemaGenerator, ZModelCodeGenerator, type ZModelCodeOptions };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
import * as _zenstackhq_language_ast from '@zenstackhq/language/ast';
|
|
2
|
-
import {
|
|
2
|
+
import { DataField, DataModel, TypeDef, Enum, EnumField, FunctionDecl, Attribute, AttributeParam, DataFieldAttribute, DataModelAttribute, AstNode, Model, Reference, InvocationExpr } from '@zenstackhq/language/ast';
|
|
3
|
+
import { AttributeTarget } from '@zenstackhq/language/utils';
|
|
4
|
+
import { MaybePromise } from 'langium';
|
|
3
5
|
|
|
4
|
-
declare function isIdField(field:
|
|
5
|
-
declare function hasAttribute(decl: DataModel | TypeDef |
|
|
6
|
-
declare function getAttribute(decl:
|
|
7
|
-
/**
|
|
8
|
-
* Gets `@@id` fields declared at the data model level (including search in base models)
|
|
9
|
-
*/
|
|
10
|
-
declare function getModelIdFields(model: DataModel): DataModelField[];
|
|
11
|
-
/**
|
|
12
|
-
* Gets `@@unique` fields declared at the data model level (including search in base models)
|
|
13
|
-
*/
|
|
14
|
-
declare function getModelUniqueFields(model: DataModel): DataModelField[];
|
|
15
|
-
declare function getRecursiveBases(dataModel: DataModel, includeDelegate?: boolean, seen?: Set<DataModel>): DataModel[];
|
|
6
|
+
declare function isIdField(field: DataField, contextModel: DataModel): boolean;
|
|
7
|
+
declare function hasAttribute(decl: DataModel | TypeDef | DataField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): boolean;
|
|
8
|
+
declare function getAttribute(decl: AttributeTarget, name: string): DataFieldAttribute | DataModelAttribute | undefined;
|
|
16
9
|
declare function isDelegateModel(node: AstNode): boolean;
|
|
17
|
-
declare function isUniqueField(field:
|
|
10
|
+
declare function isUniqueField(field: DataField): boolean;
|
|
18
11
|
declare function isFromStdlib(node: AstNode): boolean;
|
|
19
12
|
declare function getContainingModel(node: AstNode | undefined): Model | null;
|
|
20
13
|
declare function resolved<T extends AstNode>(ref: Reference<T>): T;
|
|
21
14
|
declare function getAuthDecl(model: Model): _zenstackhq_language_ast.AbstractDeclaration | undefined;
|
|
15
|
+
declare function getIdFields(dm: DataModel): string[];
|
|
16
|
+
/**
|
|
17
|
+
* Prefix for auxiliary relation fields generated for delegated models
|
|
18
|
+
*/
|
|
19
|
+
declare const DELEGATE_AUX_RELATION_PREFIX = "delegate_aux";
|
|
22
20
|
|
|
21
|
+
declare const modelUtils_DELEGATE_AUX_RELATION_PREFIX: typeof DELEGATE_AUX_RELATION_PREFIX;
|
|
23
22
|
declare const modelUtils_getAttribute: typeof getAttribute;
|
|
24
23
|
declare const modelUtils_getAuthDecl: typeof getAuthDecl;
|
|
25
24
|
declare const modelUtils_getContainingModel: typeof getContainingModel;
|
|
26
|
-
declare const
|
|
27
|
-
declare const modelUtils_getModelUniqueFields: typeof getModelUniqueFields;
|
|
28
|
-
declare const modelUtils_getRecursiveBases: typeof getRecursiveBases;
|
|
25
|
+
declare const modelUtils_getIdFields: typeof getIdFields;
|
|
29
26
|
declare const modelUtils_hasAttribute: typeof hasAttribute;
|
|
30
27
|
declare const modelUtils_isDelegateModel: typeof isDelegateModel;
|
|
31
28
|
declare const modelUtils_isFromStdlib: typeof isFromStdlib;
|
|
@@ -33,9 +30,16 @@ declare const modelUtils_isIdField: typeof isIdField;
|
|
|
33
30
|
declare const modelUtils_isUniqueField: typeof isUniqueField;
|
|
34
31
|
declare const modelUtils_resolved: typeof resolved;
|
|
35
32
|
declare namespace modelUtils {
|
|
36
|
-
export { modelUtils_getAttribute as getAttribute, modelUtils_getAuthDecl as getAuthDecl, modelUtils_getContainingModel as getContainingModel,
|
|
33
|
+
export { modelUtils_DELEGATE_AUX_RELATION_PREFIX as DELEGATE_AUX_RELATION_PREFIX, modelUtils_getAttribute as getAttribute, modelUtils_getAuthDecl as getAuthDecl, modelUtils_getContainingModel as getContainingModel, modelUtils_getIdFields as getIdFields, modelUtils_hasAttribute as hasAttribute, modelUtils_isDelegateModel as isDelegateModel, modelUtils_isFromStdlib as isFromStdlib, modelUtils_isIdField as isIdField, modelUtils_isUniqueField as isUniqueField, modelUtils_resolved as resolved };
|
|
37
34
|
}
|
|
38
35
|
|
|
36
|
+
type CliGeneratorContext = {
|
|
37
|
+
model: Model;
|
|
38
|
+
outputPath: string;
|
|
39
|
+
tsSchemaFile: string;
|
|
40
|
+
};
|
|
41
|
+
type CliGenerator = (context: CliGeneratorContext) => MaybePromise<void>;
|
|
42
|
+
|
|
39
43
|
declare class FunctionCall {
|
|
40
44
|
func: string;
|
|
41
45
|
args: FunctionCallArg[];
|
|
@@ -54,6 +58,7 @@ declare class FunctionCallArg {
|
|
|
54
58
|
declare class PrismaSchemaGenerator {
|
|
55
59
|
private readonly zmodel;
|
|
56
60
|
private readonly PRELUDE;
|
|
61
|
+
private shortNameMap;
|
|
57
62
|
constructor(zmodel: Model);
|
|
58
63
|
generate(): Promise<string>;
|
|
59
64
|
private generateDataSource;
|
|
@@ -69,7 +74,6 @@ declare class PrismaSchemaGenerator {
|
|
|
69
74
|
private generateModelField;
|
|
70
75
|
private isDefaultWithPluginInvocation;
|
|
71
76
|
private isFromPlugin;
|
|
72
|
-
private setDummyDefault;
|
|
73
77
|
private isInheritedFromDelegate;
|
|
74
78
|
private makeFieldAttribute;
|
|
75
79
|
private makeAttributeArg;
|
|
@@ -79,23 +83,30 @@ declare class PrismaSchemaGenerator {
|
|
|
79
83
|
private generateContainerAttribute;
|
|
80
84
|
private generateEnum;
|
|
81
85
|
private generateEnumField;
|
|
86
|
+
private generateDelegateRelationForBase;
|
|
87
|
+
private generateDelegateRelationForConcrete;
|
|
88
|
+
private getConcreteModels;
|
|
89
|
+
private truncate;
|
|
82
90
|
}
|
|
83
91
|
|
|
84
92
|
declare class TsSchemaGenerator {
|
|
85
|
-
generate(schemaFile: string, pluginModelFiles: string[],
|
|
86
|
-
|
|
87
|
-
warnings: string[];
|
|
88
|
-
}>;
|
|
93
|
+
generate(schemaFile: string, pluginModelFiles: string[], outputDir: string): Promise<void>;
|
|
94
|
+
private generateSchema;
|
|
89
95
|
private generateSchemaStatements;
|
|
90
96
|
private createSchemaObject;
|
|
91
97
|
private createProviderObject;
|
|
92
98
|
private createModelsObject;
|
|
99
|
+
private createTypeDefsObject;
|
|
93
100
|
private createDataModelObject;
|
|
101
|
+
private getSubModels;
|
|
102
|
+
private createTypeDefObject;
|
|
94
103
|
private createComputedFieldsObject;
|
|
95
|
-
private
|
|
96
|
-
private
|
|
104
|
+
private mapFieldTypeToTSType;
|
|
105
|
+
private createDataFieldObject;
|
|
106
|
+
private isDiscriminatorField;
|
|
97
107
|
private getDataSourceProvider;
|
|
98
|
-
private
|
|
108
|
+
private getFieldMappedDefault;
|
|
109
|
+
private getMappedValue;
|
|
99
110
|
private getMemberAccessChain;
|
|
100
111
|
private isAuthMemberAccess;
|
|
101
112
|
private isAuthInvocation;
|
|
@@ -104,12 +115,11 @@ declare class TsSchemaGenerator {
|
|
|
104
115
|
private getForeignKeyFor;
|
|
105
116
|
private getOppositeRelationField;
|
|
106
117
|
private getRelationName;
|
|
107
|
-
private getIdFields;
|
|
108
118
|
private createUniqueFieldsObject;
|
|
119
|
+
private generateFieldTypeLiteral;
|
|
109
120
|
private createEnumObject;
|
|
110
121
|
private getLiteral;
|
|
111
122
|
private createLiteralNode;
|
|
112
|
-
private createDialectConfigProvider;
|
|
113
123
|
private createProceduresObject;
|
|
114
124
|
private createProcedureObject;
|
|
115
125
|
private generateBannerComments;
|
|
@@ -125,6 +135,10 @@ declare class TsSchemaGenerator {
|
|
|
125
135
|
private createRefExpression;
|
|
126
136
|
private createCallExpression;
|
|
127
137
|
private createLiteralExpression;
|
|
138
|
+
private generateModelsAndTypeDefs;
|
|
139
|
+
private generateSchemaImport;
|
|
140
|
+
private generateDocs;
|
|
141
|
+
private generateInputTypes;
|
|
128
142
|
}
|
|
129
143
|
|
|
130
144
|
/**
|
|
@@ -157,10 +171,10 @@ declare class ZModelCodeGenerator {
|
|
|
157
171
|
private _generatePlugin;
|
|
158
172
|
private _generatePluginField;
|
|
159
173
|
private _generateDataModel;
|
|
160
|
-
private
|
|
174
|
+
private _generateDataField;
|
|
161
175
|
private fieldType;
|
|
162
176
|
private _generateDataModelAttribute;
|
|
163
|
-
private
|
|
177
|
+
private _generateDataFieldAttribute;
|
|
164
178
|
private attribute;
|
|
165
179
|
private _generateAttributeArg;
|
|
166
180
|
private _generateObjectExpr;
|
|
@@ -184,7 +198,6 @@ declare class ZModelCodeGenerator {
|
|
|
184
198
|
private _generateFunctionParam;
|
|
185
199
|
private _generateFunctionParamType;
|
|
186
200
|
private _generateTypeDef;
|
|
187
|
-
private _generateTypeDefField;
|
|
188
201
|
private argument;
|
|
189
202
|
private get binaryExprSpace();
|
|
190
203
|
private get unaryExprSpace();
|
|
@@ -193,4 +206,4 @@ declare class ZModelCodeGenerator {
|
|
|
193
206
|
private isCollectionPredicateOperator;
|
|
194
207
|
}
|
|
195
208
|
|
|
196
|
-
export { modelUtils as ModelUtils, PrismaSchemaGenerator, TsSchemaGenerator, ZModelCodeGenerator, type ZModelCodeOptions };
|
|
209
|
+
export { type CliGenerator, type CliGeneratorContext, modelUtils as ModelUtils, PrismaSchemaGenerator, TsSchemaGenerator, ZModelCodeGenerator, type ZModelCodeOptions };
|