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

YuJianrong / fast-array-diff / 15644705543

13 Jun 2025 09:58PM UTC coverage: 100.0%. Remained the same
15644705543

push

github

YuJianrong
chore: update Node.js version to 22.16.0 in GitHub Actions workflow

143 of 147 branches covered (97.28%)

193 of 193 relevant lines covered (100.0%)

2010.82 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