MCPcopy
hub / github.com/angular/angular / areIterablesEqual

Function areIterablesEqual

packages/core/src/util/iterable.ts:22–37  ·  view source on GitHub ↗
(
  a: Iterable<T>,
  b: Iterable<T>,
  comparator: (a: T, b: T) => boolean,
)

Source from the content-addressed store, hash-verified

20}
21
22export function areIterablesEqual<T>(
23 a: Iterable<T>,
24 b: Iterable<T>,
25 comparator: (a: T, b: T) => boolean,
26): boolean {
27 const iterator1 = a[Symbol.iterator]();
28 const iterator2 = b[Symbol.iterator]();
29
30 while (true) {
31 const item1 = iterator1.next();
32 const item2 = iterator2.next();
33 if (item1.done && item2.done) return true;
34 if (item1.done || item2.done) return false;
35 if (!comparator(item1.value, item2.value)) return false;
36 }
37}
38
39export function iterateListLike<T>(obj: Iterable<T>, fn: (p: T) => void) {
40 if (Array.isArray(obj)) {

Callers 1

devModeEqualFunction · 0.90

Calls 1

nextMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…