util-helpers 4.17.0 → 4.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -92,6 +92,7 @@ formatBankCard('6228480402564890018', { spaceMark: '-' }); // 6228-4804-0256-489
92
92
  - [isIPv4](https://doly-dev.github.io/util-helpers/module-Validator.html#.isIPv4) - IPv4
93
93
  - [isIPv6](https://doly-dev.github.io/util-helpers/module-Validator.html#.isIPv6) - IPv6
94
94
  - [isUrl](https://doly-dev.github.io/util-helpers/module-Validator.html#.isUrl) - URL
95
+ - [isValidNumber](https://doly-dev.github.io/util-helpers/module-Validator.html#.isValidNumber) - 有效数字
95
96
  - [isBusinessLicense](https://doly-dev.github.io/util-helpers/module-Validator.html#.isBusinessLicense) - 营业执照,也叫工商注册号
96
97
  - [validatePassword](https://doly-dev.github.io/util-helpers/module-Validator.html#.validatePassword) - 验证密码
97
98
  - 其他
@@ -164,13 +164,116 @@
164
164
  return lastCode === checkCode;
165
165
  }
166
166
 
167
+ /******************************************************************************
168
+ Copyright (c) Microsoft Corporation.
169
+
170
+ Permission to use, copy, modify, and/or distribute this software for any
171
+ purpose with or without fee is hereby granted.
172
+
173
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
174
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
175
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
176
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
177
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
178
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
179
+ PERFORMANCE OF THIS SOFTWARE.
180
+ ***************************************************************************** */
181
+
182
+ var __assign = function() {
183
+ __assign = Object.assign || function __assign(t) {
184
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
185
+ s = arguments[i];
186
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
187
+ }
188
+ return t;
189
+ };
190
+ return __assign.apply(this, arguments);
191
+ };
192
+
193
+ function __awaiter(thisArg, _arguments, P, generator) {
194
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
195
+ return new (P || (P = Promise))(function (resolve, reject) {
196
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
197
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
198
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
199
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
200
+ });
201
+ }
202
+
203
+ function __generator(thisArg, body) {
204
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
205
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
206
+ function verb(n) { return function (v) { return step([n, v]); }; }
207
+ function step(op) {
208
+ if (f) throw new TypeError("Generator is already executing.");
209
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
210
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
211
+ if (y = 0, t) op = [op[0] & 2, t.value];
212
+ switch (op[0]) {
213
+ case 0: case 1: t = op; break;
214
+ case 4: _.label++; return { value: op[1], done: false };
215
+ case 5: _.label++; y = op[1]; op = [0]; continue;
216
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
217
+ default:
218
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
219
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
220
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
221
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
222
+ if (t[2]) _.ops.pop();
223
+ _.trys.pop(); continue;
224
+ }
225
+ op = body.call(thisArg, _);
226
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
227
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
228
+ }
229
+ }
230
+
231
+ function __values(o) {
232
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
233
+ if (m) return m.call(o);
234
+ if (o && typeof o.length === "number") return {
235
+ next: function () {
236
+ if (o && i >= o.length) o = void 0;
237
+ return { value: o && o[i++], done: !o };
238
+ }
239
+ };
240
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
241
+ }
242
+
243
+ function __read(o, n) {
244
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
245
+ if (!m) return o;
246
+ var i = m.call(o), r, ar = [], e;
247
+ try {
248
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
249
+ }
250
+ catch (error) { e = { error: error }; }
251
+ finally {
252
+ try {
253
+ if (r && !r.done && (m = i["return"])) m.call(i);
254
+ }
255
+ finally { if (e) throw e.error; }
256
+ }
257
+ return ar;
258
+ }
259
+
260
+ function __spreadArray(to, from, pack) {
261
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
262
+ if (ar || !(i in from)) {
263
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
264
+ ar[i] = from[i];
265
+ }
266
+ }
267
+ return to.concat(ar || Array.prototype.slice.call(from));
268
+ }
269
+
167
270
  var config = {
168
271
  disableWarning: true
169
272
  };
170
273
  function setDisableWarning(bool) {
171
274
  config.disableWarning = !!bool;
172
275
  }
173
- var version = "4.17.0";
276
+ var version = "4.17.2";
174
277
 
175
278
  function devWarn() {
176
279
  var args = [];
@@ -178,7 +281,7 @@
178
281
  args[_i] = arguments[_i];
179
282
  }
180
283
  if (!config.disableWarning) {
181
- console.warn.apply(console, args);
284
+ console.warn.apply(console, __spreadArray([], __read(args), false));
182
285
  }
183
286
  }
184
287
 
@@ -419,9 +522,6 @@
419
522
  return reg$1.test(valueStr);
420
523
  }
421
524
 
422
- var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
423
- var MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
424
-
425
525
  function isBlob(value) {
426
526
  return isType(value, 'Blob');
427
527
  }
@@ -443,6 +543,29 @@
443
543
  return isType(value, 'Symbol');
444
544
  }
445
545
 
546
+ function isValidNumber(value, strict) {
547
+ if (strict === void 0) { strict = false; }
548
+ var ret;
549
+ if (strict) {
550
+ ret = typeof value === 'string' && value !== '' ? Number(value) : value;
551
+ }
552
+ else {
553
+ if (typeof value === 'number') {
554
+ ret = value;
555
+ }
556
+ else if (isSymbol(value)) {
557
+ ret = Number.NaN;
558
+ }
559
+ else {
560
+ ret = Number(value);
561
+ }
562
+ }
563
+ return typeof ret === 'number' && !Number.isNaN(ret);
564
+ }
565
+
566
+ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
567
+ var MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
568
+
446
569
  function transformEffectiveNumber(value) {
447
570
  var ret;
448
571
  if (isString(value)) {
@@ -597,7 +720,7 @@
597
720
  thousand = typeof thousand === 'string' ? thousand : ',';
598
721
  decimal = typeof decimal === 'string' ? decimal : '.';
599
722
  var strNum = scientificToNumber(num) + '';
600
- var _d = strNum.split('.'), intStr = _d[0], decStr = _d[1];
723
+ var _d = __read(strNum.split('.'), 2), intStr = _d[0], decStr = _d[1];
601
724
  return symbol + formatInt(intStr, thousand) + formatDec(decStr, precision, decimal);
602
725
  };
603
726
 
@@ -872,80 +995,6 @@
872
995
  return "data:".concat(mimeType).concat(base64 ? ';base64' : '', ",").concat(data);
873
996
  }
874
997
 
875
- /******************************************************************************
876
- Copyright (c) Microsoft Corporation.
877
-
878
- Permission to use, copy, modify, and/or distribute this software for any
879
- purpose with or without fee is hereby granted.
880
-
881
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
882
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
883
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
884
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
885
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
886
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
887
- PERFORMANCE OF THIS SOFTWARE.
888
- ***************************************************************************** */
889
-
890
- var __assign = function() {
891
- __assign = Object.assign || function __assign(t) {
892
- for (var s, i = 1, n = arguments.length; i < n; i++) {
893
- s = arguments[i];
894
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
895
- }
896
- return t;
897
- };
898
- return __assign.apply(this, arguments);
899
- };
900
-
901
- function __awaiter(thisArg, _arguments, P, generator) {
902
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
903
- return new (P || (P = Promise))(function (resolve, reject) {
904
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
905
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
906
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
907
- step((generator = generator.apply(thisArg, _arguments || [])).next());
908
- });
909
- }
910
-
911
- function __generator(thisArg, body) {
912
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
913
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
914
- function verb(n) { return function (v) { return step([n, v]); }; }
915
- function step(op) {
916
- if (f) throw new TypeError("Generator is already executing.");
917
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
918
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
919
- if (y = 0, t) op = [op[0] & 2, t.value];
920
- switch (op[0]) {
921
- case 0: case 1: t = op; break;
922
- case 4: _.label++; return { value: op[1], done: false };
923
- case 5: _.label++; y = op[1]; op = [0]; continue;
924
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
925
- default:
926
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
927
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
928
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
929
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
930
- if (t[2]) _.ops.pop();
931
- _.trys.pop(); continue;
932
- }
933
- op = body.call(thisArg, _);
934
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
935
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
936
- }
937
- }
938
-
939
- function __spreadArray(to, from, pack) {
940
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
941
- if (ar || !(i in from)) {
942
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
943
- ar[i] = from[i];
944
- }
945
- }
946
- return to.concat(ar || Array.prototype.slice.call(from));
947
- }
948
-
949
998
  function safeDate(value) {
950
999
  var args = [];
951
1000
  for (var _i = 1; _i < arguments.length; _i++) {
@@ -953,7 +1002,7 @@
953
1002
  }
954
1003
  var safeValue = typeof value === 'string' ? value.replace(/[\\.-]/g, '/') : value;
955
1004
  if (args && args.length > 0) {
956
- return new (Date.bind.apply(Date, __spreadArray([void 0, safeValue], args, false)))();
1005
+ return new (Date.bind.apply(Date, __spreadArray([void 0, safeValue], __read(args), false)))();
957
1006
  }
958
1007
  return typeof safeValue === 'undefined' ? new Date() : new Date(safeValue);
959
1008
  }
@@ -992,9 +1041,9 @@
992
1041
  for (var _i = 0; _i < arguments.length; _i++) {
993
1042
  nums[_i] = arguments[_i];
994
1043
  }
995
- var num1 = nums[0], _a = nums[1], num2 = _a === void 0 ? 1 : _a, rest = nums.slice(2);
1044
+ var _a = __read(nums), num1 = _a[0], _b = _a[1], num2 = _b === void 0 ? 1 : _b, rest = _a.slice(2);
996
1045
  if (rest.length > 0) {
997
- return times.apply(void 0, __spreadArray([times(num1, num2)], rest, false));
1046
+ return times.apply(void 0, __spreadArray([times(num1, num2)], __read(rest), false));
998
1047
  }
999
1048
  num1 = transformEffectiveNumber(num1);
1000
1049
  num2 = transformEffectiveNumber(num2);
@@ -1014,9 +1063,9 @@
1014
1063
  for (var _i = 0; _i < arguments.length; _i++) {
1015
1064
  nums[_i] = arguments[_i];
1016
1065
  }
1017
- var num1 = nums[0], _a = nums[1], num2 = _a === void 0 ? 0 : _a, rest = nums.slice(2);
1066
+ var _a = __read(nums), num1 = _a[0], _b = _a[1], num2 = _b === void 0 ? 0 : _b, rest = _a.slice(2);
1018
1067
  if (rest.length > 0) {
1019
- return plus.apply(void 0, __spreadArray([plus(num1, num2)], rest, false));
1068
+ return plus.apply(void 0, __spreadArray([plus(num1, num2)], __read(rest), false));
1020
1069
  }
1021
1070
  num1 = transformEffectiveNumber(num1);
1022
1071
  num2 = transformEffectiveNumber(num2);
@@ -1032,9 +1081,9 @@
1032
1081
  for (var _i = 0; _i < arguments.length; _i++) {
1033
1082
  nums[_i] = arguments[_i];
1034
1083
  }
1035
- var num1 = nums[0], _a = nums[1], num2 = _a === void 0 ? 0 : _a, rest = nums.slice(2);
1084
+ var _a = __read(nums), num1 = _a[0], _b = _a[1], num2 = _b === void 0 ? 0 : _b, rest = _a.slice(2);
1036
1085
  if (rest.length > 0) {
1037
- return minus.apply(void 0, __spreadArray([minus(num1, num2)], rest, false));
1086
+ return minus.apply(void 0, __spreadArray([minus(num1, num2)], __read(rest), false));
1038
1087
  }
1039
1088
  num1 = transformEffectiveNumber(num1);
1040
1089
  num2 = transformEffectiveNumber(num2);
@@ -1050,9 +1099,9 @@
1050
1099
  for (var _i = 0; _i < arguments.length; _i++) {
1051
1100
  nums[_i] = arguments[_i];
1052
1101
  }
1053
- var num1 = nums[0], _a = nums[1], num2 = _a === void 0 ? 1 : _a, rest = nums.slice(2);
1102
+ var _a = __read(nums), num1 = _a[0], _b = _a[1], num2 = _b === void 0 ? 1 : _b, rest = _a.slice(2);
1054
1103
  if (rest.length > 0) {
1055
- return divide.apply(void 0, __spreadArray([divide(num1, num2)], rest, false));
1104
+ return divide.apply(void 0, __spreadArray([divide(num1, num2)], __read(rest), false));
1056
1105
  }
1057
1106
  num1 = transformEffectiveNumber(num1);
1058
1107
  num2 = transformEffectiveNumber(num2);
@@ -1421,82 +1470,112 @@
1421
1470
  }
1422
1471
 
1423
1472
  function findTreeNode(tree, predicate, childrenField) {
1473
+ var e_1, _a;
1424
1474
  if (childrenField === void 0) { childrenField = 'children'; }
1425
1475
  var stack = [];
1426
1476
  var node;
1427
1477
  if (!Array.isArray(tree)) {
1428
1478
  return node;
1429
1479
  }
1430
- for (var _i = 0, tree_1 = tree; _i < tree_1.length; _i++) {
1431
- var item = tree_1[_i];
1432
- stack.push(item);
1433
- while (stack.length) {
1434
- var temp = stack.pop();
1435
- if (predicate(temp)) {
1436
- node = temp;
1437
- break;
1438
- }
1439
- if (isObject(temp)) {
1440
- var childs = temp[childrenField];
1441
- if (Array.isArray(childs) && childs.length > 0) {
1442
- stack.push.apply(stack, childs);
1480
+ try {
1481
+ for (var tree_1 = __values(tree), tree_1_1 = tree_1.next(); !tree_1_1.done; tree_1_1 = tree_1.next()) {
1482
+ var item = tree_1_1.value;
1483
+ stack.push(item);
1484
+ while (stack.length) {
1485
+ var temp = stack.pop();
1486
+ if (predicate(temp)) {
1487
+ node = temp;
1488
+ break;
1489
+ }
1490
+ if (isObject(temp)) {
1491
+ var childs = temp[childrenField];
1492
+ if (Array.isArray(childs) && childs.length > 0) {
1493
+ stack.push.apply(stack, __spreadArray([], __read(childs), false));
1494
+ }
1443
1495
  }
1444
1496
  }
1497
+ if (node) {
1498
+ break;
1499
+ }
1445
1500
  }
1446
- if (node) {
1447
- break;
1501
+ }
1502
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1503
+ finally {
1504
+ try {
1505
+ if (tree_1_1 && !tree_1_1.done && (_a = tree_1.return)) _a.call(tree_1);
1448
1506
  }
1507
+ finally { if (e_1) throw e_1.error; }
1449
1508
  }
1450
1509
  return node;
1451
1510
  }
1452
1511
 
1453
1512
  function findTreeNodes(tree, predicate, childrenField) {
1513
+ var e_1, _a;
1454
1514
  if (childrenField === void 0) { childrenField = 'children'; }
1455
1515
  var stack = [];
1456
1516
  var nodes = [];
1457
1517
  if (!Array.isArray(tree)) {
1458
1518
  return nodes;
1459
1519
  }
1460
- for (var _i = 0, tree_1 = tree; _i < tree_1.length; _i++) {
1461
- var item = tree_1[_i];
1462
- stack.push(item);
1463
- while (stack.length) {
1464
- var temp = stack.pop();
1465
- if (predicate(temp)) {
1466
- nodes.push(temp);
1467
- }
1468
- if (isObject(temp)) {
1469
- var childs = temp[childrenField];
1470
- if (Array.isArray(childs) && childs.length > 0) {
1471
- stack.push.apply(stack, childs);
1520
+ try {
1521
+ for (var tree_1 = __values(tree), tree_1_1 = tree_1.next(); !tree_1_1.done; tree_1_1 = tree_1.next()) {
1522
+ var item = tree_1_1.value;
1523
+ stack.push(item);
1524
+ while (stack.length) {
1525
+ var temp = stack.pop();
1526
+ if (predicate(temp)) {
1527
+ nodes.push(temp);
1528
+ }
1529
+ if (isObject(temp)) {
1530
+ var childs = temp[childrenField];
1531
+ if (Array.isArray(childs) && childs.length > 0) {
1532
+ stack.push.apply(stack, __spreadArray([], __read(childs), false));
1533
+ }
1472
1534
  }
1473
1535
  }
1474
1536
  }
1475
1537
  }
1538
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1539
+ finally {
1540
+ try {
1541
+ if (tree_1_1 && !tree_1_1.done && (_a = tree_1.return)) _a.call(tree_1);
1542
+ }
1543
+ finally { if (e_1) throw e_1.error; }
1544
+ }
1476
1545
  return nodes;
1477
1546
  }
1478
1547
 
1479
1548
  function internalFindTreeSelect(tree, predicate, childrenField, path) {
1549
+ var e_1, _a;
1480
1550
  if (path === void 0) { path = []; }
1481
1551
  if (!Array.isArray(tree)) {
1482
1552
  return [];
1483
1553
  }
1484
- for (var _i = 0, tree_1 = tree; _i < tree_1.length; _i++) {
1485
- var item = tree_1[_i];
1486
- path.push(item);
1487
- if (predicate(item)) {
1488
- return path;
1489
- }
1490
- if (isObject(item)) {
1491
- var childs = item[childrenField];
1492
- if (Array.isArray(childs) && childs.length > 0) {
1493
- var findChildren = internalFindTreeSelect(childs, predicate, childrenField, path);
1494
- if (findChildren.length > 0) {
1495
- return findChildren;
1554
+ try {
1555
+ for (var tree_1 = __values(tree), tree_1_1 = tree_1.next(); !tree_1_1.done; tree_1_1 = tree_1.next()) {
1556
+ var item = tree_1_1.value;
1557
+ path.push(item);
1558
+ if (predicate(item)) {
1559
+ return path;
1560
+ }
1561
+ if (isObject(item)) {
1562
+ var childs = item[childrenField];
1563
+ if (Array.isArray(childs) && childs.length > 0) {
1564
+ var findChildren = internalFindTreeSelect(childs, predicate, childrenField, path);
1565
+ if (findChildren.length > 0) {
1566
+ return findChildren;
1567
+ }
1496
1568
  }
1497
1569
  }
1570
+ path.pop();
1571
+ }
1572
+ }
1573
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1574
+ finally {
1575
+ try {
1576
+ if (tree_1_1 && !tree_1_1.done && (_a = tree_1.return)) _a.call(tree_1);
1498
1577
  }
1499
- path.pop();
1578
+ finally { if (e_1) throw e_1.error; }
1500
1579
  }
1501
1580
  return [];
1502
1581
  }
@@ -1539,6 +1618,7 @@
1539
1618
  exports.isTWCard = isTWCard;
1540
1619
  exports.isTelephone = isTelephone;
1541
1620
  exports.isUrl = isUrl;
1621
+ exports.isValidNumber = isValidNumber;
1542
1622
  exports.isVehicle = isVehicle;
1543
1623
  exports.isWX = isWX;
1544
1624
  exports.listToTree = listToTree;