UNPKG

openapi-modifier

Version:

This package allows you to automate the process of modifying OpenAPI specifications by applying a set of predefined rules

54 lines (53 loc) 2.71 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.openapiModifier = void 0; const config_1 = require("./config"); const factory_1 = require("./logger/factory"); const openapi_1 = require("./openapi"); const runner_1 = require("./core/runner"); const openapiModifier = (config, forcedLogger) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b; const logger = forcedLogger || factory_1.LoggerFactory.createLogger({ name: 'openapi-modifier', verbose: (_a = config.logger) === null || _a === void 0 ? void 0 : _a.verbose, minLevel: (_b = config.logger) === null || _b === void 0 ? void 0 : _b.minLevel, }); try { logger.trace('Trying find config file...'); const finalConfig = (0, config_1.mergeConfigs)(logger, config_1.defaultConfig, config); if (!(0, config_1.checkIsValidConfig)(logger, finalConfig)) { return; } logger.trace(`Final openapi modifier config:`, finalConfig); const inputPath = (finalConfig === null || finalConfig === void 0 ? void 0 : finalConfig.input) || null; if (!inputPath) { throw new Error('Required input field config!'); } const outputPath = (finalConfig === null || finalConfig === void 0 ? void 0 : finalConfig.output) || null; if (!outputPath) { throw new Error('Required output field config!'); } logger.trace('Reading input file...'); const inputOpenAPIFile = (0, openapi_1.readInputFile)(logger, inputPath); logger.trace('Running...'); const outputOpenAPIFile = yield (0, runner_1.runner)(finalConfig, inputOpenAPIFile, logger); logger.trace('Writing output file...'); (0, openapi_1.writeOutputFile)(logger, outputPath, outputOpenAPIFile); logger.success('OK!'); } finally { if (!forcedLogger) { logger.helpInfo(logger.getHelpInfo()); } } }); exports.openapiModifier = openapiModifier;