@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.
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/UnresolvedFile.d.ts +18 -9
- package/dist/components/UnresolvedFile.d.ts.map +1 -1
- package/dist/components/UnresolvedFile.js +155 -52
- package/dist/components/UnresolvedFile.js.map +1 -1
- package/dist/constants.d.ts +5 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +5 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +7 -6
- package/dist/index.js +5 -4
- package/dist/react/UnresolvedFile.d.ts +3 -1
- package/dist/react/UnresolvedFile.d.ts.map +1 -1
- package/dist/react/UnresolvedFile.js.map +1 -1
- package/dist/react/index.d.ts +2 -2
- package/dist/react/utils/renderDiffChildren.d.ts +1 -1
- package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.js +6 -4
- package/dist/react/utils/renderDiffChildren.js.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.d.ts +3 -2
- package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.js +15 -12
- package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
- package/dist/renderers/DiffHunksRenderer.d.ts +15 -7
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +9 -7
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +11 -16
- package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.js +68 -75
- package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
- package/dist/ssr/index.d.ts +2 -2
- package/dist/ssr/preloadDiffs.d.ts +2 -2
- package/dist/ssr/preloadDiffs.d.ts.map +1 -1
- package/dist/ssr/preloadDiffs.js +4 -3
- package/dist/ssr/preloadDiffs.js.map +1 -1
- package/dist/style.js +1 -1
- package/dist/style.js.map +1 -1
- package/dist/types.d.ts +41 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/areMergeConflictActionsEqual.js +1 -1
- package/dist/utils/areMergeConflictActionsEqual.js.map +1 -1
- package/dist/utils/diffAcceptRejectHunk.d.ts +3 -2
- package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
- package/dist/utils/diffAcceptRejectHunk.js +24 -89
- package/dist/utils/diffAcceptRejectHunk.js.map +1 -1
- package/dist/utils/getMergeConflictActionSlotName.d.ts +4 -6
- package/dist/utils/getMergeConflictActionSlotName.d.ts.map +1 -1
- package/dist/utils/getMergeConflictActionSlotName.js +2 -2
- package/dist/utils/getMergeConflictActionSlotName.js.map +1 -1
- package/dist/utils/getMergeConflictLineTypes.d.ts +1 -2
- package/dist/utils/getMergeConflictLineTypes.d.ts.map +1 -1
- package/dist/utils/getMergeConflictLineTypes.js +7 -12
- package/dist/utils/getMergeConflictLineTypes.js.map +1 -1
- package/dist/utils/normalizeDiffResolution.d.ts +7 -0
- package/dist/utils/normalizeDiffResolution.d.ts.map +1 -0
- package/dist/utils/normalizeDiffResolution.js +11 -0
- package/dist/utils/normalizeDiffResolution.js.map +1 -0
- package/dist/utils/parseMergeConflictDiffFromFile.d.ts +16 -12
- package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
- package/dist/utils/parseMergeConflictDiffFromFile.js +474 -117
- package/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
- package/dist/utils/resolveConflict.d.ts +7 -0
- package/dist/utils/resolveConflict.d.ts.map +1 -0
- package/dist/utils/resolveConflict.js +23 -0
- package/dist/utils/resolveConflict.js.map +1 -0
- package/dist/utils/resolveRegion.d.ts +14 -0
- package/dist/utils/resolveRegion.d.ts.map +1 -0
- package/dist/utils/resolveRegion.js +215 -0
- package/dist/utils/resolveRegion.js.map +1 -0
- package/dist/utils/trimPatchContext.js +19 -20
- package/dist/utils/trimPatchContext.js.map +1 -1
- package/dist/worker/worker-portable.js +4 -0
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js.map +1 -1
- package/package.json +2 -1
- package/dist/utils/resolveMergeConflict.d.ts +0 -7
- package/dist/utils/resolveMergeConflict.d.ts.map +0 -1
- package/dist/utils/resolveMergeConflict.js +0 -30
- 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"}
|