diff options
author | Tim Zallmann <tzallmann@gitlab.com> | 2018-08-08 02:50:01 +0000 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2018-08-08 02:50:01 +0000 |
commit | 8daf9db68fee40c49f7f5610625eefc1a5d79b32 (patch) | |
tree | 19fbb3529fd567c470871adbc0f2254fc43082c4 /app/assets/javascripts/diffs/store/utils.js | |
parent | b507d93a3b89e885c84256224d0d6ac49418026f (diff) | |
download | gitlab-ce-8daf9db68fee40c49f7f5610625eefc1a5d79b32.tar.gz |
Porting MR Vue Memory Fixes to current master
Diffstat (limited to 'app/assets/javascripts/diffs/store/utils.js')
-rw-r--r-- | app/assets/javascripts/diffs/store/utils.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/app/assets/javascripts/diffs/store/utils.js b/app/assets/javascripts/diffs/store/utils.js index d9589baa76e..82082ac508a 100644 --- a/app/assets/javascripts/diffs/store/utils.js +++ b/app/assets/javascripts/diffs/store/utils.js @@ -173,3 +173,24 @@ export function trimFirstCharOfLineContent(line = {}) { return parsedLine; } + +export function getDiffRefsByLineCode(diffFiles) { + return diffFiles.reduce((acc, diffFile) => { + const { baseSha, headSha, startSha } = diffFile.diffRefs; + const { newPath, oldPath } = diffFile; + + // We can only use highlightedDiffLines to create the map of diff lines because + // highlightedDiffLines will also include every parallel diff line in it. + if (diffFile.highlightedDiffLines) { + diffFile.highlightedDiffLines.forEach(line => { + const { lineCode, oldLine, newLine } = line; + + if (lineCode) { + acc[lineCode] = { baseSha, headSha, startSha, newPath, oldPath, oldLine, newLine }; + } + }); + } + + return acc; + }, {}); +} |