angular-pipes
Version:
Angular pipes library
42 lines • 3.92 kB
JavaScript
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