UNPKG

quickapi-cli

Version:

Esta librería se encargará de generar automáticamente clientes para consumir APIs a partir de descripciones como OpenAPI/Swagger o Postman.

1 lines 1.56 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateClient=void 0;const tslib_1=require("tslib"),openapi_parser_1=tslib_1.__importDefault(require("./parsers/openapi-parser")),postman_parser_1=tslib_1.__importDefault(require("./parsers/postman-parser")),helper_1=require("./utils/helper"),axios_generator_1=tslib_1.__importDefault(require("./generators/axios-generator")),fetch_generator_1=tslib_1.__importDefault(require("./generators/fetch-generator")),generateClient=e=>tslib_1.__awaiter(void 0,[e],void 0,(function*({filePath:e,output:r,client:o}){let t={};if("string"!=typeof e||!e.trim())throw new Error("Se requiere un filePath válido.");if(!(0,helper_1.PathExits)(e))throw new Error(`Archivo no encontrado o no existe\nPor favor verifique la ruta del archivo : "${e}"\n`);if(r=r||"./quickapi.min.js",o=(null==o?void 0:o.toLowerCase())||"axios",!(0,helper_1.verifyFileExtension)(e,".min.json")&&!(0,helper_1.verifyFileExtension)(e,".yaml")&&!(0,helper_1.verifyFileExtension)(e,".yml"))throw new Error("Archivo no soportado, por favor seleccione un archivo json, yaml o yml");if(!["axios","fetch"].includes(o))throw new Error("Cliente no soportado, por favor seleccione un cliente valido");console.log("configurando archivo.."),t=e.endsWith(".min.json")?(0,postman_parser_1.default)(e):yield(0,openapi_parser_1.default)(e);let i="";i="fetch"===o?(0,fetch_generator_1.default)(t):(0,axios_generator_1.default)(t),yield(0,helper_1.writeToFile)(r,i)}));exports.generateClient=generateClient,exports.default=generateClient;