UNPKG

ng-number-to-text

Version:

Set of pipes for angular2+ projects to convert numbers to words as ordinal numbers

777 lines (769 loc) 21 kB
import { Pipe, NgModule } from '@angular/core'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ class NumberToTextPipe { /** * @param {?} value * @return {?} */ transform(value) { /** @type {?} */ let number; { number = parseInt(value, 10); } /** @type {?} */ let text = this.checkNumber(number); return 'The ' + text; } /** * @param {?} value * @return {?} */ checkNumber(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 {?} */ checkZero(value) { return value === 0; } /** * @param {?} value * @return {?} */ checkSingle(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 {?} */ checkTenth(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 {?} */ checkTwentieth(value) { /** @type {?} */ let prefix = 'twenty-'; if (value > 20 && value < 30) { value -= 20; return prefix + this.checkSingle(value); } else { return 'thirtieth'; } } /** * @param {?} value * @return {?} */ checkThirtieth(value) { /** @type {?} */ let prefix = 'thirty-'; if (value > 30 && value < 40) { value -= 30; return prefix + this.checkSingle(value); } else { return 'fortieth'; } } /** * @param {?} value * @return {?} */ checkFortieth(value) { /** @type {?} */ let prefix = 'forty-'; if (value > 40 && value < 50) { value -= 40; return prefix + this.checkSingle(value); } else { return 'fiftieth'; } } /** * @param {?} value * @return {?} */ checkFiftieth(value) { /** @type {?} */ let prefix = 'fifty-'; if (value > 50 && value < 60) { value -= 50; return prefix + this.checkSingle(value); } else { return 'sixtieth'; } } /** * @param {?} value * @return {?} */ checkSixtieth(value) { /** @type {?} */ let prefix = 'sixty-'; if (value > 60 && value < 70) { value -= 60; return prefix + this.checkSingle(value); } else { return 'seventieth'; } } /** * @param {?} value * @return {?} */ checkSeventieth(value) { /** @type {?} */ let prefix = 'seventy-'; if (value > 70 && value < 80) { value -= 70; return prefix + this.checkSingle(value); } else { return 'eightieth'; } } /** * @param {?} value * @return {?} */ checkEightieth(value) { /** @type {?} */ let prefix = 'eighty-'; if (value > 80 && value < 90) { value -= 80; return prefix + this.checkSingle(value); } else { return 'ninetieth'; } } /** * @param {?} value * @return {?} */ checkNinetieth(value) { /** @type {?} */ let prefix = 'ninety-'; if (value > 90 && value < 100) { value -= 90; return prefix + this.checkSingle(value); } else { return 'hundredth'; } } } NumberToTextPipe.decorators = [ { type: Pipe, args: [{ name: 'numberToText' },] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ class NumberToTextArPipe { constructor() { this.first = 'الحادى'; } /** * @param {?} value * @return {?} */ transform(value) { /** @type {?} */ let number; { number = parseInt(value, 10); } return this.checkNumber(number); } /** * @param {?} value * @return {?} */ checkNumber(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 {?} */ checkZero(value) { return value === 0; } /** * @param {?} value * @return {?} */ checkSingle(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 {?} */ checkTenth(value) { /** @type {?} */ let prefix = ' عشر'; if (value > 10 && value < 20) { value -= 10; if (value === 1) return 'الحادى عشر'; else return this.checkSingle(value) + prefix; } else { return 'العشرون'; } } /** * @param {?} value * @return {?} */ checkTwentieth(value) { /** @type {?} */ let 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 {?} */ checkThirtieth(value) { /** @type {?} */ let 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 {?} */ checkFortieth(value) { /** @type {?} */ let 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 {?} */ checkFiftieth(value) { /** @type {?} */ let 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 {?} */ checkSixtieth(value) { /** @type {?} */ let 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 {?} */ checkSeventieth(value) { /** @type {?} */ let 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 {?} */ checkEightieth(value) { /** @type {?} */ let 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 {?} */ checkNinetieth(value) { /** @type {?} */ let 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' },] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ class NumberToTextArFemPipe { constructor() { this.first = 'الحادية'; } /** * @param {?} value * @return {?} */ transform(value) { /** @type {?} */ let number; { number = parseInt(value, 10); } return this.checkNumber(number); } /** * @param {?} value * @return {?} */ checkNumber(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 {?} */ checkZero(value) { return value === 0; } /** * @param {?} value * @return {?} */ checkSingle(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 {?} */ checkTenth(value) { /** @type {?} */ let prefix = ' عشر'; if (value > 10 && value < 20) { value -= 10; if (value === 1) return 'الحادية عشر'; else return this.checkSingle(value) + prefix; } else { return 'العشرون'; } } /** * @param {?} value * @return {?} */ checkTwentieth(value) { /** @type {?} */ let 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 {?} */ checkThirtieth(value) { /** @type {?} */ let 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 {?} */ checkFortieth(value) { /** @type {?} */ let 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 {?} */ checkFiftieth(value) { /** @type {?} */ let 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 {?} */ checkSixtieth(value) { /** @type {?} */ let 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 {?} */ checkSeventieth(value) { /** @type {?} */ let 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 {?} */ checkEightieth(value) { /** @type {?} */ let 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 {?} */ checkNinetieth(value) { /** @type {?} */ let 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' },] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ class NumberToTextModule { } NumberToTextModule.decorators = [ { type: NgModule, args: [{ imports: [], declarations: [NumberToTextPipe, NumberToTextArPipe, NumberToTextArFemPipe], exports: [NumberToTextPipe, NumberToTextArPipe, NumberToTextArFemPipe] },] } ]; /** * @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