MCPcopy Create free account
hub / github.com/angular/angular / areIterablesEqual

Function areIterablesEqual

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

Source from the content-addressed store, hash-verified

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

Callers 1

devModeEqualFunction · 0.90

Calls 1

nextMethod · 0.45

Tested by

no test coverage detected