angular-pipes
Version:
Angular pipes library
34 lines • 3.76 kB
JavaScript
import * as tslib_1 from "tslib";
import { Pipe, NgModule } from '@angular/core';
import { isArray, isDeepObject, unwrapDeep, deepIndexOf } from '../utils/utils';
let UniqPipe = class UniqPipe {
transform(input) {
if (!isArray(input) && !isDeepObject(input)) {
return input;
}
if (isDeepObject(input)) {
const unwrappedInput = unwrapDeep(input);
if (!isArray(unwrappedInput)) {
return unwrappedInput;
}
return unwrappedInput.filter((value, index) => deepIndexOf(unwrappedInput, value) === index);
}
return input.filter((value, index) => input.indexOf(value) === index);
}
};
UniqPipe = tslib_1.__decorate([
Pipe({
name: 'uniq',
})
], UniqPipe);
export { UniqPipe };
let NgUniqPipeModule = class NgUniqPipeModule {
};
NgUniqPipeModule = tslib_1.__decorate([
NgModule({
declarations: [UniqPipe],
exports: [UniqPipe],
})
], NgUniqPipeModule);
export { NgUniqPipeModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1waXBlcy8iLCJzb3VyY2VzIjpbImFycmF5L3VuaXEucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtoRixJQUFhLFFBQVEsR0FBckIsTUFBYSxRQUFRO0lBQ25CLFNBQVMsQ0FBQyxLQUFVO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUM1QixPQUFPLGNBQWMsQ0FBQzthQUN2QjtZQUVELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQVUsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7U0FDM0c7UUFFRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3JGLENBQUM7Q0FDRixDQUFBO0FBakJZLFFBQVE7SUFIcEIsSUFBSSxDQUFDO1FBQ0osSUFBSSxFQUFFLE1BQU07S0FDYixDQUFDO0dBQ1csUUFBUSxDQWlCcEI7U0FqQlksUUFBUTtBQXVCckIsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7Q0FBRyxDQUFBO0FBQW5CLGdCQUFnQjtJQUo1QixRQUFRLENBQUM7UUFDUixZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDeEIsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO0tBQ3BCLENBQUM7R0FDVyxnQkFBZ0IsQ0FBRztTQUFuQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0FycmF5LCBpc0RlZXBPYmplY3QsIHVud3JhcERlZXAsIGRlZXBJbmRleE9mIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICd1bmlxJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuaXFQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGlucHV0OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKCFpc0FycmF5KGlucHV0KSAmJiAhaXNEZWVwT2JqZWN0KGlucHV0KSkge1xyXG4gICAgICByZXR1cm4gaW5wdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlzRGVlcE9iamVjdChpbnB1dCkpIHtcclxuICAgICAgY29uc3QgdW53cmFwcGVkSW5wdXQgPSB1bndyYXBEZWVwKGlucHV0KTtcclxuICAgICAgaWYgKCFpc0FycmF5KHVud3JhcHBlZElucHV0KSkge1xyXG4gICAgICAgIHJldHVybiB1bndyYXBwZWRJbnB1dDtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHVud3JhcHBlZElucHV0LmZpbHRlcigodmFsdWU6IGFueSwgaW5kZXg6IG51bWJlcikgPT4gZGVlcEluZGV4T2YodW53cmFwcGVkSW5wdXQsIHZhbHVlKSA9PT0gaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpbnB1dC5maWx0ZXIoKHZhbHVlOiBhbnksIGluZGV4OiBudW1iZXIpID0+IGlucHV0LmluZGV4T2YodmFsdWUpID09PSBpbmRleCk7XHJcbiAgfVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1VuaXFQaXBlXSxcclxuICBleHBvcnRzOiBbVW5pcVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdVbmlxUGlwZU1vZHVsZSB7fVxyXG4iXX0=