@microsoft.azure/openapi-validator-core
Version:
Azure OpenAPI Validator
34 lines • 1.56 kB
JavaScript
;
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