UNPKG

@redocly/openapi-core

Version:

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

42 lines 1.42 kB
import { YamlParseError } from '../../resolve.js'; export const NoUnresolvedRefs = () => { return { ref: { leave(_, { report, location }, resolved) { if (resolved.node !== undefined) return; reportUnresolvedRef(resolved, report, location); }, }, DiscriminatorMapping(mapping, { report, resolve, location }) { for (const mappingName of Object.keys(mapping)) { const resolved = resolve({ $ref: mapping[mappingName] }); if (resolved.node !== undefined) return; reportUnresolvedRef(resolved, report, location.child(mappingName)); } }, }; }; export function reportUnresolvedRef(resolved, report, location) { const error = resolved.error; if (error instanceof YamlParseError) { report({ message: 'Failed to parse: ' + error.message, location: { source: error.source, pointer: undefined, start: { col: error.col, line: error.line, }, }, }); } const message = resolved.error?.message; report({ location, message: `Can't resolve $ref${message ? ': ' + message : ''}`, }); } //# sourceMappingURL=no-unresolved-refs.js.map