umt 2.10.0 → 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.
- package/README.md +3 -2
- package/module/Array/dualPivotQuickSort.js +4 -3
- package/module/Array/dualPivotQuickSort.js.map +1 -1
- package/module/Array/insertionSort.js +4 -10
- package/module/Array/insertionSort.js.map +1 -1
- package/module/Array/quickSort.js +4 -3
- package/module/Array/quickSort.js.map +1 -1
- package/module/Array/sortingHelpers/applyInsertionSortIfNeeded.js +2 -2
- package/module/Array/sortingHelpers/applyInsertionSortIfNeeded.js.map +1 -1
- package/module/Array/sortingHelpers/insertionSortRange.d.ts +5 -0
- package/module/Array/sortingHelpers/insertionSortRange.js +15 -0
- package/module/Array/sortingHelpers/insertionSortRange.js.map +1 -0
- package/module/Array/timSort.js +7 -5
- package/module/Array/timSort.js.map +1 -1
- package/module/Array/ultraNumberSort.js +16 -16
- package/module/Array/ultraNumberSort.js.map +1 -1
- package/module/Color/hexaToRgba.d.ts +1 -1
- package/module/Color/hexaToRgba.js +1 -1
- package/module/Crypto/decodeBase58.js +4 -4
- package/module/Crypto/decodeBase58.js.map +1 -1
- package/module/Crypto/encodeBase58.js +4 -4
- package/module/Crypto/encodeBase58.js.map +1 -1
- package/module/Math/mode.js +2 -1
- package/module/Math/mode.js.map +1 -1
- package/module/Math/solveEquation.js +1 -1
- package/module/Math/solveEquation.js.map +1 -1
- package/module/String/fuzzySearch.js +2 -1
- package/module/String/fuzzySearch.js.map +1 -1
- package/module/String/reverseString.js +1 -1
- package/module/String/reverseString.js.map +1 -1
- package/module/Validate/index.d.ts +1 -0
- package/module/Validate/index.js +1 -0
- package/module/Validate/index.js.map +1 -1
- package/module/Validate/parseEmail.d.ts +14 -0
- package/module/Validate/parseEmail.js +24 -0
- package/module/Validate/parseEmail.js.map +1 -0
- package/module/Validate/string/index.d.ts +1 -1
- package/module/Validate/string/index.js +1 -1
- package/module/Validate/string/index.js.map +1 -1
- package/module/Validate/string/uuid.js +1 -1
- package/module/Validate/string/uuid.js.map +1 -1
- package/module/Validate/string/{email.d.ts → validateEmail.d.ts} +2 -1
- package/module/Validate/string/validateEmail.js +23 -0
- package/module/Validate/string/validateEmail.js.map +1 -0
- package/module/es5/Array/dualPivotQuickSort.js +10 -3
- package/module/es5/Array/insertionSort.js +10 -10
- package/module/es5/Array/quickSort.js +10 -3
- package/module/es5/Array/sortingHelpers/applyInsertionSortIfNeeded.js +2 -2
- package/module/es5/Array/sortingHelpers/insertionSortRange.d.ts +5 -0
- package/module/es5/Array/sortingHelpers/insertionSortRange.js +20 -0
- package/module/es5/Array/timSort.js +13 -5
- package/module/es5/Array/ultraNumberSort.js +22 -18
- package/module/es5/Color/hexaToRgba.d.ts +1 -1
- package/module/es5/Color/hexaToRgba.js +1 -1
- package/module/es5/Crypto/decodeBase58.js +4 -4
- package/module/es5/Crypto/encodeBase58.js +4 -4
- package/module/es5/Math/mode.js +2 -3
- package/module/es5/Math/solveEquation.js +1 -1
- package/module/es5/String/formatString/index.js +1 -1
- package/module/es5/String/fuzzySearch.js +2 -1
- package/module/es5/String/reverseString.js +1 -1
- package/module/es5/Validate/index.d.ts +1 -0
- package/module/es5/Validate/index.js +11 -0
- package/module/es5/Validate/parseEmail.d.ts +14 -0
- package/module/es5/Validate/parseEmail.js +48 -0
- package/module/es5/Validate/string/index.d.ts +1 -1
- package/module/es5/Validate/string/index.js +4 -4
- package/module/es5/Validate/string/uuid.js +3 -1
- package/module/es5/Validate/string/{email.d.ts → validateEmail.d.ts} +2 -1
- package/module/es5/Validate/string/validateEmail.js +31 -0
- package/module/es5/tsconfig.tsbuildinfo +1 -1
- package/package.json +98 -17
- package/module/Validate/string/email.js +0 -45
- package/module/Validate/string/email.js.map +0 -1
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Validate/string/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,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(`^[
|
|
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,
|
|
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
|
|
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
|
|
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(
|
|
185
|
+
_sortRange(result, validStartIndex, validEndIndex, compareFunction, insertionSortThreshold);
|
|
179
186
|
}
|
|
180
|
-
return
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
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(
|
|
125
|
+
_sortImpl(result, validStartIndex, validEndIndex, compareFunction, insertionSortThreshold);
|
|
119
126
|
}
|
|
120
|
-
return
|
|
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
|
|
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,
|
|
21
|
+
(0, _insertionSortRange.insertionSortRange)(array, compareFunction, low, high);
|
|
22
22
|
return true;
|
|
23
23
|
}
|
|
24
24
|
return false;
|
|
@@ -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
|
|
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
|
|
85
|
-
|
|
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(
|
|
100
|
+
merge(result, left, mid, right, compareFunction);
|
|
93
101
|
}
|
|
94
102
|
}
|
|
95
103
|
}
|
|
96
|
-
return
|
|
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
|
|
22
|
+
var result = _toConsumableArray(array);
|
|
23
|
+
var length = result.length;
|
|
19
24
|
if (length <= 1) {
|
|
20
|
-
return
|
|
25
|
+
return result;
|
|
21
26
|
}
|
|
22
27
|
|
|
23
28
|
// For tiny arrays, use optimized inline sort
|
|
24
29
|
if (length === 2) {
|
|
25
|
-
if (
|
|
26
|
-
var _ref = [
|
|
27
|
-
|
|
28
|
-
|
|
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
|
|
35
|
+
return result;
|
|
31
36
|
}
|
|
32
37
|
if (length === 3) {
|
|
33
|
-
inlineSort3(
|
|
34
|
-
return
|
|
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 =
|
|
40
|
-
var max =
|
|
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 =
|
|
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(
|
|
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(
|
|
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(
|
|
77
|
+
return radixSort(result, ascending);
|
|
73
78
|
}
|
|
74
79
|
|
|
75
80
|
// Fall back to optimized quicksort for floating point
|
|
76
|
-
return numericQuickSort(
|
|
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
|
|
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
|
|
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 =
|
|
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 *
|
|
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 %
|
|
42
|
-
bigNumber /=
|
|
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 =
|
|
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 *
|
|
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 %
|
|
34
|
+
var remainder = Number(bigNumber % 58n);
|
|
35
35
|
encoded = alphabet[remainder] + encoded;
|
|
36
|
-
bigNumber /=
|
|
36
|
+
bigNumber /= 58n;
|
|
37
37
|
}
|
|
38
38
|
var leadingZeros = 0;
|
|
39
39
|
var _iterator2 = _createForOfIteratorHelper(bytes),
|
package/module/es5/Math/mode.js
CHANGED
|
@@ -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
|
|
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.
|
|
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
|
|
48
|
+
return (0, _quickSort.quickSort)(results, function (a, b) {
|
|
48
49
|
return b.score - a.score;
|
|
49
50
|
});
|
|
50
51
|
};
|
|
@@ -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("").
|
|
14
|
+
return _char.split("").reverse().join("");
|
|
15
15
|
};
|
|
@@ -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
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.parseEmail = void 0;
|
|
8
|
+
function _wrapRegExp() { _wrapRegExp = function _wrapRegExp(e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = RegExp(e, t); return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)(>|$)/g, function (e, r, t) { if ("" === t) return e; var p = o[r]; return Array.isArray(p) ? "$" + p.join("$") : "number" == typeof p ? "$" + p : ""; })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != _typeof(e[e.length - 1]) && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); }
|
|
9
|
+
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
10
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
11
|
+
var EMAIL_PATTERNS = {
|
|
12
|
+
basic: /*#__PURE__*/_wrapRegExp(/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+)@([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/, {
|
|
13
|
+
local: 1,
|
|
14
|
+
domain: 2
|
|
15
|
+
}),
|
|
16
|
+
rfc822: /*#__PURE__*/_wrapRegExp(/^(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*("(?:[^"\\]|\\[\s\S]){0,62}"|[a-zA-Z0-9!#$%&'*/=?^_`{|}~-]{1,64}(?:\.[a-zA-Z0-9!#$%&'*/=?^_`{|}~-]+)*)(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*@(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*$/, {
|
|
17
|
+
local: 1,
|
|
18
|
+
domain: 2
|
|
19
|
+
}),
|
|
20
|
+
rfc2822: /*#__PURE__*/_wrapRegExp(/^(?=.{1,998}$)(?!.*\.\.)([a-zA-Z0-9!#$%&'*/=?^_`{|}~-](?:[a-zA-Z0-9!#$%&'*/=?^_`{|}~.+-]{0,62}[a-zA-Z0-9!#$%&'*/=?^_`{|}~-])?)@([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*\.[a-zA-Z]{2,})$/, {
|
|
21
|
+
local: 1,
|
|
22
|
+
domain: 2
|
|
23
|
+
}),
|
|
24
|
+
rfc5321: /*#__PURE__*/_wrapRegExp(/^(?=.{1,256}$)(?=(?:[^@]{1,64})@)(?!.*\.\.)((?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[^"\\]|\\[\s\S]){0,62}"))@([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+|\[(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}|IPv6:[0-9a-fA-F:]+)\])$/, {
|
|
25
|
+
local: 1,
|
|
26
|
+
domain: 2
|
|
27
|
+
}),
|
|
28
|
+
rfc5322: /*#__PURE__*/_wrapRegExp(/^(?=.{1,998}$)(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*("(?:[^"\\]|\\[\s\S]){0,62}"(?:\."(?:[^"\\]|\\[\s\S]){0,62}")*|"(?:[^"\\]|\\[\s\S]){0,62}"(?:\.[a-zA-Z0-9!#$%&'*/=?^_`{|}~+-]{1,64}(?:\.[a-zA-Z0-9!#$%&'*/=?^_`{|}~+-]{1,64})*)+|[a-zA-Z0-9!#$%&'*/=?^_`{|}~+-]{1,64}(?:\.[a-zA-Z0-9!#$%&'*/=?^_`{|}~+-]{1,64})*(?:\."(?:[^"\\]|\\[\s\S]){0,62}")+|[a-zA-Z0-9!#$%&'*/=?^_`{|}~+-]{1,64}(?:(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*\.(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*[a-zA-Z0-9!#$%&'*/=?^_`{|}~+-]{1,64})*)(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*@(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*\.(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+|\[(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}|IPv6:[0-9a-fA-F:]+)\])(?:\s|\((?:[^()\\]|\\[\s\S])*(?:\((?:[^()\\]|\\[\s\S])*\)(?:[^()\\]|\\[\s\S])*)*\))*$/, {
|
|
29
|
+
local: 1,
|
|
30
|
+
domain: 2
|
|
31
|
+
})
|
|
32
|
+
};
|
|
33
|
+
var parseEmail = exports.parseEmail = function parseEmail(_ref) {
|
|
34
|
+
var email = _ref.email,
|
|
35
|
+
options = _ref.options;
|
|
36
|
+
var level = options.level;
|
|
37
|
+
var pattern = EMAIL_PATTERNS[level];
|
|
38
|
+
var match = pattern.exec(email);
|
|
39
|
+
return {
|
|
40
|
+
valid: match !== null,
|
|
41
|
+
parts: match !== null && match !== void 0 && match.groups ? {
|
|
42
|
+
// biome-ignore lint/complexity/useLiteralKeys: Literal keys are used for group names
|
|
43
|
+
local: match.groups["local"],
|
|
44
|
+
// biome-ignore lint/complexity/useLiteralKeys: Literal keys are used for group names
|
|
45
|
+
domain: match.groups["domain"]
|
|
46
|
+
} : undefined
|
|
47
|
+
};
|
|
48
|
+
};
|