@pierre/diffs 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/components/File.d.ts.map +1 -1
  2. package/dist/components/UnresolvedFile.d.ts +18 -9
  3. package/dist/components/UnresolvedFile.d.ts.map +1 -1
  4. package/dist/components/UnresolvedFile.js +155 -52
  5. package/dist/components/UnresolvedFile.js.map +1 -1
  6. package/dist/constants.d.ts +5 -1
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +5 -1
  9. package/dist/constants.js.map +1 -1
  10. package/dist/index.d.ts +7 -6
  11. package/dist/index.js +5 -4
  12. package/dist/react/UnresolvedFile.d.ts +3 -1
  13. package/dist/react/UnresolvedFile.d.ts.map +1 -1
  14. package/dist/react/UnresolvedFile.js.map +1 -1
  15. package/dist/react/index.d.ts +2 -2
  16. package/dist/react/utils/renderDiffChildren.d.ts +1 -1
  17. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  18. package/dist/react/utils/renderDiffChildren.js +6 -4
  19. package/dist/react/utils/renderDiffChildren.js.map +1 -1
  20. package/dist/react/utils/useUnresolvedFileInstance.d.ts +3 -2
  21. package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
  22. package/dist/react/utils/useUnresolvedFileInstance.js +15 -12
  23. package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
  24. package/dist/renderers/DiffHunksRenderer.d.ts +15 -7
  25. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  26. package/dist/renderers/DiffHunksRenderer.js +9 -7
  27. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  28. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +11 -16
  29. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
  30. package/dist/renderers/UnresolvedFileHunksRenderer.js +68 -75
  31. package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
  32. package/dist/ssr/index.d.ts +2 -2
  33. package/dist/ssr/preloadDiffs.d.ts +2 -2
  34. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  35. package/dist/ssr/preloadDiffs.js +4 -3
  36. package/dist/ssr/preloadDiffs.js.map +1 -1
  37. package/dist/style.js +1 -1
  38. package/dist/style.js.map +1 -1
  39. package/dist/types.d.ts +41 -1
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/utils/areMergeConflictActionsEqual.js +1 -1
  42. package/dist/utils/areMergeConflictActionsEqual.js.map +1 -1
  43. package/dist/utils/diffAcceptRejectHunk.d.ts +3 -2
  44. package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
  45. package/dist/utils/diffAcceptRejectHunk.js +24 -89
  46. package/dist/utils/diffAcceptRejectHunk.js.map +1 -1
  47. package/dist/utils/getMergeConflictActionSlotName.d.ts +4 -6
  48. package/dist/utils/getMergeConflictActionSlotName.d.ts.map +1 -1
  49. package/dist/utils/getMergeConflictActionSlotName.js +2 -2
  50. package/dist/utils/getMergeConflictActionSlotName.js.map +1 -1
  51. package/dist/utils/getMergeConflictLineTypes.d.ts +1 -2
  52. package/dist/utils/getMergeConflictLineTypes.d.ts.map +1 -1
  53. package/dist/utils/getMergeConflictLineTypes.js +7 -12
  54. package/dist/utils/getMergeConflictLineTypes.js.map +1 -1
  55. package/dist/utils/normalizeDiffResolution.d.ts +7 -0
  56. package/dist/utils/normalizeDiffResolution.d.ts.map +1 -0
  57. package/dist/utils/normalizeDiffResolution.js +11 -0
  58. package/dist/utils/normalizeDiffResolution.js.map +1 -0
  59. package/dist/utils/parseMergeConflictDiffFromFile.d.ts +16 -12
  60. package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
  61. package/dist/utils/parseMergeConflictDiffFromFile.js +474 -117
  62. package/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
  63. package/dist/utils/resolveConflict.d.ts +7 -0
  64. package/dist/utils/resolveConflict.d.ts.map +1 -0
  65. package/dist/utils/resolveConflict.js +23 -0
  66. package/dist/utils/resolveConflict.js.map +1 -0
  67. package/dist/utils/resolveRegion.d.ts +14 -0
  68. package/dist/utils/resolveRegion.d.ts.map +1 -0
  69. package/dist/utils/resolveRegion.js +215 -0
  70. package/dist/utils/resolveRegion.js.map +1 -0
  71. package/dist/utils/trimPatchContext.js +19 -20
  72. package/dist/utils/trimPatchContext.js.map +1 -1
  73. package/dist/worker/worker-portable.js +4 -0
  74. package/dist/worker/worker-portable.js.map +1 -1
  75. package/dist/worker/worker.js.map +1 -1
  76. package/package.json +2 -1
  77. package/dist/utils/resolveMergeConflict.d.ts +0 -7
  78. package/dist/utils/resolveMergeConflict.d.ts.map +0 -1
  79. package/dist/utils/resolveMergeConflict.js +0 -30
  80. package/dist/utils/resolveMergeConflict.js.map +0 -1
@@ -1,30 +0,0 @@
1
- import { splitFileContents } from "./splitFileContents.js";
2
- import { getMergeConflictRegions } from "./getMergeConflictLineTypes.js";
3
-
4
- //#region src/utils/resolveMergeConflict.ts
5
- function resolveMergeConflict(contents, payload) {
6
- const lines = splitFileContents(contents);
7
- const conflict = getMergeConflictRegions(lines).find((region) => region.conflictIndex === payload.conflict.conflictIndex);
8
- if (conflict == null) return contents;
9
- return applyMergeConflictResolution(contents, lines, conflict, payload.resolution);
10
- }
11
- function applyMergeConflictResolution(contents, lines, conflict, resolution) {
12
- if (!isConflictRegionValid(conflict, lines.length)) return contents;
13
- const currentEnd = conflict.baseMarkerLineIndex ?? conflict.separatorLineIndex;
14
- if (currentEnd <= conflict.startLineIndex || currentEnd > conflict.separatorLineIndex) return contents;
15
- const currentLines = lines.slice(conflict.startLineIndex + 1, currentEnd);
16
- const incomingLines = lines.slice(conflict.separatorLineIndex + 1, conflict.endLineIndex);
17
- const mergedLines = resolution === "current" ? currentLines : resolution === "incoming" ? incomingLines : [...currentLines, ...incomingLines];
18
- return [
19
- ...lines.slice(0, conflict.startLineIndex),
20
- ...mergedLines,
21
- ...lines.slice(conflict.endLineIndex + 1)
22
- ].join("");
23
- }
24
- function isConflictRegionValid(conflict, totalLines) {
25
- return conflict.startLineIndex >= 0 && conflict.separatorLineIndex > conflict.startLineIndex && conflict.endLineIndex > conflict.separatorLineIndex && conflict.endLineIndex < totalLines;
26
- }
27
-
28
- //#endregion
29
- export { resolveMergeConflict };
30
- //# sourceMappingURL=resolveMergeConflict.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveMergeConflict.js","names":[],"sources":["../../src/utils/resolveMergeConflict.ts"],"sourcesContent":["import type {\n MergeConflictActionPayload,\n MergeConflictRegion,\n MergeConflictResolution,\n} from '../types';\nimport { getMergeConflictRegions } from './getMergeConflictLineTypes';\nimport { splitFileContents } from './splitFileContents';\n\nexport function resolveMergeConflict(\n contents: string,\n payload: MergeConflictActionPayload\n): string {\n const lines = splitFileContents(contents);\n const conflict = getMergeConflictRegions(lines).find(\n (region) => region.conflictIndex === payload.conflict.conflictIndex\n );\n if (conflict == null) {\n return contents;\n }\n return applyMergeConflictResolution(\n contents,\n lines,\n conflict,\n payload.resolution\n );\n}\n\nfunction applyMergeConflictResolution(\n contents: string,\n lines: string[],\n conflict: MergeConflictRegion,\n resolution: MergeConflictResolution\n): string {\n if (!isConflictRegionValid(conflict, lines.length)) {\n return contents;\n }\n\n const currentEnd =\n conflict.baseMarkerLineIndex ?? conflict.separatorLineIndex;\n if (\n currentEnd <= conflict.startLineIndex ||\n currentEnd > conflict.separatorLineIndex\n ) {\n return contents;\n }\n\n const currentLines = lines.slice(conflict.startLineIndex + 1, currentEnd);\n const incomingLines = lines.slice(\n conflict.separatorLineIndex + 1,\n conflict.endLineIndex\n );\n\n const mergedLines =\n resolution === 'current'\n ? currentLines\n : resolution === 'incoming'\n ? incomingLines\n : [...currentLines, ...incomingLines];\n\n return [\n ...lines.slice(0, conflict.startLineIndex),\n ...mergedLines,\n ...lines.slice(conflict.endLineIndex + 1),\n ].join('');\n}\n\nfunction isConflictRegionValid(\n conflict: MergeConflictRegion,\n totalLines: number\n): boolean {\n return (\n conflict.startLineIndex >= 0 &&\n conflict.separatorLineIndex > conflict.startLineIndex &&\n conflict.endLineIndex > conflict.separatorLineIndex &&\n conflict.endLineIndex < totalLines\n );\n}\n"],"mappings":";;;;AAQA,SAAgB,qBACd,UACA,SACQ;CACR,MAAM,QAAQ,kBAAkB,SAAS;CACzC,MAAM,WAAW,wBAAwB,MAAM,CAAC,MAC7C,WAAW,OAAO,kBAAkB,QAAQ,SAAS,cACvD;AACD,KAAI,YAAY,KACd,QAAO;AAET,QAAO,6BACL,UACA,OACA,UACA,QAAQ,WACT;;AAGH,SAAS,6BACP,UACA,OACA,UACA,YACQ;AACR,KAAI,CAAC,sBAAsB,UAAU,MAAM,OAAO,CAChD,QAAO;CAGT,MAAM,aACJ,SAAS,uBAAuB,SAAS;AAC3C,KACE,cAAc,SAAS,kBACvB,aAAa,SAAS,mBAEtB,QAAO;CAGT,MAAM,eAAe,MAAM,MAAM,SAAS,iBAAiB,GAAG,WAAW;CACzE,MAAM,gBAAgB,MAAM,MAC1B,SAAS,qBAAqB,GAC9B,SAAS,aACV;CAED,MAAM,cACJ,eAAe,YACX,eACA,eAAe,aACb,gBACA,CAAC,GAAG,cAAc,GAAG,cAAc;AAE3C,QAAO;EACL,GAAG,MAAM,MAAM,GAAG,SAAS,eAAe;EAC1C,GAAG;EACH,GAAG,MAAM,MAAM,SAAS,eAAe,EAAE;EAC1C,CAAC,KAAK,GAAG;;AAGZ,SAAS,sBACP,UACA,YACS;AACT,QACE,SAAS,kBAAkB,KAC3B,SAAS,qBAAqB,SAAS,kBACvC,SAAS,eAAe,SAAS,sBACjC,SAAS,eAAe"}