UNPKG

angular-pipes

Version:
52 lines 4.79 kB
import * as tslib_1 from "tslib"; import { Pipe, NgModule } from '@angular/core'; import { isNumberFinite } from '../utils/utils'; var OrdinalPipe = /** @class */ (function () { function OrdinalPipe() { } OrdinalPipe.prototype.transform = function (input) { if (!isNumberFinite(input)) { return 'NaN'; } if (this.endsWithTenth(input)) { return input + 'th'; } else { var cardinal = input.toString().charAt(input.toString().length - 1); switch (cardinal) { case '1': return input + 'st'; case '2': return input + 'nd'; case '3': return input + 'rd'; default: return input + 'th'; } } }; OrdinalPipe.prototype.endsWithTenth = function (input) { var beforeLastDigit = input.toString().charAt(input.toString().length - 2); return beforeLastDigit === '1'; }; OrdinalPipe = tslib_1.__decorate([ Pipe({ name: 'ordinal', }) ], OrdinalPipe); return OrdinalPipe; }()); export { OrdinalPipe }; var NgOrdinalPipeModule = /** @class */ (function () { function NgOrdinalPipeModule() { } NgOrdinalPipeModule = tslib_1.__decorate([ NgModule({ declarations: [OrdinalPipe], exports: [OrdinalPipe], }) ], NgOrdinalPipeModule); return NgOrdinalPipeModule; }()); export { NgOrdinalPipeModule }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkaW5hbC5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1waXBlcy8iLCJzb3VyY2VzIjpbIm1hdGgvb3JkaW5hbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2hEO0lBQUE7SUE2QkEsQ0FBQztJQTVCQywrQkFBUyxHQUFULFVBQVUsS0FBVTtRQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDN0IsT0FBTyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO2FBQU07WUFDTCxJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFdEUsUUFBUSxRQUFRLEVBQUU7Z0JBQ2hCLEtBQUssR0FBRztvQkFDTixPQUFPLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLEtBQUssR0FBRztvQkFDTixPQUFPLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLEtBQUssR0FBRztvQkFDTixPQUFPLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ3RCO29CQUNFLE9BQU8sS0FBSyxHQUFHLElBQUksQ0FBQzthQUN2QjtTQUNGO0lBQ0gsQ0FBQztJQUVPLG1DQUFhLEdBQXJCLFVBQXNCLEtBQVU7UUFDOUIsSUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTdFLE9BQU8sZUFBZSxLQUFLLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBNUJVLFdBQVc7UUFIdkIsSUFBSSxDQUFDO1lBQ0osSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQztPQUNXLFdBQVcsQ0E2QnZCO0lBQUQsa0JBQUM7Q0FBQSxBQTdCRCxJQTZCQztTQTdCWSxXQUFXO0FBbUN4QjtJQUFBO0lBQWtDLENBQUM7SUFBdEIsbUJBQW1CO1FBSi9CLFFBQVEsQ0FBQztZQUNSLFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQztZQUMzQixPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUM7U0FDdkIsQ0FBQztPQUNXLG1CQUFtQixDQUFHO0lBQUQsMEJBQUM7Q0FBQSxBQUFuQyxJQUFtQztTQUF0QixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc051bWJlckZpbml0ZSB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnb3JkaW5hbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmRpbmFsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShpbnB1dDogYW55KTogYW55IHtcclxuICAgIGlmICghaXNOdW1iZXJGaW5pdGUoaW5wdXQpKSB7XHJcbiAgICAgIHJldHVybiAnTmFOJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5lbmRzV2l0aFRlbnRoKGlucHV0KSkge1xyXG4gICAgICByZXR1cm4gaW5wdXQgKyAndGgnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgY2FyZGluYWwgPSBpbnB1dC50b1N0cmluZygpLmNoYXJBdChpbnB1dC50b1N0cmluZygpLmxlbmd0aCAtIDEpO1xyXG5cclxuICAgICAgc3dpdGNoIChjYXJkaW5hbCkge1xyXG4gICAgICAgIGNhc2UgJzEnOlxyXG4gICAgICAgICAgcmV0dXJuIGlucHV0ICsgJ3N0JztcclxuICAgICAgICBjYXNlICcyJzpcclxuICAgICAgICAgIHJldHVybiBpbnB1dCArICduZCc7XHJcbiAgICAgICAgY2FzZSAnMyc6XHJcbiAgICAgICAgICByZXR1cm4gaW5wdXQgKyAncmQnO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4gaW5wdXQgKyAndGgnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVuZHNXaXRoVGVudGgoaW5wdXQ6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgYmVmb3JlTGFzdERpZ2l0ID0gaW5wdXQudG9TdHJpbmcoKS5jaGFyQXQoaW5wdXQudG9TdHJpbmcoKS5sZW5ndGggLSAyKTtcclxuXHJcbiAgICByZXR1cm4gYmVmb3JlTGFzdERpZ2l0ID09PSAnMSc7XHJcbiAgfVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW09yZGluYWxQaXBlXSxcclxuICBleHBvcnRzOiBbT3JkaW5hbFBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdPcmRpbmFsUGlwZU1vZHVsZSB7fVxyXG4iXX0=