{"version":3,"sources":["../../src/config/index.ts","../../src/config/store/store.ts"],"sourcesContent":["import chalk from 'chalk';\nimport ora from 'ora';\nimport {cosmiconfig} from 'cosmiconfig';\nimport {IConfig} from '../types.ts';\nimport {ConfigStore} from './store/store.ts';\nconst spinner = ora('get hookgenrc config file');\nconst explorer = () => cosmiconfig('hookgenrc');\n// eslint-disable-next-line prefer-const\nexport let configStore: ConfigStore | undefined = undefined;\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nexport async function getConfig(): Promise<IConfig | undefined> {\n  spinner.start();\n  try {\n    const configFile = await explorer().load('./hookgenrc.json');\n    if (configFile?.isEmpty) {\n      spinner.warn();\n      console.warn(chalk.yellow(' └ codegen file is empty!'));\n      return Promise.resolve(undefined);\n    } else {\n      spinner.succeed();\n      configStore = new ConfigStore(configFile?.config as IConfig);\n      return configFile?.config as IConfig;\n    }\n  } catch (error) {\n    spinner.fail();\n    console.error(\n      chalk.bgRedBright(error ? error : ' └ Error get config file')\n    );\n    throw new Error(\n      chalk.bgRedBright(error ? error : ' └ Error get config file')\n    );\n  }\n}\n","import {IConfig, fileTypes, fileTypesEnum} from '../../types.ts';\n\nexport class ConfigStore implements IConfig {\n  public baseUrl;\n  public hook?: 'SWR' | 'ReactQuery' | 'NG';\n  public outDir;\n  public prettier?;\n  public singleJson = false;\n  public filter?;\n  public resourcePick?: string | undefined;\n  public archive?: boolean;\n  public definition = '';\n  public fileTypes: {[key in fileTypesEnum]: fileTypes} = {\n    enums: 'ts',\n    types: 'd.ts',\n    client: 'ts',\n    api: 'ts',\n    hook: 'ts',\n  };\n  constructor({\n    baseUrl,\n    outDir,\n    prettier,\n    filter,\n    hook,\n    fileTypes,\n    resourcePick,\n    archive,\n    singleJson = false,\n  }: IConfig) {\n    this.baseUrl = baseUrl;\n    this.outDir = outDir;\n    this.outDir = outDir;\n    this.resourcePick = resourcePick;\n    this.hook = hook;\n    this.singleJson = singleJson;\n    this.archive = archive;\n    this.prettier = prettier;\n    this.fileTypes = fileTypes ? fileTypes : this.fileTypes;\n    this.filter = filter && new RegExp(filter);\n  }\n\n  setDefinition(value: string) {\n    this.definition = value;\n  }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,iBAAgB;AAChB,yBAA0B;;;ACAnB,IAAM,cAAN,MAAqC;AAAA,EAiB1C,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,EACf,GAAY;AAtBZ,SAAO,aAAa;AAIpB,SAAO,aAAa;AACpB,SAAO,YAAiD;AAAA,MACtD,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,IACR;AAYE,SAAK,UAAU;AACf,SAAK,SAAS;AACd,SAAK,SAAS;AACd,SAAK,eAAe;AACpB,SAAK,OAAO;AACZ,SAAK,aAAa;AAClB,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,YAAY,YAAY,YAAY,KAAK;AAC9C,SAAK,SAAS,UAAU,IAAI,OAAO,MAAM;AAAA,EAC3C;AAAA,EAEA,cAAc,OAAe;AAC3B,SAAK,aAAa;AAAA,EACpB;AACF;;;ADxCA,IAAM,cAAU,WAAAA,SAAI,2BAA2B;AAC/C,IAAM,WAAW,UAAM,gCAAY,WAAW;AAEvC,IAAI,cAAuC;AAGlD,SAAsB,YAA0C;AAAA;AAC9D,YAAQ,MAAM;AACd,QAAI;AACF,YAAM,aAAa,MAAM,SAAS,EAAE,KAAK,kBAAkB;AAC3D,UAAI,yCAAY,SAAS;AACvB,gBAAQ,KAAK;AACb,gBAAQ,KAAK,aAAAC,QAAM,OAAO,gCAA2B,CAAC;AACtD,eAAO,QAAQ,QAAQ,MAAS;AAAA,MAClC,OAAO;AACL,gBAAQ,QAAQ;AAChB,sBAAc,IAAI,YAAY,yCAAY,MAAiB;AAC3D,eAAO,yCAAY;AAAA,MACrB;AAAA,IACF,SAAS,OAAO;AACd,cAAQ,KAAK;AACb,cAAQ;AAAA,QACN,aAAAA,QAAM,YAAY,QAAQ,QAAQ,+BAA0B;AAAA,MAC9D;AACA,YAAM,IAAI;AAAA,QACR,aAAAA,QAAM,YAAY,QAAQ,QAAQ,+BAA0B;AAAA,MAC9D;AAAA,IACF;AAAA,EACF;AAAA;","names":["ora","chalk"]}