UNPKG

read-vietnamese-number

Version:

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

42 lines (41 loc) 1.02 kB
import { InvalidFormatError } from './type.js'; export function trimLeft(str, char) { if (str === '') { return ''; } let pos = 0; while (str[pos] === char[0]) { pos++; } return str.substring(pos); } export function trimRight(str, char) { if (str === '') { return ''; } let lastPos = str.length - 1; while (str[lastPos] === char[0]) { lastPos--; } return str.substring(0, lastPos + 1); } export 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; } export function validateNumber(value) { switch (typeof value) { case 'string': { return value; } case 'bigint': { return value.toString(); } default: { throw new InvalidFormatError('Invalid format'); } } }