{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import {Options} from 'prettier';\nimport {Agent} from 'https';\nimport {OpenAPIV3} from 'openapi-types';\nimport {Ora} from 'ora';\n\nexport type Spec = OpenAPIV3.Document;\nexport interface IGetFromSwaggerRootHtml {\n  /**\n   * Get Root url of swagger and get list of scopes jsons.\n   *\n   * @param baseUrl - YOUR_BASE_URL\n   */\n  baseUrl: string;\n  sslConfiguredAgent?: Agent;\n}\nexport interface IGetSwaggerDefenitions {\n  requests: string[];\n  sslConfiguredAgent?: Agent;\n}\n\nexport interface ISwaggerRootHtml {\n  urls: URL[];\n  deepLinking: boolean;\n  persistAuthorization: boolean;\n  displayOperationId: boolean;\n  defaultModelsExpandDepth: number;\n  defaultModelExpandDepth: number;\n  defaultModelRendering: string;\n  displayRequestDuration: boolean;\n  docExpansion: string;\n  showExtensions: boolean;\n  showCommonExtensions: boolean;\n  supportedSubmitMethods: string[];\n}\n\nexport interface URL {\n  url: string;\n  name: string;\n}\nexport type fileTypes = 'mts' | 'ts' | 'd.ts' | 'md' | 'tsx';\nexport enum fileTypesEnum {\n  enums = 'enums',\n  types = 'types',\n  client = 'client',\n  api = 'api',\n  hook = 'hook',\n}\nexport interface IConfig {\n  baseUrl: string;\n  outDir: string;\n  archive?: boolean;\n  prettier?: Options;\n  resourcePick?: string;\n  filter?: RegExp;\n  singleJson?: boolean;\n  hook?: 'SWR' | 'ReactQuery' | 'NG';\n  fileTypes?: {[key in fileTypesEnum]: fileTypes};\n}\n\nexport interface ISaveFile {\n  fileName: string;\n  location: string;\n  data: unknown;\n  extention?: string;\n  beautify?: boolean;\n  comment?: string;\n}\nexport interface ISaveBatch {\n  files: {name: string; data: string; extention?: string; comment?: string}[];\n  location: string;\n  beautify?: boolean;\n  extention?: string;\n}\nexport type IOpenApiComponent =\n  | OpenAPIV3.ReferenceObject\n  | OpenAPIV3.SchemaObject;\nexport type ComponentSchema =\n  | {\n      objectName: string;\n      objectSchema: IOpenApiComponent;\n    }[]\n  | undefined;\n\nexport interface ICreateComponentSchemas {}\n\nexport function isReference(\n  schemaObject: IOpenApiComponent\n): schemaObject is OpenAPIV3.ReferenceObject {\n  return (schemaObject as OpenAPIV3.ReferenceObject).$ref !== undefined;\n}\n\nexport function isArraySchemaObject(\n  schemaObject: OpenAPIV3.ArraySchemaObject | OpenAPIV3.NonArraySchemaObject\n): schemaObject is OpenAPIV3.ArraySchemaObject {\n  return (schemaObject as OpenAPIV3.ArraySchemaObject).items !== undefined;\n}\n\nexport interface Spins {\n  id?: string;\n  spinner: Ora;\n}\n\nexport interface IRecursiveArraySchema {\n  /*\n  *\n  * @example:  properties?: {\n            [name: string]: ReferenceObject | SchemaObject;\n        };\n  */\n  component: OpenAPIV3.SchemaObject;\n  name: string;\n}\nexport interface IRecursiveComponentSchema {\n  /*\n  *\n  * @example:  properties?: {\n            [name: string]: ReferenceObject | SchemaObject;\n        };\n  */\n  component?: IOpenApiComponent;\n  name: string;\n}\n\nexport function isReferenceOrParameter(\n  object: OpenAPIV3.ParameterObject | OpenAPIV3.ReferenceObject\n): object is OpenAPIV3.ReferenceObject {\n  return (object as OpenAPIV3.ReferenceObject).$ref !== undefined;\n}\n\nexport interface ICreateParameter {\n  parameters?: (OpenAPIV3.ReferenceObject | OpenAPIV3.ParameterObject)[];\n  pathName: string;\n  methodType: string;\n}\n\nexport function isReferenceOrRequestBody(\n  object: OpenAPIV3.RequestBodyObject | OpenAPIV3.ReferenceObject\n): object is OpenAPIV3.ReferenceObject {\n  return (object as OpenAPIV3.ReferenceObject).$ref !== undefined;\n}\nexport function isReferenceOrResponse(\n  object: OpenAPIV3.ResponseObject | OpenAPIV3.ReferenceObject\n): object is OpenAPIV3.ReferenceObject {\n  return (object as OpenAPIV3.ReferenceObject).$ref !== undefined;\n}\n\nexport interface ICreateRequestBody {\n  requestBody?: OpenAPIV3.ReferenceObject | OpenAPIV3.RequestBodyObject;\n  pathName: string;\n  methodType: string;\n}\n\nexport interface ICreateResponse {\n  response: OpenAPIV3.ReferenceObject | OpenAPIV3.ResponseObject;\n  pathName: string;\n  methodType: string;\n  status: 'Ok' | 'Bad';\n}\n\nexport type ISchema = {[key: string]: IOpenApiComponent};\n\nexport type HttpMethodsUpperCase =\n  | 'Get'\n  | 'Put'\n  | 'Post'\n  | 'Delete'\n  | 'Options'\n  | 'Head'\n  | 'Patch';\n\nexport function isInterfaceEmpty(\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  object: {} | {[key: string]: any}\n): object is {} {\n  return Object.keys(object as {}).length === 0;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCO,IAAK,gBAAL,kBAAKA,mBAAL;AACL,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,SAAM;AACN,EAAAA,eAAA,UAAO;AALG,SAAAA;AAAA,GAAA;AA6CL,SAAS,YACd,cAC2C;AAC3C,SAAQ,aAA2C,SAAS;AAC9D;AAEO,SAAS,oBACd,cAC6C;AAC7C,SAAQ,aAA6C,UAAU;AACjE;AA4BO,SAAS,uBACd,QACqC;AACrC,SAAQ,OAAqC,SAAS;AACxD;AAQO,SAAS,yBACd,QACqC;AACrC,SAAQ,OAAqC,SAAS;AACxD;AACO,SAAS,sBACd,QACqC;AACrC,SAAQ,OAAqC,SAAS;AACxD;AA0BO,SAAS,iBAEd,QACc;AACd,SAAO,OAAO,KAAK,MAAY,EAAE,WAAW;AAC9C;","names":["fileTypesEnum"]}