umt 2.10.1 → 2.11.0

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.
Files changed (76) hide show
  1. package/README.md +3 -2
  2. package/module/Array/dualPivotQuickSort.js +4 -3
  3. package/module/Array/dualPivotQuickSort.js.map +1 -1
  4. package/module/Array/insertionSort.js +4 -10
  5. package/module/Array/insertionSort.js.map +1 -1
  6. package/module/Array/quickSort.js +4 -3
  7. package/module/Array/quickSort.js.map +1 -1
  8. package/module/Array/sortingHelpers/applyInsertionSortIfNeeded.js +2 -2
  9. package/module/Array/sortingHelpers/applyInsertionSortIfNeeded.js.map +1 -1
  10. package/module/Array/sortingHelpers/insertionSortRange.d.ts +5 -0
  11. package/module/Array/sortingHelpers/insertionSortRange.js +15 -0
  12. package/module/Array/sortingHelpers/insertionSortRange.js.map +1 -0
  13. package/module/Array/timSort.js +7 -5
  14. package/module/Array/timSort.js.map +1 -1
  15. package/module/Array/ultraNumberSort.js +16 -16
  16. package/module/Array/ultraNumberSort.js.map +1 -1
  17. package/module/Color/hexaToRgba.d.ts +1 -1
  18. package/module/Color/hexaToRgba.js +1 -1
  19. package/module/Crypto/decodeBase58.js +4 -4
  20. package/module/Crypto/decodeBase58.js.map +1 -1
  21. package/module/Crypto/encodeBase58.js +4 -4
  22. package/module/Crypto/encodeBase58.js.map +1 -1
  23. package/module/Math/mode.js +2 -1
  24. package/module/Math/mode.js.map +1 -1
  25. package/module/Math/solveEquation.js +1 -1
  26. package/module/Math/solveEquation.js.map +1 -1
  27. package/module/String/fuzzySearch.js +2 -1
  28. package/module/String/fuzzySearch.js.map +1 -1
  29. package/module/String/reverseString.js +1 -1
  30. package/module/String/reverseString.js.map +1 -1
  31. package/module/Validate/index.d.ts +1 -0
  32. package/module/Validate/index.js +1 -0
  33. package/module/Validate/index.js.map +1 -1
  34. package/module/Validate/parseEmail.d.ts +14 -0
  35. package/module/Validate/parseEmail.js +24 -0
  36. package/module/Validate/parseEmail.js.map +1 -0
  37. package/module/Validate/string/index.d.ts +1 -1
  38. package/module/Validate/string/index.js +1 -1
  39. package/module/Validate/string/index.js.map +1 -1
  40. package/module/Validate/string/uuid.js +1 -1
  41. package/module/Validate/string/uuid.js.map +1 -1
  42. package/module/Validate/string/{email.d.ts → validateEmail.d.ts} +2 -1
  43. package/module/Validate/string/validateEmail.js +23 -0
  44. package/module/Validate/string/validateEmail.js.map +1 -0
  45. package/module/es5/Array/dualPivotQuickSort.js +10 -3
  46. package/module/es5/Array/insertionSort.js +10 -10
  47. package/module/es5/Array/quickSort.js +10 -3
  48. package/module/es5/Array/sortingHelpers/applyInsertionSortIfNeeded.js +2 -2
  49. package/module/es5/Array/sortingHelpers/insertionSortRange.d.ts +5 -0
  50. package/module/es5/Array/sortingHelpers/insertionSortRange.js +20 -0
  51. package/module/es5/Array/timSort.js +13 -5
  52. package/module/es5/Array/ultraNumberSort.js +22 -18
  53. package/module/es5/Color/hexaToRgba.d.ts +1 -1
  54. package/module/es5/Color/hexaToRgba.js +1 -1
  55. package/module/es5/Crypto/decodeBase58.js +4 -4
  56. package/module/es5/Crypto/encodeBase58.js +4 -4
  57. package/module/es5/Math/mode.js +2 -3
  58. package/module/es5/Math/solveEquation.js +1 -1
  59. package/module/es5/String/formatString/index.js +1 -1
  60. package/module/es5/String/fuzzySearch.js +2 -1
  61. package/module/es5/String/hasNoLetters.js +1 -1
  62. package/module/es5/String/reverseString.js +1 -1
  63. package/module/es5/Validate/index.d.ts +1 -0
  64. package/module/es5/Validate/index.js +11 -0
  65. package/module/es5/Validate/parseEmail.d.ts +14 -0
  66. package/module/es5/Validate/parseEmail.js +48 -0
  67. package/module/es5/Validate/string/index.d.ts +1 -1
  68. package/module/es5/Validate/string/index.js +4 -4
  69. package/module/es5/Validate/string/uuid.js +3 -1
  70. package/module/es5/Validate/string/{email.d.ts → validateEmail.d.ts} +2 -1
  71. package/module/es5/Validate/string/validateEmail.js +31 -0
  72. package/module/es5/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +18 -17
  74. package/module/Validate/string/email.js +0 -45
  75. package/module/Validate/string/email.js.map +0 -1
  76. package/module/es5/Validate/string/email.js +0 -62
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseEmail.js","sourceRoot":"","sources":["../../src/Validate/parseEmail.ts"],"names":[],"mappings":"AAOA,MAAM,cAAc,GAAG;IACrB,KAAK,EACH,2JAA2J;IAC7J,MAAM,EACJ,+iBAA+iB;IACjjB,OAAO,EACL,oQAAoQ;IACtQ,OAAO,EACL,mUAAmU;IACrU,OAAO,EACL,ktCAAktC;CAC5sC,CAAC;AAMX,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,KAAK,EACL,OAAO,GAIR,EAGC,EAAE;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAElC,OAAO;QACL,KAAK,EAAE,KAAK,KAAK,IAAI;QACrB,KAAK,EAAE,KAAK,EAAE,MAAM;YAClB,CAAC,CAAC;gBACE,qFAAqF;gBACrF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC5B,qFAAqF;gBACrF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;aAC/B;YACH,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export * from "./core";
2
- export * from "./email";
2
+ export * from "./validateEmail";
3
3
  export * from "./length";
4
4
  export * from "./minLength";
5
5
  export * from "./maxLength";
@@ -1,5 +1,5 @@
1
1
  export * from "./core";
2
- export * from "./email";
2
+ export * from "./validateEmail";
3
3
  export * from "./length";
4
4
  export * from "./minLength";
5
5
  export * from "./maxLength";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Validate/string/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Validate/string/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
@@ -14,7 +14,7 @@ export const uuid = (versions = [4], message) => ({
14
14
  validate: (value) => {
15
15
  return versions.some((version) => {
16
16
  // Regular expression for specific UUID version
17
- const versionRegex = new RegExp(`^[\\da-f]{8}-?[\\da-f]{4}-?${version}[\\da-f]{3}-?[89ab][\\da-f]{3}-?[\\da-f]{12}$`, "i");
17
+ const versionRegex = new RegExp(String.raw `^[\da-f]{8}-?[\da-f]{4}-?${version}[\da-f]{3}-?[89ab][\da-f]{3}-?[\da-f]{12}$`, "i");
18
18
  return versionRegex.test(value);
19
19
  });
20
20
  },
@@ -1 +1 @@
1
- {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../src/Validate/string/uuid.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,WAAqB,CAAC,CAAC,CAAC,EACxB,OAAgB,EACY,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,QAAQ;IACd,OAAO;IACP,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QAClB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/B,+CAA+C;YAC/C,MAAM,YAAY,GAAG,IAAI,MAAM,CAC7B,8BAA8B,OAAO,+CAA+C,EACpF,GAAG,CACJ,CAAC;YACF,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../src/Validate/string/uuid.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,WAAqB,CAAC,CAAC,CAAC,EACxB,OAAgB,EACY,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,QAAQ;IACd,OAAO;IACP,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QAClB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/B,+CAA+C;YAC/C,MAAM,YAAY,GAAG,IAAI,MAAM,CAC7B,MAAM,CAAC,GAAG,CAAA,4BAA4B,OAAO,4CAA4C,EACzF,GAAG,CACJ,CAAC;YACF,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -2,10 +2,11 @@
2
2
  * String validation module for email addresses
3
3
  * Provides validation functionality for checking if a string is a valid email address
4
4
  */
5
+ import { type ParseEmailOptions } from "../../Validate/parseEmail";
5
6
  import type { ValidateReturnType } from "../../Validate/type";
6
7
  /**
7
8
  * Creates a validator for checking if a string is a valid email address
8
9
  * @param {string} [message] - Custom error message for validation failure
9
10
  * @returns {ValidateReturnType<string>} - Validator for email addresses
10
11
  */
11
- export declare const email: (message?: string) => ValidateReturnType<string>;
12
+ export declare const validateEmail: (message?: string, options?: ParseEmailOptions) => ValidateReturnType<string>;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * String validation module for email addresses
3
+ * Provides validation functionality for checking if a string is a valid email address
4
+ */
5
+ import { parseEmail } from "../../Validate/parseEmail";
6
+ /**
7
+ * Creates a validator for checking if a string is a valid email address
8
+ * @param {string} [message] - Custom error message for validation failure
9
+ * @returns {ValidateReturnType<string>} - Validator for email addresses
10
+ */
11
+ export const validateEmail = (message, options) => {
12
+ return {
13
+ type: "string",
14
+ message,
15
+ validate: (value) => {
16
+ return parseEmail({
17
+ email: value,
18
+ options: options || { level: "basic" },
19
+ }).valid;
20
+ },
21
+ };
22
+ };
23
+ //# sourceMappingURL=validateEmail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateEmail.js","sourceRoot":"","sources":["../../../src/Validate/string/validateEmail.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAA0B,MAAM,uBAAuB,CAAC;AAG3E;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAgB,EAChB,OAA2B,EACC,EAAE;IAC9B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO;QACP,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,OAAO,UAAU,CAAC;gBAChB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,OAAO,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;aACvC,CAAC,CAAC,KAAK,CAAC;QACX,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -7,6 +7,12 @@ exports.dualPivotQuickSort = void 0;
7
7
  var _compareFunctionDefault = require("./compareFunctionDefault");
8
8
  var _applyInsertionSortIfNeeded = require("./sortingHelpers/applyInsertionSortIfNeeded");
9
9
  var _rangeValidator = require("./sortingHelpers/rangeValidator");
10
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
11
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
13
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
14
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
15
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
10
16
  /**
11
17
  * Get the median of three elements in the array
12
18
  * @param array - The input array
@@ -170,12 +176,13 @@ var dualPivotQuickSort = exports.dualPivotQuickSort = function dualPivotQuickSor
170
176
  var startIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
171
177
  var endIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : array.length - 1;
172
178
  var insertionSortThreshold = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 10;
173
- var _validateRange = (0, _rangeValidator.validateRange)(array, startIndex, endIndex),
179
+ var result = _toConsumableArray(array);
180
+ var _validateRange = (0, _rangeValidator.validateRange)(result, startIndex, endIndex),
174
181
  validStartIndex = _validateRange.startIndex,
175
182
  validEndIndex = _validateRange.endIndex,
176
183
  shouldSort = _validateRange.shouldSort;
177
184
  if (shouldSort) {
178
- _sortRange(array, validStartIndex, validEndIndex, compareFunction, insertionSortThreshold);
185
+ _sortRange(result, validStartIndex, validEndIndex, compareFunction, insertionSortThreshold);
179
186
  }
180
- return array;
187
+ return result;
181
188
  };
@@ -5,6 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.insertionSort = void 0;
7
7
  var _compareFunctionDefault = require("./compareFunctionDefault");
8
+ var _insertionSortRange = require("./sortingHelpers/insertionSortRange");
9
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
10
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
12
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
13
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
8
15
  /**
9
16
  * Sort an array using insertion sort algorithm
10
17
  *
@@ -30,14 +37,7 @@ var insertionSort = exports.insertionSort = function insertionSort(array) {
30
37
  var compareFunction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _compareFunctionDefault.compareFunctionDefault;
31
38
  var start = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
32
39
  var end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : array.length - 1;
33
- for (var index = start + 1; index <= end; index++) {
34
- var index_ = index;
35
- var target = array[index];
36
- while (index_ > start && compareFunction(array[index_ - 1], target) > 0) {
37
- array[index_] = array[index_ - 1];
38
- index_--;
39
- }
40
- array[index_] = target;
41
- }
42
- return array;
40
+ var result = _toConsumableArray(array);
41
+ (0, _insertionSortRange.insertionSortRange)(result, compareFunction, start, end);
42
+ return result;
43
43
  };
@@ -7,6 +7,12 @@ exports.quickSort = void 0;
7
7
  var _compareFunctionDefault = require("./compareFunctionDefault");
8
8
  var _applyInsertionSortIfNeeded = require("./sortingHelpers/applyInsertionSortIfNeeded");
9
9
  var _rangeValidator = require("./sortingHelpers/rangeValidator");
10
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
11
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
13
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
14
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
15
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
10
16
  /**
11
17
  * Finds the median value among three elements in the array
12
18
  * @param array The array containing the elements
@@ -110,12 +116,13 @@ var quickSort = exports.quickSort = function quickSort(array) {
110
116
  var startIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
111
117
  var endIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : array.length - 1;
112
118
  var insertionSortThreshold = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 10;
113
- var _validateRange = (0, _rangeValidator.validateRange)(array, startIndex, endIndex),
119
+ var result = _toConsumableArray(array);
120
+ var _validateRange = (0, _rangeValidator.validateRange)(result, startIndex, endIndex),
114
121
  validStartIndex = _validateRange.startIndex,
115
122
  validEndIndex = _validateRange.endIndex,
116
123
  shouldSort = _validateRange.shouldSort;
117
124
  if (shouldSort) {
118
- _sortImpl(array, validStartIndex, validEndIndex, compareFunction, insertionSortThreshold);
125
+ _sortImpl(result, validStartIndex, validEndIndex, compareFunction, insertionSortThreshold);
119
126
  }
120
- return array;
127
+ return result;
121
128
  };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.applyInsertionSortIfNeeded = void 0;
7
- var _insertionSort = require("@/Array/insertionSort");
7
+ var _insertionSortRange = require("./insertionSortRange");
8
8
  /**
9
9
  * Checks if a partition is small enough to apply insertion sort and applies it if so.
10
10
  *
@@ -18,7 +18,7 @@ var _insertionSort = require("@/Array/insertionSort");
18
18
  */
19
19
  var applyInsertionSortIfNeeded = exports.applyInsertionSortIfNeeded = function applyInsertionSortIfNeeded(array, low, high, compareFunction, insertionSortThreshold) {
20
20
  if (high - low + 1 <= insertionSortThreshold) {
21
- (0, _insertionSort.insertionSort)(array, compareFunction, low, high);
21
+ (0, _insertionSortRange.insertionSortRange)(array, compareFunction, low, high);
22
22
  return true;
23
23
  }
24
24
  return false;
@@ -0,0 +1,5 @@
1
+ import type { CompareFunction } from "$/array/compareFunction";
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const insertionSortRange: <T>(array: T[], compareFunction: CompareFunction<T>, start: number, end: number) => void;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.insertionSortRange = void 0;
7
+ /**
8
+ * @internal
9
+ */
10
+ var insertionSortRange = exports.insertionSortRange = function insertionSortRange(array, compareFunction, start, end) {
11
+ for (var index = start + 1; index <= end; index++) {
12
+ var index_ = index;
13
+ var target = array[index];
14
+ while (index_ > start && compareFunction(array[index_ - 1], target) > 0) {
15
+ array[index_] = array[index_ - 1];
16
+ index_--;
17
+ }
18
+ array[index_] = target;
19
+ }
20
+ };
@@ -5,7 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.timSort = void 0;
7
7
  var _compareFunctionDefault = require("./compareFunctionDefault");
8
- var _insertionSort = require("@/Array/insertionSort");
8
+ var _insertionSortRange = require("./sortingHelpers/insertionSortRange");
9
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
10
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
12
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
13
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9
15
  var MIN_RUN = 32;
10
16
 
11
17
  /**
@@ -79,19 +85,21 @@ var timSort = exports.timSort = function timSort(array) {
79
85
  var compareFunction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _compareFunctionDefault.compareFunctionDefault;
80
86
  var start = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
81
87
  var end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : array.length - 1;
88
+ var result = _toConsumableArray(array);
82
89
  var n = end - start + 1;
83
90
  var minRun = getMinRunLength(n);
84
- for (var index = start; index <= end; index += minRun) {
85
- (0, _insertionSort.insertionSort)(array, compareFunction, index, Math.min(index + MIN_RUN - 1, end));
91
+ for (var runStart = start; runStart <= end; runStart += minRun) {
92
+ var runEnd = Math.min(runStart + MIN_RUN - 1, end);
93
+ (0, _insertionSortRange.insertionSortRange)(result, compareFunction, runStart, runEnd);
86
94
  }
87
95
  for (var size = minRun; size < n; size *= 2) {
88
96
  for (var left = start; left <= end; left += 2 * size) {
89
97
  var mid = left + size - 1;
90
98
  var right = Math.min(left + 2 * size - 1, end);
91
99
  if (mid < right) {
92
- merge(array, left, mid, right, compareFunction);
100
+ merge(result, left, mid, right, compareFunction);
93
101
  }
94
102
  }
95
103
  }
96
- return array;
104
+ return result;
97
105
  };
@@ -5,7 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ultraNumberSort = void 0;
7
7
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
8
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
9
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
10
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
11
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
12
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
9
13
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
10
14
  /**
11
15
  * Ultra-fast sorting specifically optimized for number arrays
@@ -15,32 +19,33 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
15
19
  */
16
20
  var ultraNumberSort = exports.ultraNumberSort = function ultraNumberSort(array) {
17
21
  var ascending = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
18
- var length = array.length;
22
+ var result = _toConsumableArray(array);
23
+ var length = result.length;
19
24
  if (length <= 1) {
20
- return array;
25
+ return result;
21
26
  }
22
27
 
23
28
  // For tiny arrays, use optimized inline sort
24
29
  if (length === 2) {
25
- if (array[0] > array[1] === ascending) {
26
- var _ref = [array[1], array[0]];
27
- array[0] = _ref[0];
28
- array[1] = _ref[1];
30
+ if (result[0] > result[1] === ascending) {
31
+ var _ref = [result[1], result[0]];
32
+ result[0] = _ref[0];
33
+ result[1] = _ref[1];
29
34
  }
30
- return array;
35
+ return result;
31
36
  }
32
37
  if (length === 3) {
33
- inlineSort3(array, ascending);
34
- return array;
38
+ inlineSort3(result, ascending);
39
+ return result;
35
40
  }
36
41
 
37
42
  // Check if all numbers are integers and find range
38
43
  var allIntegers = true;
39
- var min = array[0];
40
- var max = array[0];
44
+ var min = result[0];
45
+ var max = result[0];
41
46
  var hasNaN = false;
42
47
  for (var index = 0; index < length; index++) {
43
- var value = array[index];
48
+ var value = result[index];
44
49
  // biome-ignore lint/suspicious/noSelfCompare: ignore
45
50
  if (value !== value) {
46
51
  hasNaN = true;
@@ -59,21 +64,21 @@ var ultraNumberSort = exports.ultraNumberSort = function ultraNumberSort(array)
59
64
 
60
65
  // Handle NaN values
61
66
  if (hasNaN) {
62
- return handleNaNSort(array, ascending);
67
+ return handleNaNSort(result, ascending);
63
68
  }
64
69
 
65
70
  // For small integer ranges, use counting sort
66
71
  if (allIntegers && max - min < length * 2 && max - min < 1000000) {
67
- return countingSort(array, min, max, ascending);
72
+ return countingSort(result, min, max, ascending);
68
73
  }
69
74
 
70
75
  // For larger arrays, use radix sort if applicable
71
76
  if (allIntegers && length > 100) {
72
- return radixSort(array, ascending);
77
+ return radixSort(result, ascending);
73
78
  }
74
79
 
75
80
  // Fall back to optimized quicksort for floating point
76
- return numericQuickSort(array, 0, length - 1, ascending);
81
+ return numericQuickSort(result, 0, length - 1, ascending);
77
82
  };
78
83
 
79
84
  /**
@@ -335,8 +340,7 @@ var radixSortPositive = function radixSortPositive(array) {
335
340
  * Optimized quicksort for numbers
336
341
  */
337
342
  var numericQuickSort = function numericQuickSort(array, low, high, ascending) {
338
- var stack = [];
339
- stack.push(low, high);
343
+ var stack = [low, high];
340
344
  while (stack.length > 0) {
341
345
  var h = stack.pop();
342
346
  var l = stack.pop();
@@ -2,7 +2,7 @@
2
2
  * Convert hexadecimal color code to RGBA color values
3
3
  * @param hex Hexadecimal color code (3, 6, or 8 digits with #)
4
4
  * @returns {Object} RGBA values (r, g, b as 0-255, a as 0-1)
5
- * @example hexToRgba("#00000000") // { r: 0, g: 0, b: 0, a: 0 }
5
+ * @example hexaToRgba("#00000000") // { r: 0, g: 0, b: 0, a: 0 }
6
6
  * @throws {Error} If the hex code format is invalid
7
7
  */
8
8
  export declare const hexaToRgba: (hex: string) => {
@@ -10,7 +10,7 @@ var _roundOf = require("@/Math/roundOf");
10
10
  * Convert hexadecimal color code to RGBA color values
11
11
  * @param hex Hexadecimal color code (3, 6, or 8 digits with #)
12
12
  * @returns {Object} RGBA values (r, g, b as 0-255, a as 0-1)
13
- * @example hexToRgba("#00000000") // { r: 0, g: 0, b: 0, a: 0 }
13
+ * @example hexaToRgba("#00000000") // { r: 0, g: 0, b: 0, a: 0 }
14
14
  * @throws {Error} If the hex code format is invalid
15
15
  */
16
16
  var hexaToRgba = exports.hexaToRgba = function hexaToRgba(hex) {
@@ -19,7 +19,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
19
19
  */
20
20
  var decodeBase58 = exports.decodeBase58 = function decodeBase58(input) {
21
21
  var alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
22
- var bigNumber = BigInt(0);
22
+ var bigNumber = 0n;
23
23
  var _iterator = _createForOfIteratorHelper(input),
24
24
  _step;
25
25
  try {
@@ -29,7 +29,7 @@ var decodeBase58 = exports.decodeBase58 = function decodeBase58(input) {
29
29
  if (value === -1) {
30
30
  throw new Error("Invalid base58 character: ".concat(_char));
31
31
  }
32
- bigNumber = bigNumber * BigInt(58) + BigInt(value);
32
+ bigNumber = bigNumber * 58n + BigInt(value);
33
33
  }
34
34
  } catch (err) {
35
35
  _iterator.e(err);
@@ -38,8 +38,8 @@ var decodeBase58 = exports.decodeBase58 = function decodeBase58(input) {
38
38
  }
39
39
  var bytes = [];
40
40
  while (bigNumber > 0) {
41
- bytes.unshift(Number(bigNumber % BigInt(256)));
42
- bigNumber /= BigInt(256);
41
+ bytes.unshift(Number(bigNumber % 256n));
42
+ bigNumber /= 256n;
43
43
  }
44
44
  var leadingOnes = 0;
45
45
  var _iterator2 = _createForOfIteratorHelper(input),
@@ -17,13 +17,13 @@ var encodeBase58 = exports.encodeBase58 = function encodeBase58(input) {
17
17
  var alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
18
18
  var bytes = typeof input === "string" ? new TextEncoder().encode(input) : input;
19
19
  var encoded = "";
20
- var bigNumber = BigInt(0);
20
+ var bigNumber = 0n;
21
21
  var _iterator = _createForOfIteratorHelper(bytes),
22
22
  _step;
23
23
  try {
24
24
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
25
25
  var _byte = _step.value;
26
- bigNumber = bigNumber * BigInt(256) + BigInt(_byte);
26
+ bigNumber = bigNumber * 256n + BigInt(_byte);
27
27
  }
28
28
  } catch (err) {
29
29
  _iterator.e(err);
@@ -31,9 +31,9 @@ var encodeBase58 = exports.encodeBase58 = function encodeBase58(input) {
31
31
  _iterator.f();
32
32
  }
33
33
  while (bigNumber > 0) {
34
- var remainder = Number(bigNumber % BigInt(58));
34
+ var remainder = Number(bigNumber % 58n);
35
35
  encoded = alphabet[remainder] + encoded;
36
- bigNumber /= BigInt(58);
36
+ bigNumber /= 58n;
37
37
  }
38
38
  var leadingZeros = 0;
39
39
  var _iterator2 = _createForOfIteratorHelper(bytes),
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.mode = void 0;
7
+ var _ultraNumberSort = require("@/Array/ultraNumberSort");
7
8
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
8
9
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
10
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
@@ -61,7 +62,5 @@ var mode = exports.mode = function mode(array) {
61
62
  } finally {
62
63
  _iterator2.f();
63
64
  }
64
- return modes.sort(function (a, b) {
65
- return a - b;
66
- });
65
+ return (0, _ultraNumberSort.ultraNumberSort)(modes);
67
66
  };
@@ -70,7 +70,7 @@ var solveEquation = exports.solveEquation = function solveEquation(coefficients,
70
70
  }
71
71
 
72
72
  // Return the solution vector with values rounded to 1 decimal place
73
- return solution.toReversed().map(function (value) {
73
+ return [].concat(solution).reverse().map(function (value) {
74
74
  return (0, _roundOf.roundOf)(value, 1);
75
75
  });
76
76
  };
@@ -128,7 +128,7 @@ function formatString(template, dataOrFirstValue, optionsOrSecondValue) {
128
128
  var _pathAndFormatter$spl = pathAndFormatter.split(":"),
129
129
  _pathAndFormatter$spl2 = _toArray(_pathAndFormatter$spl),
130
130
  path = _pathAndFormatter$spl2[0],
131
- formatterParts = _pathAndFormatter$spl2.slice(1);
131
+ formatterParts = _arrayLikeToArray(_pathAndFormatter$spl2).slice(1);
132
132
  var formatterString = formatterParts.join(":");
133
133
  var value;
134
134
  if (Array.isArray(data)) {
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.fuzzySearch = void 0;
7
7
  var _levenshteinDistance = require("./levenshteinDistance");
8
+ var _quickSort = require("@/Array/quickSort");
8
9
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
9
10
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
10
11
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -44,7 +45,7 @@ var fuzzySearch = exports.fuzzySearch = function fuzzySearch(query, items) {
44
45
  } finally {
45
46
  _iterator.f();
46
47
  }
47
- return results.sort(function (a, b) {
48
+ return (0, _quickSort.quickSort)(results, function (a, b) {
48
49
  return b.score - a.score;
49
50
  });
50
51
  };
@@ -19,6 +19,6 @@ var hasNoLetters = exports.hasNoLetters = function hasNoLetters(text) {
19
19
  // Uses Unicode pattern:
20
20
  // \p{L} matches any Unicode letter
21
21
  // [^\p{L}]* matches zero or more non-letter characters
22
- var nonTextPattern = /^(?:[\0-@\[-`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u036F\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482-\u0489\u0530\u0557\u0558\u055A-\u055F\u0589-\u05CF\u05EB-\u05EE\u05F3-\u061F\u064B-\u066D\u0670\u06D4\u06D6-\u06E4\u06E7-\u06ED\u06F0-\u06F9\u06FD\u06FE\u0700-\u070F\u0711\u0730-\u074C\u07A6-\u07B0\u07B2-\u07C9\u07EB-\u07F3\u07F6-\u07F9\u07FB-\u07FF\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u083F\u0859-\u085F\u086B-\u086F\u0888\u088F-\u089F\u08CA-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0970\u0981-\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA-\u09BC\u09BE-\u09CD\u09CF-\u09DB\u09DE\u09E2-\u09EF\u09F2-\u09FB\u09FD-\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A-\u0A58\u0A5D\u0A5F-\u0A71\u0A75-\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA-\u0ABC\u0ABE-\u0ACF\u0AD1-\u0ADF\u0AE2-\u0AF8\u0AFA-\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A-\u0B3C\u0B3E-\u0B5B\u0B5E\u0B62-\u0B70\u0B72-\u0B82\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BCF\u0BD1-\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C3E-\u0C57\u0C5B\u0C5C\u0C5E\u0C5F\u0C62-\u0C7F\u0C81-\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA-\u0CBC\u0CBE-\u0CDC\u0CDF\u0CE2-\u0CF0\u0CF3-\u0D03\u0D0D\u0D11\u0D3B\u0D3C\u0D3E-\u0D4D\u0D4F-\u0D53\u0D57-\u0D5E\u0D62-\u0D79\u0D80-\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0E00\u0E31\u0E34-\u0E3F\u0E47-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EB1\u0EB4-\u0EBC\u0EBE\u0EBF\u0EC5\u0EC7-\u0EDB\u0EE0-\u0EFF\u0F01-\u0F3F\u0F48\u0F6D-\u0F87\u0F8D-\u0FFF\u102B-\u103E\u1040-\u104F\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16F0\u16F9-\u16FF\u1712-\u171E\u1732-\u173F\u1752-\u175F\u176D\u1771-\u177F\u17B4-\u17D6\u17D8-\u17DB\u17DD-\u181F\u1879-\u187F\u1885\u1886\u18A9\u18AB-\u18AF\u18F6-\u18FF\u191F-\u194F\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19FF\u1A17-\u1A1F\u1A55-\u1AA6\u1AA8-\u1B04\u1B34-\u1B44\u1B4D-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BFF\u1C24-\u1C4C\u1C50-\u1C59\u1C7E\u1C7F\u1C8B-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1CFB-\u1CFF\u1DC0-\u1DFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u2182\u2185-\u2BFF\u2CE5-\u2CEA\u2CEF-\u2CF1\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7F\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF-\u2E2E\u2E30-\u3004\u3007-\u3030\u3036-\u303A\u303D-\u3040\u3097-\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA620-\uA629\uA62C-\uA63F\uA66F-\uA67E\uA69E\uA69F\uA6E6-\uA716\uA720\uA721\uA789\uA78A\uA7CE\uA7CF\uA7D2\uA7D4\uA7DD-\uA7F1\uA802\uA806\uA80B\uA823-\uA83F\uA874-\uA881\uA8B4-\uA8F1\uA8F8-\uA8FA\uA8FC\uA8FF-\uA909\uA926-\uA92F\uA947-\uA95F\uA97D-\uA983\uA9B3-\uA9CE\uA9D0-\uA9DF\uA9E5\uA9F0-\uA9F9\uA9FF\uAA29-\uAA3F\uAA43\uAA4C-\uAA5F\uAA77-\uAA79\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAC3-\uAADA\uAADE\uAADF\uAAEB-\uAAF1\uAAF5-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABE3-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB1E\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFE6F\uFE75\uFEFD-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEFF\uDF20-\uDF2C\uDF41\uDF4A-\uDF4F\uDF76-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0-\uDFFF]|\uD801[\uDC9E-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6F\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDBF\uDDF4-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE01-\uDE0F\uDE14\uDE18\uDE36-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE5-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD24-\uDD49\uDD66-\uDD6E\uDD86-\uDE7F\uDEAA-\uDEAF\uDEB2-\uDEC1\uDEC5-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF46-\uDF6F\uDF82-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC00-\uDC02\uDC38-\uDC70\uDC73\uDC74\uDC76-\uDC82\uDCB0-\uDCCF\uDCE9-\uDD02\uDD27-\uDD43\uDD45\uDD46\uDD48-\uDD4F\uDD73-\uDD75\uDD77-\uDD82\uDDB3-\uDDC0\uDDC5-\uDDD9\uDDDB\uDDDD-\uDDFF\uDE12\uDE2C-\uDE3E\uDE41-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEDF-\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A-\uDF3C\uDF3E-\uDF4F\uDF51-\uDF5C\uDF62-\uDF7F\uDF8A\uDF8C\uDF8D\uDF8F\uDFB6\uDFB8-\uDFD0\uDFD2\uDFD4-\uDFFF]|\uD805[\uDC35-\uDC46\uDC4B-\uDC5E\uDC62-\uDC7F\uDCB0-\uDCC3\uDCC6\uDCC8-\uDD7F\uDDAF-\uDDD7\uDDDC-\uDDFF\uDE30-\uDE43\uDE45-\uDE7F\uDEAB-\uDEB7\uDEB9-\uDEFF\uDF1B-\uDF3F\uDF47-\uDFFF]|\uD806[\uDC2C-\uDC9F\uDCE0-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD30-\uDD3E\uDD40\uDD42-\uDD9F\uDDA8\uDDA9\uDDD1-\uDDE0\uDDE2\uDDE4-\uDDFF\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE4F\uDE51-\uDE5B\uDE8A-\uDE9C\uDE9E-\uDEAF\uDEF9-\uDFBF\uDFE1-\uDFFF]|\uD807[\uDC09\uDC2F-\uDC3F\uDC41-\uDC71\uDC90-\uDCFF\uDD07\uDD0A\uDD31-\uDD45\uDD47-\uDD5F\uDD66\uDD69\uDD8A-\uDD97\uDD99-\uDEDF\uDEF3-\uDF01\uDF03\uDF11\uDF34-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC00-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD812-\uD817\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD834\uD836\uD83C-\uD83F\uD87C\uD87D\uD87F\uD889-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF1-\uDFFF]|\uD80D[\uDC30-\uDC40\uDC47-\uDC5F]|\uD810[\uDFFB-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD818[\uDC00-\uDCFF\uDD1E-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F-\uDE6F\uDEBF-\uDECF\uDEEE-\uDEFF\uDF30-\uDF3F\uDF44-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDD3F\uDD6D-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4F\uDF51-\uDF92\uDFA0-\uDFDF\uDFE2\uDFE4-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFE\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD31\uDD33-\uDD4F\uDD53\uDD54\uDD56-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDF24\uDF2B-\uDFFF]|\uD838[\uDC00-\uDC2F\uDC6E-\uDCFF\uDD2D-\uDD36\uDD3E-\uDD4D\uDD4F-\uDE8F\uDEAE-\uDEBF\uDEEC-\uDFFF]|\uD839[\uDC00-\uDCCF\uDCEC-\uDDCF\uDDEE\uDDEF\uDDF1-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5-\uDCFF\uDD44-\uDD4A\uDD4C-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF3A-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFEF]|\uD87B[\uDE5E-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDF4F]|\uD888[\uDFB0-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*$/;
22
+ var nonTextPattern = /^(?:[\0-@\[-`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u036F\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482-\u0489\u0530\u0557\u0558\u055A-\u055F\u0589-\u05CF\u05EB-\u05EE\u05F3-\u061F\u064B-\u066D\u0670\u06D4\u06D6-\u06E4\u06E7-\u06ED\u06F0-\u06F9\u06FD\u06FE\u0700-\u070F\u0711\u0730-\u074C\u07A6-\u07B0\u07B2-\u07C9\u07EB-\u07F3\u07F6-\u07F9\u07FB-\u07FF\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u083F\u0859-\u085F\u086B-\u086F\u0888\u0890-\u089F\u08CA-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0970\u0981-\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA-\u09BC\u09BE-\u09CD\u09CF-\u09DB\u09DE\u09E2-\u09EF\u09F2-\u09FB\u09FD-\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A-\u0A58\u0A5D\u0A5F-\u0A71\u0A75-\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA-\u0ABC\u0ABE-\u0ACF\u0AD1-\u0ADF\u0AE2-\u0AF8\u0AFA-\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A-\u0B3C\u0B3E-\u0B5B\u0B5E\u0B62-\u0B70\u0B72-\u0B82\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BCF\u0BD1-\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C3E-\u0C57\u0C5B\u0C5E\u0C5F\u0C62-\u0C7F\u0C81-\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA-\u0CBC\u0CBE-\u0CDB\u0CDF\u0CE2-\u0CF0\u0CF3-\u0D03\u0D0D\u0D11\u0D3B\u0D3C\u0D3E-\u0D4D\u0D4F-\u0D53\u0D57-\u0D5E\u0D62-\u0D79\u0D80-\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0E00\u0E31\u0E34-\u0E3F\u0E47-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EB1\u0EB4-\u0EBC\u0EBE\u0EBF\u0EC5\u0EC7-\u0EDB\u0EE0-\u0EFF\u0F01-\u0F3F\u0F48\u0F6D-\u0F87\u0F8D-\u0FFF\u102B-\u103E\u1040-\u104F\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16F0\u16F9-\u16FF\u1712-\u171E\u1732-\u173F\u1752-\u175F\u176D\u1771-\u177F\u17B4-\u17D6\u17D8-\u17DB\u17DD-\u181F\u1879-\u187F\u1885\u1886\u18A9\u18AB-\u18AF\u18F6-\u18FF\u191F-\u194F\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19FF\u1A17-\u1A1F\u1A55-\u1AA6\u1AA8-\u1B04\u1B34-\u1B44\u1B4D-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BFF\u1C24-\u1C4C\u1C50-\u1C59\u1C7E\u1C7F\u1C8B-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1CFB-\u1CFF\u1DC0-\u1DFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u2182\u2185-\u2BFF\u2CE5-\u2CEA\u2CEF-\u2CF1\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7F\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF-\u2E2E\u2E30-\u3004\u3007-\u3030\u3036-\u303A\u303D-\u3040\u3097-\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA620-\uA629\uA62C-\uA63F\uA66F-\uA67E\uA69E\uA69F\uA6E6-\uA716\uA720\uA721\uA789\uA78A\uA7DD-\uA7F0\uA802\uA806\uA80B\uA823-\uA83F\uA874-\uA881\uA8B4-\uA8F1\uA8F8-\uA8FA\uA8FC\uA8FF-\uA909\uA926-\uA92F\uA947-\uA95F\uA97D-\uA983\uA9B3-\uA9CE\uA9D0-\uA9DF\uA9E5\uA9F0-\uA9F9\uA9FF\uAA29-\uAA3F\uAA43\uAA4C-\uAA5F\uAA77-\uAA79\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAC3-\uAADA\uAADE\uAADF\uAAEB-\uAAF1\uAAF5-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABE3-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB1E\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFE6F\uFE75\uFEFD-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEFF\uDF20-\uDF2C\uDF41\uDF4A-\uDF4F\uDF76-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0-\uDFFF]|\uD801[\uDC9E-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6F\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDBF\uDDF4-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD3F\uDD5A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE01-\uDE0F\uDE14\uDE18\uDE36-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE5-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD24-\uDD49\uDD66-\uDD6E\uDD86-\uDE7F\uDEAA-\uDEAF\uDEB2-\uDEC1\uDEC8-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF46-\uDF6F\uDF82-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC00-\uDC02\uDC38-\uDC70\uDC73\uDC74\uDC76-\uDC82\uDCB0-\uDCCF\uDCE9-\uDD02\uDD27-\uDD43\uDD45\uDD46\uDD48-\uDD4F\uDD73-\uDD75\uDD77-\uDD82\uDDB3-\uDDC0\uDDC5-\uDDD9\uDDDB\uDDDD-\uDDFF\uDE12\uDE2C-\uDE3E\uDE41-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEDF-\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A-\uDF3C\uDF3E-\uDF4F\uDF51-\uDF5C\uDF62-\uDF7F\uDF8A\uDF8C\uDF8D\uDF8F\uDFB6\uDFB8-\uDFD0\uDFD2\uDFD4-\uDFFF]|\uD805[\uDC35-\uDC46\uDC4B-\uDC5E\uDC62-\uDC7F\uDCB0-\uDCC3\uDCC6\uDCC8-\uDD7F\uDDAF-\uDDD7\uDDDC-\uDDFF\uDE30-\uDE43\uDE45-\uDE7F\uDEAB-\uDEB7\uDEB9-\uDEFF\uDF1B-\uDF3F\uDF47-\uDFFF]|\uD806[\uDC2C-\uDC9F\uDCE0-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD30-\uDD3E\uDD40\uDD42-\uDD9F\uDDA8\uDDA9\uDDD1-\uDDE0\uDDE2\uDDE4-\uDDFF\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE4F\uDE51-\uDE5B\uDE8A-\uDE9C\uDE9E-\uDEAF\uDEF9-\uDFBF\uDFE1-\uDFFF]|\uD807[\uDC09\uDC2F-\uDC3F\uDC41-\uDC71\uDC90-\uDCFF\uDD07\uDD0A\uDD31-\uDD45\uDD47-\uDD5F\uDD66\uDD69\uDD8A-\uDD97\uDD99-\uDDAF\uDDDC-\uDEDF\uDEF3-\uDF01\uDF03\uDF11\uDF34-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC00-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD812-\uD817\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD834\uD836\uD83C-\uD83F\uD87C\uD87D\uD87F\uD88E-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF1-\uDFFF]|\uD80D[\uDC30-\uDC40\uDC47-\uDC5F]|\uD810[\uDFFB-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD818[\uDC00-\uDCFF\uDD1E-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F-\uDE6F\uDEBF-\uDECF\uDEEE-\uDEFF\uDF30-\uDF3F\uDF44-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDD3F\uDD6D-\uDE3F\uDE80-\uDE9F\uDEB9\uDEBA\uDED4-\uDEFF\uDF4B-\uDF4F\uDF51-\uDF92\uDFA0-\uDFDF\uDFE2\uDFE4-\uDFF1\uDFF4-\uDFFF]|\uD823[\uDCD6-\uDCFE\uDD1F-\uDD7F\uDDF3-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD31\uDD33-\uDD4F\uDD53\uDD54\uDD56-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDF24\uDF2B-\uDFFF]|\uD838[\uDC00-\uDC2F\uDC6E-\uDCFF\uDD2D-\uDD36\uDD3E-\uDD4D\uDD4F-\uDE8F\uDEAE-\uDEBF\uDEEC-\uDFFF]|\uD839[\uDC00-\uDCCF\uDCEC-\uDDCF\uDDEE\uDDEF\uDDF1-\uDEBF\uDEDF\uDEE3\uDEE6\uDEEE\uDEEF\uDEF5-\uDEFD\uDF00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5-\uDCFF\uDD44-\uDD4A\uDD4C-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEAE\uDEAF]|\uD87A[\uDFE1-\uDFEF]|\uD87B[\uDE5E-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDF4F]|\uD88D[\uDC7A-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*$/;
23
23
  return nonTextPattern.test(text);
24
24
  };
@@ -11,5 +11,5 @@ exports.reverseString = void 0;
11
11
  * @example reverseString("Hello"); // "olleH"
12
12
  */
13
13
  var reverseString = exports.reverseString = function reverseString(_char) {
14
- return _char.split("").toReversed().join("");
14
+ return _char.split("").reverse().join("");
15
15
  };
@@ -19,3 +19,4 @@ export * from "./isPerfectSquare";
19
19
  export * from "./isPrimeNumber";
20
20
  export * from "./isString";
21
21
  export * from "./isValueNaN";
22
+ export * from "./parseEmail";
@@ -233,4 +233,15 @@ Object.keys(_isValueNaN).forEach(function (key) {
233
233
  return _isValueNaN[key];
234
234
  }
235
235
  });
236
+ });
237
+ var _parseEmail = require("./parseEmail");
238
+ Object.keys(_parseEmail).forEach(function (key) {
239
+ if (key === "default" || key === "__esModule") return;
240
+ if (key in exports && exports[key] === _parseEmail[key]) return;
241
+ Object.defineProperty(exports, key, {
242
+ enumerable: true,
243
+ get: function get() {
244
+ return _parseEmail[key];
245
+ }
246
+ });
236
247
  });
@@ -0,0 +1,14 @@
1
+ export type ParseEmailLevel = "basic" | "rfc822" | "rfc2822" | "rfc5321" | "rfc5322";
2
+ export type ParseEmailOptions = {
3
+ level: ParseEmailLevel;
4
+ };
5
+ export declare const parseEmail: ({ email, options, }: {
6
+ email: string;
7
+ options: ParseEmailOptions;
8
+ }) => {
9
+ valid: boolean;
10
+ parts?: {
11
+ local: string;
12
+ domain: string;
13
+ };
14
+ };