UNPKG

@redocly/openapi-core

Version:

See https://github.com/Redocly/redocly-cli

21 lines 1.08 kB
import { buildSubjectVisitor, buildVisitorObject } from './utils.js'; import { isString } from '../../../utils/is-string.js'; export const Assertions = (opts) => { const visitors = []; // As 'Assertions' has an array of asserts, // that array spreads into an 'opts' object on init rules phase here // https://github.com/Redocly/redocly-cli/blob/main/packages/core/src/config/config.ts#L311 // that is why we need to iterate through 'opts' values; // before - filter only object 'opts' values const assertions = Object.values(opts).filter((opt) => typeof opt === 'object' && opt !== null); for (const [_, assertion] of assertions.entries()) { if (!isString(assertion.subject.type)) { throw new Error(`${assertion.assertionId}: 'type' (String) is required`); } const subjectVisitor = buildSubjectVisitor(assertion.assertionId, assertion); const visitorObject = buildVisitorObject(assertion, subjectVisitor); visitors.push(visitorObject); } return visitors; }; //# sourceMappingURL=index.js.map