UNPKG

devexpress-richedit

Version:

DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.

29 lines (28 loc) 973 B
import { StringUtils } from '@devexpress/utils/lib/utils/string'; import { ValueInfo } from './value-info'; export class StringValueParser { static regex = /[0-9.]([^0-9.])/; static parse(inputString) { return StringUtils.isNullOrEmpty(inputString) ? ValueInfo.empty : StringValueParser.splitUnitFromValue(inputString); } static splitUnitFromValue(inputString) { let value = ''; let unit = inputString; const match = inputString.match(StringValueParser.regex); if (match) { const pos = match.index + match[1].length; value = inputString.substring(0, pos); unit = inputString.substring(pos); } else { value = inputString; unit = ''; } const val = parseFloat(value); return isNaN(val) ? new ValueInfo(unit) : new ValueInfo(unit, val); } }