angular-pipes
Version:
Angular pipes library
48 lines • 4.38 kB
JavaScript
import * as tslib_1 from "tslib";
import { Pipe, NgModule } from '@angular/core';
import { isObject, isArray, isNil } from '../utils/utils';
var DefaultsPipe = /** @class */ (function () {
function DefaultsPipe() {
}
DefaultsPipe.prototype.transform = function (input, defaults) {
if (!isObject(defaults)) {
return input;
}
if (isNil(input)) {
return defaults;
}
if (isArray(input)) {
return input.map(function (item) {
if (isObject(item)) {
return Object.assign({}, defaults, item);
}
if (isNil(item)) {
return defaults;
}
return item;
});
}
if (isObject(input)) {
return Object.assign({}, defaults, input);
}
return input;
};
DefaultsPipe = tslib_1.__decorate([
Pipe({ name: 'defaults' })
], DefaultsPipe);
return DefaultsPipe;
}());
export { DefaultsPipe };
var NgDefaultsPipeModule = /** @class */ (function () {
function NgDefaultsPipeModule() {
}
NgDefaultsPipeModule = tslib_1.__decorate([
NgModule({
declarations: [DefaultsPipe],
exports: [DefaultsPipe],
})
], NgDefaultsPipeModule);
return NgDefaultsPipeModule;
}());
export { NgDefaultsPipeModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItcGlwZXMvIiwic291cmNlcyI6WyJvYmplY3QvZGVmYXVsdHMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzFEO0lBQUE7SUE4QkEsQ0FBQztJQTdCQyxnQ0FBUyxHQUFULFVBQVUsS0FBVSxFQUFFLFFBQWE7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN2QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEIsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBQyxJQUFTO2dCQUN6QixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQzFDO2dCQUVELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNmLE9BQU8sUUFBUSxDQUFDO2lCQUNqQjtnQkFFRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMzQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQTdCVSxZQUFZO1FBRHhCLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztPQUNkLFlBQVksQ0E4QnhCO0lBQUQsbUJBQUM7Q0FBQSxBQTlCRCxJQThCQztTQTlCWSxZQUFZO0FBb0N6QjtJQUFBO0lBQW1DLENBQUM7SUFBdkIsb0JBQW9CO1FBSmhDLFFBQVEsQ0FBQztZQUNSLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FBQztZQUM1QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FDeEIsQ0FBQztPQUNXLG9CQUFvQixDQUFHO0lBQUQsMkJBQUM7Q0FBQSxBQUFwQyxJQUFvQztTQUF2QixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc09iamVjdCwgaXNBcnJheSwgaXNOaWwgfSBmcm9tICcuLi91dGlscy91dGlscyc7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdkZWZhdWx0cycgfSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShpbnB1dDogYW55LCBkZWZhdWx0czogYW55KTogYW55IHtcclxuICAgIGlmICghaXNPYmplY3QoZGVmYXVsdHMpKSB7XHJcbiAgICAgIHJldHVybiBpbnB1dDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNOaWwoaW5wdXQpKSB7XHJcbiAgICAgIHJldHVybiBkZWZhdWx0cztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNBcnJheShpbnB1dCkpIHtcclxuICAgICAgcmV0dXJuIGlucHV0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGlzT2JqZWN0KGl0ZW0pKSB7XHJcbiAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdHMsIGl0ZW0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGlzTmlsKGl0ZW0pKSB7XHJcbiAgICAgICAgICByZXR1cm4gZGVmYXVsdHM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlzT2JqZWN0KGlucHV0KSkge1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdHMsIGlucHV0KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaW5wdXQ7XHJcbiAgfVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0RlZmF1bHRzUGlwZV0sXHJcbiAgZXhwb3J0czogW0RlZmF1bHRzUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ0RlZmF1bHRzUGlwZU1vZHVsZSB7fVxyXG4iXX0=