@zenstackhq/sdk 3.7.0-beta.1 → 3.7.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.
package/dist/index.cjs CHANGED
@@ -418,6 +418,12 @@ var EnumField$1 = class extends DeclarationBase {
418
418
  //#region src/prisma/prisma-schema-generator.ts
419
419
  const IDENTIFIER_NAME_MAX_LENGTH = 38;
420
420
  const NON_PRISMA_DATASOURCE_FIELDS = ["defaultSchema"];
421
+ const ID_FUNCTIONS = [
422
+ "uuid",
423
+ "ulid",
424
+ "cuid",
425
+ "nanoid"
426
+ ];
421
427
  /**
422
428
  * Generates Prisma schema file
423
429
  */
@@ -568,7 +574,7 @@ var PrismaSchemaGenerator = class {
568
574
  return new _zenstackhq_language.ZModelCodeGenerator({ quote: "double" }).generate(expr);
569
575
  }
570
576
  makeFunctionCall(node) {
571
- return new FunctionCall(node.function.ref.name, node.args.map((arg) => {
577
+ return new FunctionCall(node.function.ref.name, node.args.filter((_, i) => !(ID_FUNCTIONS.includes(node.function.ref.name) && (node.function.ref.name === "ulid" && i === 0 || i === 1))).map((arg) => {
572
578
  return new FunctionCallArg((0, ts_pattern.match)(arg.value).when(_zenstackhq_language_ast.isStringLiteral, (v) => `"${v.value}"`).when(_zenstackhq_language_ast.isLiteralExpr, (v) => v.value.toString()).when(_zenstackhq_language_ast.isNullExpr, () => "null").otherwise(() => {
573
579
  throw new Error("Function call argument must be literal or null");
574
580
  }));
@@ -742,6 +748,11 @@ var TsSchemaGenerator = class {
742
748
  typescript.factory.createPropertyAssignment("idFields", typescript.factory.createArrayLiteralExpression(getIdFields(dm).map((idField) => typescript.factory.createStringLiteral(idField)))),
743
749
  typescript.factory.createPropertyAssignment("uniqueFields", this.createUniqueFieldsObject(dm)),
744
750
  ...isDelegateModel$1(dm) ? [typescript.factory.createPropertyAssignment("isDelegate", typescript.factory.createTrue())] : [],
751
+ ...(() => {
752
+ const delegateMapValue = this.getDelegateMapValue(dm);
753
+ if (delegateMapValue === void 0) return [];
754
+ return [typescript.factory.createPropertyAssignment("delegateMap", this.createLiteralNode(delegateMapValue))];
755
+ })(),
745
756
  ...subModels.length > 0 ? [typescript.factory.createPropertyAssignment("subModels", typescript.factory.createArrayLiteralExpression(subModels.map((subModel) => typescript.factory.createStringLiteral(subModel))))] : [],
746
757
  ...dm.isView ? [typescript.factory.createPropertyAssignment("isView", typescript.factory.createTrue())] : []
747
758
  ];
@@ -749,6 +760,17 @@ var TsSchemaGenerator = class {
749
760
  if (computedFields.length > 0) fields.push(typescript.factory.createPropertyAssignment("computedFields", this.createComputedFieldsObject(computedFields)));
750
761
  return typescript.factory.createObjectLiteralExpression(fields, true);
751
762
  }
763
+ getDelegateMapValue(dm) {
764
+ const delegateMapAttr = getAttribute(dm, "@@delegateMap");
765
+ if (!delegateMapAttr) return;
766
+ const valueExpr = delegateMapAttr.args[0]?.value;
767
+ if (!valueExpr) return;
768
+ if ((0, _zenstackhq_language_ast.isLiteralExpr)(valueExpr)) {
769
+ const literal = this.getLiteral(valueExpr);
770
+ return typeof literal === "string" ? literal : void 0;
771
+ }
772
+ if ((0, _zenstackhq_language_ast.isReferenceExpr)(valueExpr) && (0, _zenstackhq_language_ast.isEnumField)(valueExpr.target.ref)) return valueExpr.target.ref.name;
773
+ }
752
774
  getSubModels(dm) {
753
775
  return dm.$container.declarations.filter(_zenstackhq_language_ast.isDataModel).filter((d) => d.baseModel?.ref === dm).map((d) => d.name);
754
776
  }
@@ -786,6 +808,8 @@ var TsSchemaGenerator = class {
786
808
  objectFields.push(typescript.factory.createPropertyAssignment("updatedAt", ignoreArg ? this.createUpdatedAtObject(ignoreArg) : typescript.factory.createTrue()));
787
809
  }
788
810
  if (hasAttribute(field, "@omit")) objectFields.push(typescript.factory.createPropertyAssignment("omit", typescript.factory.createTrue()));
811
+ if (hasAttribute(field, "@fuzzy")) objectFields.push(typescript.factory.createPropertyAssignment("fuzzy", typescript.factory.createTrue()));
812
+ if (hasAttribute(field, "@fullText")) objectFields.push(typescript.factory.createPropertyAssignment("fullText", typescript.factory.createTrue()));
789
813
  if (contextModel && !isIdField(field, contextModel)) {
790
814
  const delegateOrigin = getDelegateOriginModel(field, contextModel);
791
815
  if (delegateOrigin) objectFields.push(typescript.factory.createPropertyAssignment("originModel", typescript.factory.createStringLiteral(delegateOrigin)));