File tree Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ function stripIllegalKeywords(schema) {
2929function convertSchema ( schema , path , parent , parentPath ) {
3030 schema = stripIllegalKeywords ( schema ) ;
3131 schema = convertTypes ( schema ) ;
32+ schema = rewriteConst ( schema ) ;
3233 schema = convertDependencies ( schema ) ;
3334 schema = rewriteIfThenElse ( schema ) ;
3435 schema = rewriteExclusiveMinMax ( schema ) ;
@@ -143,6 +144,15 @@ function convertTypes(schema) {
143144function convertPatternProperties ( schema ) {
144145 schema [ 'x-patternProperties' ] = schema [ 'patternProperties' ] ;
145146 delete schema [ 'patternProperties' ] ;
147+ if ( typeof schema . additionalProperties === 'undefined' ) schema . additionalProperties = true ;
148+ return schema ;
149+ }
150+
151+ function rewriteConst ( schema ) {
152+ if ( schema . const ) {
153+ schema . enum = [ schema . const ] ;
154+ delete schema . const ;
155+ }
146156 return schema ;
147157}
148158
Original file line number Diff line number Diff line change 1+ 'use strict' ;
2+
3+ const convert = require ( '../' ) ;
4+ const should = require ( 'should' ) ;
5+
6+ it ( 'const' , ( ) => {
7+ const schema = {
8+ $schema : 'http://json-schema.org/draft-04/schema#' ,
9+ type : 'string' ,
10+ const : 'hello'
11+ } ;
12+
13+ const result = convert ( schema ) ;
14+
15+ const expected = {
16+ type : 'string' ,
17+ enum : [ 'hello' ]
18+ } ;
19+
20+ should ( result ) . deepEqual ( expected , 'converted' ) ;
21+ } ) ;
You can’t perform that action at this time.
0 commit comments