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