Skip to content

Commit b95c27d

Browse files
author
Phil Sturgeon
authored
Merge pull request #2 from Lakitna/issue/schema-with-format-overwrites-minimum-and-maximum-values
Issue/schema with format overwrites minimum and maximum values
2 parents 76cd4e9 + 80bd336 commit b95c27d

File tree

2 files changed

+402
-8
lines changed

2 files changed

+402
-8
lines changed

lib/converters/schema.js

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,26 +172,42 @@ function convertFormat (schema, options) {
172172
}
173173

174174
function convertFormatInt32 (schema, settings) {
175-
schema.minimum = settings.MIN_INT_32
176-
schema.maximum = settings.MAX_INT_32
175+
if ((!schema.minimum && schema.minimum !== 0) || schema.minimum < settings.MIN_INT_32) {
176+
schema.minimum = settings.MIN_INT_32;
177+
}
178+
if ((!schema.maximum && schema.maximum !== 0) || schema.maximum > settings.MAX_INT_32) {
179+
schema.maximum = settings.MAX_INT_32;
180+
}
177181
return schema
178182
}
179183

180184
function convertFormatInt64 (schema, settings) {
181-
schema.minimum = settings.MIN_INT_64
182-
schema.maximum = settings.MAX_INT_64
185+
if ((!schema.minimum && schema.minimum !== 0) || schema.minimum < settings.MIN_INT_64) {
186+
schema.minimum = settings.MIN_INT_64;
187+
}
188+
if ((!schema.maximum && schema.maximum !== 0) || schema.maximum > settings.MAX_INT_64) {
189+
schema.maximum = settings.MAX_INT_64;
190+
}
183191
return schema
184192
}
185193

186194
function convertFormatFloat (schema, settings) {
187-
schema.minimum = settings.MIN_FLOAT
188-
schema.maximum = settings.MAX_FLOAT
195+
if ((!schema.minimum && schema.minimum !== 0) || schema.minimum < settings.MIN_FLOAT) {
196+
schema.minimum = settings.MIN_FLOAT;
197+
}
198+
if ((!schema.maximum && schema.maximum !== 0) || schema.maximum > settings.MAX_FLOAT) {
199+
schema.maximum = settings.MAX_FLOAT;
200+
}
189201
return schema
190202
}
191203

192204
function convertFormatDouble (schema, settings) {
193-
schema.minimum = settings.MIN_DOUBLE
194-
schema.maximum = settings.MAX_DOUBLE
205+
if ((!schema.minimum && schema.minimum !== 0) || schema.minimum < settings.MIN_DOUBLE) {
206+
schema.minimum = settings.MIN_DOUBLE;
207+
}
208+
if ((!schema.maximum && schema.maximum !== 0) || schema.maximum > settings.MAX_DOUBLE) {
209+
schema.maximum = settings.MAX_DOUBLE;
210+
}
195211
return schema
196212
}
197213

0 commit comments

Comments
 (0)