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