{"version":3,"sources":["../src/index.ts","../src/utils/cli/helper.ts","../src/utils/constants.ts","../src/cli/index.ts","../src/utils/loader/settings.loader.ts","../src/utils/common.ts","../src/utils/initializer/repository.initializer.ts","../src/utils/logger.ts","../src/utils/helper/checker.helper.ts","../src/utils/initializer/prismaRepo.initializer.ts","../src/utils/helper/models.helper.ts","../src/utils/helper/assign.helper.ts","../src/utils/helper/constant.helper.ts","../src/utils/helper/prisma.helper.ts","../src/utils/initializer/baseRepository.initializer.ts","../src/utils/initializer/repositories.initializer.ts","../src/utils/cli/program.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport _ from 'lodash';\nimport { renderTitle } from 'utils/cli/helper';\nimport { runCli } from 'cli';\n\nconst main = () => {\n  renderTitle();\n  runCli();\n};\n\n_.mixin({\n  constantCase: (value: string) => _.upperCase(value).replace(/ /g, '_'),\n});\n\nmain();\n","import figlet from 'figlet';\nimport gradient from 'gradient-string';\nimport { APP_TITLE, COLOR_SCHEME } from 'utils/constants';\n\nexport const renderTitle = () => {\n  const colors = [\n    COLOR_SCHEME.BRIGHT_RED,\n    COLOR_SCHEME.BRIGHT_ORANGE,\n    COLOR_SCHEME.BRIGHT_PURPLE,\n    COLOR_SCHEME.DARK_GREEN,\n    COLOR_SCHEME.BRIGHT_GREEN,\n    COLOR_SCHEME.DARK_GREEN,\n    COLOR_SCHEME.BRIGHT_PURPLE,\n    COLOR_SCHEME.BRIGHT_ORANGE,\n    COLOR_SCHEME.BRIGHT_RED,\n  ];\n\n  const text = figlet.textSync(APP_TITLE, { font: 'Small' });\n  const roseGradient = gradient(colors);\n\n  console.log(roseGradient.multiline(text));\n};\n","import appRootPath from 'app-root-path';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nconst __filename = fileURLToPath(import.meta.url); // eslint-disable-line no-underscore-dangle\nconst distPath = path.dirname(__filename);\nexport const PKG_ROOT = path.join(distPath, '../');\n\nexport const TYPE_SUFFIX = {\n  WHERE_INPUT: 'WhereInput',\n  SELECT: 'Select',\n  INCLUDE: 'Include',\n  CREATE_INPUT: 'CreateInput',\n  UPDATE_INPUT: 'UpdateInput',\n  WHERE_UNIQUE_INPUT: 'WhereUniqueInput',\n  ORDER_BY_WITH_RELATION_INPUT: 'OrderByWithRelationInput',\n  DELEGATE: 'Delegate',\n  GROUP_BY: 'GroupByOutputType',\n} as const;\n\nexport const DEFAULT_MODEL_TYPES = {\n  [TYPE_SUFFIX.WHERE_INPUT]: 'unknown',\n  [TYPE_SUFFIX.SELECT]: 'unknown',\n  [TYPE_SUFFIX.INCLUDE]: 'unknown',\n  [TYPE_SUFFIX.CREATE_INPUT]: 'unknown',\n  [TYPE_SUFFIX.UPDATE_INPUT]: 'unknown',\n  [TYPE_SUFFIX.WHERE_UNIQUE_INPUT]: 'unknown',\n  [TYPE_SUFFIX.ORDER_BY_WITH_RELATION_INPUT]: 'unknown',\n  [TYPE_SUFFIX.DELEGATE]: 'unknown',\n  [TYPE_SUFFIX.GROUP_BY]: 'unknown',\n} as const;\n\nexport const COLOR_SCHEME = {\n  BRIGHT_RED: '#E2180A',\n  BRIGHT_ORANGE: '#F34B8C',\n  BRIGHT_PURPLE: '#C8184F',\n  BRIGHT_GREEN: '#52A849',\n  DARK_GREEN: '19511E',\n};\n\nexport const APP_TITLE = 'PRISMA REPO GENERATOR';\n\nexport const DEFAULT_CLI_RESULTS: PR.CliResults = {\n  modelname: '',\n  flags: {\n    settings: '',\n    repositories: false,\n    baseRepository: false,\n    modelStructures: false,\n  },\n};\n\nexport const DEFAULT_PATH = {\n  REPOSITORY: 'src/repository',\n  TYPES: 'src/types',\n  PRISMA_DEFINITION: `${appRootPath}/node_modules/.prisma/client/index.d.ts`,\n} as const;\n\nexport const PACKAGE_NAME = 'prisma-repo' as const;\n\nexport const FILES_NAME = {\n  BASE_REPOSITORY: 'baseRepository.ts',\n  MODELS: `${PACKAGE_NAME}.ts`,\n  TYPES: {\n    EXPRESS: 'express.d.ts',\n  },\n} as const;\n\nexport const CONFIG_FILE_NAMES = {\n  JSON: 'repository.setting.json',\n  JS: 'repository.setting.js',\n  MJS: 'repository.setting.mjs',\n  TS: 'repository.setting.ts',\n} as const;\n\nexport const PRISMA_LOGGER = {\n  QUERY: 'query',\n  INFO: 'info',\n  WARN: 'warn',\n  ERROR: 'error',\n} as const;\n","import _ from 'lodash';\nimport fs from 'fs-extra';\nimport appRootPath from 'app-root-path';\nimport { getSettingsFromPath } from 'utils/loader/settings.loader';\nimport { createRepository } from 'utils/initializer/repository.initializer';\nimport { createBaseRepository } from 'utils/initializer/baseRepository.initializer';\nimport { createRespositories } from 'utils/initializer/repositories.initializer';\nimport { createModelStructures } from 'utils/initializer/prismaRepo.initializer';\nimport { APP_TITLE, DEFAULT_PATH } from 'utils/constants';\nimport { createProgram } from 'utils/cli/program';\nimport { readFile } from 'utils/common';\nimport { logger } from 'utils/logger';\n\nexport const runCli = async () => {\n  const cliResults = createProgram();\n\n  const settings: PR.PrismaRepoConfig = await getSettingsFromPath(cliResults.flags.settings);\n\n  const prisma = await readFile(DEFAULT_PATH.PRISMA_DEFINITION);\n\n  const repositoryDirPath = `${appRootPath}/${settings.repositoryPath ?? DEFAULT_PATH.REPOSITORY}`;\n  const repositoryDirExist = fs.existsSync(repositoryDirPath);\n\n  try {\n    if (!repositoryDirExist) await fs.mkdirp(repositoryDirPath);\n\n    if (cliResults.flags.repositories) {\n      createRespositories(prisma, settings);\n      return;\n    }\n\n    if (cliResults.flags.modelStructures) {\n      await createModelStructures(prisma, settings);\n    }\n\n    if (cliResults.flags.baseRepository) {\n      await createBaseRepository(prisma, settings);\n    }\n\n    if (!_.isEmpty(cliResults.modelname)) {\n      await createRepository(prisma, cliResults.modelname, settings);\n    }\n  } catch (err) {\n    if (err instanceof Error && (err as any).isTTYError) {\n      logger.error(`${APP_TITLE} needs an interactive terminal to provide options`);\n    } else {\n      throw err;\n    }\n  }\n};\n","import _ from 'lodash';\nimport fs from 'fs-extra';\nimport appRootPath from 'app-root-path';\nimport { execAsync } from 'utils/common';\nimport { CONFIG_FILE_NAMES, PACKAGE_NAME } from 'utils/constants';\n\nconst isPathValidExists = (filePath: string) => !_.isEmpty(filePath) && fs.existsSync(filePath);\n\nexport const loadJsonSettings = async (filePath = '') => {\n  try {\n    if (isPathValidExists(filePath)) return (await fs.readJson(filePath)) as PR.PrismaRepoConfig;\n\n    if (!fs.existsSync(`${appRootPath}/${CONFIG_FILE_NAMES.JSON}`)) return {};\n\n    return (await fs.readJson(`${appRootPath}/${CONFIG_FILE_NAMES.JSON}`)) as PR.PrismaRepoConfig;\n  } catch {\n    return {};\n  }\n};\n\nexport const loadJsSettings = async (filePath = '') => {\n  try {\n    if (isPathValidExists(filePath)) return (await import(filePath)).default;\n\n    if (!fs.existsSync(`${appRootPath}/${CONFIG_FILE_NAMES.JS}`)) return {};\n\n    return (await import(`${appRootPath}/${CONFIG_FILE_NAMES.JS}`)).default;\n  } catch {\n    return {};\n  }\n};\n\nexport const loadTsSettings = async (filePath = '') => {\n  try {\n    let pathToLoad = `${appRootPath}/${CONFIG_FILE_NAMES.TS}`;\n\n    if (isPathValidExists(filePath)) pathToLoad = filePath;\n\n    if (!fs.existsSync(pathToLoad)) return {};\n\n    await execAsync(\n      `npx tsup ${pathToLoad} --format esm --clean --outDir node_modules/.${PACKAGE_NAME}`\n    );\n\n    const settings: PR.PrismaRepoConfig = (\n      await import(`${appRootPath}/node_modules/.${PACKAGE_NAME}/${CONFIG_FILE_NAMES.MJS}`)\n    ).default;\n\n    return settings;\n  } catch {\n    return {};\n  }\n};\n\nexport const getSettings = async (filePath = '') => {\n  let settings: PR.PrismaRepoConfig = {};\n\n  settings = await loadJsonSettings(filePath);\n\n  if (_.isEmpty(settings)) {\n    settings = await loadJsSettings(filePath);\n  }\n\n  if (_.isEmpty(settings)) {\n    settings = await loadTsSettings(filePath);\n  }\n\n  return settings;\n};\n\nexport const getSettingsFromPath = async (filePath = '') => {\n  if (_.isEmpty(filePath)) return getSettings();\n\n  return getSettings(filePath);\n};\n","import fs from 'fs-extra';\nimport { promisify } from 'util';\nimport { exec } from 'child_process';\n\nexport const execAsync = promisify(exec);\n\nexport const readFile = (filePath: string) => fs.readFile(filePath, 'utf8');\n","import _ from 'lodash';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport appRootPath from 'app-root-path';\nimport { logger, chalks, oras } from 'utils/logger';\nimport templateFile from 'template-file';\nimport { checkModelExist, checkShouldOverwrite } from 'utils/helper/checker.helper';\nimport { DEFAULT_PATH, FILES_NAME, PKG_ROOT } from 'utils/constants';\nimport { createModelStructures } from './prismaRepo.initializer';\nimport { createBaseRepository } from './baseRepository.initializer';\n\nexport const createRepository = async (\n  prisma: string,\n  modelName: string,\n  settings: PR.PrismaRepoConfig,\n  shouldUpdate = true\n) => {\n  const spinner = oras(`Creating repository for model ${modelName}...\\n`).start();\n  const { repositoryPath, overwrite } = settings;\n\n  if (!checkModelExist(prisma, modelName)) {\n    spinner.fail(`Model ${modelName} does not exist`);\n    return;\n  }\n\n  const isShouldOverwrite = checkShouldOverwrite(overwrite, 'repository');\n\n  const repositoryDirPath = `${appRootPath}/${repositoryPath ?? DEFAULT_PATH.REPOSITORY}`;\n  const filePath = `${repositoryDirPath}/${_.camelCase(modelName)}.ts`;\n  const baseRepositoryPath = `${repositoryDirPath}/${FILES_NAME.BASE_REPOSITORY}`;\n\n  const fileExists = fs.existsSync(filePath);\n  const directoryExists = fs.existsSync(repositoryDirPath);\n  const baseRepoExists = fs.existsSync(baseRepositoryPath);\n\n  const rootDir = path.join(PKG_ROOT, 'template');\n  const templatePath = path.join(rootDir, 'repository.ts');\n\n  try {\n    if (!directoryExists) {\n      await fs.mkdirp(repositoryDirPath);\n    }\n\n    if (isShouldOverwrite || !fileExists) {\n      const template = await templateFile.renderFile(templatePath, {\n        repository: modelName,\n        repositoryName: `MODELS_NAME.${_.constantCase(modelName)}`,\n      });\n\n      await fs.writeFile(filePath, template);\n    } else {\n      spinner.fail(`Repository for model \\`${modelName}\\` already exists`);\n      spinner.fail(`Overwriting is disabled by default, enable it in the config file`);\n      return;\n    }\n\n    spinner.succeed(chalks.green.bold(`Repository for model ${modelName} created`));\n\n    if (!shouldUpdate) return;\n\n    logger.info('[Info]: Updating Model Structures!');\n    await createModelStructures(prisma, settings);\n\n    if (!baseRepoExists) {\n      logger.warn('[Warn]: Base repository not found!');\n      await createBaseRepository(prisma, settings);\n    }\n  } catch {\n    spinner.fail(chalks.red.bold(`Repository creation failed for model ${modelName}`));\n  }\n};\n","import ora from 'ora';\nimport chalk from 'chalk';\n\nexport const oras = ora;\nexport const chalks = chalk;\n\nexport const logger = {\n  error: (...args: unknown[]) => {\n    console.log(chalks.red(...args));\n  },\n  warn: (...args: unknown[]) => {\n    console.log(chalks.yellow(...args));\n  },\n  info: (...args: unknown[]) => {\n    console.log(chalks.cyan(...args));\n  },\n  success: (...args: unknown[]) => {\n    console.log(chalks.green(...args));\n  },\n};\n","import _ from 'lodash';\n\nexport const checkModelExist = (prisma: string, modelName: string) =>\n  prisma\n    .split('\\n')\n    .some((line) => line.match(new RegExp(`export type (Aggregate${modelName}) = `)));\n\nexport const checkShouldOverwrite = (\n  overwrite: PR.PrismaRepoConfig['overwrite'],\n  types: keyof PR.PrismaRepoOverwrite\n) => {\n  if (_.isNil(overwrite)) return false;\n\n  if (_.isBoolean(overwrite)) return overwrite;\n\n  return overwrite[types];\n};\n","import fs from 'fs-extra';\nimport path from 'path';\nimport appRootPath from 'app-root-path';\nimport templateFile from 'template-file';\nimport { chalks, oras } from 'utils/logger';\nimport { DEFAULT_PATH, FILES_NAME, PKG_ROOT } from 'utils/constants';\nimport { getAllModelName, getAllModelTypes, getModelStructures } from 'utils/helper/models.helper';\nimport { getModelNameConstant } from 'utils/helper/constant.helper';\nimport { getPrismaLogger } from 'utils/helper/prisma.helper';\n\nexport const createModelStructures = async (prisma: string, settings: PR.PrismaRepoConfig) => {\n  const spinner = oras('Creating model structures..\\n.').start();\n  const { repositoryPath } = settings;\n\n  const repositoryDirPath = `${appRootPath}/${repositoryPath ?? DEFAULT_PATH.REPOSITORY}`;\n\n  const filePath = `${repositoryDirPath}/${FILES_NAME.MODELS}`;\n\n  const rootDir = path.join(PKG_ROOT, 'template');\n  const templatePath = path.join(rootDir, FILES_NAME.MODELS);\n\n  try {\n    const modelNames = getAllModelName(prisma);\n    const modelNameConstants = getModelNameConstant(modelNames);\n    const modelStructure = getModelStructures(modelNames);\n    const prismaLogger = getPrismaLogger(settings.prismaLogger);\n    const modelTypes = getAllModelTypes(prisma, modelNames);\n\n    const template = await templateFile.renderFile(templatePath, {\n      log: prismaLogger,\n      prismaStructures: modelNames,\n      modelsName: modelNameConstants,\n      modelStructure,\n      modelTypes,\n    });\n\n    await fs.writeFile(filePath, template);\n\n    spinner.succeed(chalks.green.bold('Model structures created'));\n  } catch (e) {\n    console.log(e);\n    spinner.fail(chalks.red.bold('Model structures creation failed'));\n  }\n};\n","import _ from 'lodash';\nimport { DEFAULT_MODEL_TYPES, TYPE_SUFFIX } from 'utils/constants';\nimport { assignModelType } from './assign.helper';\n\nexport const getModelTypes = (prisma: string, modelName: string) => {\n  const modelType: PR.ModelTypes<typeof modelName> = DEFAULT_MODEL_TYPES;\n\n  prisma.split('\\n').forEach((line) => {\n    assignModelType(line, modelName, TYPE_SUFFIX.WHERE_INPUT, modelType);\n    assignModelType(line, modelName, TYPE_SUFFIX.SELECT, modelType);\n    assignModelType(line, modelName, TYPE_SUFFIX.INCLUDE, modelType);\n    assignModelType(line, modelName, TYPE_SUFFIX.CREATE_INPUT, modelType);\n    assignModelType(line, modelName, TYPE_SUFFIX.UPDATE_INPUT, modelType);\n    assignModelType(line, modelName, TYPE_SUFFIX.WHERE_UNIQUE_INPUT, modelType);\n    assignModelType(line, modelName, TYPE_SUFFIX.ORDER_BY_WITH_RELATION_INPUT, modelType);\n    assignModelType(line, modelName, TYPE_SUFFIX.GROUP_BY, modelType);\n  });\n\n  modelType.Delegate = `Prisma.${modelName}${TYPE_SUFFIX.DELEGATE}`;\n\n  // Stringyfy the model types\n  // We need to stringify the model types since for somehow\n  // it race with getModelsType when using map/foreach\n  return JSON.stringify(modelType, null, 2);\n};\n\nexport const getAllModelTypes = (prisma: string, modelNames: string[]) => {\n  const modelsTypes: { key: string; value: PR.ModelTypes<string> }[] = _.map(\n    modelNames,\n    (modelName) => ({\n      key: _.camelCase(modelName),\n      value: JSON.parse(getModelTypes(prisma, modelName)) as PR.ModelTypes<typeof modelName>,\n    })\n  );\n\n  return modelsTypes;\n};\n\nexport const getAllModelName = (prisma: string) => {\n  const prismaArray = prisma.split('\\n');\n\n  const modelNames = prismaArray\n    .filter((line) => line.match(/export type (Aggregate.*?) =/))\n    .map((line) => {\n      const lineChunks = line.split(' ');\n\n      return lineChunks[lineChunks.length - 3].replace('Aggregate', '');\n    });\n\n  return modelNames;\n};\n\nexport const getModelStructures = (modelNames: string[]) => {\n  if (_.isEmpty(modelNames)) return [];\n\n  return _.map(modelNames, (value) => ({\n    key: _.camelCase(value),\n    value,\n  }));\n};\n","import { TYPE_SUFFIX } from 'utils/constants';\n\nexport const assignModelType = <\n  ModelName extends string,\n  ModelType extends PR.ModelTypes<ModelName>,\n  Suffix extends PR.TypeSuffix,\n  Assign extends ModelType[Suffix]\n>(\n  line: string,\n  modelName: ModelName,\n  suffix: Suffix,\n  modelTypes: ModelType\n) => {\n  if (!line.match(new RegExp(`export type ${modelName}${suffix}`))) return 'unknown';\n\n  switch (suffix) {\n    case TYPE_SUFFIX.CREATE_INPUT:\n    case TYPE_SUFFIX.UPDATE_INPUT:\n      modelTypes[suffix] =\n        `Prisma.${modelName}${suffix} | Prisma.${modelName}Unchecked${suffix}` as Assign;\n      break;\n\n    default:\n      modelTypes[suffix] = `Prisma.${modelName}${suffix}` as Assign;\n      break;\n  }\n\n  return modelTypes[suffix];\n};\n","import _ from 'lodash';\n\nexport const getModelNameConstant = (modelNames: string[]) => {\n  return _.map(modelNames, (value) => ({\n    key: _.constantCase(value),\n    value: `'${_.camelCase(value)}'`,\n  }));\n};\n","import _ from 'lodash';\nimport { PRISMA_LOGGER } from 'utils/constants';\n\nconst convertToString = (value: PR.PrismaLoggerType[]) =>\n  `[${_(value)\n    .map((type) => `'${type}'`)\n    .join(', ')}]`;\n\nexport const getPrismaLogger = (logger: PR.PrismaRepoConfig['prismaLogger']) => {\n  if (_.isBoolean(logger)) {\n    if (logger) return convertToString(_.values(PRISMA_LOGGER));\n\n    return '[]';\n  }\n\n  if (_.isArray(logger)) return convertToString(logger);\n\n  const loggerSettings = _.reduce(\n    logger,\n    (curr, value, key) => {\n      if (value) {\n        curr.push(PRISMA_LOGGER[key as keyof typeof PRISMA_LOGGER]);\n      }\n\n      return curr;\n    },\n    [] as PR.PrismaLoggerType[]\n  );\n\n  return convertToString(loggerSettings);\n};\n","import path from 'path';\nimport fs from 'fs-extra';\nimport appRootPath from 'app-root-path';\nimport { logger, chalks, oras } from 'utils/logger';\nimport { checkShouldOverwrite } from 'utils/helper/checker.helper';\nimport { DEFAULT_PATH, FILES_NAME, PKG_ROOT } from 'utils/constants';\nimport { createModelStructures } from './prismaRepo.initializer';\n\nexport const createBaseRepository = async (prisma: string, settings: PR.PrismaRepoConfig) => {\n  const spinner = oras('Creating base repository...\\n').start();\n  const { repositoryPath, overwrite } = settings;\n\n  const isShouldOverwrite = checkShouldOverwrite(overwrite, 'repository');\n\n  const repositoryDirPath = `${appRootPath}/${repositoryPath ?? DEFAULT_PATH.REPOSITORY}`;\n  const filePath = `${repositoryDirPath}/${FILES_NAME.BASE_REPOSITORY}`;\n  const modelsPath = `${repositoryDirPath}/${FILES_NAME.MODELS}`;\n\n  const fileExists = fs.existsSync(filePath);\n  const directoryExists = fs.existsSync(repositoryDirPath);\n  const modelsExists = fs.existsSync(modelsPath);\n\n  const rootDir = path.join(PKG_ROOT, 'template');\n\n  try {\n    if (!directoryExists) {\n      await fs.mkdirp(repositoryDirPath);\n    }\n\n    if (isShouldOverwrite || !fileExists) {\n      await fs.copy(path.join(rootDir, FILES_NAME.BASE_REPOSITORY), filePath);\n    } else {\n      spinner.fail(`Base Repository already exists`);\n      spinner.fail(`Overwriting is disabled by default, enable it in the config file`);\n      return;\n    }\n\n    spinner.succeed(chalks.green.bold('Base repository created'));\n\n    if (!modelsExists) {\n      logger.warn('[Warn]: Model structures not found!');\n      createModelStructures(prisma, settings);\n    }\n  } catch {\n    spinner.fail(chalks.red.bold('Base repository creation failed'));\n  }\n};\n","import _ from 'lodash';\nimport fs from 'fs-extra';\nimport appRootPath from 'app-root-path';\nimport { logger, chalks, oras } from 'utils/logger';\nimport { getAllModelName } from 'utils/helper/models.helper';\nimport { DEFAULT_PATH, FILES_NAME } from 'utils/constants';\nimport { createModelStructures } from './prismaRepo.initializer';\nimport { createBaseRepository } from './baseRepository.initializer';\nimport { createRepository } from './repository.initializer';\n\nexport const createRespositories = async (prisma: string, settings: PR.PrismaRepoConfig) => {\n  const spinner = oras('Creating repositories...\\n').start();\n  const { repositoryPath } = settings;\n\n  const baseRepositoryPath = `${appRootPath}/${repositoryPath ?? DEFAULT_PATH.REPOSITORY}/${\n    FILES_NAME.BASE_REPOSITORY\n  }`;\n\n  const baseRepoExists = fs.existsSync(baseRepositoryPath);\n\n  try {\n    const modelsName = getAllModelName(prisma);\n\n    await Promise.all(\n      _.map(modelsName, async (modelName) => createRepository(prisma, modelName, settings, false))\n    );\n\n    spinner.succeed(chalks.green.bold('Repositories created'));\n\n    logger.info('[Info]: Updating Model Structures!');\n    await createModelStructures(prisma, settings);\n\n    if (!baseRepoExists) {\n      logger.warn('[Warn]: Base repository not found!');\n      await createBaseRepository(prisma, settings);\n    }\n  } catch {\n    spinner.fail(chalks.red.bold('Repository creation failed'));\n  }\n};\n","import _ from 'lodash';\nimport { Command } from 'commander';\nimport { APP_TITLE, DEFAULT_CLI_RESULTS } from 'utils/constants';\nimport packageJson from '../../../package.json';\n\nexport const createProgram = () => {\n  const program = new Command().name(APP_TITLE);\n\n  program\n    .description('Use Prisma with repository pattern')\n    .argument(\n      '[modelname]',\n      'Name of the model for the repository to be generated (case sensitive))'\n    )\n    .option('--repositories', 'Generate all repositories')\n    .option(\n      '--modelname <modelname>',\n      'Name of the model for the repository to be generated (case sensitive))'\n    )\n    .option('--base-repository', 'Create a base repository', false)\n    .option('--model-structures', 'Update model.ts with the generated structures', false)\n    .option('--settings <settings>', 'Use specific settings from args', '')\n    .version(packageJson.version, '-v, --version', 'Display the current version of CRB')\n    .parse(process.argv);\n\n  const cliResults = Object.assign(DEFAULT_CLI_RESULTS, {\n    flags: program.opts<PR.CliResults['flags']>(),\n  });\n\n  const modelname = program.args[0];\n\n  if (!_.isEmpty(modelname)) cliResults.modelname = modelname;\n\n  return cliResults;\n};\n"],"mappings":"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","names":["_","figlet","gradient","appRootPath","path","fileURLToPath","__filename","distPath","PKG_ROOT","TYPE_SUFFIX","DEFAULT_MODEL_TYPES","COLOR_SCHEME","APP_TITLE","DEFAULT_CLI_RESULTS","DEFAULT_PATH","PACKAGE_NAME","FILES_NAME","CONFIG_FILE_NAMES","PRISMA_LOGGER","renderTitle","colors","COLOR_SCHEME","text","figlet","APP_TITLE","roseGradient","gradient","_","fs","appRootPath","_","fs","appRootPath","fs","promisify","exec","execAsync","readFile","filePath","isPathValidExists","filePath","_","fs","loadJsonSettings","appRootPath","CONFIG_FILE_NAMES","loadJsSettings","loadTsSettings","pathToLoad","execAsync","PACKAGE_NAME","getSettings","settings","getSettingsFromPath","_","path","fs","appRootPath","ora","chalk","oras","chalks","logger","args","templateFile","_","checkModelExist","prisma","modelName","line","checkShouldOverwrite","overwrite","types","fs","path","appRootPath","templateFile","_","assignModelType","line","modelName","suffix","modelTypes","TYPE_SUFFIX","getModelTypes","prisma","modelName","modelType","DEFAULT_MODEL_TYPES","line","assignModelType","TYPE_SUFFIX","getAllModelTypes","modelNames","_","getAllModelName","lineChunks","getModelStructures","value","_","getModelNameConstant","modelNames","value","_","convertToString","value","_","type","getPrismaLogger","logger","PRISMA_LOGGER","loggerSettings","curr","key","createModelStructures","prisma","settings","spinner","oras","repositoryPath","filePath","appRootPath","DEFAULT_PATH","FILES_NAME","rootDir","path","PKG_ROOT","templatePath","modelNames","getAllModelName","modelNameConstants","getModelNameConstant","modelStructure","getModelStructures","prismaLogger","getPrismaLogger","modelTypes","getAllModelTypes","template","templateFile","fs","chalks","e","path","fs","appRootPath","createBaseRepository","prisma","settings","spinner","oras","repositoryPath","overwrite","isShouldOverwrite","checkShouldOverwrite","repositoryDirPath","appRootPath","DEFAULT_PATH","filePath","FILES_NAME","modelsPath","fileExists","fs","directoryExists","modelsExists","rootDir","path","PKG_ROOT","chalks","logger","createModelStructures","createRepository","prisma","modelName","settings","shouldUpdate","spinner","oras","repositoryPath","overwrite","checkModelExist","isShouldOverwrite","checkShouldOverwrite","repositoryDirPath","appRootPath","DEFAULT_PATH","filePath","_","baseRepositoryPath","FILES_NAME","fileExists","fs","directoryExists","baseRepoExists","rootDir","path","PKG_ROOT","templatePath","template","templateFile","chalks","logger","createModelStructures","createBaseRepository","_","fs","appRootPath","createRespositories","prisma","settings","spinner","oras","repositoryPath","baseRepositoryPath","appRootPath","DEFAULT_PATH","FILES_NAME","baseRepoExists","fs","modelsName","getAllModelName","_","modelName","createRepository","chalks","logger","createModelStructures","createBaseRepository","_","Command","createProgram","program","Command","APP_TITLE","package_default","cliResults","DEFAULT_CLI_RESULTS","modelname","_","runCli","cliResults","createProgram","settings","getSettingsFromPath","prisma","readFile","DEFAULT_PATH","repositoryDirPath","appRootPath","repositoryDirExist","fs","createRespositories","createModelStructures","createBaseRepository","_","createRepository","err","logger","APP_TITLE","main","renderTitle","runCli","_","value"]}