1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.default = isDecimal;
|
7 |
|
8 | var _merge = _interopRequireDefault(require("./util/merge"));
|
9 |
|
10 | var _assertString = _interopRequireDefault(require("./util/assertString"));
|
11 |
|
12 | var _includes = _interopRequireDefault(require("./util/includes"));
|
13 |
|
14 | var _alpha = require("./alpha");
|
15 |
|
16 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
17 |
|
18 | function decimalRegExp(options) {
|
19 | var regExp = new RegExp("^[-+]?([0-9]+)?(\\".concat(_alpha.decimal[options.locale], "[0-9]{").concat(options.decimal_digits, "})").concat(options.force_decimal ? '' : '?', "$"));
|
20 | return regExp;
|
21 | }
|
22 |
|
23 | var default_decimal_options = {
|
24 | force_decimal: false,
|
25 | decimal_digits: '1,',
|
26 | locale: 'en-US'
|
27 | };
|
28 | var blacklist = ['', '-', '+'];
|
29 |
|
30 | function isDecimal(str, options) {
|
31 | (0, _assertString.default)(str);
|
32 | options = (0, _merge.default)(options, default_decimal_options);
|
33 |
|
34 | if (options.locale in _alpha.decimal) {
|
35 | return !(0, _includes.default)(blacklist, str.replace(/ /g, '')) && decimalRegExp(options).test(str);
|
36 | }
|
37 |
|
38 | throw new Error("Invalid locale '".concat(options.locale, "'"));
|
39 | }
|
40 |
|
41 | module.exports = exports.default; |
\ | No newline at end of file |