99const  colors  =  require ( 'internal/util/colors' ) ; 
1010
1111const  kNopLinesToCollapse  =  5 ; 
12+ const  kOperations  =  { 
13+   DELETE : - 1 , 
14+   NOP : 0 , 
15+   INSERT : 1 , 
16+ } ; 
1217
1318function  areLinesEqual ( actual ,  expected ,  checkCommaDisparity )  { 
1419  if  ( actual  ===  expected )  { 
@@ -87,16 +92,16 @@ function backtrack(trace, actual, expected, checkCommaDisparity) {
8792    while  ( x  >  prevX  &&  y  >  prevY )  { 
8893      const  actualItem  =  actual [ x  -  1 ] ; 
8994      const  value  =  checkCommaDisparity  &&  ! StringPrototypeEndsWith ( actualItem ,  ',' )  ? expected [ y  -  1 ]  : actualItem ; 
90-       ArrayPrototypePush ( result ,  {   __proto__ :  null ,   type :  'nop' ,   value } ) ; 
95+       ArrayPrototypePush ( result ,  [   kOperations . NOP ,   value  ] ) ; 
9196      x -- ; 
9297      y -- ; 
9398    } 
9499
95100    if  ( diffLevel  >  0 )  { 
96101      if  ( x  >  prevX )  { 
97-         ArrayPrototypePush ( result ,  {   __proto__ :  null ,   type :  'insert' ,   value :  actual [ -- x ]  } ) ; 
102+         ArrayPrototypePush ( result ,  [   kOperations . INSERT ,   actual [ -- x ]  ] ) ; 
98103      }  else  { 
99-         ArrayPrototypePush ( result ,  {   __proto__ :  null ,   type :  'delete' ,   value :  expected [ -- y ]  } ) ; 
104+         ArrayPrototypePush ( result ,  [   kOperations . DELETE ,   expected [ -- y ]  ] ) ; 
100105      } 
101106    } 
102107  } 
@@ -108,12 +113,12 @@ function printSimpleMyersDiff(diff) {
108113  let  message  =  '' ; 
109114
110115  for  ( let  diffIdx  =  diff . length  -  1 ;  diffIdx  >=  0 ;  diffIdx -- )  { 
111-     const  {  type ,  value }  =  diff [ diffIdx ] ; 
116+     const  {  0 :  operation ,   1 :  value  }  =  diff [ diffIdx ] ; 
112117    let  color  =  colors . white ; 
113118
114-     if  ( type  ===  'insert' )  { 
119+     if  ( operation  ===  kOperations . INSERT )  { 
115120      color  =  colors . green ; 
116-     }  else  if  ( type  ===  'delete' )  { 
121+     }  else  if  ( operation  ===  kOperations . DELETE )  { 
117122      color  =  colors . red ; 
118123    } 
119124
@@ -129,33 +134,33 @@ function printMyersDiff(diff, operator) {
129134  let  nopCount  =  0 ; 
130135
131136  for  ( let  diffIdx  =  diff . length  -  1 ;  diffIdx  >=  0 ;  diffIdx -- )  { 
132-     const  {  type ,  value }  =  diff [ diffIdx ] ; 
133-     const  previousType  =  diffIdx  <  diff . length  -  1  ? diff [ diffIdx  +  1 ] . type  : null ; 
137+     const  {  0 :  operation ,   1 :  value  }  =  diff [ diffIdx ] ; 
138+     const  previousOperation  =  diffIdx  <  diff . length  -  1  ? diff [ diffIdx  +  1 ] [ 0 ]  : null ; 
134139
135140    // Avoid grouping if only one line would have been grouped otherwise 
136-     if  ( previousType  ===  'nop'  &&  type  !==  previousType )  { 
141+     if  ( previousOperation  ===  kOperations . NOP  &&  operation  !==  previousOperation )  { 
137142      if  ( nopCount  ===  kNopLinesToCollapse  +  1 )  { 
138-         message  +=  `${ colors . white }    ${ diff [ diffIdx  +  1 ] . value }  \n` ; 
143+         message  +=  `${ colors . white }    ${ diff [ diffIdx  +  1 ] [ 1 ] }  \n` ; 
139144      }  else  if  ( nopCount  ===  kNopLinesToCollapse  +  2 )  { 
140-         message  +=  `${ colors . white }    ${ diff [ diffIdx  +  2 ] . value }  \n` ; 
141-         message  +=  `${ colors . white }    ${ diff [ diffIdx  +  1 ] . value }  \n` ; 
145+         message  +=  `${ colors . white }    ${ diff [ diffIdx  +  2 ] [ 1 ] }  \n` ; 
146+         message  +=  `${ colors . white }    ${ diff [ diffIdx  +  1 ] [ 1 ] }  \n` ; 
142147      }  else  if  ( nopCount  >=  kNopLinesToCollapse  +  3 )  { 
143148        message  +=  `${ colors . blue }  ...${ colors . white }  \n` ; 
144-         message  +=  `${ colors . white }    ${ diff [ diffIdx  +  1 ] . value }  \n` ; 
149+         message  +=  `${ colors . white }    ${ diff [ diffIdx  +  1 ] [ 1 ] }  \n` ; 
145150        skipped  =  true ; 
146151      } 
147152      nopCount  =  0 ; 
148153    } 
149154
150-     if  ( type  ===  'insert' )  { 
155+     if  ( operation  ===  kOperations . INSERT )  { 
151156      if  ( operator  ===  'partialDeepStrictEqual' )  { 
152157        message  +=  `${ colors . gray } ${ colors . hasColors  ? ' '  : '+' }   ${ value } ${ colors . white }  \n` ; 
153158      }  else  { 
154159        message  +=  `${ colors . green }  +${ colors . white }   ${ value }  \n` ; 
155160      } 
156-     }  else  if  ( type  ===  'delete' )  { 
161+     }  else  if  ( operation  ===  kOperations . DELETE )  { 
157162      message  +=  `${ colors . red }  -${ colors . white }   ${ value }  \n` ; 
158-     }  else  if  ( type  ===  'nop' )  { 
163+     }  else  if  ( operation  ===  kOperations . NOP )  { 
159164      if  ( nopCount  <  kNopLinesToCollapse )  { 
160165        message  +=  `${ colors . white }    ${ value }  \n` ; 
161166      } 
0 commit comments