ngx-monitorias-uniandes-lib
Version:
This library is used for Monitorias-Uniandes system.
60 lines • 2.25 kB
JavaScript
;
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