UNPKG

angular-pipes

Version:
34 lines 4.77 kB
import * as tslib_1 from "tslib"; import { Pipe, NgModule } from '@angular/core'; import { isArray, isDeepObject, unwrapDeep, deepIndexOf } from '../utils/utils'; let IntersectionPipe = class IntersectionPipe { transform(a, b) { if ((!isArray(a) && !isDeepObject(a)) || !isArray(b)) { return []; } if (isDeepObject(a)) { const unwrapped = unwrapDeep(a); if (!isArray(unwrapped)) { return []; } return unwrapped.reduce((intersection, value) => intersection.concat(deepIndexOf(b, value) !== -1 && deepIndexOf(intersection, value) === -1 ? value : []), []); } return a.reduce((intersection, value) => intersection.concat(b.indexOf(value) !== -1 && intersection.indexOf(value) === -1 ? value : []), []); } }; IntersectionPipe = tslib_1.__decorate([ Pipe({ name: 'intersection', }) ], IntersectionPipe); export { IntersectionPipe }; let NgIntersectionPipeModule = class NgIntersectionPipeModule { }; NgIntersectionPipeModule = tslib_1.__decorate([ NgModule({ declarations: [IntersectionPipe], exports: [IntersectionPipe], }) ], NgIntersectionPipeModule); export { NgIntersectionPipeModule }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXBpcGVzLyIsInNvdXJjZXMiOlsiYXJyYXkvaW50ZXJzZWN0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLaEYsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUFDM0IsU0FBUyxDQUFDLENBQU8sRUFBRSxDQUFPO1FBQ3hCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BELE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDdkIsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUVELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FDckIsQ0FBQyxZQUFtQixFQUFFLEtBQVUsRUFBRSxFQUFFLENBQ2xDLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUMzRyxFQUFFLENBQ0gsQ0FBQztTQUNIO1FBRUQsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUNiLENBQUMsWUFBbUIsRUFBRSxLQUFVLEVBQUUsRUFBRSxDQUNsQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDakcsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQXpCWSxnQkFBZ0I7SUFINUIsSUFBSSxDQUFDO1FBQ0osSUFBSSxFQUFFLGNBQWM7S0FDckIsQ0FBQztHQUNXLGdCQUFnQixDQXlCNUI7U0F6QlksZ0JBQWdCO0FBK0I3QixJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtDQUFHLENBQUE7QUFBM0Isd0JBQXdCO0lBSnBDLFFBQVEsQ0FBQztRQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQ2hDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO0tBQzVCLENBQUM7R0FDVyx3QkFBd0IsQ0FBRztTQUEzQix3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0FycmF5LCBpc0RlZXBPYmplY3QsIHVud3JhcERlZXAsIGRlZXBJbmRleE9mIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdpbnRlcnNlY3Rpb24nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW50ZXJzZWN0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShhPzogYW55LCBiPzogYW55KTogYW55IHtcclxuICAgIGlmICgoIWlzQXJyYXkoYSkgJiYgIWlzRGVlcE9iamVjdChhKSkgfHwgIWlzQXJyYXkoYikpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc0RlZXBPYmplY3QoYSkpIHtcclxuICAgICAgY29uc3QgdW53cmFwcGVkID0gdW53cmFwRGVlcChhKTtcclxuICAgICAgaWYgKCFpc0FycmF5KHVud3JhcHBlZCkpIHtcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB1bndyYXBwZWQucmVkdWNlKFxyXG4gICAgICAgIChpbnRlcnNlY3Rpb246IGFueVtdLCB2YWx1ZTogYW55KSA9PlxyXG4gICAgICAgICAgaW50ZXJzZWN0aW9uLmNvbmNhdChkZWVwSW5kZXhPZihiLCB2YWx1ZSkgIT09IC0xICYmIGRlZXBJbmRleE9mKGludGVyc2VjdGlvbiwgdmFsdWUpID09PSAtMSA/IHZhbHVlIDogW10pLFxyXG4gICAgICAgIFtdXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGEucmVkdWNlKFxyXG4gICAgICAoaW50ZXJzZWN0aW9uOiBhbnlbXSwgdmFsdWU6IGFueSkgPT5cclxuICAgICAgICBpbnRlcnNlY3Rpb24uY29uY2F0KGIuaW5kZXhPZih2YWx1ZSkgIT09IC0xICYmIGludGVyc2VjdGlvbi5pbmRleE9mKHZhbHVlKSA9PT0gLTEgPyB2YWx1ZSA6IFtdKSxcclxuICAgICAgW11cclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0ludGVyc2VjdGlvblBpcGVdLFxyXG4gIGV4cG9ydHM6IFtJbnRlcnNlY3Rpb25QaXBlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nSW50ZXJzZWN0aW9uUGlwZU1vZHVsZSB7fVxyXG4iXX0=