{"version":3,"file":"generator-helpers.mjs","names":[],"sources":["../../src/zod/generator-helpers.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n                       ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website:                  https://stormsoftware.com\n Repository:               https://github.com/storm-software/stryke\n Documentation:            https://docs.stormsoftware.com/projects/stryke\n Contact:                  https://stormsoftware.com/contact\n\n SPDX-License-Identifier:  Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { DMMF } from \"@prisma/generator-helper\";\nimport type { AggregateOperationSupport, Writeable } from \"../types\";\nimport Transformer from \"./transformer\";\n\nexport async function generateZodEnumSchemas(\n  prismaSchemaEnum: Writeable<DMMF.SchemaEnum[]>,\n  modelSchemaEnum: Writeable<DMMF.SchemaEnum[]>\n) {\n  const enumTypes = [...prismaSchemaEnum, ...modelSchemaEnum];\n  const enumNames = enumTypes.map(enumItem => enumItem.name);\n  Transformer.enumNames = enumNames ?? [];\n  const transformer = new Transformer({\n    enumTypes\n  });\n  await transformer.generateEnumSchemas();\n}\n\nexport async function generateZodObjectSchemas(\n  inputObjectTypes: Writeable<DMMF.InputType[]>\n) {\n  for (let i = 0; i < inputObjectTypes.length; i += 1) {\n    const fields = inputObjectTypes[i]?.fields;\n    const name = inputObjectTypes[i]?.name;\n    const transformer = new Transformer({ name, fields });\n    await transformer.generateObjectSchema();\n  }\n}\n\nexport async function generateZodModelSchemas(\n  models: Writeable<DMMF.Model[]>,\n  modelOperations: Writeable<DMMF.ModelMapping[]>,\n  aggregateOperationSupport: AggregateOperationSupport\n) {\n  const transformer = new Transformer({\n    models,\n    modelOperations,\n    aggregateOperationSupport\n  });\n  await transformer.generateModelSchemas();\n}\n\nexport async function generateZodIndex() {\n  await Transformer.generateIndex();\n}\n"],"mappings":";;;AAsBA,eAAsB,uBACpB,kBACA,iBACA;CACA,MAAM,YAAY,CAAC,GAAG,kBAAkB,GAAG,gBAAgB;AAE3D,aAAY,YADM,UAAU,KAAI,aAAY,SAAS,KACpB,IAAI,EAAE;AAIvC,OAAM,IAHkB,YAAY,EAClC,WACD,CACgB,CAAC,qBAAqB;;AAGzC,eAAsB,yBACpB,kBACA;AACA,MAAK,IAAI,IAAI,GAAG,IAAI,iBAAiB,QAAQ,KAAK,GAAG;EACnD,MAAM,SAAS,iBAAiB,IAAI;EACpC,MAAM,OAAO,iBAAiB,IAAI;AAElC,QAAM,IADkB,YAAY;GAAE;GAAM;GAAQ,CACnC,CAAC,sBAAsB;;;AAI5C,eAAsB,wBACpB,QACA,iBACA,2BACA;AAMA,OAAM,IALkB,YAAY;EAClC;EACA;EACA;EACD,CACgB,CAAC,sBAAsB;;AAG1C,eAAsB,mBAAmB;AACvC,OAAM,YAAY,eAAe"}