@versatiledatakit/shared
Version:
Versatile Data Kit Shared library enables reusability of shared features like: NgRx Redux, Error Handlers, Utils, Generic Components, etc.
29 lines • 2.83 kB
JavaScript
/*
* Copyright 2023-2025 Broadcom
* SPDX-License-Identifier: Apache-2.0
*/
/**
* ** And criteria that filters elements in Array and remove those that does not meet all criterias.
*/
export class AndCriteria {
/**
* ** Constructor.
*/
constructor(...criterias) {
this.criterias = criterias;
}
/**
* @inheritDoc
*/
meetCriteria(elements) {
let elementsMeetCriteria = [...elements];
for (const criteria of this.criterias) {
elementsMeetCriteria = criteria.meetCriteria(elementsMeetCriteria);
if (elementsMeetCriteria.length === 0) {
break;
}
}
return elementsMeetCriteria;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5kLmNyaXRlcmlhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvY29tbW9uL2NyaXRlcmlhL2NvbXBvdW5kL2FuZC5jcml0ZXJpYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFJSDs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBTXBCOztPQUVHO0lBQ0gsWUFBWSxHQUFHLFNBQXdCO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FBQyxRQUFhO1FBQ3RCLElBQUksb0JBQW9CLEdBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBRTlDLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQyxvQkFBb0IsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFFbkUsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNuQyxNQUFNO2FBQ1Q7U0FDSjtRQUVELE9BQU8sb0JBQW9CLENBQUM7SUFDaEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIzLTIwMjUgQnJvYWRjb21cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgQ3JpdGVyaWEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiAqKiBBbmQgY3JpdGVyaWEgdGhhdCBmaWx0ZXJzIGVsZW1lbnRzIGluIEFycmF5IGFuZCByZW1vdmUgdGhvc2UgdGhhdCBkb2VzIG5vdCBtZWV0IGFsbCBjcml0ZXJpYXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBbmRDcml0ZXJpYTxUPiBpbXBsZW1lbnRzIENyaXRlcmlhPFQ+IHtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHJlYWRvbmx5IGNyaXRlcmlhczogQ3JpdGVyaWE8VD5bXTtcblxuICAgIC8qKlxuICAgICAqICoqIENvbnN0cnVjdG9yLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKC4uLmNyaXRlcmlhczogQ3JpdGVyaWE8VD5bXSkge1xuICAgICAgICB0aGlzLmNyaXRlcmlhcyA9IGNyaXRlcmlhcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIG1lZXRDcml0ZXJpYShlbGVtZW50czogVFtdKTogVFtdIHtcbiAgICAgICAgbGV0IGVsZW1lbnRzTWVldENyaXRlcmlhOiBUW10gPSBbLi4uZWxlbWVudHNdO1xuXG4gICAgICAgIGZvciAoY29uc3QgY3JpdGVyaWEgb2YgdGhpcy5jcml0ZXJpYXMpIHtcbiAgICAgICAgICAgIGVsZW1lbnRzTWVldENyaXRlcmlhID0gY3JpdGVyaWEubWVldENyaXRlcmlhKGVsZW1lbnRzTWVldENyaXRlcmlhKTtcblxuICAgICAgICAgICAgaWYgKGVsZW1lbnRzTWVldENyaXRlcmlhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVsZW1lbnRzTWVldENyaXRlcmlhO1xuICAgIH1cbn1cbiJdfQ==