26 lines
805 B
Plaintext
26 lines
805 B
Plaintext
import { readFileAsStringSync } from '../../utils';
|
|
|
|
import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
|
|
import type { UserContext } from '../../walk';
|
|
|
|
export const InfoDescriptionOverride: Oas3Decorator | Oas2Decorator = ({ filePath }) => {
|
|
return {
|
|
Info: {
|
|
leave(info, { report, location }: UserContext) {
|
|
if (!filePath)
|
|
throw new Error(
|
|
`Parameter "filePath" is not provided for "info-description-override" rule`
|
|
);
|
|
try {
|
|
info.description = readFileAsStringSync(filePath);
|
|
} catch (e) {
|
|
report({
|
|
message: `Failed to read markdown override file for "info.description".\n${e.message}`,
|
|
location: location.child('description'),
|
|
});
|
|
}
|
|
},
|
|
},
|
|
};
|
|
};
|