UNPKG

@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
/* * 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==