@@ -466,6 +466,10 @@ describe('schema', () => {
466466 decimalRequired : types . decimal ( { required : true } ) ,
467467 enumOptional : types . enum ( [ ...Object . values ( TEST_ENUM ) , null ] ) ,
468468 enumRequired : types . enum ( Object . values ( TEST_ENUM ) , { required : true } ) ,
469+ nullOptional : types . null ( ) ,
470+ nullRequired : types . null ( { required : true } ) ,
471+ nullableOneOfOptional : types . oneOf ( [ types . number ( ) , types . null ( ) ] ) ,
472+ nullableOneOfRequired : types . oneOf ( [ types . number ( ) , types . null ( ) ] , { required : true } ) ,
469473 numberOptional : types . number ( ) ,
470474 numberRequired : types . number ( { required : true } ) ,
471475 objectGenericOptional : types . objectGeneric ( types . number ( ) ) ,
@@ -595,6 +599,18 @@ describe('schema', () => {
595599 enumRequired : {
596600 enum : [ 'foo' , 'bar' ] ,
597601 } ,
602+ nullOptional : {
603+ type : 'null' ,
604+ } ,
605+ nullRequired : {
606+ type : 'null' ,
607+ } ,
608+ nullableOneOfOptional : {
609+ oneOf : [ { type : 'number' } , { type : 'null' } ] ,
610+ } ,
611+ nullableOneOfRequired : {
612+ oneOf : [ { type : 'number' } , { type : 'null' } ] ,
613+ } ,
598614 numberOptional : {
599615 type : 'number' ,
600616 } ,
@@ -684,6 +700,8 @@ describe('schema', () => {
684700 'dateRequired' ,
685701 'decimalRequired' ,
686702 'enumRequired' ,
703+ 'nullRequired' ,
704+ 'nullableOneOfRequired' ,
687705 'numberRequired' ,
688706 'objectGenericRequired' ,
689707 'objectIdRequired' ,
@@ -719,6 +737,10 @@ describe('schema', () => {
719737 decimalRequired : Decimal128 ;
720738 enumOptional ?: TEST_ENUM | null ;
721739 enumRequired : TEST_ENUM ;
740+ nullOptional ?: null ;
741+ nullRequired : null ;
742+ nullableOneOfOptional ?: null | number ;
743+ nullableOneOfRequired ?: null | number ;
722744 numberOptional ?: number ;
723745 numberRequired : number ;
724746 objectGenericOptional ?: { [ key : string ] : number | undefined } ;
@@ -815,6 +837,10 @@ describe('schema', () => {
815837 dateRequired : types . date ( { required : true } ) ,
816838 enumOptional : types . enum ( [ ...Object . values ( TEST_ENUM ) , null ] ) ,
817839 enumRequired : types . enum ( Object . values ( TEST_ENUM ) , { required : true } ) ,
840+ nullOptional : types . null ( { required : false } ) ,
841+ nullRequired : types . null ( { required : true } ) ,
842+ nullableOneOfOptional : types . oneOf ( [ types . number ( ) , types . null ( ) ] , { required : false } ) ,
843+ nullableOneOfRequired : types . oneOf ( [ types . number ( ) , types . null ( ) ] , { required : true } ) ,
818844 numberOptional : types . number ( { required : false } ) ,
819845 numberRequired : types . number ( { required : true } ) ,
820846 objectGenericOptional : types . objectGeneric ( types . number ( { required : false } ) ) ,
@@ -938,6 +964,18 @@ describe('schema', () => {
938964 enumRequired : {
939965 enum : [ 'foo' , 'bar' ] ,
940966 } ,
967+ nullOptional : {
968+ type : 'null' ,
969+ } ,
970+ nullRequired : {
971+ type : 'null' ,
972+ } ,
973+ nullableOneOfOptional : {
974+ oneOf : [ { type : 'number' } , { type : 'null' } ] ,
975+ } ,
976+ nullableOneOfRequired : {
977+ oneOf : [ { type : 'number' } , { type : 'null' } ] ,
978+ } ,
941979 numberOptional : {
942980 type : 'number' ,
943981 } ,
@@ -1026,6 +1064,8 @@ describe('schema', () => {
10261064 'constantRequired' ,
10271065 'dateRequired' ,
10281066 'enumRequired' ,
1067+ 'nullRequired' ,
1068+ 'nullableOneOfRequired' ,
10291069 'numberRequired' ,
10301070 'objectGenericRequired' ,
10311071 'objectIdRequired' ,
@@ -1059,6 +1099,10 @@ describe('schema', () => {
10591099 dateRequired : Date ;
10601100 enumOptional ?: TEST_ENUM | null ;
10611101 enumRequired : TEST_ENUM ;
1102+ nullOptional ?: null ;
1103+ nullRequired : null ;
1104+ nullableOneOfOptional ?: null | number ;
1105+ nullableOneOfRequired : null | number ;
10621106 numberOptional ?: number ;
10631107 numberRequired : number ;
10641108 objectGenericOptional ?: { [ key : string ] : number | undefined } ;
0 commit comments