UNPKG

ng-custom-pipe

Version:

An Angular Library, that gives you a hussle free experience on data operation using pipes

41 lines 4.97 kB
/** Copyright 2023 Infosys Ltd. */ import { Pipe } from '@angular/core'; import * as i0 from "@angular/core"; export class FilterOnePipe { transform(value, param) { if (!value || value.length === 0) return []; let resultArr = []; if (typeof (param) == 'string' || typeof (param) == 'number') { resultArr = value.filter(val => { return val === param; }); } if (typeof (param) == 'object') { let prop = param[0]; let props = prop.split('.'); value.forEach(val => { let res = val[props[0]]; if (props.length > 1) { for (let i = 1; i < props.length; i++) { res = res[props[i]]; } } if (res === param[1]) { resultArr.push(val); } }); } if (typeof (param) == 'function') { resultArr = param(value); } return resultArr[0]; } } FilterOnePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FilterOnePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); FilterOnePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FilterOnePipe, name: "filterOne" }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FilterOnePipe, decorators: [{ type: Pipe, args: [{ name: 'filterOne' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9uZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY3VzdG9tLXBpcGUvc3JjL2xpYi9hcnJheS9maWx0ZXItb25lLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0NBQWtDO0FBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sYUFBYTtJQUV4QixTQUFTLENBQUMsS0FBWSxFQUFFLEtBQWlEO1FBQ3ZFLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBRyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFMUMsSUFBSSxTQUFTLEdBQVUsRUFBRSxDQUFDO1FBRTFCLElBQUksT0FBTSxDQUFDLEtBQUssQ0FBQyxJQUFFLFFBQVEsSUFBSSxPQUFNLENBQUMsS0FBSyxDQUFDLElBQUUsUUFBUSxFQUFFO1lBQ3RELFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUUsT0FBTyxHQUFHLEtBQUcsS0FBSyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLE9BQU0sQ0FBQyxLQUFLLENBQUMsSUFBRSxRQUFRLEVBQUU7WUFDM0IsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDbEIsSUFBSSxHQUFHLEdBQVEsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUU3QixJQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFFO29CQUNqQixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsS0FBSyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBRTt3QkFDL0IsR0FBRyxHQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDbkI7aUJBQ0Y7Z0JBQ0QsSUFBSSxHQUFHLEtBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUNsQixTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjtZQUNILENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFFRCxJQUFHLE9BQU0sQ0FBQyxLQUFLLENBQUMsSUFBRSxVQUFVLEVBQUU7WUFDNUIsU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQjtRQUNELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7OzBHQWhDVSxhQUFhO3dHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFIekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQ29weXJpZ2h0IDIwMjMgSW5mb3N5cyBMdGQuICovXHJcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZmlsdGVyT25lJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyT25lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueVtdLCBwYXJhbTogW3N0cmluZywgYW55XSB8IHN0cmluZyB8IG51bWJlciB8IEZ1bmN0aW9uKTogYW55IHtcclxuICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoPT09MCkgcmV0dXJuIFtdO1xyXG5cclxuICAgIGxldCByZXN1bHRBcnI6IGFueVtdID0gW107XHJcblxyXG4gICAgaWYgKHR5cGVvZihwYXJhbSk9PSdzdHJpbmcnIHx8IHR5cGVvZihwYXJhbSk9PSdudW1iZXInKSB7XHJcbiAgICAgIHJlc3VsdEFyciA9IHZhbHVlLmZpbHRlcih2YWwgPT4ge3JldHVybiB2YWw9PT1wYXJhbX0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YocGFyYW0pPT0nb2JqZWN0Jykge1xyXG4gICAgICBsZXQgcHJvcCA9IHBhcmFtWzBdO1xyXG4gICAgICBsZXQgcHJvcHMgPSBwcm9wLnNwbGl0KCcuJyk7XHJcbiAgICAgIHZhbHVlLmZvckVhY2godmFsID0+IHtcclxuICAgICAgICBsZXQgcmVzOiBhbnkgPSB2YWxbcHJvcHNbMF1dO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmKHByb3BzLmxlbmd0aD4xKSB7XHJcbiAgICAgICAgICBmb3IobGV0IGk9MTsgaTxwcm9wcy5sZW5ndGg7aSsrKSB7XHJcbiAgICAgICAgICAgIHJlcz1yZXNbcHJvcHNbaV1dO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocmVzPT09cGFyYW1bMV0pIHtcclxuICAgICAgICAgIHJlc3VsdEFyci5wdXNoKHZhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIGlmKHR5cGVvZihwYXJhbSk9PSdmdW5jdGlvbicpIHtcclxuICAgICAgcmVzdWx0QXJyID0gcGFyYW0odmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdEFyclswXTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==