UNPKG

read-vietnamese-number

Version:

Đọc số thành chữ trong Tiếng Việt

48 lines (47 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.trimLeft = trimLeft; exports.trimRight = trimRight; exports.splitToDigits = splitToDigits; exports.validateNumber = validateNumber; const type_js_1 = require("./type.js"); function trimLeft(str, char) { if (str === '') { return ''; } let pos = 0; while (str[pos] === char[0]) { pos++; } return str.substring(pos); } function trimRight(str, char) { if (str === '') { return ''; } let lastPos = str.length - 1; while (str[lastPos] === char[0]) { lastPos--; } return str.substring(0, lastPos + 1); } function splitToDigits(str) { const digits = str.split('').map((digit) => { const value = parseInt(digit, 10); return isNaN(value) || value < 0 || value > 9 ? null : value; }); return digits.includes(null) ? null : digits; } function validateNumber(value) { switch (typeof value) { case 'string': { return value; } case 'bigint': { return value.toString(); } default: { throw new type_js_1.InvalidFormatError('Invalid format'); } } }