.
This commit is contained in:
		
							
								
								
									
										79
									
								
								qwen/nodejs/node_modules/jest-diff/build/printDiffs.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								qwen/nodejs/node_modules/jest-diff/build/printDiffs.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,79 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, '__esModule', {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.diffStringsUnified = exports.diffStringsRaw = void 0;
 | 
			
		||||
var _cleanupSemantic = require('./cleanupSemantic');
 | 
			
		||||
var _diffLines = require('./diffLines');
 | 
			
		||||
var _diffStrings = _interopRequireDefault(require('./diffStrings'));
 | 
			
		||||
var _getAlignedDiffs = _interopRequireDefault(require('./getAlignedDiffs'));
 | 
			
		||||
var _normalizeDiffOptions = require('./normalizeDiffOptions');
 | 
			
		||||
function _interopRequireDefault(obj) {
 | 
			
		||||
  return obj && obj.__esModule ? obj : {default: obj};
 | 
			
		||||
}
 | 
			
		||||
/**
 | 
			
		||||
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 | 
			
		||||
 *
 | 
			
		||||
 * This source code is licensed under the MIT license found in the
 | 
			
		||||
 * LICENSE file in the root directory of this source tree.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
const hasCommonDiff = (diffs, isMultiline) => {
 | 
			
		||||
  if (isMultiline) {
 | 
			
		||||
    // Important: Ignore common newline that was appended to multiline strings!
 | 
			
		||||
    const iLast = diffs.length - 1;
 | 
			
		||||
    return diffs.some(
 | 
			
		||||
      (diff, i) =>
 | 
			
		||||
        diff[0] === _cleanupSemantic.DIFF_EQUAL &&
 | 
			
		||||
        (i !== iLast || diff[1] !== '\n')
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
  return diffs.some(diff => diff[0] === _cleanupSemantic.DIFF_EQUAL);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Compare two strings character-by-character.
 | 
			
		||||
// Format as comparison lines in which changed substrings have inverse colors.
 | 
			
		||||
const diffStringsUnified = (a, b, options) => {
 | 
			
		||||
  if (a !== b && a.length !== 0 && b.length !== 0) {
 | 
			
		||||
    const isMultiline = a.includes('\n') || b.includes('\n');
 | 
			
		||||
 | 
			
		||||
    // getAlignedDiffs assumes that a newline was appended to the strings.
 | 
			
		||||
    const diffs = diffStringsRaw(
 | 
			
		||||
      isMultiline ? `${a}\n` : a,
 | 
			
		||||
      isMultiline ? `${b}\n` : b,
 | 
			
		||||
      true // cleanupSemantic
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    if (hasCommonDiff(diffs, isMultiline)) {
 | 
			
		||||
      const optionsNormalized = (0, _normalizeDiffOptions.normalizeDiffOptions)(
 | 
			
		||||
        options
 | 
			
		||||
      );
 | 
			
		||||
      const lines = (0, _getAlignedDiffs.default)(
 | 
			
		||||
        diffs,
 | 
			
		||||
        optionsNormalized.changeColor
 | 
			
		||||
      );
 | 
			
		||||
      return (0, _diffLines.printDiffLines)(lines, optionsNormalized);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Fall back to line-by-line diff.
 | 
			
		||||
  return (0, _diffLines.diffLinesUnified)(
 | 
			
		||||
    a.split('\n'),
 | 
			
		||||
    b.split('\n'),
 | 
			
		||||
    options
 | 
			
		||||
  );
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Compare two strings character-by-character.
 | 
			
		||||
// Optionally clean up small common substrings, also known as chaff.
 | 
			
		||||
exports.diffStringsUnified = diffStringsUnified;
 | 
			
		||||
const diffStringsRaw = (a, b, cleanup) => {
 | 
			
		||||
  const diffs = (0, _diffStrings.default)(a, b);
 | 
			
		||||
  if (cleanup) {
 | 
			
		||||
    (0, _cleanupSemantic.cleanupSemantic)(diffs); // impure function
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return diffs;
 | 
			
		||||
};
 | 
			
		||||
exports.diffStringsRaw = diffStringsRaw;
 | 
			
		||||
		Reference in New Issue
	
	Block a user