feat: support for type of number in exclusiveMin/Max

This commit is contained in:
Alex Varchuk 2021-05-24 19:20:45 +03:00
parent e627583da8
commit f6aea16e45
2 changed files with 14 additions and 2 deletions

View File

@ -131,9 +131,9 @@ export interface OpenAPISchema {
title?: string; title?: string;
multipleOf?: number; multipleOf?: number;
maximum?: number; maximum?: number;
exclusiveMaximum?: boolean; exclusiveMaximum?: boolean | number;
minimum?: number; minimum?: number;
exclusiveMinimum?: boolean; exclusiveMinimum?: boolean | number;
maxLength?: number; maxLength?: number;
minLength?: number; minLength?: number;
pattern?: string; pattern?: string;

View File

@ -447,6 +447,18 @@ export function humanizeConstraints(schema: OpenAPISchema): string[] {
numberRange += schema.minimum; numberRange += schema.minimum;
} }
if (typeof schema.exclusiveMinimum === 'number' || typeof schema.exclusiveMaximum === 'number') {
let minimum = 0;
let maximum = 0;
if (schema.minimum) minimum = schema.minimum;
if (typeof schema.exclusiveMinimum === 'number') minimum = minimum <= schema.exclusiveMinimum ? minimum : schema.exclusiveMinimum;
if (schema.maximum) maximum = schema.maximum;
if (typeof schema.exclusiveMaximum === 'number') maximum = maximum > schema.exclusiveMaximum ? maximum : schema.exclusiveMaximum;
numberRange = `[${minimum} .. ${maximum}]`
}
if (numberRange !== undefined) { if (numberRange !== undefined) {
res.push(numberRange); res.push(numberRange);
} }