@zenstackhq/sdk 2.16.0 → 3.0.0-alpha.1

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.
Files changed (81) hide show
  1. package/LICENSE +1 -1
  2. package/dist/index.cjs +1906 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +196 -0
  5. package/dist/index.d.ts +196 -0
  6. package/dist/index.js +1872 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/schema.cjs +19 -0
  9. package/dist/schema.cjs.map +1 -0
  10. package/dist/schema.d.cts +138 -0
  11. package/dist/schema.d.ts +138 -0
  12. package/dist/schema.js +1 -0
  13. package/dist/schema.js.map +1 -0
  14. package/package.json +43 -39
  15. package/README.md +0 -5
  16. package/ast.d.ts +0 -1
  17. package/ast.js +0 -18
  18. package/ast.js.map +0 -1
  19. package/code-gen.d.ts +0 -37
  20. package/code-gen.js +0 -114
  21. package/code-gen.js.map +0 -1
  22. package/constants.d.ts +0 -15
  23. package/constants.js +0 -21
  24. package/constants.js.map +0 -1
  25. package/dmmf-helpers/aggregate-helpers.d.ts +0 -5
  26. package/dmmf-helpers/aggregate-helpers.js +0 -65
  27. package/dmmf-helpers/aggregate-helpers.js.map +0 -1
  28. package/dmmf-helpers/include-helpers.d.ts +0 -2
  29. package/dmmf-helpers/include-helpers.js +0 -88
  30. package/dmmf-helpers/include-helpers.js.map +0 -1
  31. package/dmmf-helpers/index.d.ts +0 -7
  32. package/dmmf-helpers/index.js +0 -24
  33. package/dmmf-helpers/index.js.map +0 -1
  34. package/dmmf-helpers/missing-types-helper.d.ts +0 -2
  35. package/dmmf-helpers/missing-types-helper.js +0 -14
  36. package/dmmf-helpers/missing-types-helper.js.map +0 -1
  37. package/dmmf-helpers/model-helpers.d.ts +0 -16
  38. package/dmmf-helpers/model-helpers.js +0 -38
  39. package/dmmf-helpers/model-helpers.js.map +0 -1
  40. package/dmmf-helpers/modelArgs-helpers.d.ts +0 -2
  41. package/dmmf-helpers/modelArgs-helpers.js +0 -67
  42. package/dmmf-helpers/modelArgs-helpers.js.map +0 -1
  43. package/dmmf-helpers/select-helpers.d.ts +0 -2
  44. package/dmmf-helpers/select-helpers.js +0 -152
  45. package/dmmf-helpers/select-helpers.js.map +0 -1
  46. package/dmmf-helpers/types.d.ts +0 -20
  47. package/dmmf-helpers/types.js +0 -3
  48. package/dmmf-helpers/types.js.map +0 -1
  49. package/index.d.ts +0 -11
  50. package/index.js +0 -30
  51. package/index.js.map +0 -1
  52. package/model-meta-generator.d.ts +0 -24
  53. package/model-meta-generator.js +0 -458
  54. package/model-meta-generator.js.map +0 -1
  55. package/names.d.ts +0 -9
  56. package/names.js +0 -17
  57. package/names.js.map +0 -1
  58. package/path.d.ts +0 -4
  59. package/path.js +0 -15
  60. package/path.js.map +0 -1
  61. package/policy.d.ts +0 -13
  62. package/policy.js +0 -57
  63. package/policy.js.map +0 -1
  64. package/prisma.d.ts +0 -21
  65. package/prisma.js +0 -84
  66. package/prisma.js.map +0 -1
  67. package/types.d.ts +0 -97
  68. package/types.js +0 -14
  69. package/types.js.map +0 -1
  70. package/typescript-expression-transformer.d.ts +0 -64
  71. package/typescript-expression-transformer.js +0 -491
  72. package/typescript-expression-transformer.js.map +0 -1
  73. package/utils.d.ts +0 -103
  74. package/utils.js +0 -633
  75. package/utils.js.map +0 -1
  76. package/validation.d.ts +0 -7
  77. package/validation.js +0 -37
  78. package/validation.js.map +0 -1
  79. package/zmodel-code-generator.d.ts +0 -66
  80. package/zmodel-code-generator.js +0 -353
  81. package/zmodel-code-generator.js.map +0 -1
@@ -0,0 +1,196 @@
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';
3
+
4
+ declare function isIdField(field: DataModelField): boolean;
5
+ declare function hasAttribute(decl: DataModel | TypeDef | DataModelField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): boolean;
6
+ declare function getAttribute(decl: DataModel | TypeDef | DataModelField | TypeDefField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): DataModelFieldAttribute | DataModelAttribute | undefined;
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[];
16
+ declare function isDelegateModel(node: AstNode): boolean;
17
+ declare function isUniqueField(field: DataModelField): boolean;
18
+ declare function isFromStdlib(node: AstNode): boolean;
19
+ declare function getContainingModel(node: AstNode | undefined): Model | null;
20
+ declare function resolved<T extends AstNode>(ref: Reference<T>): T;
21
+ declare function getAuthDecl(model: Model): _zenstackhq_language_ast.AbstractDeclaration | undefined;
22
+
23
+ declare const modelUtils_getAttribute: typeof getAttribute;
24
+ declare const modelUtils_getAuthDecl: typeof getAuthDecl;
25
+ declare const modelUtils_getContainingModel: typeof getContainingModel;
26
+ declare const modelUtils_getModelIdFields: typeof getModelIdFields;
27
+ declare const modelUtils_getModelUniqueFields: typeof getModelUniqueFields;
28
+ declare const modelUtils_getRecursiveBases: typeof getRecursiveBases;
29
+ declare const modelUtils_hasAttribute: typeof hasAttribute;
30
+ declare const modelUtils_isDelegateModel: typeof isDelegateModel;
31
+ declare const modelUtils_isFromStdlib: typeof isFromStdlib;
32
+ declare const modelUtils_isIdField: typeof isIdField;
33
+ declare const modelUtils_isUniqueField: typeof isUniqueField;
34
+ declare const modelUtils_resolved: typeof resolved;
35
+ declare namespace modelUtils {
36
+ 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 };
37
+ }
38
+
39
+ declare class FunctionCall {
40
+ func: string;
41
+ args: FunctionCallArg[];
42
+ constructor(func: string, args?: FunctionCallArg[]);
43
+ toString(): string;
44
+ }
45
+ declare class FunctionCallArg {
46
+ value: string;
47
+ constructor(value: string);
48
+ toString(): string;
49
+ }
50
+
51
+ /**
52
+ * Generates Prisma schema file
53
+ */
54
+ declare class PrismaSchemaGenerator {
55
+ private readonly zmodel;
56
+ private readonly PRELUDE;
57
+ constructor(zmodel: Model);
58
+ generate(): Promise<string>;
59
+ private generateDataSource;
60
+ private configExprToText;
61
+ private configArrayToText;
62
+ private configInvocationArgToText;
63
+ private literalToText;
64
+ private generateGenerator;
65
+ private generateModel;
66
+ private isPrismaAttribute;
67
+ private getUnsupportedFieldType;
68
+ private getStringLiteral;
69
+ private generateModelField;
70
+ private isDefaultWithPluginInvocation;
71
+ private isFromPlugin;
72
+ private setDummyDefault;
73
+ private isInheritedFromDelegate;
74
+ private makeFieldAttribute;
75
+ private makeAttributeArg;
76
+ private makeAttributeArgValue;
77
+ private exprToText;
78
+ makeFunctionCall(node: InvocationExpr): FunctionCall;
79
+ private generateContainerAttribute;
80
+ private generateEnum;
81
+ private generateEnumField;
82
+ }
83
+
84
+ declare class TsSchemaGenerator {
85
+ generate(schemaFile: string, pluginModelFiles: string[], outputFile: string): Promise<{
86
+ model: Model;
87
+ warnings: string[];
88
+ }>;
89
+ private generateSchemaStatements;
90
+ private createSchemaObject;
91
+ private createProviderObject;
92
+ private createModelsObject;
93
+ private createDataModelObject;
94
+ private createComputedFieldsObject;
95
+ private mapTypeToTSSyntaxKeyword;
96
+ private createDataModelFieldObject;
97
+ private getDataSourceProvider;
98
+ private getMappedDefault;
99
+ private getMemberAccessChain;
100
+ private isAuthMemberAccess;
101
+ private isAuthInvocation;
102
+ private createRelationObject;
103
+ private getReferenceNames;
104
+ private getForeignKeyFor;
105
+ private getOppositeRelationField;
106
+ private getRelationName;
107
+ private getIdFields;
108
+ private createUniqueFieldsObject;
109
+ private createEnumObject;
110
+ private getLiteral;
111
+ private createLiteralNode;
112
+ private createDialectConfigProvider;
113
+ private createProceduresObject;
114
+ private createProcedureObject;
115
+ private generateBannerComments;
116
+ private createAttributeObject;
117
+ private createAttributeArg;
118
+ private createExpression;
119
+ private createThisExpression;
120
+ private createMemberExpression;
121
+ private createNullExpression;
122
+ private createBinaryExpression;
123
+ private createUnaryExpression;
124
+ private createArrayExpression;
125
+ private createRefExpression;
126
+ private createCallExpression;
127
+ private createLiteralExpression;
128
+ }
129
+
130
+ /**
131
+ * Options for the generator.
132
+ */
133
+ interface ZModelCodeOptions {
134
+ binaryExprNumberOfSpaces: number;
135
+ unaryExprNumberOfSpaces: number;
136
+ indent: number;
137
+ quote: 'single' | 'double';
138
+ }
139
+ /**
140
+ * Generates ZModel source code from AST.
141
+ */
142
+ declare class ZModelCodeGenerator {
143
+ private readonly options;
144
+ constructor(options?: Partial<ZModelCodeOptions>);
145
+ /**
146
+ * Generates ZModel source code from AST.
147
+ */
148
+ generate(ast: AstNode): string;
149
+ private _generateModel;
150
+ private _generateDataSource;
151
+ private _generateEnum;
152
+ private _generateEnumField;
153
+ private _generateGenerator;
154
+ private _generateConfigField;
155
+ private _generateConfigArrayExpr;
156
+ private _generateConfigInvocationExpr;
157
+ private _generatePlugin;
158
+ private _generatePluginField;
159
+ private _generateDataModel;
160
+ private _generateDataModelField;
161
+ private fieldType;
162
+ private _generateDataModelAttribute;
163
+ private _generateDataModelFieldAttribute;
164
+ private attribute;
165
+ private _generateAttributeArg;
166
+ private _generateObjectExpr;
167
+ private objectField;
168
+ private _generateArrayExpr;
169
+ private _generateLiteralExpr;
170
+ private _generateNumberLiteral;
171
+ private _generateBooleanLiteral;
172
+ private _generateUnaryExpr;
173
+ private _generateBinaryExpr;
174
+ private _generateReferenceExpr;
175
+ private _generateReferenceArg;
176
+ private _generateMemberExpr;
177
+ private _generateInvocationExpr;
178
+ private _generateNullExpr;
179
+ private _generateThisExpr;
180
+ private _generateAttribute;
181
+ private _generateAttributeParam;
182
+ private _generateAttributeParamType;
183
+ private _generateFunctionDecl;
184
+ private _generateFunctionParam;
185
+ private _generateFunctionParamType;
186
+ private _generateTypeDef;
187
+ private _generateTypeDefField;
188
+ private argument;
189
+ private get binaryExprSpace();
190
+ private get unaryExprSpace();
191
+ private get indent();
192
+ private isParenthesesNeededForBinaryExpr;
193
+ private isCollectionPredicateOperator;
194
+ }
195
+
196
+ export { modelUtils as ModelUtils, PrismaSchemaGenerator, TsSchemaGenerator, ZModelCodeGenerator, type ZModelCodeOptions };