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