@zenstackhq/sdk 3.0.0-alpha.12 → 3.0.0-alpha.13
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 +207 -138
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +28 -26
- package/dist/index.d.ts +28 -26
- package/dist/index.js +216 -147
- package/dist/index.js.map +1 -1
- package/dist/schema.d.cts +45 -17
- package/dist/schema.d.ts +45 -17
- package/package.json +5 -5
package/dist/index.d.cts
CHANGED
|
@@ -1,32 +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';
|
|
3
4
|
import { MaybePromise } from 'langium';
|
|
4
5
|
|
|
5
|
-
declare function isIdField(field:
|
|
6
|
-
declare function hasAttribute(decl: DataModel | TypeDef |
|
|
7
|
-
declare function getAttribute(decl:
|
|
8
|
-
/**
|
|
9
|
-
* Gets `@@id` fields declared at the data model level (including search in base models)
|
|
10
|
-
*/
|
|
11
|
-
declare function getModelIdFields(model: DataModel): DataModelField[];
|
|
12
|
-
/**
|
|
13
|
-
* Gets `@@unique` fields declared at the data model level (including search in base models)
|
|
14
|
-
*/
|
|
15
|
-
declare function getModelUniqueFields(model: DataModel): DataModelField[];
|
|
16
|
-
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;
|
|
17
9
|
declare function isDelegateModel(node: AstNode): boolean;
|
|
18
|
-
declare function isUniqueField(field:
|
|
10
|
+
declare function isUniqueField(field: DataField): boolean;
|
|
19
11
|
declare function isFromStdlib(node: AstNode): boolean;
|
|
20
12
|
declare function getContainingModel(node: AstNode | undefined): Model | null;
|
|
21
13
|
declare function resolved<T extends AstNode>(ref: Reference<T>): T;
|
|
22
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";
|
|
23
20
|
|
|
21
|
+
declare const modelUtils_DELEGATE_AUX_RELATION_PREFIX: typeof DELEGATE_AUX_RELATION_PREFIX;
|
|
24
22
|
declare const modelUtils_getAttribute: typeof getAttribute;
|
|
25
23
|
declare const modelUtils_getAuthDecl: typeof getAuthDecl;
|
|
26
24
|
declare const modelUtils_getContainingModel: typeof getContainingModel;
|
|
27
|
-
declare const
|
|
28
|
-
declare const modelUtils_getModelUniqueFields: typeof getModelUniqueFields;
|
|
29
|
-
declare const modelUtils_getRecursiveBases: typeof getRecursiveBases;
|
|
25
|
+
declare const modelUtils_getIdFields: typeof getIdFields;
|
|
30
26
|
declare const modelUtils_hasAttribute: typeof hasAttribute;
|
|
31
27
|
declare const modelUtils_isDelegateModel: typeof isDelegateModel;
|
|
32
28
|
declare const modelUtils_isFromStdlib: typeof isFromStdlib;
|
|
@@ -34,7 +30,7 @@ declare const modelUtils_isIdField: typeof isIdField;
|
|
|
34
30
|
declare const modelUtils_isUniqueField: typeof isUniqueField;
|
|
35
31
|
declare const modelUtils_resolved: typeof resolved;
|
|
36
32
|
declare namespace modelUtils {
|
|
37
|
-
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 };
|
|
38
34
|
}
|
|
39
35
|
|
|
40
36
|
type CliGeneratorContext = {
|
|
@@ -62,6 +58,7 @@ declare class FunctionCallArg {
|
|
|
62
58
|
declare class PrismaSchemaGenerator {
|
|
63
59
|
private readonly zmodel;
|
|
64
60
|
private readonly PRELUDE;
|
|
61
|
+
private shortNameMap;
|
|
65
62
|
constructor(zmodel: Model);
|
|
66
63
|
generate(): Promise<string>;
|
|
67
64
|
private generateDataSource;
|
|
@@ -77,7 +74,6 @@ declare class PrismaSchemaGenerator {
|
|
|
77
74
|
private generateModelField;
|
|
78
75
|
private isDefaultWithPluginInvocation;
|
|
79
76
|
private isFromPlugin;
|
|
80
|
-
private setDummyDefault;
|
|
81
77
|
private isInheritedFromDelegate;
|
|
82
78
|
private makeFieldAttribute;
|
|
83
79
|
private makeAttributeArg;
|
|
@@ -87,6 +83,10 @@ declare class PrismaSchemaGenerator {
|
|
|
87
83
|
private generateContainerAttribute;
|
|
88
84
|
private generateEnum;
|
|
89
85
|
private generateEnumField;
|
|
86
|
+
private generateDelegateRelationForBase;
|
|
87
|
+
private generateDelegateRelationForConcrete;
|
|
88
|
+
private getConcreteModels;
|
|
89
|
+
private truncate;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
declare class TsSchemaGenerator {
|
|
@@ -96,10 +96,14 @@ declare class TsSchemaGenerator {
|
|
|
96
96
|
private createSchemaObject;
|
|
97
97
|
private createProviderObject;
|
|
98
98
|
private createModelsObject;
|
|
99
|
+
private createTypeDefsObject;
|
|
99
100
|
private createDataModelObject;
|
|
101
|
+
private getSubModels;
|
|
102
|
+
private createTypeDefObject;
|
|
100
103
|
private createComputedFieldsObject;
|
|
101
104
|
private mapFieldTypeToTSType;
|
|
102
|
-
private
|
|
105
|
+
private createDataFieldObject;
|
|
106
|
+
private isDiscriminatorField;
|
|
103
107
|
private getDataSourceProvider;
|
|
104
108
|
private getFieldMappedDefault;
|
|
105
109
|
private getMappedValue;
|
|
@@ -111,7 +115,6 @@ declare class TsSchemaGenerator {
|
|
|
111
115
|
private getForeignKeyFor;
|
|
112
116
|
private getOppositeRelationField;
|
|
113
117
|
private getRelationName;
|
|
114
|
-
private getIdFields;
|
|
115
118
|
private createUniqueFieldsObject;
|
|
116
119
|
private generateFieldTypeLiteral;
|
|
117
120
|
private createEnumObject;
|
|
@@ -132,8 +135,8 @@ declare class TsSchemaGenerator {
|
|
|
132
135
|
private createRefExpression;
|
|
133
136
|
private createCallExpression;
|
|
134
137
|
private createLiteralExpression;
|
|
135
|
-
private
|
|
136
|
-
private
|
|
138
|
+
private generateModelsAndTypeDefs;
|
|
139
|
+
private generateSchemaImport;
|
|
137
140
|
private generateDocs;
|
|
138
141
|
private generateInputTypes;
|
|
139
142
|
}
|
|
@@ -168,10 +171,10 @@ declare class ZModelCodeGenerator {
|
|
|
168
171
|
private _generatePlugin;
|
|
169
172
|
private _generatePluginField;
|
|
170
173
|
private _generateDataModel;
|
|
171
|
-
private
|
|
174
|
+
private _generateDataField;
|
|
172
175
|
private fieldType;
|
|
173
176
|
private _generateDataModelAttribute;
|
|
174
|
-
private
|
|
177
|
+
private _generateDataFieldAttribute;
|
|
175
178
|
private attribute;
|
|
176
179
|
private _generateAttributeArg;
|
|
177
180
|
private _generateObjectExpr;
|
|
@@ -195,7 +198,6 @@ declare class ZModelCodeGenerator {
|
|
|
195
198
|
private _generateFunctionParam;
|
|
196
199
|
private _generateFunctionParamType;
|
|
197
200
|
private _generateTypeDef;
|
|
198
|
-
private _generateTypeDefField;
|
|
199
201
|
private argument;
|
|
200
202
|
private get binaryExprSpace();
|
|
201
203
|
private get unaryExprSpace();
|
package/dist/index.d.ts
CHANGED
|
@@ -1,32 +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';
|
|
3
4
|
import { MaybePromise } from 'langium';
|
|
4
5
|
|
|
5
|
-
declare function isIdField(field:
|
|
6
|
-
declare function hasAttribute(decl: DataModel | TypeDef |
|
|
7
|
-
declare function getAttribute(decl:
|
|
8
|
-
/**
|
|
9
|
-
* Gets `@@id` fields declared at the data model level (including search in base models)
|
|
10
|
-
*/
|
|
11
|
-
declare function getModelIdFields(model: DataModel): DataModelField[];
|
|
12
|
-
/**
|
|
13
|
-
* Gets `@@unique` fields declared at the data model level (including search in base models)
|
|
14
|
-
*/
|
|
15
|
-
declare function getModelUniqueFields(model: DataModel): DataModelField[];
|
|
16
|
-
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;
|
|
17
9
|
declare function isDelegateModel(node: AstNode): boolean;
|
|
18
|
-
declare function isUniqueField(field:
|
|
10
|
+
declare function isUniqueField(field: DataField): boolean;
|
|
19
11
|
declare function isFromStdlib(node: AstNode): boolean;
|
|
20
12
|
declare function getContainingModel(node: AstNode | undefined): Model | null;
|
|
21
13
|
declare function resolved<T extends AstNode>(ref: Reference<T>): T;
|
|
22
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";
|
|
23
20
|
|
|
21
|
+
declare const modelUtils_DELEGATE_AUX_RELATION_PREFIX: typeof DELEGATE_AUX_RELATION_PREFIX;
|
|
24
22
|
declare const modelUtils_getAttribute: typeof getAttribute;
|
|
25
23
|
declare const modelUtils_getAuthDecl: typeof getAuthDecl;
|
|
26
24
|
declare const modelUtils_getContainingModel: typeof getContainingModel;
|
|
27
|
-
declare const
|
|
28
|
-
declare const modelUtils_getModelUniqueFields: typeof getModelUniqueFields;
|
|
29
|
-
declare const modelUtils_getRecursiveBases: typeof getRecursiveBases;
|
|
25
|
+
declare const modelUtils_getIdFields: typeof getIdFields;
|
|
30
26
|
declare const modelUtils_hasAttribute: typeof hasAttribute;
|
|
31
27
|
declare const modelUtils_isDelegateModel: typeof isDelegateModel;
|
|
32
28
|
declare const modelUtils_isFromStdlib: typeof isFromStdlib;
|
|
@@ -34,7 +30,7 @@ declare const modelUtils_isIdField: typeof isIdField;
|
|
|
34
30
|
declare const modelUtils_isUniqueField: typeof isUniqueField;
|
|
35
31
|
declare const modelUtils_resolved: typeof resolved;
|
|
36
32
|
declare namespace modelUtils {
|
|
37
|
-
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 };
|
|
38
34
|
}
|
|
39
35
|
|
|
40
36
|
type CliGeneratorContext = {
|
|
@@ -62,6 +58,7 @@ declare class FunctionCallArg {
|
|
|
62
58
|
declare class PrismaSchemaGenerator {
|
|
63
59
|
private readonly zmodel;
|
|
64
60
|
private readonly PRELUDE;
|
|
61
|
+
private shortNameMap;
|
|
65
62
|
constructor(zmodel: Model);
|
|
66
63
|
generate(): Promise<string>;
|
|
67
64
|
private generateDataSource;
|
|
@@ -77,7 +74,6 @@ declare class PrismaSchemaGenerator {
|
|
|
77
74
|
private generateModelField;
|
|
78
75
|
private isDefaultWithPluginInvocation;
|
|
79
76
|
private isFromPlugin;
|
|
80
|
-
private setDummyDefault;
|
|
81
77
|
private isInheritedFromDelegate;
|
|
82
78
|
private makeFieldAttribute;
|
|
83
79
|
private makeAttributeArg;
|
|
@@ -87,6 +83,10 @@ declare class PrismaSchemaGenerator {
|
|
|
87
83
|
private generateContainerAttribute;
|
|
88
84
|
private generateEnum;
|
|
89
85
|
private generateEnumField;
|
|
86
|
+
private generateDelegateRelationForBase;
|
|
87
|
+
private generateDelegateRelationForConcrete;
|
|
88
|
+
private getConcreteModels;
|
|
89
|
+
private truncate;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
declare class TsSchemaGenerator {
|
|
@@ -96,10 +96,14 @@ declare class TsSchemaGenerator {
|
|
|
96
96
|
private createSchemaObject;
|
|
97
97
|
private createProviderObject;
|
|
98
98
|
private createModelsObject;
|
|
99
|
+
private createTypeDefsObject;
|
|
99
100
|
private createDataModelObject;
|
|
101
|
+
private getSubModels;
|
|
102
|
+
private createTypeDefObject;
|
|
100
103
|
private createComputedFieldsObject;
|
|
101
104
|
private mapFieldTypeToTSType;
|
|
102
|
-
private
|
|
105
|
+
private createDataFieldObject;
|
|
106
|
+
private isDiscriminatorField;
|
|
103
107
|
private getDataSourceProvider;
|
|
104
108
|
private getFieldMappedDefault;
|
|
105
109
|
private getMappedValue;
|
|
@@ -111,7 +115,6 @@ declare class TsSchemaGenerator {
|
|
|
111
115
|
private getForeignKeyFor;
|
|
112
116
|
private getOppositeRelationField;
|
|
113
117
|
private getRelationName;
|
|
114
|
-
private getIdFields;
|
|
115
118
|
private createUniqueFieldsObject;
|
|
116
119
|
private generateFieldTypeLiteral;
|
|
117
120
|
private createEnumObject;
|
|
@@ -132,8 +135,8 @@ declare class TsSchemaGenerator {
|
|
|
132
135
|
private createRefExpression;
|
|
133
136
|
private createCallExpression;
|
|
134
137
|
private createLiteralExpression;
|
|
135
|
-
private
|
|
136
|
-
private
|
|
138
|
+
private generateModelsAndTypeDefs;
|
|
139
|
+
private generateSchemaImport;
|
|
137
140
|
private generateDocs;
|
|
138
141
|
private generateInputTypes;
|
|
139
142
|
}
|
|
@@ -168,10 +171,10 @@ declare class ZModelCodeGenerator {
|
|
|
168
171
|
private _generatePlugin;
|
|
169
172
|
private _generatePluginField;
|
|
170
173
|
private _generateDataModel;
|
|
171
|
-
private
|
|
174
|
+
private _generateDataField;
|
|
172
175
|
private fieldType;
|
|
173
176
|
private _generateDataModelAttribute;
|
|
174
|
-
private
|
|
177
|
+
private _generateDataFieldAttribute;
|
|
175
178
|
private attribute;
|
|
176
179
|
private _generateAttributeArg;
|
|
177
180
|
private _generateObjectExpr;
|
|
@@ -195,7 +198,6 @@ declare class ZModelCodeGenerator {
|
|
|
195
198
|
private _generateFunctionParam;
|
|
196
199
|
private _generateFunctionParamType;
|
|
197
200
|
private _generateTypeDef;
|
|
198
|
-
private _generateTypeDefField;
|
|
199
201
|
private argument;
|
|
200
202
|
private get binaryExprSpace();
|
|
201
203
|
private get unaryExprSpace();
|