@redocly/openapi-core
Version:
See https://github.com/Redocly/openapi-cli
17 lines (15 loc) • 590 B
text/typescript
import { Oas3Rule, Oas2Rule } from '../../visitors';
import { UserContext } from '../../walk';
export const PathsKebabCase: Oas3Rule | Oas2Rule = () => {
return {
PathItem(_path: object, { report, key }: UserContext) {
const segments = (key as string).substr(1).split('/').filter(s => s !== ''); // filter out empty segments
if (!segments.every((segment) => /^{.+}$/.test(segment) || /^[a-z0-9-.]+$/.test(segment))) {
report({
message: `\`${key}\` does not use kebab-case.`,
location: { reportOnKey: true },
});
}
},
};
};