diff --git a/packages/core/src/types/oas3.ts b/packages/core/src/types/oas3.ts index 37af71a65a..d135760efc 100755 --- a/packages/core/src/types/oas3.ts +++ b/packages/core/src/types/oas3.ts @@ -275,14 +275,14 @@ const Schema: NodeType = { minimum: { type: 'number' }, exclusiveMaximum: { type: 'boolean' }, exclusiveMinimum: { type: 'boolean' }, - maxLength: { type: 'number', minimum: 0 }, - minLength: { type: 'number', minimum: 0 }, + maxLength: { type: 'integer', minimum: 0 }, + minLength: { type: 'integer', minimum: 0 }, pattern: { type: 'string' }, - maxItems: { type: 'number', minimum: 0 }, - minItems: { type: 'number', minimum: 0 }, + maxItems: { type: 'integer', minimum: 0 }, + minItems: { type: 'integer', minimum: 0 }, uniqueItems: { type: 'boolean' }, - maxProperties: { type: 'number', minimum: 0 }, - minProperties: { type: 'number', minimum: 0 }, + maxProperties: { type: 'integer', minimum: 0 }, + minProperties: { type: 'integer', minimum: 0 }, required: { type: 'array', items: { type: 'string' } }, enum: { type: 'array' }, type: { diff --git a/packages/core/src/types/oas3_1.ts b/packages/core/src/types/oas3_1.ts index 43c61ff937..a8facc757a 100755 --- a/packages/core/src/types/oas3_1.ts +++ b/packages/core/src/types/oas3_1.ts @@ -90,19 +90,19 @@ const Schema: NodeType = { discriminator: 'Discriminator', myArbitraryKeyword: { type: 'boolean' }, title: { type: 'string' }, - multipleOf: { type: 'number' }, + multipleOf: { type: 'number', minimum: 0 }, maximum: { type: 'number' }, minimum: { type: 'number' }, exclusiveMaximum: { type: 'number' }, exclusiveMinimum: { type: 'number' }, - maxLength: { type: 'number' }, - minLength: { type: 'number' }, + maxLength: { type: 'integer', minimum: 0 }, + minLength: { type: 'integer', minimum: 0 }, pattern: { type: 'string' }, - maxItems: { type: 'number' }, - minItems: { type: 'number' }, + maxItems: { type: 'integer', minimum: 0 }, + minItems: { type: 'integer', minimum: 0 }, uniqueItems: { type: 'boolean' }, - maxProperties: { type: 'number' }, - minProperties: { type: 'number' }, + maxProperties: { type: 'integer', minimum: 0 }, + minProperties: { type: 'integer', minimum: 0 }, required: { type: 'array', items: { type: 'string' } }, enum: { type: 'array' }, type: (value: any) => { @@ -127,6 +127,8 @@ const Schema: NodeType = { dependentSchemas: listOf('Schema'), prefixItems: listOf('Schema'), contains: 'Schema', + minContains: { type: 'integer', minimum: 0 }, + maxContains: { type: 'integer', minimum: 0 }, patternProperties: { type: 'object' }, propertyNames: 'Schema', unevaluatedItems: 'Schema',