@versatiledatakit/shared
Version:
Versatile Data Kit Shared library enables reusability of shared features like: NgRx Redux, Error Handlers, Utils, Generic Components, etc.
27 lines • 2.83 kB
JavaScript
/*
* Copyright 2023-2025 Broadcom
* SPDX-License-Identifier: Apache-2.0
*/
import { get } from 'lodash';
/**
* ** Primitive Criteria that check equals by reference or if primitive by value, using ===
*/
export class PrimitiveCriteria {
/**
* ** Constructor.
*/
constructor(property, assertionValue) {
this._property = property;
this._assertionValue = assertionValue;
}
/**
* @inheritDoc
*/
meetCriteria(elements) {
return [...(elements ?? [])].filter((element) => {
const value = get(element, this._property);
return value === this._assertionValue;
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLmNyaXRlcmlhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvY29tbW9uL2NyaXRlcmlhL3ByaW1pdGl2ZS9wcmltaXRpdmUuY3JpdGVyaWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUk3Qjs7R0FFRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFJMUI7O09BRUc7SUFDSCxZQUFZLFFBQWlCLEVBQUUsY0FBMEI7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLFFBQWE7UUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM1QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQWEsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV2RCxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIzLTIwMjUgQnJvYWRjb21cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQ3JpdGVyaWEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiAqKiBQcmltaXRpdmUgQ3JpdGVyaWEgdGhhdCBjaGVjayBlcXVhbHMgYnkgcmVmZXJlbmNlIG9yIGlmIHByaW1pdGl2ZSBieSB2YWx1ZSwgdXNpbmcgPT09XG4gKi9cbmV4cG9ydCBjbGFzcyBQcmltaXRpdmVDcml0ZXJpYTxUIGV4dGVuZHMgb2JqZWN0PiBpbXBsZW1lbnRzIENyaXRlcmlhPFQ+IHtcbiAgICBwcml2YXRlIF9wcm9wZXJ0eToga2V5b2YgVDtcbiAgICBwcml2YXRlIF9hc3NlcnRpb25WYWx1ZTogVFtrZXlvZiBUXTtcblxuICAgIC8qKlxuICAgICAqICoqIENvbnN0cnVjdG9yLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHByb3BlcnR5OiBrZXlvZiBULCBhc3NlcnRpb25WYWx1ZTogVFtrZXlvZiBUXSkge1xuICAgICAgICB0aGlzLl9wcm9wZXJ0eSA9IHByb3BlcnR5O1xuICAgICAgICB0aGlzLl9hc3NlcnRpb25WYWx1ZSA9IGFzc2VydGlvblZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgbWVldENyaXRlcmlhKGVsZW1lbnRzOiBUW10pOiBUW10ge1xuICAgICAgICByZXR1cm4gWy4uLihlbGVtZW50cyA/PyBbXSldLmZpbHRlcigoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBnZXQ8VCwga2V5b2YgVD4oZWxlbWVudCwgdGhpcy5fcHJvcGVydHkpO1xuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgPT09IHRoaXMuX2Fzc2VydGlvblZhbHVlO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=