{"version":3,"sources":["../../../../src/func/Typescript/PrimitivesMaker/index.ts","../../../../src/helper/index.ts","../../../../src/func/Typescript/TypeMaker/index.ts"],"sourcesContent":["import {primitiveJs} from '../../../helper/index.ts';\nimport {typeMaker} from '../TypeMaker/index.ts';\n// import {typeNameMaker} from '../TypeNameMaker/index.mts';\n\nexport const primitivesMaker = (\n  types: 'string' | 'number' | 'boolean' | 'integer' | undefined,\n  name: string\n) => {\n  if (!types) {\n    return;\n  }\n  const primitiveName = name;\n  const primitiveValue = primitiveJs(types);\n\n  return typeMaker(primitiveName, primitiveValue);\n};\n","import {OpenAPIV3} from 'openapi-types';\nimport {typeNameMaker} from '../func/Typescript/TypeNameMaker/index.ts';\nimport {Spec, isReference} from '../types.ts';\nconst repoTypes: string[] = [''];\nexport function capitalize(string: string) {\n  return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nexport function camelize(str: string) {\n  return str\n    .replace(/(?:^\\w|[A-Z]|\\b\\w)/g, (word, index) => {\n      return index === 0 ? word.toLowerCase() : word.toUpperCase();\n    })\n    .replace(/\\s+/g, '');\n}\n\nexport const primitiveJs = (\n  key: 'string' | 'number' | 'boolean' | 'integer' | undefined\n) => {\n  switch (key) {\n    case 'integer':\n      return 'number';\n    case 'number':\n      return 'number';\n    case 'boolean':\n      return 'boolean';\n    case 'string':\n      return 'string';\n\n    default:\n      return 'unknown';\n  }\n};\n\nexport const definitionFullName = (defination: Spec) => {\n  return defination.info.title + '_' + defination.info.version;\n};\n\nexport const isDuplication = (name: string, data: string[]): boolean => {\n  const iName = typeNameMaker(name);\n  const include = repoTypes.some(item => item.includes(iName));\n  const dataInclude = data.some(item => item.includes(iName));\n  if (include && dataInclude) {\n    return true;\n  }\n  repoTypes.push(iName);\n  return false;\n};\n\nexport const isNullable = (\n  schema: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject\n): boolean | undefined => {\n  if (!isReference(schema)) {\n    return schema.nullable;\n  }\n  return undefined;\n};\n\nexport const definationComment = (defination: Spec, data: string[][]) => {\n  data.forEach(fileData => {\n    fileData.push(\n      `\\n/* ${defination.info.title} - ${defination.info.version} */\\n`\n    );\n  });\n};\nexport const getDefinationComment = (defination: Spec) => {\n  return ` ${defination.info.title} - ${defination.info.version}`;\n};\n\nexport function statusString(status: string) {\n  const okReg = /2\\d\\d/g;\n  const badReg = /400/g;\n  if (okReg.test(status)) {\n    return 'Ok';\n  }\n\n  if (badReg) {\n    return 'Bad';\n  }\n\n  return;\n}\n\nexport const pathSplit = (path: string) => {\n  const reg = /\\/{\\w*}/g;\n  const regBracketsParams = /{(.*?)}/g;\n  const refinePath = path.replace(reg, '');\n\n  const bracketsParams = path\n    .match(regBracketsParams)\n    ?.map(params => {\n      const name = params.replace(/{|}/g, '');\n      return 'By' + capitalize(name);\n    })\n    .join('');\n\n  const pathScope = refinePath.split('/') as string[];\n  const definationName = pathScope[1] as string;\n  const scopeName = pathScope[3] as string;\n  const itemName =\n    (((pathScope[pathScope.length - 1] as string) +\n      capitalize(pathScope[pathScope.length - 2])) as string) +\n    (bracketsParams || '');\n\n  return {pathScope, definationName, scopeName, itemName};\n};\n","export function typeMaker(\n  TypeName: string,\n  core: string,\n  object?: boolean,\n  hasExport?: boolean\n) {\n  if (object)\n    return (\n      `${hasExport ? 'export' : ''} type ` + TypeName + '= {' + core + '};'\n    );\n  return `${hasExport ? 'export' : ''} type ` + TypeName + '= ' + core + ';';\n}\n\nexport function enumarateMaker(enumName: string, core: string) {\n  return 'export enum ' + enumName + ' {' + core + '};';\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACgBO,IAAM,cAAc,CACzB,QACG;AACH,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IAET;AACE,aAAO;AAAA,EACX;AACF;;;AChCO,SAAS,UACd,UACA,MACA,QACA,WACA;AACA,MAAI;AACF,WACE,GAAG,YAAY,WAAW,EAAE,WAAW,WAAW,QAAQ,OAAO;AAErE,SAAO,GAAG,YAAY,WAAW,EAAE,WAAW,WAAW,OAAO,OAAO;AACzE;;;AFPO,IAAM,kBAAkB,CAC7B,OACA,SACG;AACH,MAAI,CAAC,OAAO;AACV;AAAA,EACF;AACA,QAAM,gBAAgB;AACtB,QAAM,iBAAiB,YAAY,KAAK;AAExC,SAAO,UAAU,eAAe,cAAc;AAChD;","names":[]}