@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)
52 lines • 4.55 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Pipe } from "@angular/core";
import * as _ from "lodash";
var FilterByPipe = /** @class */ (function () {
function FilterByPipe() {
}
/**
* @param {?} arr
* @param {?} path
* @param {?} value
* @param {?} type
* @return {?}
*/
FilterByPipe.prototype.transform = /**
* @param {?} arr
* @param {?} path
* @param {?} value
* @param {?} type
* @return {?}
*/
function (arr, path, value, type) {
if (!_.isArray(arr)) {
return null;
}
if (_.isArray(value)) {
return _.filter(arr, function (item) { return _.includes(value, _.get(item, path)); });
}
else {
switch (type) {
case ">":
return _.filter(arr, function (item) { return _.get(item, path) > value; });
case "<":
return _.filter(arr, function (item) { return _.get(item, path) < value; });
case "not":
return _.filter(arr, function (item) { return _.get(item, path) !== value; });
default:
return _.filter(arr, function (item) { return _.get(item, path) === value; });
}
}
};
FilterByPipe.decorators = [
{ type: Pipe, args: [{
name: "filterBy"
},] }
];
return FilterByPipe;
}());
export { FilterByPipe };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ5LnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Admljb2RlcnMvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9maWx0ZXItYnkvZmlsdGVyLWJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCO0lBQUE7SUF1QkEsQ0FBQzs7Ozs7Ozs7SUFuQkMsZ0NBQVM7Ozs7Ozs7SUFBVCxVQUFVLEdBQVEsRUFBRSxJQUFZLEVBQUUsS0FBVSxFQUFFLElBQVM7UUFDckQsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQUEsSUFBSSxJQUFJLE9BQUEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBcEMsQ0FBb0MsQ0FBQyxDQUFDO1NBQ3BFO2FBQU07WUFDTCxRQUFRLElBQUksRUFBRTtnQkFDWixLQUFLLEdBQUc7b0JBQ04sT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBekIsQ0FBeUIsQ0FBQyxDQUFDO2dCQUMxRCxLQUFLLEdBQUc7b0JBQ04sT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBekIsQ0FBeUIsQ0FBQyxDQUFDO2dCQUMxRCxLQUFLLEtBQUs7b0JBQ1IsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBM0IsQ0FBMkIsQ0FBQyxDQUFDO2dCQUM1RDtvQkFDRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQUEsSUFBSSxJQUFJLE9BQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUEzQixDQUEyQixDQUFDLENBQUM7YUFDN0Q7U0FDRjtJQUNILENBQUM7O2dCQXRCRixJQUFJLFNBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCOztJQXFCRCxtQkFBQztDQUFBLEFBdkJELElBdUJDO1NBcEJZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuXG5AUGlwZSh7XG4gIG5hbWU6IFwiZmlsdGVyQnlcIlxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJCeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGFycjogYW55LCBwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnksIHR5cGU6IGFueSk6IGFueSB7XG4gICAgaWYgKCFfLmlzQXJyYXkoYXJyKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmIChfLmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gXy5maWx0ZXIoYXJyLCBpdGVtID0+IF8uaW5jbHVkZXModmFsdWUsIF8uZ2V0KGl0ZW0sIHBhdGgpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFwiPlwiOlxuICAgICAgICAgIHJldHVybiBfLmZpbHRlcihhcnIsIGl0ZW0gPT4gXy5nZXQoaXRlbSwgcGF0aCkgPiB2YWx1ZSk7XG4gICAgICAgIGNhc2UgXCI8XCI6XG4gICAgICAgICAgcmV0dXJuIF8uZmlsdGVyKGFyciwgaXRlbSA9PiBfLmdldChpdGVtLCBwYXRoKSA8IHZhbHVlKTtcbiAgICAgICAgY2FzZSBcIm5vdFwiOlxuICAgICAgICAgIHJldHVybiBfLmZpbHRlcihhcnIsIGl0ZW0gPT4gXy5nZXQoaXRlbSwgcGF0aCkgIT09IHZhbHVlKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gXy5maWx0ZXIoYXJyLCBpdGVtID0+IF8uZ2V0KGl0ZW0sIHBhdGgpID09PSB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=