@@ -352,47 +352,50 @@ describe('JSON Schema Kit', () => {
352352 it ( 'should make string nullable' , ( ) => {
353353 const result = nullable ( string ( ) )
354354 expect ( result ) . toEqual ( {
355- type : [ 'string' , 'null' ] ,
355+ anyOf : [ { type : 'string' } , { type : 'null' } ] ,
356356 } )
357357 } )
358358
359359 it ( 'should make number nullable' , ( ) => {
360360 const result = nullable ( number ( { minimum : 0 } ) )
361361 expect ( result ) . toEqual ( {
362- type : [ 'number' , 'null' ] ,
363- minimum : 0 ,
362+ anyOf : [ { type : 'number' , minimum : 0 } , { type : 'null' } ] ,
364363 } )
365364 } )
366365
367366 it ( 'should make integer nullable' , ( ) => {
368367 const result = nullable ( integer ( ) )
369368 expect ( result ) . toEqual ( {
370- type : [ 'integer' , 'null' ] ,
369+ anyOf : [ { type : 'integer' } , { type : 'null' } ] ,
371370 } )
372371 } )
373372
374373 it ( 'should make boolean nullable' , ( ) => {
375374 const result = nullable ( boolean ( ) )
376375 expect ( result ) . toEqual ( {
377- type : [ 'boolean' , 'null' ] ,
376+ anyOf : [ { type : 'boolean' } , { type : 'null' } ] ,
378377 } )
379378 } )
380379
381380 it ( 'should make object nullable' , ( ) => {
382381 const result = nullable ( object ( { name : string ( ) } ) )
383382 expect ( result ) . toEqual ( {
384- type : [ 'object' , 'null' ] ,
385- properties : { name : { type : 'string' } } ,
386- required : [ 'name' ] ,
387- additionalProperties : false ,
383+ anyOf : [
384+ {
385+ type : 'object' ,
386+ properties : { name : { type : 'string' } } ,
387+ required : [ 'name' ] ,
388+ additionalProperties : false ,
389+ } ,
390+ { type : 'null' } ,
391+ ] ,
388392 } )
389393 } )
390394
391395 it ( 'should make array nullable' , ( ) => {
392396 const result = nullable ( array ( string ( ) ) )
393397 expect ( result ) . toEqual ( {
394- type : [ 'array' , 'null' ] ,
395- items : { type : 'string' } ,
398+ anyOf : [ { type : 'array' , items : { type : 'string' } } , { type : 'null' } ] ,
396399 } )
397400 } )
398401
@@ -445,7 +448,7 @@ describe('JSON Schema Kit', () => {
445448 properties : {
446449 name : { type : 'string' } ,
447450 price : { type : 'number' , description : 'Price in dollars' } ,
448- discount : { type : [ 'number' , 'null' ] } ,
451+ discount : { anyOf : [ { type : 'number' } , { type : 'null' } ] } ,
449452 tags : { type : 'array' , items : { type : 'string' } } ,
450453 dimensions : {
451454 type : 'object' ,
0 commit comments