@@ -18,7 +18,9 @@ export function getBlankObject(schema) {
1818 keys [ key ] = getBlankObject ( value ) ;
1919 else if ( type === 'boolean' )
2020 keys [ key ] = false ;
21- else // string, numbe, integer, etc.
21+ else if ( type === 'integer' || type === 'number' )
22+ keys [ key ] = null ;
23+ else // string etc.
2224 keys [ key ] = '' ;
2325 }
2426
@@ -41,7 +43,9 @@ export function getBlankArray(schema) {
4143 items . push ( getBlankObject ( schema . items ) ) ;
4244 else if ( type === 'boolean' )
4345 items . push ( false ) ;
44- else // string, number, integer, etc.
46+ else if ( type === 'integer' || type === 'number' )
47+ items . push ( null ) ;
48+ else // string, etc.
4549 items . push ( '' ) ;
4650
4751 return items ;
@@ -62,7 +66,9 @@ export function getBlankData(schema) {
6266 return getBlankObject ( schema ) ;
6367 else if ( type === 'boolean' )
6468 return false ;
65- else // string, number, integer, etc.
69+ else if ( type === 'integer' || type === 'number' )
70+ return null ;
71+ else // string, etc.
6672 return '' ;
6773}
6874
@@ -86,6 +92,10 @@ function getSyncedArray(data, schema) {
8692 } else if ( type === 'object' ) {
8793 newData [ i ] = getSyncedObject ( item , schema . items ) ;
8894 }
95+ else {
96+ if ( ( type === 'integer' || type === 'number' ) && item === '' )
97+ newData [ i ] = null ;
98+ }
8999 }
90100
91101 return newData ;
@@ -116,15 +126,21 @@ function getSyncedObject(data, schema) {
116126 newData [ key ] = getSyncedObject ( { } , schemaValue ) ;
117127 else if ( type === 'boolean' )
118128 newData [ key ] = false ;
129+ else if ( type === 'integer' || type === 'number' )
130+ newData [ key ] = null ;
119131 else
120132 newData [ key ] = '' ;
121133 } else {
122134 if ( type === 'array' )
123135 newData [ key ] = getSyncedArray ( data [ key ] , schemaValue ) ;
124136 else if ( type === 'object' )
125137 newData [ key ] = getSyncedObject ( data [ key ] , schemaValue ) ;
126- else
127- newData [ key ] = data [ key ] ;
138+ else {
139+ if ( ( type === 'integer' || type === 'number' ) && data [ key ] === '' )
140+ newData [ key ] = null ;
141+ else
142+ newData [ key ] = data [ key ] ;
143+ }
128144 }
129145
130146 }
0 commit comments