UNPKG

@microsoft.azure/openapi-validator-core

Version:
34 lines 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LintTester = exports.lint = void 0; const runner_1 = require("./runner"); const swaggerInventory_1 = require("./swaggerInventory"); const types_1 = require("./types"); async function lint(swaggerPaths, options, cb) { const inventory = new swaggerInventory_1.SwaggerInventory(options === null || options === void 0 ? void 0 : options.fileSystem); const ruleLoader = { getRuleSet: () => options.ruleSet }; const runner = new runner_1.LintRunner(ruleLoader, inventory); const msgs = await runner.execute(swaggerPaths, options, cb); return msgs; } exports.lint = lint; async function LintTester(sampleFilePath, ruleSet, ruleName, fileSystem) { const openapiType = types_1.OpenApiTypes.arm | types_1.OpenApiTypes.dataplane | types_1.OpenApiTypes.rpaas | types_1.OpenApiTypes.default; let msgs; const sampleFilePaths = Array.isArray(sampleFilePath) ? sampleFilePath : [sampleFilePath]; if (ruleName) { const rules = {}; if (!ruleSet.rules[ruleName]) { throw new Error(`Rule ${ruleName} was not found.`); } rules[ruleName] = ruleSet.rules[ruleName]; const singleRuleSet = { documentationUrl: "", rules }; msgs = await lint(sampleFilePaths, { ruleSet: singleRuleSet, openapiType, fileSystem }); } else { msgs = await lint(sampleFilePaths, { ruleSet, openapiType, fileSystem }); } return msgs; } exports.LintTester = LintTester; //# sourceMappingURL=api.js.map