@redocly/openapi-core
Version:
See https://github.com/Redocly/redocly-cli
37 lines (34 loc) • 1.07 kB
text/typescript
import { UserContext } from '../../walk';
import { Oas3Parameter } from '../../typings/openapi';
import { getAdditionalPropertiesOption, validateExample } from '../utils';
export const NoInvalidParameterExamples: any = (opts: any) => {
const allowAdditionalProperties = getAdditionalPropertiesOption(opts) ?? false;
return {
Parameter: {
leave(parameter: Oas3Parameter, ctx: UserContext) {
if (parameter.example) {
validateExample(
parameter.example,
parameter.schema!,
ctx.location.child('example'),
ctx,
allowAdditionalProperties
);
}
if (parameter.examples) {
for (const [key, example] of Object.entries(parameter.examples)) {
if ('value' in example) {
validateExample(
example.value,
parameter.schema!,
ctx.location.child(['examples', key]),
ctx,
true
);
}
}
}
},
},
};
};