ng-custom-pipe
Version:
An Angular Library, that gives you a hussle free experience on data operation using pipes
41 lines • 4.97 kB
JavaScript
/** 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==