mutano 1.0.0 → 1.0.3

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 (2) hide show
  1. package/dist/main.js +8 -6
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -74,7 +74,7 @@ function getType(op, desc, config) {
74
74
  return;
75
75
  const isRequiredString = config.requiredString && config.requiredString === true && op !== "selectable";
76
76
  const isUseDateType = config.useDateType && config.useDateType === true;
77
- const type = Type.split("(")[0].split(" ")[0];
77
+ const type = schemaType === "mysql" ? Type.split("(")[0].split(" ")[0] : Type;
78
78
  const zDate = [
79
79
  "z.union([z.number(), z.string(), z.date()]).pipe(z.coerce.date())"
80
80
  ];
@@ -229,25 +229,27 @@ async function generate(config) {
229
229
  } else {
230
230
  const prismaTable = prismaTables.find((t) => t?.name === table);
231
231
  let enumOptions;
232
- describes = prismaTable.properties.filter((p) => p.type === "field").map((field) => {
232
+ describes = prismaTable.properties.filter(
233
+ (p) => p.type === "field" && !p.attributes?.find((a) => a.name === "relation")
234
+ ).map((field) => {
233
235
  const defaultValueField = field.attributes ? field.attributes.find((a) => a.name === "default") : null;
234
236
  const defaultValue = defaultValueField?.args?.[0].value;
235
- const parsedDefaultValue = !!defaultValue && typeof defaultValue !== "object" ? defaultValue.toString() : null;
237
+ const parsedDefaultValue = defaultValue !== void 0 && typeof defaultValue !== "object" ? defaultValue.toString() : null;
236
238
  let fieldType = field.fieldType.toString();
237
239
  if (!prismaValidTypes.includes(fieldType)) {
238
- fieldType = "Enum";
239
240
  enumOptions = schema.findAllByType("enum", {
240
241
  name: fieldType
241
242
  })[0]?.enumerators.filter(
242
243
  (e) => e.type === "enumerator"
243
244
  ).map((e) => e.name);
245
+ fieldType = "Enum";
244
246
  }
245
247
  return {
246
248
  Field: field.name,
247
249
  Default: parsedDefaultValue,
248
250
  EnumOptions: enumOptions,
249
- Extra: defaultValue ? "DEFAULT_GENERATED" : "",
250
- Type: field.fieldType.toString(),
251
+ Extra: parsedDefaultValue !== null ? "DEFAULT_GENERATED" : "",
252
+ Type: fieldType,
251
253
  Null: field.optional ? "YES" : "NO",
252
254
  Comment: field.comment ?? ""
253
255
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mutano",
3
3
  "type": "module",
4
- "version": "1.0.0",
4
+ "version": "1.0.3",
5
5
  "description": "Converts Prisma/MySQL schemas to Zod interfaces",
6
6
  "author": "Alisson Cavalcante Agiani <thelinuxlich@gmail.com>",
7
7
  "license": "MIT",