From d175a4d6aee978ed31d24709193f31d6423cf80b Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 26 Feb 2017 00:07:27 +0200 Subject: [PATCH] feat: show type string with minLength 1 as "non-empty" closes #192 --- lib/services/schema-helper.service.spec.ts | 10 ++++++++++ lib/services/schema-helper.service.ts | 16 +++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/lib/services/schema-helper.service.spec.ts b/lib/services/schema-helper.service.spec.ts index 97e6de2a..7364b260 100644 --- a/lib/services/schema-helper.service.spec.ts +++ b/lib/services/schema-helper.service.spec.ts @@ -59,6 +59,16 @@ describe('Spec Helper', () => { SchemaHelper.runInjectors(schema, schema, '#/'); schema._range.should.be.equal('5 characters'); }); + + it('should show range as non-empty for minLength == 1', () => { + let schema:any = { + type: 'string', + minLength: 1 + }; + + SchemaHelper.runInjectors(schema, schema, '#/'); + schema._range.should.be.equal('non-empty'); + }); }); }); diff --git a/lib/services/schema-helper.service.ts b/lib/services/schema-helper.service.ts index 01ab1387..4e1192d2 100644 --- a/lib/services/schema-helper.service.ts +++ b/lib/services/schema-helper.service.ts @@ -151,19 +151,21 @@ const injectors = { var range; if (propertySchema.minLength != undefined && propertySchema.maxLength != undefined) { if (propertySchema.minLength === propertySchema.maxLength) { - range = `${propertySchema.minLength}`; + range = `${propertySchema.minLength} characters`; } else { - range = `[ ${propertySchema.minLength} .. ${propertySchema.maxLength} ]`; + range = `[ ${propertySchema.minLength} .. ${propertySchema.maxLength} ] characters`; } } else if (propertySchema.maxLength != undefined) { - range = '<= ' + propertySchema.maxLength; + range = `<= ${propertySchema.maxLength} characters`; } else if (propertySchema.minLength != undefined) { - range = '>= ' + propertySchema.minLength; + if (propertySchema.minLength === 1) { + range = 'non-empty'; + } else { + range = `>= ${propertySchema.minLength} characters`; + } } - if (range) { - injectTo._range = range + ' characters'; - } + injectTo._range = range; } }, file: {