@zenstackhq/sdk 3.0.0-alpha.11 → 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.d.cts CHANGED
@@ -1,32 +1,28 @@
1
1
  import * as _zenstackhq_language_ast from '@zenstackhq/language/ast';
2
- import { DataModelField, DataModel, TypeDef, Enum, EnumField, FunctionDecl, Attribute, AttributeParam, TypeDefField, DataModelFieldAttribute, DataModelAttribute, AstNode, Model, Reference, InvocationExpr } from '@zenstackhq/language/ast';
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: DataModelField): boolean;
6
- declare function hasAttribute(decl: DataModel | TypeDef | DataModelField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): boolean;
7
- declare function getAttribute(decl: DataModel | TypeDef | DataModelField | TypeDefField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): DataModelFieldAttribute | DataModelAttribute | undefined;
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: DataModelField): boolean;
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 modelUtils_getModelIdFields: typeof getModelIdFields;
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, modelUtils_getModelIdFields as getModelIdFields, modelUtils_getModelUniqueFields as getModelUniqueFields, modelUtils_getRecursiveBases as getRecursiveBases, modelUtils_hasAttribute as hasAttribute, modelUtils_isDelegateModel as isDelegateModel, modelUtils_isFromStdlib as isFromStdlib, modelUtils_isIdField as isIdField, modelUtils_isUniqueField as isUniqueField, modelUtils_resolved as resolved };
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 createDataModelFieldObject;
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 generateModels;
136
- private generateSchemaTypeImport;
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 _generateDataModelField;
174
+ private _generateDataField;
172
175
  private fieldType;
173
176
  private _generateDataModelAttribute;
174
- private _generateDataModelFieldAttribute;
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 { DataModelField, DataModel, TypeDef, Enum, EnumField, FunctionDecl, Attribute, AttributeParam, TypeDefField, DataModelFieldAttribute, DataModelAttribute, AstNode, Model, Reference, InvocationExpr } from '@zenstackhq/language/ast';
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: DataModelField): boolean;
6
- declare function hasAttribute(decl: DataModel | TypeDef | DataModelField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): boolean;
7
- declare function getAttribute(decl: DataModel | TypeDef | DataModelField | TypeDefField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): DataModelFieldAttribute | DataModelAttribute | undefined;
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: DataModelField): boolean;
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 modelUtils_getModelIdFields: typeof getModelIdFields;
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, modelUtils_getModelIdFields as getModelIdFields, modelUtils_getModelUniqueFields as getModelUniqueFields, modelUtils_getRecursiveBases as getRecursiveBases, modelUtils_hasAttribute as hasAttribute, modelUtils_isDelegateModel as isDelegateModel, modelUtils_isFromStdlib as isFromStdlib, modelUtils_isIdField as isIdField, modelUtils_isUniqueField as isUniqueField, modelUtils_resolved as resolved };
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 createDataModelFieldObject;
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 generateModels;
136
- private generateSchemaTypeImport;
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 _generateDataModelField;
174
+ private _generateDataField;
172
175
  private fieldType;
173
176
  private _generateDataModelAttribute;
174
- private _generateDataModelFieldAttribute;
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();