UNPKG

angular-pipes

Version:
40 lines 4.26 kB
import * as tslib_1 from "tslib"; import { Pipe, NgModule } from '@angular/core'; import { isArray, isDeepObject, unwrapDeep, deepIndexOf } from '../utils/utils'; let UnionPipe = class UnionPipe { transform(a, b) { if ((!isArray(a) && !isDeepObject(a)) || !isArray(b)) { return []; } if (isDeepObject(a)) { const unwrapped = unwrapDeep(a); if (!isArray(unwrapped)) { return []; } return [] .concat(unwrapped) .concat(b) .filter((value, index, input) => deepIndexOf(input, value) === index); } return [] .concat(a) .concat(b) .filter((value, index, input) => input.indexOf(value) === index); } }; UnionPipe = tslib_1.__decorate([ Pipe({ name: 'union', }) ], UnionPipe); export { UnionPipe }; let NgUnionPipeModule = class NgUnionPipeModule { }; NgUnionPipeModule = tslib_1.__decorate([ NgModule({ declarations: [UnionPipe], exports: [UnionPipe], }) ], NgUnionPipeModule); export { NgUnionPipeModule }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItcGlwZXMvIiwic291cmNlcyI6WyJhcnJheS91bmlvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2hGLElBQWEsU0FBUyxHQUF0QixNQUFhLFNBQVM7SUFDcEIsU0FBUyxDQUFDLENBQU8sRUFBRSxDQUFPO1FBQ3hCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BELE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDdkIsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUVELE9BQU8sRUFBRTtpQkFDTixNQUFNLENBQUMsU0FBUyxDQUFDO2lCQUNqQixNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUNULE1BQU0sQ0FBQyxDQUFDLEtBQVUsRUFBRSxLQUFhLEVBQUUsS0FBWSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1NBQzdGO1FBRUQsT0FBTyxFQUFFO2FBQ04sTUFBTSxDQUFDLENBQUMsQ0FBQzthQUNULE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDVCxNQUFNLENBQUMsQ0FBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLEtBQVksRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0YsQ0FBQTtBQXZCWSxTQUFTO0lBSHJCLElBQUksQ0FBQztRQUNKLElBQUksRUFBRSxPQUFPO0tBQ2QsQ0FBQztHQUNXLFNBQVMsQ0F1QnJCO1NBdkJZLFNBQVM7QUE2QnRCLElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0NBQUcsQ0FBQTtBQUFwQixpQkFBaUI7SUFKN0IsUUFBUSxDQUFDO1FBQ1IsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztLQUNyQixDQUFDO0dBQ1csaUJBQWlCLENBQUc7U0FBcEIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNEZWVwT2JqZWN0LCB1bndyYXBEZWVwLCBkZWVwSW5kZXhPZiB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAndW5pb24nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5pb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGE/OiBhbnksIGI/OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKCghaXNBcnJheShhKSAmJiAhaXNEZWVwT2JqZWN0KGEpKSB8fCAhaXNBcnJheShiKSkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlzRGVlcE9iamVjdChhKSkge1xyXG4gICAgICBjb25zdCB1bndyYXBwZWQgPSB1bndyYXBEZWVwKGEpO1xyXG4gICAgICBpZiAoIWlzQXJyYXkodW53cmFwcGVkKSkge1xyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIFtdXHJcbiAgICAgICAgLmNvbmNhdCh1bndyYXBwZWQpXHJcbiAgICAgICAgLmNvbmNhdChiKVxyXG4gICAgICAgIC5maWx0ZXIoKHZhbHVlOiBhbnksIGluZGV4OiBudW1iZXIsIGlucHV0OiBhbnlbXSkgPT4gZGVlcEluZGV4T2YoaW5wdXQsIHZhbHVlKSA9PT0gaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbXVxyXG4gICAgICAuY29uY2F0KGEpXHJcbiAgICAgIC5jb25jYXQoYilcclxuICAgICAgLmZpbHRlcigodmFsdWU6IGFueSwgaW5kZXg6IG51bWJlciwgaW5wdXQ6IGFueVtdKSA9PiBpbnB1dC5pbmRleE9mKHZhbHVlKSA9PT0gaW5kZXgpO1xyXG4gIH1cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtVbmlvblBpcGVdLFxyXG4gIGV4cG9ydHM6IFtVbmlvblBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdVbmlvblBpcGVNb2R1bGUge31cclxuIl19