UNPKG

linq-extensions

Version:

Linq-like extension methods for JavaScript and TypeScript builtin collections

24 lines 942 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IntersectIterable = void 0; const iterable_1 = require("../iterable"); class IntersectIterable extends iterable_1.Iterable { constructor(originalIterable, otherIterable, equalityCheck = (left, right) => left === right) { super(); this.originalIterable = originalIterable; this.otherIterable = otherIterable; this.equalityCheck = equalityCheck; } *[Symbol.iterator]() { const elementsTaken = []; for (const element of this.originalIterable) { if (!elementsTaken.any(x => this.equalityCheck(x, element)) && this.otherIterable.any(x => this.equalityCheck(x, element))) { elementsTaken.push(element); yield element; } } } } exports.IntersectIterable = IntersectIterable; //# sourceMappingURL=intersect-iterable.js.map