UNPKG

angular-pipes

Version:
44 lines 5.14 kB
import * as tslib_1 from "tslib"; import { Pipe, NgModule } from '@angular/core'; import { isArray, isDeepObject, unwrapDeep, deepIndexOf } from '../utils/utils'; var IntersectionPipe = /** @class */ (function () { function IntersectionPipe() { } IntersectionPipe.prototype.transform = function (a, b) { if ((!isArray(a) && !isDeepObject(a)) || !isArray(b)) { return []; } if (isDeepObject(a)) { var unwrapped = unwrapDeep(a); if (!isArray(unwrapped)) { return []; } return unwrapped.reduce(function (intersection, value) { return intersection.concat(deepIndexOf(b, value) !== -1 && deepIndexOf(intersection, value) === -1 ? value : []); }, []); } return a.reduce(function (intersection, value) { return intersection.concat(b.indexOf(value) !== -1 && intersection.indexOf(value) === -1 ? value : []); }, []); }; IntersectionPipe = tslib_1.__decorate([ Pipe({ name: 'intersection', }) ], IntersectionPipe); return IntersectionPipe; }()); export { IntersectionPipe }; var NgIntersectionPipeModule = /** @class */ (function () { function NgIntersectionPipeModule() { } NgIntersectionPipeModule = tslib_1.__decorate([ NgModule({ declarations: [IntersectionPipe], exports: [IntersectionPipe], }) ], NgIntersectionPipeModule); return NgIntersectionPipeModule; }()); export { NgIntersectionPipeModule }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXBpcGVzLyIsInNvdXJjZXMiOlsiYXJyYXkvaW50ZXJzZWN0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLaEY7SUFBQTtJQXlCQSxDQUFDO0lBeEJDLG9DQUFTLEdBQVQsVUFBVSxDQUFPLEVBQUUsQ0FBTztRQUN4QixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRCxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkIsSUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3ZCLE9BQU8sRUFBRSxDQUFDO2FBQ1g7WUFFRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQ3JCLFVBQUMsWUFBbUIsRUFBRSxLQUFVO2dCQUM5QixPQUFBLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUF6RyxDQUF5RyxFQUMzRyxFQUFFLENBQ0gsQ0FBQztTQUNIO1FBRUQsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUNiLFVBQUMsWUFBbUIsRUFBRSxLQUFVO1lBQzlCLE9BQUEsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQS9GLENBQStGLEVBQ2pHLEVBQUUsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQXhCVSxnQkFBZ0I7UUFINUIsSUFBSSxDQUFDO1lBQ0osSUFBSSxFQUFFLGNBQWM7U0FDckIsQ0FBQztPQUNXLGdCQUFnQixDQXlCNUI7SUFBRCx1QkFBQztDQUFBLEFBekJELElBeUJDO1NBekJZLGdCQUFnQjtBQStCN0I7SUFBQTtJQUF1QyxDQUFDO0lBQTNCLHdCQUF3QjtRQUpwQyxRQUFRLENBQUM7WUFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNoQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztTQUM1QixDQUFDO09BQ1csd0JBQXdCLENBQUc7SUFBRCwrQkFBQztDQUFBLEFBQXhDLElBQXdDO1NBQTNCLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzQXJyYXksIGlzRGVlcE9iamVjdCwgdW53cmFwRGVlcCwgZGVlcEluZGV4T2YgfSBmcm9tICcuLi91dGlscy91dGlscyc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2ludGVyc2VjdGlvbicsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnRlcnNlY3Rpb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGE/OiBhbnksIGI/OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKCghaXNBcnJheShhKSAmJiAhaXNEZWVwT2JqZWN0KGEpKSB8fCAhaXNBcnJheShiKSkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlzRGVlcE9iamVjdChhKSkge1xyXG4gICAgICBjb25zdCB1bndyYXBwZWQgPSB1bndyYXBEZWVwKGEpO1xyXG4gICAgICBpZiAoIWlzQXJyYXkodW53cmFwcGVkKSkge1xyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHVud3JhcHBlZC5yZWR1Y2UoXHJcbiAgICAgICAgKGludGVyc2VjdGlvbjogYW55W10sIHZhbHVlOiBhbnkpID0+XHJcbiAgICAgICAgICBpbnRlcnNlY3Rpb24uY29uY2F0KGRlZXBJbmRleE9mKGIsIHZhbHVlKSAhPT0gLTEgJiYgZGVlcEluZGV4T2YoaW50ZXJzZWN0aW9uLCB2YWx1ZSkgPT09IC0xID8gdmFsdWUgOiBbXSksXHJcbiAgICAgICAgW11cclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYS5yZWR1Y2UoXHJcbiAgICAgIChpbnRlcnNlY3Rpb246IGFueVtdLCB2YWx1ZTogYW55KSA9PlxyXG4gICAgICAgIGludGVyc2VjdGlvbi5jb25jYXQoYi5pbmRleE9mKHZhbHVlKSAhPT0gLTEgJiYgaW50ZXJzZWN0aW9uLmluZGV4T2YodmFsdWUpID09PSAtMSA/IHZhbHVlIDogW10pLFxyXG4gICAgICBbXVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbSW50ZXJzZWN0aW9uUGlwZV0sXHJcbiAgZXhwb3J0czogW0ludGVyc2VjdGlvblBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdJbnRlcnNlY3Rpb25QaXBlTW9kdWxlIHt9XHJcbiJdfQ==