'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isDecimal; var _merge = require('./util/merge'); var _merge2 = _interopRequireDefault(_merge); var _assertString = require('./util/assertString'); var _assertString2 = _interopRequireDefault(_assertString); var _includes = require('./util/includes'); var _includes2 = _interopRequireDefault(_includes); var _alpha = require('./alpha'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function decimalRegExp(options) { var regExp = new RegExp('^[-+]?([0-9]+)?(\\' + _alpha.decimal[options.locale] + '[0-9]{' + options.decimal_digits + '})' + (options.force_decimal ? '' : '?') + '$'); return regExp; } var default_decimal_options = { force_decimal: false, decimal_digits: '1,', locale: 'en-US' }; var blacklist = ['', '-', '+']; function isDecimal(str, options) { (0, _assertString2.default)(str); options = (0, _merge2.default)(options, default_decimal_options); if (options.locale in _alpha.decimal) { return !(0, _includes2.default)(blacklist, str.replace(/ /g, '')) && decimalRegExp(options).test(str); } throw new Error('Invalid locale \'' + options.locale + '\''); } module.exports = exports['default'];