UNPKG

angular-pipes

Version:
62 lines 6.74 kB
import * as tslib_1 from "tslib"; import { Pipe, NgModule } from '@angular/core'; import { isArray, isFunction, getProperty } from '../utils/utils'; var FirstOrDefaultPipe = /** @class */ (function () { function FirstOrDefaultPipe() { } FirstOrDefaultPipe_1 = FirstOrDefaultPipe; FirstOrDefaultPipe.find = function (input, predicate, defaultValue) { var found = false; var result; var i = -1; while (!found && ++i < input.length) { found = predicate(input[i], i, input); } if (found) { result = input[i]; } if (typeof result === 'undefined' && typeof defaultValue !== 'undefined') { result = defaultValue; } return result; }; FirstOrDefaultPipe.prototype.transform = function (input, predicate, defaultValue) { if (!isArray(input)) { return input; } if (isFunction(predicate)) { return FirstOrDefaultPipe_1.find(input, predicate, defaultValue); } else if (isArray(predicate)) { var _a = tslib_1.__read(predicate, 2), key_1 = _a[0], value_1 = _a[1]; return FirstOrDefaultPipe_1.find(input, function (item) { return getProperty(item, key_1) === value_1; }, defaultValue); } else if (predicate) { return FirstOrDefaultPipe_1.find(input, function (item) { return item === predicate; }, defaultValue); } else { return input; } }; var FirstOrDefaultPipe_1; FirstOrDefaultPipe = FirstOrDefaultPipe_1 = tslib_1.__decorate([ Pipe({ name: 'firstOrDefault', }) ], FirstOrDefaultPipe); return FirstOrDefaultPipe; }()); export { FirstOrDefaultPipe }; var NgFirstOrDefaultPipeModule = /** @class */ (function () { function NgFirstOrDefaultPipeModule() { } NgFirstOrDefaultPipeModule = tslib_1.__decorate([ NgModule({ declarations: [FirstOrDefaultPipe], exports: [FirstOrDefaultPipe], }) ], NgFirstOrDefaultPipeModule); return NgFirstOrDefaultPipeModule; }()); export { NgFirstOrDefaultPipeModule }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyc3Qtb3ItZGVmYXVsdC5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1waXBlcy8iLCJzb3VyY2VzIjpbImFycmF5L2ZpcnN0LW9yLWRlZmF1bHQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUt2RjtJQUFBO0lBcUNBLENBQUM7MkJBckNZLGtCQUFrQjtJQUNkLHVCQUFJLEdBQW5CLFVBQW9CLEtBQVksRUFBRSxTQUE4QixFQUFFLFlBQWtCO1FBQ2xGLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLE1BQVcsQ0FBQztRQUNoQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVYLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNuQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkI7UUFFRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxPQUFPLFlBQVksS0FBSyxXQUFXLEVBQUU7WUFDeEUsTUFBTSxHQUFHLFlBQVksQ0FBQztTQUN2QjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxzQ0FBUyxHQUFULFVBQVUsS0FBVSxFQUFFLFNBQStDLEVBQUUsWUFBa0I7UUFDdkYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDekIsT0FBTyxvQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUF1QixTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDckY7YUFBTSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN2QixJQUFBLGlDQUFrQyxFQUFqQyxhQUFHLEVBQUUsZUFBNEIsQ0FBQztZQUN6QyxPQUFPLG9CQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBQyxJQUFTLElBQUssT0FBQSxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUcsQ0FBQyxLQUFLLE9BQUssRUFBaEMsQ0FBZ0MsRUFBRSxZQUFZLENBQUMsQ0FBQztTQUN0RzthQUFNLElBQUksU0FBUyxFQUFFO1lBQ3BCLE9BQU8sb0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksS0FBVSxTQUFTLEVBQXZCLENBQXVCLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDdEY7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDOztJQXBDVSxrQkFBa0I7UUFIOUIsSUFBSSxDQUFDO1lBQ0osSUFBSSxFQUFFLGdCQUFnQjtTQUN2QixDQUFDO09BQ1csa0JBQWtCLENBcUM5QjtJQUFELHlCQUFDO0NBQUEsQUFyQ0QsSUFxQ0M7U0FyQ1ksa0JBQWtCO0FBMkMvQjtJQUFBO0lBQXlDLENBQUM7SUFBN0IsMEJBQTBCO1FBSnRDLFFBQVEsQ0FBQztZQUNSLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO1lBQ2xDLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO1NBQzlCLENBQUM7T0FDVywwQkFBMEIsQ0FBRztJQUFELGlDQUFDO0NBQUEsQUFBMUMsSUFBMEM7U0FBN0IsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNGdW5jdGlvbiwgZ2V0UHJvcGVydHksIENvbGxlY3Rpb25QcmVkaWNhdGUgfSBmcm9tICcuLi91dGlscy91dGlscyc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2ZpcnN0T3JEZWZhdWx0JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpcnN0T3JEZWZhdWx0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHByaXZhdGUgc3RhdGljIGZpbmQoaW5wdXQ6IGFueVtdLCBwcmVkaWNhdGU6IENvbGxlY3Rpb25QcmVkaWNhdGUsIGRlZmF1bHRWYWx1ZT86IGFueSk6IGFueSB7XHJcbiAgICBsZXQgZm91bmQgPSBmYWxzZTtcclxuICAgIGxldCByZXN1bHQ6IGFueTtcclxuICAgIGxldCBpID0gLTE7XHJcblxyXG4gICAgd2hpbGUgKCFmb3VuZCAmJiArK2kgPCBpbnB1dC5sZW5ndGgpIHtcclxuICAgICAgZm91bmQgPSBwcmVkaWNhdGUoaW5wdXRbaV0sIGksIGlucHV0KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZm91bmQpIHtcclxuICAgICAgcmVzdWx0ID0gaW5wdXRbaV07XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBkZWZhdWx0VmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHJlc3VsdCA9IGRlZmF1bHRWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtKGlucHV0OiBhbnksIHByZWRpY2F0ZTogQ29sbGVjdGlvblByZWRpY2F0ZSB8IHN0cmluZ1tdIHwgYW55LCBkZWZhdWx0VmFsdWU/OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKCFpc0FycmF5KGlucHV0KSkge1xyXG4gICAgICByZXR1cm4gaW5wdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlzRnVuY3Rpb24ocHJlZGljYXRlKSkge1xyXG4gICAgICByZXR1cm4gRmlyc3RPckRlZmF1bHRQaXBlLmZpbmQoaW5wdXQsIDxDb2xsZWN0aW9uUHJlZGljYXRlPnByZWRpY2F0ZSwgZGVmYXVsdFZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiAoaXNBcnJheShwcmVkaWNhdGUpKSB7XHJcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IDxzdHJpbmdbXT5wcmVkaWNhdGU7XHJcbiAgICAgIHJldHVybiBGaXJzdE9yRGVmYXVsdFBpcGUuZmluZChpbnB1dCwgKGl0ZW06IGFueSkgPT4gZ2V0UHJvcGVydHkoaXRlbSwga2V5KSA9PT0gdmFsdWUsIGRlZmF1bHRWYWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHByZWRpY2F0ZSkge1xyXG4gICAgICByZXR1cm4gRmlyc3RPckRlZmF1bHRQaXBlLmZpbmQoaW5wdXQsIGl0ZW0gPT4gaXRlbSA9PT0gPGFueT5wcmVkaWNhdGUsIGRlZmF1bHRWYWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gaW5wdXQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0ZpcnN0T3JEZWZhdWx0UGlwZV0sXHJcbiAgZXhwb3J0czogW0ZpcnN0T3JEZWZhdWx0UGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ0ZpcnN0T3JEZWZhdWx0UGlwZU1vZHVsZSB7fVxyXG4iXX0=