angular-pipes
Version:
Angular pipes library
48 lines • 4.26 kB
JavaScript
import * as tslib_1 from "tslib";
import { Pipe, NgModule } from '@angular/core';
import { isArray, isFunction, getProperty } from '../utils/utils';
var WherePipe = /** @class */ (function () {
function WherePipe() {
}
/**
* Support a function or a value or the shorthand ['key', value] like the lodash shorthand.
*/
WherePipe.prototype.transform = function (input, fn) {
if (!isArray(input)) {
return input;
}
if (isFunction(fn)) {
return input.filter(fn);
}
else if (isArray(fn)) {
var _a = tslib_1.__read(fn, 2), key_1 = _a[0], value_1 = _a[1];
return input.filter(function (item) { return getProperty(item, key_1) === value_1; });
}
else if (fn) {
return input.filter(function (item) { return item === fn; });
}
else {
return input;
}
};
WherePipe = tslib_1.__decorate([
Pipe({
name: 'where',
})
], WherePipe);
return WherePipe;
}());
export { WherePipe };
var NgWherePipeModule = /** @class */ (function () {
function NgWherePipeModule() {
}
NgWherePipeModule = tslib_1.__decorate([
NgModule({
declarations: [WherePipe],
exports: [WherePipe],
})
], NgWherePipeModule);
return NgWherePipeModule;
}());
export { NgWherePipeModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hlcmUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItcGlwZXMvIiwic291cmNlcyI6WyJhcnJheS93aGVyZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLbEU7SUFBQTtJQW9CQSxDQUFDO0lBbkJDOztPQUVHO0lBQ0gsNkJBQVMsR0FBVCxVQUFVLEtBQVUsRUFBRSxFQUFPO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2xCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN6QjthQUFNLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2hCLElBQUEsMEJBQWlCLEVBQWhCLGFBQUcsRUFBRSxlQUFXLENBQUM7WUFDeEIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQUMsSUFBUyxJQUFLLE9BQUEsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFHLENBQUMsS0FBSyxPQUFLLEVBQWhDLENBQWdDLENBQUMsQ0FBQztTQUN0RTthQUFNLElBQUksRUFBRSxFQUFFO1lBQ2IsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQUMsSUFBUyxJQUFLLE9BQUEsSUFBSSxLQUFLLEVBQUUsRUFBWCxDQUFXLENBQUMsQ0FBQztTQUNqRDthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFuQlUsU0FBUztRQUhyQixJQUFJLENBQUM7WUFDSixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7T0FDVyxTQUFTLENBb0JyQjtJQUFELGdCQUFDO0NBQUEsQUFwQkQsSUFvQkM7U0FwQlksU0FBUztBQTBCdEI7SUFBQTtJQUFnQyxDQUFDO0lBQXBCLGlCQUFpQjtRQUo3QixRQUFRLENBQUM7WUFDUixZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDekIsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQ3JCLENBQUM7T0FDVyxpQkFBaUIsQ0FBRztJQUFELHdCQUFDO0NBQUEsQUFBakMsSUFBaUM7U0FBcEIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNGdW5jdGlvbiwgZ2V0UHJvcGVydHkgfSBmcm9tICcuLi91dGlscy91dGlscyc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3doZXJlJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdoZXJlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIC8qKlxyXG4gICAqIFN1cHBvcnQgYSBmdW5jdGlvbiBvciBhIHZhbHVlIG9yIHRoZSBzaG9ydGhhbmQgWydrZXknLCB2YWx1ZV0gbGlrZSB0aGUgbG9kYXNoIHNob3J0aGFuZC5cclxuICAgKi9cclxuICB0cmFuc2Zvcm0oaW5wdXQ6IGFueSwgZm46IGFueSk6IGFueSB7XHJcbiAgICBpZiAoIWlzQXJyYXkoaW5wdXQpKSB7XHJcbiAgICAgIHJldHVybiBpbnB1dDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNGdW5jdGlvbihmbikpIHtcclxuICAgICAgcmV0dXJuIGlucHV0LmZpbHRlcihmbik7XHJcbiAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZm4pKSB7XHJcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IGZuO1xyXG4gICAgICByZXR1cm4gaW5wdXQuZmlsdGVyKChpdGVtOiBhbnkpID0+IGdldFByb3BlcnR5KGl0ZW0sIGtleSkgPT09IHZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiAoZm4pIHtcclxuICAgICAgcmV0dXJuIGlucHV0LmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtID09PSBmbik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gaW5wdXQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1doZXJlUGlwZV0sXHJcbiAgZXhwb3J0czogW1doZXJlUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ1doZXJlUGlwZU1vZHVsZSB7fVxyXG4iXX0=