@redocly/openapi-core
Version:
See https://github.com/Redocly/redocly-cli
31 lines (27 loc) • 677 B
text/typescript
import { Oas2Rule, Oas3Rule } from '../../visitors';
import { isRef } from '../../ref-utils';
export const SpecStrictRefs: Oas3Rule | Oas2Rule = () => {
const nodesToSkip = [
'Schema',
'Response',
'Parameter',
'RequestBody',
'Example',
'Header',
'SecurityScheme',
'Link',
'Callback',
'PathItem',
];
return {
any(_node, { report, rawNode, rawLocation, type }) {
const shouldCheck = !nodesToSkip.includes(type.name);
if (shouldCheck && isRef(rawNode)) {
report({
message: 'Field $ref is not expected here.',
location: rawLocation.child('$ref').key(),
});
}
},
};
};