UNPKG

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
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