@@ -628,13 +628,19 @@ export class DiffFile {
628628 const maxOldFileLineNumber = this . #oldFileResult?. maxLineNumber || 0 ;
629629 const maxNewFileLineNumber = this . #newFileResult?. maxLineNumber || 0 ;
630630
631+ if ( __DEV__ && ! this . #oldFileResult && ! this . #newFileResult) {
632+ console . error (
633+ "this instance can not `buildSplitDiffLines` because of the data missing, try to use '_getFullBundle' & '_mergeFullBundle' instead of 'getBundle' & 'mergeBundle'"
634+ ) ;
635+ }
636+
631637 while ( oldFileLineNumber <= maxOldFileLineNumber || newFileLineNumber <= maxNewFileLineNumber ) {
632638 const oldDiffLine = this . #getOldDiffLine( oldFileLineNumber ) ;
633639 const newDiffLine = this . #getNewDiffLine( newFileLineNumber ) ;
634640 const oldRawLine = this . #getOldRawLine( oldFileLineNumber ) ;
635641 const newRawLine = this . #getNewRawLine( newFileLineNumber ) ;
636- const oldLineHasChange = oldDiffLine ?. isIncludeableLine ( ) ;
637- const newLineHasChange = newDiffLine ?. isIncludeableLine ( ) ;
642+ const oldLineHasChange = DiffLine . prototype . isIncludeableLine . call ( oldDiffLine || { } ) ;
643+ const newLineHasChange = DiffLine . prototype . isIncludeableLine . call ( newDiffLine || { } ) ;
638644 const len = this . #splitRightLines. length ;
639645 const isHidden = ! oldDiffLine && ! newDiffLine ;
640646
@@ -808,13 +814,19 @@ export class DiffFile {
808814 const maxOldFileLineNumber = this . #oldFileResult?. maxLineNumber || 0 ;
809815 const maxNewFileLineNumber = this . #newFileResult?. maxLineNumber || 0 ;
810816
817+ if ( __DEV__ && ! this . #oldFileResult && ! this . #newFileResult) {
818+ console . error (
819+ "this instance can not `buildUnifiedDiffLines` because of the data missing, try to use '_getFullBundle' & '_mergeFullBundle' instead of 'getBundle' & 'mergeBundle'"
820+ ) ;
821+ }
822+
811823 while ( oldFileLineNumber <= maxOldFileLineNumber || newFileLineNumber <= maxNewFileLineNumber ) {
812824 const oldRawLine = this . #getOldRawLine( oldFileLineNumber ) ;
813825 const oldDiffLine = this . #getOldDiffLine( oldFileLineNumber ) ;
814826 const newRawLine = this . #getNewRawLine( newFileLineNumber ) ;
815827 const newDiffLine = this . #getNewDiffLine( newFileLineNumber ) ;
816- const oldLineHasChange = oldDiffLine ?. isIncludeableLine ( ) ;
817- const newLineHasChange = newDiffLine ?. isIncludeableLine ( ) ;
828+ const oldLineHasChange = DiffLine . prototype . isIncludeableLine . call ( oldDiffLine || { } ) ;
829+ const newLineHasChange = DiffLine . prototype . isIncludeableLine . call ( newDiffLine || { } ) ;
818830 const len = this . #unifiedLines. length ;
819831 const isHidden = ! oldDiffLine && ! newDiffLine ;
820832
@@ -1424,9 +1436,9 @@ export class DiffFile {
14241436 _mergeFullBundle = ( data : ReturnType < DiffFile [ "_getFullBundle" ] > , notifyUpdate = true ) => {
14251437 this . mergeBundle ( data , notifyUpdate ) ;
14261438 try {
1427- this . #oldFileResult = File . createInstance ( data . oldFileResult ) ;
1439+ this . #oldFileResult = data . oldFileResult ? File . createInstance ( data . oldFileResult ) : null ;
14281440
1429- this . #newFileResult = File . createInstance ( data . newFileResult ) ;
1441+ this . #newFileResult = data . newFileResult ? File . createInstance ( data . newFileResult ) : null ;
14301442
14311443 this . #diffLines = data . diffLines ;
14321444
0 commit comments