UNPKG

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