@zenstackhq/sdk 3.0.0-beta.8 → 3.0.0-beta.9

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
@@ -2,6 +2,8 @@ import * as _zenstackhq_language_ast from '@zenstackhq/language/ast';
2
2
  import { DataField, DataModel, TypeDef, Enum, EnumField, FunctionDecl, Attribute, AttributeParam, DataFieldAttribute, DataModelAttribute, AstNode, Model, Reference, InvocationExpr } from '@zenstackhq/language/ast';
3
3
  import { AttributeTarget } from '@zenstackhq/language/utils';
4
4
  import { MaybePromise } from 'langium';
5
+ import { E as Expression, L as LiteralExpression, A as ArrayExpression, F as FieldExpression, M as MemberExpression, B as BinaryExpression, U as UnaryExpression, C as CallExpression, T as ThisExpression, N as NullExpression } from './expression-Ce_oulwU.cjs';
6
+ import { OperationNodeVisitor, OperationNode, SelectQueryNode, SelectionNode, ColumnNode, AliasNode, TableNode, FromNode, ReferenceNode, AndNode, OrNode, ValueListNode, ParensNode, JoinNode, RawNode, WhereNode, InsertQueryNode, DeleteQueryNode, ReturningNode, CreateTableNode, AddColumnNode, ColumnDefinitionNode, DropTableNode, OrderByNode, OrderByItemNode, GroupByNode, GroupByItemNode, UpdateQueryNode, ColumnUpdateNode, LimitNode, OffsetNode, OnConflictNode, OnDuplicateKeyNode, CheckConstraintNode, DataTypeNode, SelectAllNode, IdentifierNode, SchemableIdentifierNode, ValueNode, PrimitiveValueListNode, OperatorNode, CreateIndexNode, DropIndexNode, ListNode, PrimaryKeyConstraintNode, UniqueConstraintNode, ReferencesNode, WithNode, CommonTableExpressionNode, CommonTableExpressionNameNode, HavingNode, CreateSchemaNode, DropSchemaNode, AlterTableNode, DropColumnNode, RenameColumnNode, AlterColumnNode, ModifyColumnNode, AddConstraintNode, DropConstraintNode, ForeignKeyConstraintNode, CreateViewNode, DropViewNode, GeneratedNode, DefaultValueNode, OnNode, ValuesNode, SelectModifierNode, CreateTypeNode, DropTypeNode, ExplainNode, DefaultInsertValueNode, AggregateFunctionNode, OverNode, PartitionByNode, PartitionByItemNode, SetOperationNode, BinaryOperationNode, UnaryOperationNode, UsingNode, FunctionNode, CaseNode, WhenNode, JSONReferenceNode, JSONPathNode, JSONPathLegNode, JSONOperatorChainNode, TupleNode, MergeQueryNode, MatchedNode, AddIndexNode, CastNode, FetchNode, TopNode, OutputNode } from 'kysely';
5
7
 
6
8
  declare function isIdField(field: DataField, contextModel: DataModel): boolean;
7
9
  declare function hasAttribute(decl: DataModel | TypeDef | DataField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): boolean;
@@ -72,6 +74,116 @@ interface CliPlugin {
72
74
  generate(context: CliGeneratorContext): MaybePromise<void>;
73
75
  }
74
76
 
77
+ declare class ExpressionVisitor {
78
+ visit(expr: Expression): void;
79
+ protected visitLiteral(_e: LiteralExpression): void;
80
+ protected visitArray(e: ArrayExpression): void;
81
+ protected visitField(_e: FieldExpression): void;
82
+ protected visitMember(e: MemberExpression): void;
83
+ protected visitBinary(e: BinaryExpression): void;
84
+ protected visitUnary(e: UnaryExpression): void;
85
+ protected visitCall(e: CallExpression): void;
86
+ protected visitThis(_e: ThisExpression): void;
87
+ protected visitNull(_e: NullExpression): void;
88
+ }
89
+
90
+ declare class DefaultOperationNodeVisitor extends OperationNodeVisitor {
91
+ protected defaultVisit(node: OperationNode): void;
92
+ protected visitSelectQuery(node: SelectQueryNode): void;
93
+ protected visitSelection(node: SelectionNode): void;
94
+ protected visitColumn(node: ColumnNode): void;
95
+ protected visitAlias(node: AliasNode): void;
96
+ protected visitTable(node: TableNode): void;
97
+ protected visitFrom(node: FromNode): void;
98
+ protected visitReference(node: ReferenceNode): void;
99
+ protected visitAnd(node: AndNode): void;
100
+ protected visitOr(node: OrNode): void;
101
+ protected visitValueList(node: ValueListNode): void;
102
+ protected visitParens(node: ParensNode): void;
103
+ protected visitJoin(node: JoinNode): void;
104
+ protected visitRaw(node: RawNode): void;
105
+ protected visitWhere(node: WhereNode): void;
106
+ protected visitInsertQuery(node: InsertQueryNode): void;
107
+ protected visitDeleteQuery(node: DeleteQueryNode): void;
108
+ protected visitReturning(node: ReturningNode): void;
109
+ protected visitCreateTable(node: CreateTableNode): void;
110
+ protected visitAddColumn(node: AddColumnNode): void;
111
+ protected visitColumnDefinition(node: ColumnDefinitionNode): void;
112
+ protected visitDropTable(node: DropTableNode): void;
113
+ protected visitOrderBy(node: OrderByNode): void;
114
+ protected visitOrderByItem(node: OrderByItemNode): void;
115
+ protected visitGroupBy(node: GroupByNode): void;
116
+ protected visitGroupByItem(node: GroupByItemNode): void;
117
+ protected visitUpdateQuery(node: UpdateQueryNode): void;
118
+ protected visitColumnUpdate(node: ColumnUpdateNode): void;
119
+ protected visitLimit(node: LimitNode): void;
120
+ protected visitOffset(node: OffsetNode): void;
121
+ protected visitOnConflict(node: OnConflictNode): void;
122
+ protected visitOnDuplicateKey(node: OnDuplicateKeyNode): void;
123
+ protected visitCheckConstraint(node: CheckConstraintNode): void;
124
+ protected visitDataType(node: DataTypeNode): void;
125
+ protected visitSelectAll(node: SelectAllNode): void;
126
+ protected visitIdentifier(node: IdentifierNode): void;
127
+ protected visitSchemableIdentifier(node: SchemableIdentifierNode): void;
128
+ protected visitValue(node: ValueNode): void;
129
+ protected visitPrimitiveValueList(node: PrimitiveValueListNode): void;
130
+ protected visitOperator(node: OperatorNode): void;
131
+ protected visitCreateIndex(node: CreateIndexNode): void;
132
+ protected visitDropIndex(node: DropIndexNode): void;
133
+ protected visitList(node: ListNode): void;
134
+ protected visitPrimaryKeyConstraint(node: PrimaryKeyConstraintNode): void;
135
+ protected visitUniqueConstraint(node: UniqueConstraintNode): void;
136
+ protected visitReferences(node: ReferencesNode): void;
137
+ protected visitWith(node: WithNode): void;
138
+ protected visitCommonTableExpression(node: CommonTableExpressionNode): void;
139
+ protected visitCommonTableExpressionName(node: CommonTableExpressionNameNode): void;
140
+ protected visitHaving(node: HavingNode): void;
141
+ protected visitCreateSchema(node: CreateSchemaNode): void;
142
+ protected visitDropSchema(node: DropSchemaNode): void;
143
+ protected visitAlterTable(node: AlterTableNode): void;
144
+ protected visitDropColumn(node: DropColumnNode): void;
145
+ protected visitRenameColumn(node: RenameColumnNode): void;
146
+ protected visitAlterColumn(node: AlterColumnNode): void;
147
+ protected visitModifyColumn(node: ModifyColumnNode): void;
148
+ protected visitAddConstraint(node: AddConstraintNode): void;
149
+ protected visitDropConstraint(node: DropConstraintNode): void;
150
+ protected visitForeignKeyConstraint(node: ForeignKeyConstraintNode): void;
151
+ protected visitCreateView(node: CreateViewNode): void;
152
+ protected visitDropView(node: DropViewNode): void;
153
+ protected visitGenerated(node: GeneratedNode): void;
154
+ protected visitDefaultValue(node: DefaultValueNode): void;
155
+ protected visitOn(node: OnNode): void;
156
+ protected visitValues(node: ValuesNode): void;
157
+ protected visitSelectModifier(node: SelectModifierNode): void;
158
+ protected visitCreateType(node: CreateTypeNode): void;
159
+ protected visitDropType(node: DropTypeNode): void;
160
+ protected visitExplain(node: ExplainNode): void;
161
+ protected visitDefaultInsertValue(node: DefaultInsertValueNode): void;
162
+ protected visitAggregateFunction(node: AggregateFunctionNode): void;
163
+ protected visitOver(node: OverNode): void;
164
+ protected visitPartitionBy(node: PartitionByNode): void;
165
+ protected visitPartitionByItem(node: PartitionByItemNode): void;
166
+ protected visitSetOperation(node: SetOperationNode): void;
167
+ protected visitBinaryOperation(node: BinaryOperationNode): void;
168
+ protected visitUnaryOperation(node: UnaryOperationNode): void;
169
+ protected visitUsing(node: UsingNode): void;
170
+ protected visitFunction(node: FunctionNode): void;
171
+ protected visitCase(node: CaseNode): void;
172
+ protected visitWhen(node: WhenNode): void;
173
+ protected visitJSONReference(node: JSONReferenceNode): void;
174
+ protected visitJSONPath(node: JSONPathNode): void;
175
+ protected visitJSONPathLeg(node: JSONPathLegNode): void;
176
+ protected visitJSONOperatorChain(node: JSONOperatorChainNode): void;
177
+ protected visitTuple(node: TupleNode): void;
178
+ protected visitMergeQuery(node: MergeQueryNode): void;
179
+ protected visitMatched(node: MatchedNode): void;
180
+ protected visitAddIndex(node: AddIndexNode): void;
181
+ protected visitCast(node: CastNode): void;
182
+ protected visitFetch(node: FetchNode): void;
183
+ protected visitTop(node: TopNode): void;
184
+ protected visitOutput(node: OutputNode): void;
185
+ }
186
+
75
187
  declare class FunctionCall {
76
188
  func: string;
77
189
  args: FunctionCallArg[];
@@ -100,6 +212,7 @@ declare class PrismaSchemaGenerator {
100
212
  private literalToText;
101
213
  private generateGenerator;
102
214
  private generateModel;
215
+ private isInheritedMapAttribute;
103
216
  private isPrismaAttribute;
104
217
  private getUnsupportedFieldType;
105
218
  private getStringLiteral;
@@ -240,4 +353,4 @@ declare class ZModelCodeGenerator {
240
353
  private isCollectionPredicateOperator;
241
354
  }
242
355
 
243
- export { type CliGeneratorContext, type CliPlugin, modelUtils as ModelUtils, PrismaSchemaGenerator, TsSchemaGenerator, ZModelCodeGenerator, type ZModelCodeOptions };
356
+ export { type CliGeneratorContext, type CliPlugin, DefaultOperationNodeVisitor, ExpressionVisitor, modelUtils as ModelUtils, PrismaSchemaGenerator, TsSchemaGenerator, ZModelCodeGenerator, type ZModelCodeOptions };
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ import * as _zenstackhq_language_ast from '@zenstackhq/language/ast';
2
2
  import { DataField, DataModel, TypeDef, Enum, EnumField, FunctionDecl, Attribute, AttributeParam, DataFieldAttribute, DataModelAttribute, AstNode, Model, Reference, InvocationExpr } from '@zenstackhq/language/ast';
3
3
  import { AttributeTarget } from '@zenstackhq/language/utils';
4
4
  import { MaybePromise } from 'langium';
5
+ import { E as Expression, L as LiteralExpression, A as ArrayExpression, F as FieldExpression, M as MemberExpression, B as BinaryExpression, U as UnaryExpression, C as CallExpression, T as ThisExpression, N as NullExpression } from './expression-Ce_oulwU.js';
6
+ import { OperationNodeVisitor, OperationNode, SelectQueryNode, SelectionNode, ColumnNode, AliasNode, TableNode, FromNode, ReferenceNode, AndNode, OrNode, ValueListNode, ParensNode, JoinNode, RawNode, WhereNode, InsertQueryNode, DeleteQueryNode, ReturningNode, CreateTableNode, AddColumnNode, ColumnDefinitionNode, DropTableNode, OrderByNode, OrderByItemNode, GroupByNode, GroupByItemNode, UpdateQueryNode, ColumnUpdateNode, LimitNode, OffsetNode, OnConflictNode, OnDuplicateKeyNode, CheckConstraintNode, DataTypeNode, SelectAllNode, IdentifierNode, SchemableIdentifierNode, ValueNode, PrimitiveValueListNode, OperatorNode, CreateIndexNode, DropIndexNode, ListNode, PrimaryKeyConstraintNode, UniqueConstraintNode, ReferencesNode, WithNode, CommonTableExpressionNode, CommonTableExpressionNameNode, HavingNode, CreateSchemaNode, DropSchemaNode, AlterTableNode, DropColumnNode, RenameColumnNode, AlterColumnNode, ModifyColumnNode, AddConstraintNode, DropConstraintNode, ForeignKeyConstraintNode, CreateViewNode, DropViewNode, GeneratedNode, DefaultValueNode, OnNode, ValuesNode, SelectModifierNode, CreateTypeNode, DropTypeNode, ExplainNode, DefaultInsertValueNode, AggregateFunctionNode, OverNode, PartitionByNode, PartitionByItemNode, SetOperationNode, BinaryOperationNode, UnaryOperationNode, UsingNode, FunctionNode, CaseNode, WhenNode, JSONReferenceNode, JSONPathNode, JSONPathLegNode, JSONOperatorChainNode, TupleNode, MergeQueryNode, MatchedNode, AddIndexNode, CastNode, FetchNode, TopNode, OutputNode } from 'kysely';
5
7
 
6
8
  declare function isIdField(field: DataField, contextModel: DataModel): boolean;
7
9
  declare function hasAttribute(decl: DataModel | TypeDef | DataField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): boolean;
@@ -72,6 +74,116 @@ interface CliPlugin {
72
74
  generate(context: CliGeneratorContext): MaybePromise<void>;
73
75
  }
74
76
 
77
+ declare class ExpressionVisitor {
78
+ visit(expr: Expression): void;
79
+ protected visitLiteral(_e: LiteralExpression): void;
80
+ protected visitArray(e: ArrayExpression): void;
81
+ protected visitField(_e: FieldExpression): void;
82
+ protected visitMember(e: MemberExpression): void;
83
+ protected visitBinary(e: BinaryExpression): void;
84
+ protected visitUnary(e: UnaryExpression): void;
85
+ protected visitCall(e: CallExpression): void;
86
+ protected visitThis(_e: ThisExpression): void;
87
+ protected visitNull(_e: NullExpression): void;
88
+ }
89
+
90
+ declare class DefaultOperationNodeVisitor extends OperationNodeVisitor {
91
+ protected defaultVisit(node: OperationNode): void;
92
+ protected visitSelectQuery(node: SelectQueryNode): void;
93
+ protected visitSelection(node: SelectionNode): void;
94
+ protected visitColumn(node: ColumnNode): void;
95
+ protected visitAlias(node: AliasNode): void;
96
+ protected visitTable(node: TableNode): void;
97
+ protected visitFrom(node: FromNode): void;
98
+ protected visitReference(node: ReferenceNode): void;
99
+ protected visitAnd(node: AndNode): void;
100
+ protected visitOr(node: OrNode): void;
101
+ protected visitValueList(node: ValueListNode): void;
102
+ protected visitParens(node: ParensNode): void;
103
+ protected visitJoin(node: JoinNode): void;
104
+ protected visitRaw(node: RawNode): void;
105
+ protected visitWhere(node: WhereNode): void;
106
+ protected visitInsertQuery(node: InsertQueryNode): void;
107
+ protected visitDeleteQuery(node: DeleteQueryNode): void;
108
+ protected visitReturning(node: ReturningNode): void;
109
+ protected visitCreateTable(node: CreateTableNode): void;
110
+ protected visitAddColumn(node: AddColumnNode): void;
111
+ protected visitColumnDefinition(node: ColumnDefinitionNode): void;
112
+ protected visitDropTable(node: DropTableNode): void;
113
+ protected visitOrderBy(node: OrderByNode): void;
114
+ protected visitOrderByItem(node: OrderByItemNode): void;
115
+ protected visitGroupBy(node: GroupByNode): void;
116
+ protected visitGroupByItem(node: GroupByItemNode): void;
117
+ protected visitUpdateQuery(node: UpdateQueryNode): void;
118
+ protected visitColumnUpdate(node: ColumnUpdateNode): void;
119
+ protected visitLimit(node: LimitNode): void;
120
+ protected visitOffset(node: OffsetNode): void;
121
+ protected visitOnConflict(node: OnConflictNode): void;
122
+ protected visitOnDuplicateKey(node: OnDuplicateKeyNode): void;
123
+ protected visitCheckConstraint(node: CheckConstraintNode): void;
124
+ protected visitDataType(node: DataTypeNode): void;
125
+ protected visitSelectAll(node: SelectAllNode): void;
126
+ protected visitIdentifier(node: IdentifierNode): void;
127
+ protected visitSchemableIdentifier(node: SchemableIdentifierNode): void;
128
+ protected visitValue(node: ValueNode): void;
129
+ protected visitPrimitiveValueList(node: PrimitiveValueListNode): void;
130
+ protected visitOperator(node: OperatorNode): void;
131
+ protected visitCreateIndex(node: CreateIndexNode): void;
132
+ protected visitDropIndex(node: DropIndexNode): void;
133
+ protected visitList(node: ListNode): void;
134
+ protected visitPrimaryKeyConstraint(node: PrimaryKeyConstraintNode): void;
135
+ protected visitUniqueConstraint(node: UniqueConstraintNode): void;
136
+ protected visitReferences(node: ReferencesNode): void;
137
+ protected visitWith(node: WithNode): void;
138
+ protected visitCommonTableExpression(node: CommonTableExpressionNode): void;
139
+ protected visitCommonTableExpressionName(node: CommonTableExpressionNameNode): void;
140
+ protected visitHaving(node: HavingNode): void;
141
+ protected visitCreateSchema(node: CreateSchemaNode): void;
142
+ protected visitDropSchema(node: DropSchemaNode): void;
143
+ protected visitAlterTable(node: AlterTableNode): void;
144
+ protected visitDropColumn(node: DropColumnNode): void;
145
+ protected visitRenameColumn(node: RenameColumnNode): void;
146
+ protected visitAlterColumn(node: AlterColumnNode): void;
147
+ protected visitModifyColumn(node: ModifyColumnNode): void;
148
+ protected visitAddConstraint(node: AddConstraintNode): void;
149
+ protected visitDropConstraint(node: DropConstraintNode): void;
150
+ protected visitForeignKeyConstraint(node: ForeignKeyConstraintNode): void;
151
+ protected visitCreateView(node: CreateViewNode): void;
152
+ protected visitDropView(node: DropViewNode): void;
153
+ protected visitGenerated(node: GeneratedNode): void;
154
+ protected visitDefaultValue(node: DefaultValueNode): void;
155
+ protected visitOn(node: OnNode): void;
156
+ protected visitValues(node: ValuesNode): void;
157
+ protected visitSelectModifier(node: SelectModifierNode): void;
158
+ protected visitCreateType(node: CreateTypeNode): void;
159
+ protected visitDropType(node: DropTypeNode): void;
160
+ protected visitExplain(node: ExplainNode): void;
161
+ protected visitDefaultInsertValue(node: DefaultInsertValueNode): void;
162
+ protected visitAggregateFunction(node: AggregateFunctionNode): void;
163
+ protected visitOver(node: OverNode): void;
164
+ protected visitPartitionBy(node: PartitionByNode): void;
165
+ protected visitPartitionByItem(node: PartitionByItemNode): void;
166
+ protected visitSetOperation(node: SetOperationNode): void;
167
+ protected visitBinaryOperation(node: BinaryOperationNode): void;
168
+ protected visitUnaryOperation(node: UnaryOperationNode): void;
169
+ protected visitUsing(node: UsingNode): void;
170
+ protected visitFunction(node: FunctionNode): void;
171
+ protected visitCase(node: CaseNode): void;
172
+ protected visitWhen(node: WhenNode): void;
173
+ protected visitJSONReference(node: JSONReferenceNode): void;
174
+ protected visitJSONPath(node: JSONPathNode): void;
175
+ protected visitJSONPathLeg(node: JSONPathLegNode): void;
176
+ protected visitJSONOperatorChain(node: JSONOperatorChainNode): void;
177
+ protected visitTuple(node: TupleNode): void;
178
+ protected visitMergeQuery(node: MergeQueryNode): void;
179
+ protected visitMatched(node: MatchedNode): void;
180
+ protected visitAddIndex(node: AddIndexNode): void;
181
+ protected visitCast(node: CastNode): void;
182
+ protected visitFetch(node: FetchNode): void;
183
+ protected visitTop(node: TopNode): void;
184
+ protected visitOutput(node: OutputNode): void;
185
+ }
186
+
75
187
  declare class FunctionCall {
76
188
  func: string;
77
189
  args: FunctionCallArg[];
@@ -100,6 +212,7 @@ declare class PrismaSchemaGenerator {
100
212
  private literalToText;
101
213
  private generateGenerator;
102
214
  private generateModel;
215
+ private isInheritedMapAttribute;
103
216
  private isPrismaAttribute;
104
217
  private getUnsupportedFieldType;
105
218
  private getStringLiteral;
@@ -240,4 +353,4 @@ declare class ZModelCodeGenerator {
240
353
  private isCollectionPredicateOperator;
241
354
  }
242
355
 
243
- export { type CliGeneratorContext, type CliPlugin, modelUtils as ModelUtils, PrismaSchemaGenerator, TsSchemaGenerator, ZModelCodeGenerator, type ZModelCodeOptions };
356
+ export { type CliGeneratorContext, type CliPlugin, DefaultOperationNodeVisitor, ExpressionVisitor, modelUtils as ModelUtils, PrismaSchemaGenerator, TsSchemaGenerator, ZModelCodeGenerator, type ZModelCodeOptions };