gitfoss-fork | 00de2edf41089cf8384feb07d1db7f8970c8748e | app/utils/shared/getGitdiffLineStart.ts ∙ GitFOSS
.ts
TypeScript
(application/typescript)
export default function getGitdiffLineStart(maybeGitdiff: string): {
  before: number;
  after: number;
} {
  if (maybeGitdiff == null) {
    return {
      before: 0,
      after: 0,
    };
  }
  const gitdiffLinesRegExp = /@@ -([\d]+),[\d]+ \+[\d]+,([\d]+) @@/i;
  const matches = gitdiffLinesRegExp.exec(maybeGitdiff);
  if (matches == null || Array.isArray(matches) === false) {
    return {
      before: 0,
      after: 0,
    };
  }
  const [_, beforeLineNumber, afterLineNumber] = matches;
  return {
    before: parseInt(beforeLineNumber, 10) - 1,
    after: parseInt(afterLineNumber, 10) - 1,
  };
}