File tree 1 file changed +12
-16
lines changed
1 file changed +12
-16
lines changed Original file line number Diff line number Diff line change 1191
1191
map . oldValue = diff [ t . _const . to ] ;
1192
1192
}
1193
1193
} ) ;
1194
- if ( node . subsets && newSubsets . length ) {
1195
- node . subsets = node . subsets . concat ( newSubsets ) ;
1196
- }
1197
1194
}
1198
1195
1199
1196
break ;
1218
1215
}
1219
1216
}
1220
1217
} ) ;
1221
- parentNode . subsets = parentNode . subsets . filter ( function ( map ) {
1222
- return ! map . delete ;
1223
- } ) ;
1224
- if ( newSubsets . length ) {
1225
- parentNode . subsets = parentNode . subsets . concat ( newSubsets ) ;
1226
- }
1227
1218
}
1219
+ node = parentNode ;
1228
1220
break ;
1229
1221
case this . _const . addElement :
1230
1222
route = diff [ this . _const . route ] . slice ( ) ;
1248
1240
node . subsets . forEach ( function ( map ) {
1249
1241
if ( map . oldValue >= c ) {
1250
1242
map . oldValue += 1 ;
1251
- } if ( map . oldValue < c && ( map . oldValue + map . length ) > c ) {
1243
+ } else if ( map . oldValue < c && ( map . oldValue + map . length ) > c ) {
1252
1244
splitLength = map . oldValue + map . length - c
1253
1245
newSubsets . push ( {
1254
1246
newValue : map . newValue + map . length - splitLength ,
1284
1276
}
1285
1277
}
1286
1278
} ) ;
1287
- parentNode . subsets = parentNode . subsets . filter ( function ( map ) {
1288
- return ! map . delete ;
1289
- } ) ;
1290
- if ( newSubsets . length ) {
1291
- parentNode . subsets = parentNode . subsets . concat ( newSubsets ) ;
1292
- }
1293
1279
}
1280
+ node = parentNode ;
1294
1281
break ;
1295
1282
case this . _const . addTextElement :
1296
1283
route = diff [ this . _const . route ] . slice ( ) ;
1331
1318
console . log ( 'unknown action' ) ;
1332
1319
}
1333
1320
1321
+ if ( node . subsets ) {
1322
+ node . subsets = node . subsets . filter ( function ( map ) {
1323
+ return ! map . delete && map . oldValue !== map . newValue ;
1324
+ } ) ;
1325
+ if ( newSubsets . length ) {
1326
+ node . subsets = node . subsets . concat ( newSubsets ) ;
1327
+ }
1328
+ }
1329
+
1334
1330
// capture newNode for the callback
1335
1331
info . newNode = newNode ;
1336
1332
this . postVirtualDiffApply ( info ) ;
You can’t perform that action at this time.
0 commit comments