UNPKG

angular-pipes

Version:
42 lines 3.92 kB
import * as tslib_1 from "tslib"; import { Pipe, NgModule } from '@angular/core'; import { isArray, isFunction, getProperty } from '../utils/utils'; let WherePipe = class WherePipe { /** * Support a function or a value or the shorthand ['key', value] like the lodash shorthand. */ transform(input, fn) { if (!isArray(input)) { return input; } if (isFunction(fn)) { return input.filter(fn); } else if (isArray(fn)) { const [key, value] = fn; return input.filter((item) => getProperty(item, key) === value); } else if (fn) { return input.filter((item) => item === fn); } else { return input; } } }; WherePipe = tslib_1.__decorate([ Pipe({ name: 'where', }) ], WherePipe); export { WherePipe }; let NgWherePipeModule = class NgWherePipeModule { }; NgWherePipeModule = tslib_1.__decorate([ NgModule({ declarations: [WherePipe], exports: [WherePipe], }) ], NgWherePipeModule); export { NgWherePipeModule }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hlcmUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItcGlwZXMvIiwic291cmNlcyI6WyJhcnJheS93aGVyZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLbEUsSUFBYSxTQUFTLEdBQXRCLE1BQWEsU0FBUztJQUNwQjs7T0FFRztJQUNILFNBQVMsQ0FBQyxLQUFVLEVBQUUsRUFBTztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNsQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUN0QixNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN4QixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7U0FDdEU7YUFBTSxJQUFJLEVBQUUsRUFBRTtZQUNiLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFwQlksU0FBUztJQUhyQixJQUFJLENBQUM7UUFDSixJQUFJLEVBQUUsT0FBTztLQUNkLENBQUM7R0FDVyxTQUFTLENBb0JyQjtTQXBCWSxTQUFTO0FBMEJ0QixJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtDQUFHLENBQUE7QUFBcEIsaUJBQWlCO0lBSjdCLFFBQVEsQ0FBQztRQUNSLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUN6QixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUM7S0FDckIsQ0FBQztHQUNXLGlCQUFpQixDQUFHO1NBQXBCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzQXJyYXksIGlzRnVuY3Rpb24sIGdldFByb3BlcnR5IH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICd3aGVyZScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXaGVyZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAvKipcclxuICAgKiBTdXBwb3J0IGEgZnVuY3Rpb24gb3IgYSB2YWx1ZSBvciB0aGUgc2hvcnRoYW5kIFsna2V5JywgdmFsdWVdIGxpa2UgdGhlIGxvZGFzaCBzaG9ydGhhbmQuXHJcbiAgICovXHJcbiAgdHJhbnNmb3JtKGlucHV0OiBhbnksIGZuOiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKCFpc0FycmF5KGlucHV0KSkge1xyXG4gICAgICByZXR1cm4gaW5wdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlzRnVuY3Rpb24oZm4pKSB7XHJcbiAgICAgIHJldHVybiBpbnB1dC5maWx0ZXIoZm4pO1xyXG4gICAgfSBlbHNlIGlmIChpc0FycmF5KGZuKSkge1xyXG4gICAgICBjb25zdCBba2V5LCB2YWx1ZV0gPSBmbjtcclxuICAgICAgcmV0dXJuIGlucHV0LmZpbHRlcigoaXRlbTogYW55KSA9PiBnZXRQcm9wZXJ0eShpdGVtLCBrZXkpID09PSB2YWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKGZuKSB7XHJcbiAgICAgIHJldHVybiBpbnB1dC5maWx0ZXIoKGl0ZW06IGFueSkgPT4gaXRlbSA9PT0gZm4pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGlucHV0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtXaGVyZVBpcGVdLFxyXG4gIGV4cG9ydHM6IFtXaGVyZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdXaGVyZVBpcGVNb2R1bGUge31cclxuIl19