reverse.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. "use strict";
  2. var __assign = (this && this.__assign) || function () {
  3. __assign = Object.assign || function(t) {
  4. for (var s, i = 1, n = arguments.length; i < n; i++) {
  5. s = arguments[i];
  6. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
  7. t[p] = s[p];
  8. }
  9. return t;
  10. };
  11. return __assign.apply(this, arguments);
  12. };
  13. Object.defineProperty(exports, "__esModule", { value: true });
  14. exports.reversePatch = reversePatch;
  15. function reversePatch(structuredPatch) {
  16. if (Array.isArray(structuredPatch)) {
  17. // (See comment in unixToWin for why we need the pointless-looking anonymous function here)
  18. return structuredPatch.map(function (patch) { return reversePatch(patch); }).reverse();
  19. }
  20. return __assign(__assign({}, structuredPatch), { oldFileName: structuredPatch.newFileName, oldHeader: structuredPatch.newHeader, newFileName: structuredPatch.oldFileName, newHeader: structuredPatch.oldHeader, hunks: structuredPatch.hunks.map(function (hunk) {
  21. return {
  22. oldLines: hunk.newLines,
  23. oldStart: hunk.newStart,
  24. newLines: hunk.oldLines,
  25. newStart: hunk.oldStart,
  26. lines: hunk.lines.map(function (l) {
  27. if (l.startsWith('-')) {
  28. return "+".concat(l.slice(1));
  29. }
  30. if (l.startsWith('+')) {
  31. return "-".concat(l.slice(1));
  32. }
  33. return l;
  34. })
  35. };
  36. }) });
  37. }