UNPKG

@versatiledatakit/shared

Version:

Versatile Data Kit Shared library enables reusability of shared features like: NgRx Redux, Error Handlers, Utils, Generic Components, etc.

30 lines 3.22 kB
/* * Copyright 2023-2025 Broadcom * SPDX-License-Identifier: Apache-2.0 */ /** * ** Or criteria that filters elements in Array and remove those that does not meet at least one criterias. */ export class OrCriteria { /** * ** Constructor. */ constructor(...criterias) { this.criterias = criterias; } /** * @inheritDoc */ meetCriteria(elements) { return this.criterias.reduce((elementsMeetCriteria, criteria) => { const singleCriteriaMetElements = criteria.meetCriteria(elements); for (const element of singleCriteriaMetElements) { if (!elementsMeetCriteria.includes(element)) { elementsMeetCriteria.push(element); } } return elementsMeetCriteria; }, []); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3IuY3JpdGVyaWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9jb21tb24vY3JpdGVyaWEvY29tcG91bmQvb3IuY3JpdGVyaWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBSUg7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQU1uQjs7T0FFRztJQUNILFlBQVksR0FBRyxTQUF3QjtRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsUUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDNUQsTUFBTSx5QkFBeUIsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRWxFLEtBQUssTUFBTSxPQUFPLElBQUkseUJBQXlCLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ3pDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDdEM7YUFDSjtZQUVELE9BQU8sb0JBQW9CLENBQUM7UUFDaEMsQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMy0yMDI1IEJyb2FkY29tXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7IENyaXRlcmlhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogKiogT3IgY3JpdGVyaWEgdGhhdCBmaWx0ZXJzIGVsZW1lbnRzIGluIEFycmF5IGFuZCByZW1vdmUgdGhvc2UgdGhhdCBkb2VzIG5vdCBtZWV0IGF0IGxlYXN0IG9uZSBjcml0ZXJpYXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBPckNyaXRlcmlhPFQ+IGltcGxlbWVudHMgQ3JpdGVyaWE8VD4ge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcmVhZG9ubHkgY3JpdGVyaWFzOiBDcml0ZXJpYTxUPltdO1xuXG4gICAgLyoqXG4gICAgICogKiogQ29uc3RydWN0b3IuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoLi4uY3JpdGVyaWFzOiBDcml0ZXJpYTxUPltdKSB7XG4gICAgICAgIHRoaXMuY3JpdGVyaWFzID0gY3JpdGVyaWFzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgbWVldENyaXRlcmlhKGVsZW1lbnRzOiBUW10pOiBUW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5jcml0ZXJpYXMucmVkdWNlKChlbGVtZW50c01lZXRDcml0ZXJpYSwgY3JpdGVyaWEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNpbmdsZUNyaXRlcmlhTWV0RWxlbWVudHMgPSBjcml0ZXJpYS5tZWV0Q3JpdGVyaWEoZWxlbWVudHMpO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2Ygc2luZ2xlQ3JpdGVyaWFNZXRFbGVtZW50cykge1xuICAgICAgICAgICAgICAgIGlmICghZWxlbWVudHNNZWV0Q3JpdGVyaWEuaW5jbHVkZXMoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudHNNZWV0Q3JpdGVyaWEucHVzaChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50c01lZXRDcml0ZXJpYTtcbiAgICAgICAgfSwgW10gYXMgVFtdKTtcbiAgICB9XG59XG4iXX0=