UNPKG

ngx-monitorias-uniandes-lib

Version:

This library is used for Monitorias-Uniandes system.

60 lines 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require("@angular/core"); var AlphanumericPipe = /** @class */ (function () { function AlphanumericPipe() { this.letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']; } AlphanumericPipe.prototype.transform = function (sectionNumbers) { var _this = this; sectionNumbers = sectionNumbers.sort(function (a, b) { return a - b; }); var sections = []; sectionNumbers.forEach(function (number) { if (number >= 1000) { var alphanumeric = _this.getAlphanumeric(number); sections.push(alphanumeric); } else { sections.push(number); } }); return sections.join(', '); }; AlphanumericPipe.prototype.getLetter = function (sectionNumber) { var digits = sectionNumber.toString().split(''); if (sectionNumber >= 10000) { var index = parseInt(digits[0] + digits[1]); return this.letters[index - 1]; } else { var index = parseInt(digits[0]); return this.letters[index - 1]; } }; AlphanumericPipe.prototype.getAlphanumeric = function (sectionNumber) { var digits = sectionNumber.toString().split(''); var last = parseInt(digits.pop()); var secondLast = parseInt(digits.pop()); var threeLast = parseInt(digits.pop()); var letter = this.getLetter(sectionNumber); if (threeLast == 0 && secondLast == 0 && last == 0) { return letter; } else if (secondLast != 0) { return "" + letter + secondLast + last; } else { return "" + letter + last; } }; AlphanumericPipe.decorators = [ { type: core_1.Pipe, args: [{ name: 'alphanumeric' },] }, ]; return AlphanumericPipe; }()); exports.AlphanumericPipe = AlphanumericPipe; //# sourceMappingURL=alphanumeric.pipe.js.map