UNPKG

sugar

Version:

A Javascript utility library for working with native objects.

38 lines (32 loc) 1.23 kB
'use strict'; var CommonChars = require('./CommonChars'), chr = require('./chr'), allCharsReg = require('../internal/allCharsReg'); var HALF_WIDTH_ZERO = CommonChars.HALF_WIDTH_ZERO, FULL_WIDTH_ZERO = CommonChars.FULL_WIDTH_ZERO, HALF_WIDTH_PERIOD = CommonChars.HALF_WIDTH_PERIOD, FULL_WIDTH_PERIOD = CommonChars.FULL_WIDTH_PERIOD, HALF_WIDTH_COMMA = CommonChars.HALF_WIDTH_COMMA; var fullWidthNumberReg, fullWidthNumberMap, fullWidthNumbers; function buildFullWidthNumber() { var fwp = FULL_WIDTH_PERIOD, hwp = HALF_WIDTH_PERIOD, hwc = HALF_WIDTH_COMMA, fwn = ''; fullWidthNumberMap = {}; for (var i = 0, digit; i <= 9; i++) { digit = chr(i + FULL_WIDTH_ZERO); fwn += digit; fullWidthNumberMap[digit] = chr(i + HALF_WIDTH_ZERO); } fullWidthNumberMap[hwc] = ''; fullWidthNumberMap[fwp] = hwp; // Mapping this to itself to capture it easily // in stringToNumber to detect decimals later. fullWidthNumberMap[hwp] = hwp; fullWidthNumberReg = allCharsReg(fwn + fwp + hwc + hwp); fullWidthNumbers = fwn; } buildFullWidthNumber(); module.exports = { fullWidthNumberReg: fullWidthNumberReg, fullWidthNumberMap: fullWidthNumberMap, fullWidthNumbers: fullWidthNumbers };