@vicoders/angular
Version:
- [Vicoders Angular Common Module](#vicoders-angular-common-module) - [Install](#install) - [How to use](#how-to-use) - [Pipes](#pipes) - [hasItem](#hasitem) - [isArray](#isarray) - [length](#length) - [orderBy](#orderby)
41 lines • 3.99 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Pipe } from "@angular/core";
import * as _ from "lodash";
export class FilterByPipe {
/**
* @param {?} arr
* @param {?} path
* @param {?} value
* @param {?} type
* @return {?}
*/
transform(arr, path, value, type) {
if (!_.isArray(arr)) {
return null;
}
if (_.isArray(value)) {
return _.filter(arr, item => _.includes(value, _.get(item, path)));
}
else {
switch (type) {
case ">":
return _.filter(arr, item => _.get(item, path) > value);
case "<":
return _.filter(arr, item => _.get(item, path) < value);
case "not":
return _.filter(arr, item => _.get(item, path) !== value);
default:
return _.filter(arr, item => _.get(item, path) === value);
}
}
}
}
FilterByPipe.decorators = [
{ type: Pipe, args: [{
name: "filterBy"
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ5LnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Admljb2RlcnMvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9maWx0ZXItYnkvZmlsdGVyLWJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBSzVCLE1BQU07Ozs7Ozs7O0lBQ0osU0FBUyxDQUFDLEdBQVEsRUFBRSxJQUFZLEVBQUUsS0FBVSxFQUFFLElBQVM7UUFDckQsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO2FBQU07WUFDTCxRQUFRLElBQUksRUFBRTtnQkFDWixLQUFLLEdBQUc7b0JBQ04sT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO2dCQUMxRCxLQUFLLEdBQUc7b0JBQ04sT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO2dCQUMxRCxLQUFLLEtBQUs7b0JBQ1IsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO2dCQUM1RDtvQkFDRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7YUFDN0Q7U0FDRjtJQUNILENBQUM7OztZQXRCRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLFVBQVU7YUFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuXG5AUGlwZSh7XG4gIG5hbWU6IFwiZmlsdGVyQnlcIlxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJCeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGFycjogYW55LCBwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnksIHR5cGU6IGFueSk6IGFueSB7XG4gICAgaWYgKCFfLmlzQXJyYXkoYXJyKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmIChfLmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gXy5maWx0ZXIoYXJyLCBpdGVtID0+IF8uaW5jbHVkZXModmFsdWUsIF8uZ2V0KGl0ZW0sIHBhdGgpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFwiPlwiOlxuICAgICAgICAgIHJldHVybiBfLmZpbHRlcihhcnIsIGl0ZW0gPT4gXy5nZXQoaXRlbSwgcGF0aCkgPiB2YWx1ZSk7XG4gICAgICAgIGNhc2UgXCI8XCI6XG4gICAgICAgICAgcmV0dXJuIF8uZmlsdGVyKGFyciwgaXRlbSA9PiBfLmdldChpdGVtLCBwYXRoKSA8IHZhbHVlKTtcbiAgICAgICAgY2FzZSBcIm5vdFwiOlxuICAgICAgICAgIHJldHVybiBfLmZpbHRlcihhcnIsIGl0ZW0gPT4gXy5nZXQoaXRlbSwgcGF0aCkgIT09IHZhbHVlKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gXy5maWx0ZXIoYXJyLCBpdGVtID0+IF8uZ2V0KGl0ZW0sIHBhdGgpID09PSB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=