File tree 2 files changed +31
-0
lines changed
2 files changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ function stripIllegalKeywords(schema) {
29
29
function convertSchema ( schema , path , parent , parentPath ) {
30
30
schema = stripIllegalKeywords ( schema ) ;
31
31
schema = convertTypes ( schema ) ;
32
+ schema = rewriteConst ( schema ) ;
32
33
schema = convertDependencies ( schema ) ;
33
34
schema = rewriteIfThenElse ( schema ) ;
34
35
schema = rewriteExclusiveMinMax ( schema ) ;
@@ -143,6 +144,15 @@ function convertTypes(schema) {
143
144
function convertPatternProperties ( schema ) {
144
145
schema [ 'x-patternProperties' ] = schema [ 'patternProperties' ] ;
145
146
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
+ }
146
156
return schema ;
147
157
}
148
158
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