@@ -229,7 +229,7 @@ converter.toObject = function toObject(mtype) {
229
229
230
230
if ( normalFields . length ) { gen
231
231
( "if(o.defaults){" ) ;
232
- for ( i = 0 , field ; i < normalFields . length ; ++ i ) {
232
+ for ( i = 0 ; i < normalFields . length ; ++ i ) {
233
233
var field = normalFields [ i ] ,
234
234
prop = util . safeProp ( field . name ) ;
235
235
if ( field . resolvedType instanceof Enum ) gen
@@ -247,25 +247,30 @@ converter.toObject = function toObject(mtype) {
247
247
} gen
248
248
( "}" ) ;
249
249
}
250
- for ( i = 0 , field ; i < fields . length ; ++ i ) {
250
+ for ( i = 0 ; i < fields . length ; ++ i ) {
251
251
var field = fields [ i ] ,
252
- prop = util . safeProp ( field . name ) ; gen
253
- ( "if(m%s!==undefined&&m%s!==null&&m.hasOwnProperty(%j)){" , prop , prop , field . name ) ;
252
+ index = mtype . _fieldsArray . indexOf ( field ) ,
253
+ prop = util . safeProp ( field . name ) ;
254
254
if ( field . map ) { gen
255
+ ( "var ks2" )
256
+ ( "if(m%s&&(ks2=Object.keys(m%s)).length){" , prop , prop )
255
257
( "d%s={}" , prop )
256
- ( "for(var ks2=Object.keys(m%s), j=0;j<ks2.length;++j){" , prop ) ;
257
- genValuePartial_toObject ( gen , field , /* sorted */ mtype . _fieldsArray . indexOf ( field ) , prop + "[ks2[j]]" )
258
+ ( "for(var j=0;j<ks2.length;++j){" ) ;
259
+ genValuePartial_toObject ( gen , field , /* sorted */ index , prop + "[ks2[j]]" )
258
260
( "}" ) ;
259
261
} else if ( field . repeated ) { gen
262
+ ( "if(m%s&&m%s.length){" , prop , prop )
260
263
( "d%s=[]" , prop )
261
264
( "for(var j=0;j<m%s.length;++j){" , prop ) ;
262
- genValuePartial_toObject ( gen , field , /* sorted */ mtype . _fieldsArray . indexOf ( field ) , prop + "[j]" )
265
+ genValuePartial_toObject ( gen , field , /* sorted */ index , prop + "[j]" )
263
266
( "}" ) ;
264
- } else
265
- genValuePartial_toObject ( gen , field , /* sorted */ mtype . _fieldsArray . indexOf ( field ) , prop ) ;
267
+ } else { gen
268
+ ( "if(m%s!==undefined&&m%s!==null&&m.hasOwnProperty(%j)){" , prop , prop , field . name ) ;
269
+ genValuePartial_toObject ( gen , field , /* sorted */ index , prop ) ;
266
270
if ( field . partOf ) gen
267
271
( "if(o.oneofs)" )
268
272
( "d%s=%j" , util . safeProp ( field . partOf . name ) , field . name ) ;
273
+ }
269
274
gen
270
275
( "}" ) ;
271
276
}
0 commit comments