summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/reports/codequality_report/workers/codequality_comparison_worker.js
blob: fc55602f95c7cdaf4eea0d0c248a662a2587189e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { differenceBy } from 'lodash';

const KEY_TO_FILTER_BY = 'fingerprint';

// eslint-disable-next-line no-restricted-globals
self.addEventListener('message', e => {
  const { data } = e;

  if (data === undefined) {
    return null;
  }

  const { headIssues, baseIssues } = data;

  if (!headIssues || !baseIssues) {
    // eslint-disable-next-line no-restricted-globals
    return self.postMessage({});
  }

  // eslint-disable-next-line no-restricted-globals
  self.postMessage({
    newIssues: differenceBy(headIssues, baseIssues, KEY_TO_FILTER_BY),
    resolvedIssues: differenceBy(baseIssues, headIssues, KEY_TO_FILTER_BY),
  });

  // eslint-disable-next-line no-restricted-globals
  return self.close();
});