@zenstackhq/sdk 3.0.0-beta.27 → 3.0.0-beta.29

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
@@ -136,7 +136,8 @@ declare class TsSchemaGenerator {
136
136
  private generateSchema;
137
137
  private generateSchemaStatements;
138
138
  private createExpressionUtilsCall;
139
- private createSchemaObject;
139
+ private createSchemaClass;
140
+ private createAsConst;
140
141
  private createProviderObject;
141
142
  private createModelsObject;
142
143
  private getAllDataModels;
package/dist/index.d.ts CHANGED
@@ -136,7 +136,8 @@ declare class TsSchemaGenerator {
136
136
  private generateSchema;
137
137
  private generateSchemaStatements;
138
138
  private createExpressionUtilsCall;
139
- private createSchemaObject;
139
+ private createSchemaClass;
140
+ private createAsConst;
140
141
  private createProviderObject;
141
142
  private createModelsObject;
142
143
  private getAllDataModels;
package/dist/index.js CHANGED
@@ -869,8 +869,8 @@ var TsSchemaGenerator = class {
869
869
  }
870
870
  generateSchemaStatements(model, statements, lite) {
871
871
  const hasComputedFields = model.declarations.some((d) => isDataModel3(d) && d.fields.some((f) => hasAttribute(f, "@computed")));
872
- const schemaObject = this.createSchemaObject(model, lite);
873
- const runtimeImportDecl = ts.factory.createImportDeclaration(void 0, ts.factory.createImportClause(false, void 0, ts.factory.createNamedImports([
872
+ const schemaClass = this.createSchemaClass(model, lite);
873
+ const runtimeImportDecl = ts.factory.createImportDeclaration(void 0, ts.factory.createImportClause(void 0, void 0, ts.factory.createNamedImports([
874
874
  ts.factory.createImportSpecifier(true, void 0, ts.factory.createIdentifier("SchemaDef")),
875
875
  ...hasComputedFields ? [
876
876
  ts.factory.createImportSpecifier(true, void 0, ts.factory.createIdentifier("OperandExpression"))
@@ -880,57 +880,53 @@ var TsSchemaGenerator = class {
880
880
  ] : []
881
881
  ])), ts.factory.createStringLiteral("@zenstackhq/orm/schema"));
882
882
  statements.push(runtimeImportDecl);
883
- const _schemaDecl = ts.factory.createVariableStatement([], ts.factory.createVariableDeclarationList([
884
- ts.factory.createVariableDeclaration("_schema", void 0, void 0, ts.factory.createSatisfiesExpression(ts.factory.createAsExpression(schemaObject, ts.factory.createTypeReferenceNode("const")), ts.factory.createTypeReferenceNode("SchemaDef")))
885
- ], ts.NodeFlags.Const));
886
- statements.push(_schemaDecl);
887
- const brandedSchemaType = ts.factory.createTypeAliasDeclaration(void 0, "Schema", void 0, ts.factory.createIntersectionTypeNode([
888
- ts.factory.createTypeQueryNode(ts.factory.createIdentifier("_schema")),
889
- ts.factory.createTypeLiteralNode([
890
- ts.factory.createPropertySignature(void 0, "__brand", ts.factory.createToken(ts.SyntaxKind.QuestionToken), ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral("schema")))
891
- ])
892
- ]));
893
- statements.push(brandedSchemaType);
894
- const schemaExportDecl = ts.factory.createVariableStatement([
883
+ statements.push(schemaClass);
884
+ const schemaDecl = ts.factory.createVariableStatement([
895
885
  ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)
896
886
  ], ts.factory.createVariableDeclarationList([
897
- ts.factory.createVariableDeclaration("schema", void 0, ts.factory.createTypeReferenceNode("Schema"), ts.factory.createIdentifier("_schema"))
887
+ ts.factory.createVariableDeclaration("schema", void 0, void 0, ts.factory.createNewExpression(ts.factory.createIdentifier("SchemaType"), void 0, []))
898
888
  ], ts.NodeFlags.Const));
899
- statements.push(schemaExportDecl);
900
- const schemaTypeDeclaration = ts.factory.createTypeAliasDeclaration([
901
- ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)
902
- ], "SchemaType", void 0, ts.factory.createTypeReferenceNode("Schema"));
903
- statements.push(schemaTypeDeclaration);
889
+ statements.push(schemaDecl);
904
890
  }
905
891
  createExpressionUtilsCall(method, args) {
906
892
  this.usedExpressionUtils = true;
907
893
  return ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier("ExpressionUtils"), method), void 0, args || []);
908
894
  }
909
- createSchemaObject(model, lite) {
910
- const properties = [
895
+ createSchemaClass(model, lite) {
896
+ const members = [
911
897
  // provider
912
- ts.factory.createPropertyAssignment("provider", this.createProviderObject(model)),
898
+ ts.factory.createPropertyDeclaration(void 0, "provider", void 0, void 0, this.createAsConst(this.createProviderObject(model))),
913
899
  // models
914
- ts.factory.createPropertyAssignment("models", this.createModelsObject(model, lite)),
900
+ ts.factory.createPropertyDeclaration(void 0, "models", void 0, void 0, this.createAsConst(this.createModelsObject(model, lite))),
915
901
  // typeDefs
916
902
  ...model.declarations.some(isTypeDef3) ? [
917
- ts.factory.createPropertyAssignment("typeDefs", this.createTypeDefsObject(model, lite))
903
+ ts.factory.createPropertyDeclaration(void 0, "typeDefs", void 0, void 0, this.createAsConst(this.createTypeDefsObject(model, lite)))
918
904
  ] : []
919
905
  ];
920
906
  const enums = model.declarations.filter(isEnum);
921
907
  if (enums.length > 0) {
922
- properties.push(ts.factory.createPropertyAssignment("enums", ts.factory.createObjectLiteralExpression(enums.map((e) => ts.factory.createPropertyAssignment(e.name, this.createEnumObject(e))), true)));
908
+ members.push(ts.factory.createPropertyDeclaration(void 0, "enums", void 0, void 0, this.createAsConst(ts.factory.createObjectLiteralExpression(enums.map((e) => ts.factory.createPropertyAssignment(e.name, this.createEnumObject(e))), true))));
923
909
  }
924
910
  const authType = getAuthDecl(model);
925
911
  if (authType) {
926
- properties.push(ts.factory.createPropertyAssignment("authType", this.createLiteralNode(authType.name)));
912
+ members.push(ts.factory.createPropertyDeclaration(void 0, "authType", void 0, void 0, this.createAsConst(this.createLiteralNode(authType.name))));
927
913
  }
928
914
  const procedures = model.declarations.filter(isProcedure);
929
915
  if (procedures.length > 0) {
930
- properties.push(ts.factory.createPropertyAssignment("procedures", this.createProceduresObject(procedures)));
916
+ members.push(ts.factory.createPropertyDeclaration(void 0, "procedures", void 0, void 0, this.createAsConst(this.createProceduresObject(procedures))));
931
917
  }
932
- properties.push(ts.factory.createPropertyAssignment("plugins", ts.factory.createObjectLiteralExpression([], true)));
933
- return ts.factory.createObjectLiteralExpression(properties, true);
918
+ members.push(ts.factory.createPropertyDeclaration(void 0, "plugins", void 0, void 0, ts.factory.createObjectLiteralExpression([], true)));
919
+ const schemaClass = ts.factory.createClassDeclaration([
920
+ ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)
921
+ ], "SchemaType", void 0, [
922
+ ts.factory.createHeritageClause(ts.SyntaxKind.ImplementsKeyword, [
923
+ ts.factory.createExpressionWithTypeArguments(ts.factory.createIdentifier("SchemaDef"), void 0)
924
+ ])
925
+ ], members);
926
+ return schemaClass;
927
+ }
928
+ createAsConst(expr) {
929
+ return ts.factory.createAsExpression(expr, ts.factory.createTypeReferenceNode("const"));
934
930
  }
935
931
  createProviderObject(model) {
936
932
  const dsProvider = this.getDataSourceProvider(model);
@@ -1625,10 +1621,10 @@ var TsSchemaGenerator = class {
1625
1621
  };
1626
1622
  statements.push(ts.factory.createImportDeclaration(void 0, ts.factory.createImportClause(true, void 0, ts.factory.createNamedImports([
1627
1623
  ...inputTypes.map((inputType) => ts.factory.createImportSpecifier(false, void 0, ts.factory.createIdentifier(`${inputType} as $${inputType}`))),
1628
- ts.factory.createImportSpecifier(false, void 0, ts.factory.createIdentifier("ClientOptions as $ClientOptions"))
1624
+ ts.factory.createImportSpecifier(false, void 0, ts.factory.createIdentifier("QueryOptions as $QueryOptions"))
1629
1625
  ])), ts.factory.createStringLiteral("@zenstackhq/orm")));
1630
1626
  statements.push(ts.factory.createImportDeclaration(void 0, ts.factory.createImportClause(true, void 0, ts.factory.createNamedImports([
1631
- ts.factory.createImportSpecifier(false, void 0, ts.factory.createIdentifier("SimplifiedModelResult as $SimplifiedModelResult")),
1627
+ ts.factory.createImportSpecifier(false, void 0, ts.factory.createIdentifier("SimplifiedPlainResult as $Result")),
1632
1628
  ts.factory.createImportSpecifier(false, void 0, ts.factory.createIdentifier("SelectIncludeOmit as $SelectIncludeOmit"))
1633
1629
  ])), ts.factory.createStringLiteral("@zenstackhq/orm")));
1634
1630
  for (const dm of dataModels) {
@@ -1649,16 +1645,16 @@ var TsSchemaGenerator = class {
1649
1645
  ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(dm.name)),
1650
1646
  ts.factory.createLiteralTypeNode(ts.factory.createTrue())
1651
1647
  ])),
1652
- ts.factory.createTypeParameterDeclaration(void 0, "Options", ts.factory.createTypeReferenceNode("$ClientOptions", [
1648
+ ts.factory.createTypeParameterDeclaration(void 0, "Options", ts.factory.createTypeReferenceNode("$QueryOptions", [
1653
1649
  ts.factory.createTypeReferenceNode("$Schema")
1654
- ]), ts.factory.createTypeReferenceNode("$ClientOptions", [
1650
+ ]), ts.factory.createTypeReferenceNode("$QueryOptions", [
1655
1651
  ts.factory.createTypeReferenceNode("$Schema")
1656
1652
  ]))
1657
- ], ts.factory.createTypeReferenceNode("$SimplifiedModelResult", [
1653
+ ], ts.factory.createTypeReferenceNode("$Result", [
1658
1654
  ts.factory.createTypeReferenceNode("$Schema"),
1659
1655
  ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(dm.name)),
1660
- ts.factory.createTypeReferenceNode("Options"),
1661
- ts.factory.createTypeReferenceNode("Args")
1656
+ ts.factory.createTypeReferenceNode("Args"),
1657
+ ts.factory.createTypeReferenceNode("Options")
1662
1658
  ])));
1663
1659
  }
1664
1660
  this.generateBannerComments(statements);