angular-pipes
Version:
Angular pipes library
39 lines • 3.64 kB
JavaScript
import * as tslib_1 from "tslib";
import { Pipe, NgModule } from '@angular/core';
import { isArray, isDeepObject, unwrapDeep, flatten } from '../utils/utils';
var FlattenPipe = /** @class */ (function () {
function FlattenPipe() {
}
FlattenPipe.prototype.transform = function (input) {
var isDeep = isDeepObject(input);
if (!isArray(input) && !isDeep) {
return input;
}
if (isDeep) {
var unwrapped = unwrapDeep(input);
if (!isArray(unwrapped)) {
return unwrapped;
}
return flatten(unwrapped, 0);
}
return [].concat.apply([], input);
};
FlattenPipe = tslib_1.__decorate([
Pipe({ name: 'flatten' })
], FlattenPipe);
return FlattenPipe;
}());
export { FlattenPipe };
var NgFlattenPipeModule = /** @class */ (function () {
function NgFlattenPipeModule() {
}
NgFlattenPipeModule = tslib_1.__decorate([
NgModule({
declarations: [FlattenPipe],
exports: [FlattenPipe],
})
], NgFlattenPipeModule);
return NgFlattenPipeModule;
}());
export { NgFlattenPipeModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdHRlbi5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1waXBlcy8iLCJzb3VyY2VzIjpbImFycmF5L2ZsYXR0ZW4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RTtJQUFBO0lBa0JBLENBQUM7SUFqQkMsK0JBQVMsR0FBVCxVQUFVLEtBQVU7UUFDbEIsSUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDOUIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3ZCLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1lBRUQsT0FBTyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzlCO1FBRUQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQWpCVSxXQUFXO1FBRHZCLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztPQUNiLFdBQVcsQ0FrQnZCO0lBQUQsa0JBQUM7Q0FBQSxBQWxCRCxJQWtCQztTQWxCWSxXQUFXO0FBd0J4QjtJQUFBO0lBQWtDLENBQUM7SUFBdEIsbUJBQW1CO1FBSi9CLFFBQVEsQ0FBQztZQUNSLFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQztZQUMzQixPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUM7U0FDdkIsQ0FBQztPQUNXLG1CQUFtQixDQUFHO0lBQUQsMEJBQUM7Q0FBQSxBQUFuQyxJQUFtQztTQUF0QixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0FycmF5LCBpc0RlZXBPYmplY3QsIHVud3JhcERlZXAsIGZsYXR0ZW4gfSBmcm9tICcuLi91dGlscy91dGlscyc7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdmbGF0dGVuJyB9KVxyXG5leHBvcnQgY2xhc3MgRmxhdHRlblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oaW5wdXQ6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBpc0RlZXAgPSBpc0RlZXBPYmplY3QoaW5wdXQpO1xyXG4gICAgaWYgKCFpc0FycmF5KGlucHV0KSAmJiAhaXNEZWVwKSB7XHJcbiAgICAgIHJldHVybiBpbnB1dDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNEZWVwKSB7XHJcbiAgICAgIGNvbnN0IHVud3JhcHBlZCA9IHVud3JhcERlZXAoaW5wdXQpO1xyXG4gICAgICBpZiAoIWlzQXJyYXkodW53cmFwcGVkKSkge1xyXG4gICAgICAgIHJldHVybiB1bndyYXBwZWQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBmbGF0dGVuKHVud3JhcHBlZCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFtdLmNvbmNhdC5hcHBseShbXSwgaW5wdXQpO1xyXG4gIH1cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtGbGF0dGVuUGlwZV0sXHJcbiAgZXhwb3J0czogW0ZsYXR0ZW5QaXBlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nRmxhdHRlblBpcGVNb2R1bGUge31cclxuIl19