@@ -163,15 +163,16 @@ function crawl(objIn, objOut, schema, list, base, path) {
163
163
var valIn = objIn [ k ] ,
164
164
valOut = objOut [ k ] ;
165
165
166
- var nestedSchema = getNestedSchema ( schema , k ) ;
166
+ var nestedSchema = getNestedSchema ( schema , k ) ,
167
+ isInfoArray = ( nestedSchema || { } ) . valType === 'info_array' ;
167
168
168
169
if ( ! isInSchema ( schema , k ) ) {
169
170
list . push ( format ( 'schema' , base , p ) ) ;
170
171
}
171
172
else if ( isPlainObject ( valIn ) && isPlainObject ( valOut ) ) {
172
173
crawl ( valIn , valOut , nestedSchema , list , base , p ) ;
173
174
}
174
- else if ( nestedSchema . items && isArray ( valIn ) ) {
175
+ else if ( nestedSchema . items && ! isInfoArray && isArray ( valIn ) ) {
175
176
var itemName = k . substr ( 0 , k . length - 1 ) ;
176
177
177
178
for ( var j = 0 ; j < valIn . length ; j ++ ) {
@@ -186,7 +187,7 @@ function crawl(objIn, objOut, schema, list, base, path) {
186
187
else if ( ! isPlainObject ( valIn ) && isPlainObject ( valOut ) ) {
187
188
list . push ( format ( 'object' , base , p , valIn ) ) ;
188
189
}
189
- else if ( ! isArray ( valIn ) && isArray ( valOut ) && nestedSchema . valType !== 'info_array' ) {
190
+ else if ( ! isArray ( valIn ) && isArray ( valOut ) && ! isInfoArray ) {
190
191
list . push ( format ( 'array' , base , p , valIn ) ) ;
191
192
}
192
193
else if ( ! ( k in objOut ) ) {
0 commit comments