• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

YuJianrong / fast-array-diff / 9537246397

16 Jun 2024 04:03PM UTC coverage: 100.0%. Remained the same
9537246397

Pull #423

github

web-flow
Merge 5966e4742 into f5754f82e
Pull Request #423: chore(deps-dev): bump braces from 3.0.2 to 3.0.3

143 of 147 branches covered (97.28%)

187 of 187 relevant lines covered (100.0%)

2074.11 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/src/diff/diff.ts
1
import bestSubSequence from './lcs';
1✔
2

3
export interface DiffData<T, U = T> {
4
  removed: T[];
5
  added: U[];
6
}
7

8
export function diff<T, U = T>(
2✔
9
  a: T[],
10
  b: U[],
11
  compareFunc: (ia: T, ib: U) => boolean = (ia: T, ib: U) => ia === (ib as unknown as T),
5,629✔
12
): DiffData<T, U> {
13
  const ret: DiffData<T, U> = {
24✔
14
    removed: [],
15
    added: [],
16
  };
17
  bestSubSequence(a, b, compareFunc, (type, oldArr, oldStart, oldEnd, newArr, newStart, newEnd) => {
24✔
18
    if (type === 'add') {
134✔
19
      for (let i = newStart; i < newEnd; ++i) {
36✔
20
        ret.added.push(newArr[i]);
62✔
21
      }
22
    } else if (type === 'remove') {
98✔
23
      for (let i = oldStart; i < oldEnd; ++i) {
31✔
24
        ret.removed.push(oldArr[i]);
55✔
25
      }
26
    }
27
  });
28
  return ret;
24✔
29
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc