@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.94 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 FindByPipe {
/**
* @param {?} arr
* @param {?} path
* @param {?} value
* @param {?} type
* @return {?}
*/
transform(arr, path, value, type) {
if (!_.isArray(arr)) {
return null;
}
if (_.isArray(value)) {
return _.find(arr, item => _.includes(value, _.get(item, path)));
}
else {
switch (type) {
case ">":
return _.find(arr, item => _.get(item, path) > value);
case "<":
return _.find(arr, item => _.get(item, path) < value);
case "not":
return _.find(arr, item => _.get(item, path) !== value);
default:
return _.find(arr, item => _.get(item, path) === value);
}
}
}
}
FindByPipe.decorators = [
{ type: Pipe, args: [{
name: "findBy"
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1ieS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHZpY29kZXJzL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvZmluZC1ieS9maW5kLWJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBSzVCLE1BQU07Ozs7Ozs7O0lBQ0osU0FBUyxDQUFDLEdBQVEsRUFBRSxJQUFZLEVBQUUsS0FBVSxFQUFFLElBQVM7UUFDckQsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xFO2FBQU07WUFDTCxRQUFRLElBQUksRUFBRTtnQkFDWixLQUFLLEdBQUc7b0JBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO2dCQUN4RCxLQUFLLEdBQUc7b0JBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO2dCQUN4RCxLQUFLLEtBQUs7b0JBQ1IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO2dCQUMxRDtvQkFDRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7YUFDM0Q7U0FDRjtJQUNILENBQUM7OztZQXRCRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLFFBQVE7YUFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XG5cbkBQaXBlKHtcbiAgbmFtZTogXCJmaW5kQnlcIlxufSlcbmV4cG9ydCBjbGFzcyBGaW5kQnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShhcnI6IGFueSwgcGF0aDogc3RyaW5nLCB2YWx1ZTogYW55LCB0eXBlOiBhbnkpOiBhbnkge1xuICAgIGlmICghXy5pc0FycmF5KGFycikpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoXy5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIF8uZmluZChhcnIsIGl0ZW0gPT4gXy5pbmNsdWRlcyh2YWx1ZSwgXy5nZXQoaXRlbSwgcGF0aCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgXCI+XCI6XG4gICAgICAgICAgcmV0dXJuIF8uZmluZChhcnIsIGl0ZW0gPT4gXy5nZXQoaXRlbSwgcGF0aCkgPiB2YWx1ZSk7XG4gICAgICAgIGNhc2UgXCI8XCI6XG4gICAgICAgICAgcmV0dXJuIF8uZmluZChhcnIsIGl0ZW0gPT4gXy5nZXQoaXRlbSwgcGF0aCkgPCB2YWx1ZSk7XG4gICAgICAgIGNhc2UgXCJub3RcIjpcbiAgICAgICAgICByZXR1cm4gXy5maW5kKGFyciwgaXRlbSA9PiBfLmdldChpdGVtLCBwYXRoKSAhPT0gdmFsdWUpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBfLmZpbmQoYXJyLCBpdGVtID0+IF8uZ2V0KGl0ZW0sIHBhdGgpID09PSB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=