UNPKG

angular-pipes

Version:
46 lines 4.57 kB
import * as tslib_1 from "tslib"; import { Pipe, NgModule } from '@angular/core'; import { isArray, isDeepObject, unwrapDeep, deepIndexOf } from '../utils/utils'; var UnionPipe = /** @class */ (function () { function UnionPipe() { } UnionPipe.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 [] .concat(unwrapped) .concat(b) .filter(function (value, index, input) { return deepIndexOf(input, value) === index; }); } return [] .concat(a) .concat(b) .filter(function (value, index, input) { return input.indexOf(value) === index; }); }; UnionPipe = tslib_1.__decorate([ Pipe({ name: 'union', }) ], UnionPipe); return UnionPipe; }()); export { UnionPipe }; var NgUnionPipeModule = /** @class */ (function () { function NgUnionPipeModule() { } NgUnionPipeModule = tslib_1.__decorate([ NgModule({ declarations: [UnionPipe], exports: [UnionPipe], }) ], NgUnionPipeModule); return NgUnionPipeModule; }()); export { NgUnionPipeModule }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItcGlwZXMvIiwic291cmNlcyI6WyJhcnJheS91bmlvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2hGO0lBQUE7SUF1QkEsQ0FBQztJQXRCQyw2QkFBUyxHQUFULFVBQVUsQ0FBTyxFQUFFLENBQU87UUFDeEIsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEQsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLElBQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN2QixPQUFPLEVBQUUsQ0FBQzthQUNYO1lBRUQsT0FBTyxFQUFFO2lCQUNOLE1BQU0sQ0FBQyxTQUFTLENBQUM7aUJBQ2pCLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQ1QsTUFBTSxDQUFDLFVBQUMsS0FBVSxFQUFFLEtBQWEsRUFBRSxLQUFZLElBQUssT0FBQSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEtBQUssRUFBbkMsQ0FBbUMsQ0FBQyxDQUFDO1NBQzdGO1FBRUQsT0FBTyxFQUFFO2FBQ04sTUFBTSxDQUFDLENBQUMsQ0FBQzthQUNULE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDVCxNQUFNLENBQUMsVUFBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLEtBQVksSUFBSyxPQUFBLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxFQUE5QixDQUE4QixDQUFDLENBQUM7SUFDekYsQ0FBQztJQXRCVSxTQUFTO1FBSHJCLElBQUksQ0FBQztZQUNKLElBQUksRUFBRSxPQUFPO1NBQ2QsQ0FBQztPQUNXLFNBQVMsQ0F1QnJCO0lBQUQsZ0JBQUM7Q0FBQSxBQXZCRCxJQXVCQztTQXZCWSxTQUFTO0FBNkJ0QjtJQUFBO0lBQWdDLENBQUM7SUFBcEIsaUJBQWlCO1FBSjdCLFFBQVEsQ0FBQztZQUNSLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUM7U0FDckIsQ0FBQztPQUNXLGlCQUFpQixDQUFHO0lBQUQsd0JBQUM7Q0FBQSxBQUFqQyxJQUFpQztTQUFwQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0FycmF5LCBpc0RlZXBPYmplY3QsIHVud3JhcERlZXAsIGRlZXBJbmRleE9mIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICd1bmlvbicsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbmlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oYT86IGFueSwgYj86IGFueSk6IGFueSB7XHJcbiAgICBpZiAoKCFpc0FycmF5KGEpICYmICFpc0RlZXBPYmplY3QoYSkpIHx8ICFpc0FycmF5KGIpKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNEZWVwT2JqZWN0KGEpKSB7XHJcbiAgICAgIGNvbnN0IHVud3JhcHBlZCA9IHVud3JhcERlZXAoYSk7XHJcbiAgICAgIGlmICghaXNBcnJheSh1bndyYXBwZWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gW11cclxuICAgICAgICAuY29uY2F0KHVud3JhcHBlZClcclxuICAgICAgICAuY29uY2F0KGIpXHJcbiAgICAgICAgLmZpbHRlcigodmFsdWU6IGFueSwgaW5kZXg6IG51bWJlciwgaW5wdXQ6IGFueVtdKSA9PiBkZWVwSW5kZXhPZihpbnB1dCwgdmFsdWUpID09PSBpbmRleCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFtdXHJcbiAgICAgIC5jb25jYXQoYSlcclxuICAgICAgLmNvbmNhdChiKVxyXG4gICAgICAuZmlsdGVyKCh2YWx1ZTogYW55LCBpbmRleDogbnVtYmVyLCBpbnB1dDogYW55W10pID0+IGlucHV0LmluZGV4T2YodmFsdWUpID09PSBpbmRleCk7XHJcbiAgfVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1VuaW9uUGlwZV0sXHJcbiAgZXhwb3J0czogW1VuaW9uUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ1VuaW9uUGlwZU1vZHVsZSB7fVxyXG4iXX0=