ng-number-to-text
Version:
Set of pipes for angular2+ projects to convert numbers to words as ordinal numbers
941 lines (933 loc) • 25.6 kB
JavaScript
import { Pipe, NgModule } from '@angular/core';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
var NumberToTextPipe = /** @class */ (function () {
function NumberToTextPipe() {
}
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.transform = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var number;
{
number = parseInt(value, 10);
}
/** @type {?} */
var text = this.checkNumber(number);
return 'The ' + text;
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkNumber = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (this.checkZero(value)) {
return 'zeroth';
}
else {
if (value > 0 && value <= 10)
return this.checkSingle(value);
else if (value > 10 && value <= 20)
return this.checkTenth(value);
else if (value > 20 && value <= 30)
return this.checkTwentieth(value);
else if (value > 30 && value <= 40)
return this.checkThirtieth(value);
else if (value > 40 && value <= 50)
return this.checkFortieth(value);
else if (value > 50 && value <= 60)
return this.checkFiftieth(value);
else if (value > 60 && value <= 70)
return this.checkSixtieth(value);
else if (value > 70 && value <= 80)
return this.checkSeventieth(value);
else if (value > 80 && value <= 90)
return this.checkEightieth(value);
else if (value > 90 && value <= 100)
return this.checkNinetieth(value);
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkZero = /**
* @param {?} value
* @return {?}
*/
function (value) {
return value === 0;
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkSingle = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (value < 10 && value > 0) {
if (value === 1)
return 'first';
else if (value === 2)
return 'second';
else if (value === 3)
return 'third';
else if (value === 4)
return 'fourth';
else if (value === 5)
return 'fifth';
else if (value === 6)
return 'sixth';
else if (value === 7)
return 'seventh';
else if (value === 8)
return 'eighth';
else
return 'ninth';
}
else {
return 'tenth';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkTenth = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (value > 10 && value < 20) {
if (value === 11)
return 'eleventh';
else if (value === 12)
return 'twelfth';
else if (value === 13)
return 'thirteenth';
else if (value === 14)
return 'fourteenth';
else if (value === 15)
return 'fifteenth';
else if (value === 16)
return 'sixteenth';
else if (value === 17)
return 'seventeenth';
else if (value === 18)
return 'eighteenth';
else if (value === 19)
return 'nineteenth';
}
else {
return 'twentieth';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkTwentieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = 'twenty-';
if (value > 20 && value < 30) {
value -= 20;
return prefix + this.checkSingle(value);
}
else {
return 'thirtieth';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkThirtieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = 'thirty-';
if (value > 30 && value < 40) {
value -= 30;
return prefix + this.checkSingle(value);
}
else {
return 'fortieth';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkFortieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = 'forty-';
if (value > 40 && value < 50) {
value -= 40;
return prefix + this.checkSingle(value);
}
else {
return 'fiftieth';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkFiftieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = 'fifty-';
if (value > 50 && value < 60) {
value -= 50;
return prefix + this.checkSingle(value);
}
else {
return 'sixtieth';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkSixtieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = 'sixty-';
if (value > 60 && value < 70) {
value -= 60;
return prefix + this.checkSingle(value);
}
else {
return 'seventieth';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkSeventieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = 'seventy-';
if (value > 70 && value < 80) {
value -= 70;
return prefix + this.checkSingle(value);
}
else {
return 'eightieth';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkEightieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = 'eighty-';
if (value > 80 && value < 90) {
value -= 80;
return prefix + this.checkSingle(value);
}
else {
return 'ninetieth';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextPipe.prototype.checkNinetieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = 'ninety-';
if (value > 90 && value < 100) {
value -= 90;
return prefix + this.checkSingle(value);
}
else {
return 'hundredth';
}
};
NumberToTextPipe.decorators = [
{ type: Pipe, args: [{ name: 'numberToText' },] }
];
return NumberToTextPipe;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
var NumberToTextArPipe = /** @class */ (function () {
function NumberToTextArPipe() {
this.first = 'الحادى';
}
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.transform = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var number;
{
number = parseInt(value, 10);
}
return this.checkNumber(number);
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkNumber = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (this.checkZero(value)) {
return 'الارضى';
}
else {
if (value > 0 && value <= 10)
return this.checkSingle(value);
else if (value > 10 && value <= 20)
return this.checkTenth(value);
else if (value > 20 && value <= 30)
return this.checkTwentieth(value);
else if (value > 30 && value <= 40)
return this.checkThirtieth(value);
else if (value > 40 && value <= 50)
return this.checkFortieth(value);
else if (value > 50 && value <= 60)
return this.checkFiftieth(value);
else if (value > 60 && value <= 70)
return this.checkSixtieth(value);
else if (value > 70 && value <= 80)
return this.checkSeventieth(value);
else if (value > 80 && value <= 90)
return this.checkEightieth(value);
else if (value > 90 && value <= 100)
return this.checkNinetieth(value);
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkZero = /**
* @param {?} value
* @return {?}
*/
function (value) {
return value === 0;
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkSingle = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (value < 10 && value > 0) {
if (value === 1)
return 'الاول';
else if (value === 2)
return 'الثانى';
else if (value === 3)
return 'الثالث';
else if (value === 4)
return 'الرابع';
else if (value === 5)
return 'الخامس';
else if (value === 6)
return 'السادس';
else if (value === 7)
return 'السابع';
else if (value === 8)
return 'الثامن';
else
return 'التاسع';
}
else {
return 'العاشر';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkTenth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' عشر';
if (value > 10 && value < 20) {
value -= 10;
if (value === 1)
return 'الحادى عشر';
else
return this.checkSingle(value) + prefix;
}
else {
return 'العشرون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkTwentieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و العشرون';
if (value > 20 && value < 30) {
value -= 20;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'الثلاثون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkThirtieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و الثلاثون';
if (value > 30 && value < 40) {
value -= 30;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'الاربعون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkFortieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و الاربعون';
if (value > 40 && value < 50) {
value -= 40;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'الخمسون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkFiftieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و الخمسون';
if (value > 50 && value < 60) {
value -= 50;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'الستون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkSixtieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و الستون';
if (value > 60 && value < 70) {
value -= 60;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'السبعون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkSeventieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و السبعون';
if (value > 70 && value < 80) {
value -= 70;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'الثمانون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkEightieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و الثمانون';
if (value > 80 && value < 90) {
value -= 80;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'التسعون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArPipe.prototype.checkNinetieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و التسعون';
if (value > 90 && value < 100) {
value -= 90;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'المائة';
}
};
NumberToTextArPipe.decorators = [
{ type: Pipe, args: [{ name: 'numberToTextAr' },] }
];
return NumberToTextArPipe;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
var NumberToTextArFemPipe = /** @class */ (function () {
function NumberToTextArFemPipe() {
this.first = 'الحادية';
}
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.transform = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var number;
{
number = parseInt(value, 10);
}
return this.checkNumber(number);
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkNumber = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (this.checkZero(value)) {
return 'الارضى';
}
else {
if (value > 0 && value <= 10)
return this.checkSingle(value);
else if (value > 10 && value <= 20)
return this.checkTenth(value);
else if (value > 20 && value <= 30)
return this.checkTwentieth(value);
else if (value > 30 && value <= 40)
return this.checkThirtieth(value);
else if (value > 40 && value <= 50)
return this.checkFortieth(value);
else if (value > 50 && value <= 60)
return this.checkFiftieth(value);
else if (value > 60 && value <= 70)
return this.checkSixtieth(value);
else if (value > 70 && value <= 80)
return this.checkSeventieth(value);
else if (value > 80 && value <= 90)
return this.checkEightieth(value);
else if (value > 90 && value <= 100)
return this.checkNinetieth(value);
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkZero = /**
* @param {?} value
* @return {?}
*/
function (value) {
return value === 0;
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkSingle = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (value < 10 && value > 0) {
if (value === 1)
return 'الاولى';
else if (value === 2)
return 'الثانية';
else if (value === 3)
return 'الثالثة';
else if (value === 4)
return 'الرابعة';
else if (value === 5)
return 'الخامسة';
else if (value === 6)
return 'السادسة';
else if (value === 7)
return 'السابعة';
else if (value === 8)
return 'الثامنة';
else
return 'التاسعة';
}
else {
return 'العاشرة';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkTenth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' عشر';
if (value > 10 && value < 20) {
value -= 10;
if (value === 1)
return 'الحادية عشر';
else
return this.checkSingle(value) + prefix;
}
else {
return 'العشرون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkTwentieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و العشرون';
if (value > 20 && value < 30) {
value -= 20;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'الثلاثون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkThirtieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و الثلاثون';
if (value > 30 && value < 40) {
value -= 30;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'الاربعون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkFortieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و الاربعون';
if (value > 40 && value < 50) {
value -= 40;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'الخمسون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkFiftieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و الخمسون';
if (value > 50 && value < 60) {
value -= 50;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'الستون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkSixtieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و الستون';
if (value > 60 && value < 70) {
value -= 60;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'السبعون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkSeventieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و السبعون';
if (value > 70 && value < 80) {
value -= 70;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'الثمانون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkEightieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و الثمانون';
if (value > 80 && value < 90) {
value -= 80;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'التسعون';
}
};
/**
* @param {?} value
* @return {?}
*/
NumberToTextArFemPipe.prototype.checkNinetieth = /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var prefix = ' و التسعون';
if (value > 90 && value < 100) {
value -= 90;
if (value === 1)
return this.first + prefix;
else
return this.checkSingle(value) + prefix;
}
else {
return 'المائة';
}
};
NumberToTextArFemPipe.decorators = [
{ type: Pipe, args: [{ name: 'numberToTextArFem' },] }
];
return NumberToTextArFemPipe;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
var NumberToTextModule = /** @class */ (function () {
function NumberToTextModule() {
}
NumberToTextModule.decorators = [
{ type: NgModule, args: [{
imports: [],
declarations: [NumberToTextPipe, NumberToTextArPipe, NumberToTextArFemPipe],
exports: [NumberToTextPipe, NumberToTextArPipe, NumberToTextArFemPipe]
},] }
];
return NumberToTextModule;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
export { NumberToTextModule, NumberToTextArFemPipe as ɵc, NumberToTextArPipe as ɵb, NumberToTextPipe as ɵa };
//# sourceMappingURL=ng-number-to-text.js.map