umt 2.14.0 → 2.16.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/module/Array/arraysJoin.js +9 -1
- package/module/Array/arraysJoin.js.map +1 -1
- package/module/Array/sum.js +35 -2
- package/module/Array/sum.js.map +1 -1
- package/module/Array/zip.js +21 -5
- package/module/Array/zip.js.map +1 -1
- package/module/Array/zipLongest.js +23 -4
- package/module/Array/zipLongest.js.map +1 -1
- package/module/Crypto/decodeBase32.js.map +1 -1
- package/module/Crypto/decodeBase58.js +1 -2
- package/module/Crypto/decodeBase58.js.map +1 -1
- package/module/Crypto/encodeBase32.js +11 -6
- package/module/Crypto/encodeBase32.js.map +1 -1
- package/module/DataStructure/priorityQueue.js +8 -1
- package/module/DataStructure/priorityQueue.js.map +1 -1
- package/module/IP/ipToBinaryString.js +3 -1
- package/module/IP/ipToBinaryString.js.map +1 -1
- package/module/IP/longToIp.d.ts +1 -1
- package/module/IP/longToIp.js +2 -7
- package/module/IP/longToIp.js.map +1 -1
- package/module/Math/addition.js +4 -11
- package/module/Math/addition.js.map +1 -1
- package/module/Math/multiplication.js +14 -6
- package/module/Math/multiplication.js.map +1 -1
- package/module/Math/nCr.js +6 -2
- package/module/Math/nCr.js.map +1 -1
- package/module/Math/standardDeviation.js +12 -7
- package/module/Math/standardDeviation.js.map +1 -1
- package/module/Math/subtract.js +5 -9
- package/module/Math/subtract.js.map +1 -1
- package/module/Object/deepClone.d.ts +10 -0
- package/module/Object/deepClone.js +16 -9
- package/module/Object/deepClone.js.map +1 -1
- package/module/Object/getObjectsCommon.d.ts +10 -0
- package/module/Object/getObjectsCommon.js +10 -0
- package/module/Object/getObjectsCommon.js.map +1 -1
- package/module/Object/getObjectsDiff.d.ts +10 -0
- package/module/Object/getObjectsDiff.js +17 -6
- package/module/Object/getObjectsDiff.js.map +1 -1
- package/module/Object/has.d.ts +10 -0
- package/module/Object/has.js +13 -2
- package/module/Object/has.js.map +1 -1
- package/module/Object/index.d.ts +4 -0
- package/module/Object/index.js +4 -0
- package/module/Object/index.js.map +1 -1
- package/module/Object/keyBy.d.ts +10 -0
- package/module/Object/keyBy.js +10 -0
- package/module/Object/keyBy.js.map +1 -1
- package/module/Object/mapKeys.d.ts +10 -0
- package/module/Object/mapKeys.js +12 -1
- package/module/Object/mapKeys.js.map +1 -1
- package/module/Object/mapValues.d.ts +10 -0
- package/module/Object/mapValues.js +10 -0
- package/module/Object/mapValues.js.map +1 -1
- package/module/Object/merge.d.ts +10 -0
- package/module/Object/merge.js +17 -1
- package/module/Object/merge.js.map +1 -1
- package/module/Object/mergeDeep.d.ts +10 -0
- package/module/Object/mergeDeep.js +29 -15
- package/module/Object/mergeDeep.js.map +1 -1
- package/module/Object/pick.d.ts +10 -0
- package/module/Object/pick.js +10 -0
- package/module/Object/pick.js.map +1 -1
- package/module/Object/pickDeep.d.ts +10 -0
- package/module/Object/pickDeep.js +10 -5
- package/module/Object/pickDeep.js.map +1 -1
- package/module/Object/removePrototype.d.ts +15 -0
- package/module/Object/removePrototype.js +25 -0
- package/module/Object/removePrototype.js.map +1 -0
- package/module/Object/removePrototypeDeep.d.ts +11 -0
- package/module/Object/removePrototypeDeep.js +60 -0
- package/module/Object/removePrototypeDeep.js.map +1 -0
- package/module/Object/removePrototypeMap.d.ts +9 -0
- package/module/Object/removePrototypeMap.js +13 -0
- package/module/Object/removePrototypeMap.js.map +1 -0
- package/module/Object/removePrototypeMapDeep.d.ts +9 -0
- package/module/Object/removePrototypeMapDeep.js +13 -0
- package/module/Object/removePrototypeMapDeep.js.map +1 -0
- package/module/String/escapeHtml.js +11 -2
- package/module/String/escapeHtml.js.map +1 -1
- package/module/String/formatString/applyFormatter.js +5 -5
- package/module/String/formatString/applyFormatter.js.map +1 -1
- package/module/String/formatString/getValue.js +3 -1
- package/module/String/formatString/getValue.js.map +1 -1
- package/module/String/levenshteinDistance.js +41 -24
- package/module/String/levenshteinDistance.js.map +1 -1
- package/module/String/slugify.js +7 -5
- package/module/String/slugify.js.map +1 -1
- package/module/String/trimEndCharacters.js +3 -1
- package/module/String/trimEndCharacters.js.map +1 -1
- package/module/String/trimStartCharacters.js +3 -1
- package/module/String/trimStartCharacters.js.map +1 -1
- package/module/String/unescapeHtml.d.ts +1 -1
- package/module/String/unescapeHtml.js +48 -4
- package/module/String/unescapeHtml.js.map +1 -1
- package/module/Tool/parseJson.js +13 -1
- package/module/Tool/parseJson.js.map +1 -1
- package/module/URL/buildUrl.js +4 -0
- package/module/URL/buildUrl.js.map +1 -1
- package/module/URL/parseQueryString.js +4 -0
- package/module/URL/parseQueryString.js.map +1 -1
- package/module/Validate/isDeepEqual.js +7 -5
- package/module/Validate/isDeepEqual.js.map +1 -1
- package/module/Validate/isPrimeNumber.js +12 -2
- package/module/Validate/isPrimeNumber.js.map +1 -1
- package/module/Validate/object/index.d.ts +2 -0
- package/module/Validate/object/index.js +2 -0
- package/module/Validate/object/index.js.map +1 -1
- package/module/Validate/object/intersection.d.ts +10 -0
- package/module/Validate/object/intersection.js +25 -0
- package/module/Validate/object/intersection.js.map +1 -0
- package/module/Validate/object/optional.d.ts +6 -0
- package/module/Validate/object/optional.js +6 -0
- package/module/Validate/object/optional.js.map +1 -1
- package/module/Validate/object/union.d.ts +9 -0
- package/module/Validate/object/union.js +27 -0
- package/module/Validate/object/union.js.map +1 -0
- package/module/Validate/parseEmail.js +6 -0
- package/module/Validate/parseEmail.js.map +1 -1
- package/module/Validate/string/uuid.d.ts +1 -5
- package/module/Validate/string/uuid.js +19 -2
- package/module/Validate/string/uuid.js.map +1 -1
- package/module/es5/Array/arraysJoin.js +20 -2
- package/module/es5/Array/sum.js +38 -4
- package/module/es5/Array/zip.js +23 -17
- package/module/es5/Array/zipLongest.js +27 -14
- package/module/es5/Crypto/decodeBase58.js +1 -2
- package/module/es5/Crypto/encodeBase32.js +12 -6
- package/module/es5/DataStructure/priorityQueue.js +8 -3
- package/module/es5/IP/ipToBinaryString.js +2 -2
- package/module/es5/IP/longToIp.d.ts +1 -1
- package/module/es5/IP/longToIp.js +2 -13
- package/module/es5/Math/addition.js +4 -13
- package/module/es5/Math/multiplication.js +37 -6
- package/module/es5/Math/nCr.js +7 -2
- package/module/es5/Math/standardDeviation.js +25 -10
- package/module/es5/Math/subtract.js +12 -9
- package/module/es5/Object/deepClone.d.ts +10 -0
- package/module/es5/Object/deepClone.js +16 -9
- package/module/es5/Object/getObjectsCommon.d.ts +10 -0
- package/module/es5/Object/getObjectsCommon.js +10 -0
- package/module/es5/Object/getObjectsDiff.d.ts +10 -0
- package/module/es5/Object/getObjectsDiff.js +32 -17
- package/module/es5/Object/has.d.ts +10 -0
- package/module/es5/Object/has.js +11 -7
- package/module/es5/Object/index.d.ts +4 -0
- package/module/es5/Object/index.js +44 -0
- package/module/es5/Object/keyBy.d.ts +10 -0
- package/module/es5/Object/keyBy.js +10 -0
- package/module/es5/Object/mapKeys.d.ts +10 -0
- package/module/es5/Object/mapKeys.js +12 -1
- package/module/es5/Object/mapValues.d.ts +10 -0
- package/module/es5/Object/mapValues.js +10 -0
- package/module/es5/Object/merge.d.ts +10 -0
- package/module/es5/Object/merge.js +19 -1
- package/module/es5/Object/mergeDeep.d.ts +10 -0
- package/module/es5/Object/mergeDeep.js +34 -18
- package/module/es5/Object/pick.d.ts +10 -0
- package/module/es5/Object/pick.js +10 -0
- package/module/es5/Object/pickDeep.d.ts +10 -0
- package/module/es5/Object/pickDeep.js +10 -3
- package/module/es5/Object/removePrototype.d.ts +15 -0
- package/module/es5/Object/removePrototype.js +31 -0
- package/module/es5/Object/removePrototypeDeep.d.ts +11 -0
- package/module/es5/Object/removePrototypeDeep.js +81 -0
- package/module/es5/Object/removePrototypeMap.d.ts +9 -0
- package/module/es5/Object/removePrototypeMap.js +20 -0
- package/module/es5/Object/removePrototypeMapDeep.d.ts +9 -0
- package/module/es5/Object/removePrototypeMapDeep.js +20 -0
- package/module/es5/String/escapeHtml.js +12 -3
- package/module/es5/String/formatString/applyFormatter.js +5 -5
- package/module/es5/String/formatString/getValue.js +4 -1
- package/module/es5/String/levenshteinDistance.js +43 -28
- package/module/es5/String/slugify.js +8 -1
- package/module/es5/String/trimEndCharacters.js +3 -1
- package/module/es5/String/trimStartCharacters.js +3 -1
- package/module/es5/String/unescapeHtml.d.ts +1 -1
- package/module/es5/String/unescapeHtml.js +46 -4
- package/module/es5/Tool/parseJson.js +14 -1
- package/module/es5/URL/buildUrl.js +4 -0
- package/module/es5/URL/parseQueryString.js +4 -0
- package/module/es5/Validate/isDeepEqual.js +48 -39
- package/module/es5/Validate/isPrimeNumber.js +14 -2
- package/module/es5/Validate/object/index.d.ts +2 -0
- package/module/es5/Validate/object/index.js +22 -0
- package/module/es5/Validate/object/intersection.d.ts +10 -0
- package/module/es5/Validate/object/intersection.js +34 -0
- package/module/es5/Validate/object/optional.d.ts +6 -0
- package/module/es5/Validate/object/optional.js +6 -0
- package/module/es5/Validate/object/union.d.ts +9 -0
- package/module/es5/Validate/object/union.js +36 -0
- package/module/es5/Validate/parseEmail.js +8 -0
- package/module/es5/Validate/string/uuid.d.ts +1 -5
- package/module/es5/Validate/string/uuid.js +24 -2
- package/package.json +19 -19
- package/module/es5/tsconfig.tsbuildinfo +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isDeepEqual.js","sourceRoot":"","sources":["../../src/Validate/isDeepEqual.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,WAAW,CACzB,CAAU,EACV,CAAU,EACV,UAA8B,EAAE;IAEhC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAU,CAAC;IAEtC,SAAS,OAAO,CAAC,CAAU,EAAE,CAAU;QACrC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEf,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC;QAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC;QAC5B,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;YAC3C,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC;YAC/C,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBAChC,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,
|
|
1
|
+
{"version":3,"file":"isDeepEqual.js","sourceRoot":"","sources":["../../src/Validate/isDeepEqual.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,18 @@ export const isPrimeNumber = (n) => {
|
|
|
12
12
|
if (n <= 1 || !Number.isInteger(n)) {
|
|
13
13
|
return false;
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
// Handle small primes and eliminate even numbers / multiples of 3 early
|
|
16
|
+
if (n <= 3) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
if (n % 2 === 0 || n % 3 === 0) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
// Performance: only test divisors of the form 6k +/- 1.
|
|
23
|
+
// All primes > 3 are of this form, so we skip ~2/3 of candidates
|
|
24
|
+
// compared to the naive loop that checks every integer from 2 to sqrt(n).
|
|
25
|
+
for (let index = 5; index * index <= n; index += 6) {
|
|
26
|
+
if (n % index === 0 || n % (index + 2) === 0) {
|
|
17
27
|
return false;
|
|
18
28
|
}
|
|
19
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isPrimeNumber.js","sourceRoot":"","sources":["../../src/Validate/isPrimeNumber.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAW,EAAE;IAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"isPrimeNumber.js","sourceRoot":"","sources":["../../src/Validate/isPrimeNumber.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAW,EAAE;IAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wEAAwE;IACxE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wDAAwD;IACxD,iEAAiE;IACjE,0EAA0E;IAC1E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Validate/object/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Validate/object/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { UnionToIntersection } from "../../types/logic";
|
|
2
|
+
import type { ValidateCoreReturnType } from "../../Validate/type";
|
|
3
|
+
type ExtractValidatedType<V> = V extends (value: never) => ValidateCoreReturnType<infer T> ? T : never;
|
|
4
|
+
/**
|
|
5
|
+
* Creates an intersection validator that passes only if all given validators pass
|
|
6
|
+
* @param validators - Validator functions to compose as an intersection (logical AND)
|
|
7
|
+
* @returns {Function} - Validator that checks if the value matches all validators
|
|
8
|
+
*/
|
|
9
|
+
export declare const intersection: <Vs extends ((value: never) => ValidateCoreReturnType<unknown>)[]>(...validators: [...Vs]) => (value: UnionToIntersection<ExtractValidatedType<Vs[number]>>) => ValidateCoreReturnType<UnionToIntersection<ExtractValidatedType<Vs[number]>>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates an intersection validator that passes only if all given validators pass
|
|
3
|
+
* @param validators - Validator functions to compose as an intersection (logical AND)
|
|
4
|
+
* @returns {Function} - Validator that checks if the value matches all validators
|
|
5
|
+
*/
|
|
6
|
+
export const intersection = (...validators) => {
|
|
7
|
+
return (value) => {
|
|
8
|
+
for (const validator of validators) {
|
|
9
|
+
const result = validator(value);
|
|
10
|
+
if (!result.validate) {
|
|
11
|
+
return {
|
|
12
|
+
validate: false,
|
|
13
|
+
message: result.message,
|
|
14
|
+
type: value,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
validate: true,
|
|
20
|
+
message: "",
|
|
21
|
+
type: value,
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=intersection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intersection.js","sourceRoot":"","sources":["../../../src/Validate/object/intersection.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAG1B,GAAG,UAAmB,EACtB,EAAE;IACF,OAAO,CACL,KAA4D,EAG5D,EAAE;QACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GACV,SAKD,CAAC,KAAK,CAAC,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO;oBACL,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,KAEL;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,KAEL;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
import type { ValidateCoreReturnType } from "../../Validate/type";
|
|
2
|
+
/**
|
|
3
|
+
* Wraps a validator to accept undefined values
|
|
4
|
+
* @template T - The type of value the wrapped validator expects
|
|
5
|
+
* @param {Function} validator - Validator function to make optional
|
|
6
|
+
* @returns {Function} - Validator that passes for undefined or delegates to the wrapped validator
|
|
7
|
+
*/
|
|
2
8
|
export declare const optional: <T>(validator: (value: T) => ValidateCoreReturnType<T>) => ((value?: T) => ValidateCoreReturnType<T | undefined>);
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wraps a validator to accept undefined values
|
|
3
|
+
* @template T - The type of value the wrapped validator expects
|
|
4
|
+
* @param {Function} validator - Validator function to make optional
|
|
5
|
+
* @returns {Function} - Validator that passes for undefined or delegates to the wrapped validator
|
|
6
|
+
*/
|
|
1
7
|
export const optional = (validator) => {
|
|
2
8
|
const optionalValidator = (value) => {
|
|
3
9
|
if (value === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../src/Validate/object/optional.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,SAAkD,EACM,EAAE;IAC1D,MAAM,iBAAiB,GAAG,CACxB,KAAS,EAC8B,EAAE;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,WAAW;aAClB,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../src/Validate/object/optional.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,SAAkD,EACM,EAAE;IAC1D,MAAM,iBAAiB,GAAG,CACxB,KAAS,EAC8B,EAAE;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,WAAW;aAClB,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ValidateCoreReturnType } from "../../Validate/type";
|
|
2
|
+
type ExtractValidatedType<V> = V extends (value: never) => ValidateCoreReturnType<infer T> ? T : never;
|
|
3
|
+
/**
|
|
4
|
+
* Creates a union validator that passes if any of the given validators pass
|
|
5
|
+
* @param validators - Validator functions to compose as a union (logical OR)
|
|
6
|
+
* @returns {Function} - Validator that checks if the value matches any of the validators
|
|
7
|
+
*/
|
|
8
|
+
export declare const union: <Vs extends ((value: never) => ValidateCoreReturnType<unknown>)[]>(...validators: [...Vs]) => (value: ExtractValidatedType<Vs[number]>) => ValidateCoreReturnType<ExtractValidatedType<Vs[number]>>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a union validator that passes if any of the given validators pass
|
|
3
|
+
* @param validators - Validator functions to compose as a union (logical OR)
|
|
4
|
+
* @returns {Function} - Validator that checks if the value matches any of the validators
|
|
5
|
+
*/
|
|
6
|
+
export const union = (...validators) => {
|
|
7
|
+
return (value) => {
|
|
8
|
+
let lastMessage = "";
|
|
9
|
+
for (const validator of validators) {
|
|
10
|
+
const result = validator(value);
|
|
11
|
+
if (result.validate) {
|
|
12
|
+
return {
|
|
13
|
+
validate: true,
|
|
14
|
+
message: "",
|
|
15
|
+
type: value,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
lastMessage = result.message;
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
validate: false,
|
|
22
|
+
message: lastMessage,
|
|
23
|
+
type: value,
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=union.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../../src/Validate/object/union.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAGnB,GAAG,UAAmB,EACtB,EAAE;IACF,OAAO,CACL,KAAuC,EACmB,EAAE;QAC5D,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GACV,SAGD,CAAC,KAAK,CAAC,CAAC;YACT,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO;oBACL,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;oBACX,IAAI,EAAE,KAA2D;iBAClE,CAAC;YACJ,CAAC;YACD,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,KAA2D;SAClE,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -6,6 +6,12 @@ const EMAIL_PATTERNS = {
|
|
|
6
6
|
rfc5322: /^(?=.{1,998}$)(?:\s|\((?:[^()\\]|\\[\S\s])*(?:\((?:[^()\\]|\\[\S\s])*\)(?:[^()\\]|\\[\S\s])*)*\))*(?<local>"(?:[^"\\]|\\[\S\s]){0,62}"(?:\."(?:[^"\\]|\\[\S\s]){0,62}")*|"(?:[^"\\]|\\[\S\s]){0,62}"(?:(?:\.[\w!#$%&'*+/=?^`{|}~-]{1,64})+)+|[\w!#$%&'*+/=?^`{|}~-]{1,64}(?:\.[\w!#$%&'*+/=?^`{|}~-]{1,64})*(?:\."(?:[^"\\]|\\[\S\s]){0,62}")+|[\w!#$%&'*+/=?^`{|}~-]{1,64}(?:(?:\s|\((?:[^()\\]|\\[\S\s])*(?:\((?:[^()\\]|\\[\S\s])*\)(?:[^()\\]|\\[\S\s])*)*\))*\.(?:\s|\((?:[^()\\]|\\[\S\s])*(?:\((?:[^()\\]|\\[\S\s])*\)(?:[^()\\]|\\[\S\s])*)*\))*[\w!#$%&'*+/=?^`{|}~-]{1,64})*)(?:\s|\((?:[^()\\]|\\[\S\s])*(?:\((?:[^()\\]|\\[\S\s])*\)(?:[^()\\]|\\[\S\s])*)*\))*@(?:\s|\((?:[^()\\]|\\[\S\s])*(?:\((?:[^()\\]|\\[\S\s])*\)(?:[^()\\]|\\[\S\s])*)*\))*(?<domain>[\dA-Za-z](?:[\dA-Za-z-]{0,61}[\dA-Za-z])?(?:(?:\s|\((?:[^()\\]|\\[\S\s])*(?:\((?:[^()\\]|\\[\S\s])*\)(?:[^()\\]|\\[\S\s])*)*\))*\.(?:\s|\((?:[^()\\]|\\[\S\s])*(?:\((?:[^()\\]|\\[\S\s])*\)(?:[^()\\]|\\[\S\s])*)*\))*[\dA-Za-z](?:[\dA-Za-z-]{0,61}[\dA-Za-z])?)+|\[(?:(?:\d{1,3}\.){3}\d{1,3}|IPv6:[\d:A-Fa-f]+)])(?:\s|\((?:[^()\\]|\\[\S\s])*(?:\((?:[^()\\]|\\[\S\s])*\)(?:[^()\\]|\\[\S\s])*)*\))*$/,
|
|
7
7
|
};
|
|
8
8
|
export const parseEmail = ({ email, options, }) => {
|
|
9
|
+
// ReDoS mitigation: reject excessively long inputs before regex evaluation
|
|
10
|
+
// RFC 5321 specifies max 256 characters for a full email address
|
|
11
|
+
const MAX_EMAIL_LENGTH = 320;
|
|
12
|
+
if (email.length > MAX_EMAIL_LENGTH) {
|
|
13
|
+
return { valid: false };
|
|
14
|
+
}
|
|
9
15
|
const { level } = options;
|
|
10
16
|
const pattern = EMAIL_PATTERNS[level];
|
|
11
17
|
const match = pattern.exec(email);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseEmail.js","sourceRoot":"","sources":["../../src/Validate/parseEmail.ts"],"names":[],"mappings":"AAOA,MAAM,cAAc,GAAG;IACrB,KAAK,EACH,6IAA6I;IAC/I,MAAM,EACJ,yhBAAyhB;IAC3hB,OAAO,EACL,sOAAsO;IACxO,OAAO,EACL,iSAAiS;IACnS,OAAO,EACL,snCAAsnC;CAChnC,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
|
+
{"version":3,"file":"parseEmail.js","sourceRoot":"","sources":["../../src/Validate/parseEmail.ts"],"names":[],"mappings":"AAOA,MAAM,cAAc,GAAG;IACrB,KAAK,EACH,6IAA6I;IAC/I,MAAM,EACJ,yhBAAyhB;IAC3hB,OAAO,EACL,sOAAsO;IACxO,OAAO,EACL,iSAAiS;IACnS,OAAO,EACL,snCAAsnC;CAChnC,CAAC;AAMX,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,KAAK,EACL,OAAO,GAIR,EAGC,EAAE;IACF,2EAA2E;IAC3E,iEAAiE;IACjE,MAAM,gBAAgB,GAAG,GAAG,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,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,11 +1,7 @@
|
|
|
1
1
|
import type { ValidateReturnType } from "../../Validate/type";
|
|
2
|
-
/**
|
|
3
|
-
* String validation module for UUID strings
|
|
4
|
-
* Provides validation functionality for checking if a string is a valid UUID
|
|
5
|
-
*/
|
|
6
2
|
/**
|
|
7
3
|
* Creates a validator for checking if a string is a valid UUID
|
|
8
|
-
* @param {number[]} [versions=[4]] - Array of supported UUID versions
|
|
4
|
+
* @param {number[]} [versions=[4]] - Array of supported UUID versions (1-7)
|
|
9
5
|
* @param {string} [message] - Custom error message for validation failure
|
|
10
6
|
* @returns {ValidateReturnType<string>} - Validator for UUID strings
|
|
11
7
|
*/
|
|
@@ -2,14 +2,31 @@
|
|
|
2
2
|
* String validation module for UUID strings
|
|
3
3
|
* Provides validation functionality for checking if a string is a valid UUID
|
|
4
4
|
*/
|
|
5
|
+
// Security: Valid UUID versions are single-digit integers (1-7).
|
|
6
|
+
// The version value is interpolated into a RegExp constructor, so untrusted
|
|
7
|
+
// input could inject arbitrary regex patterns (regex injection / ReDoS).
|
|
8
|
+
// We validate each version is a safe integer in the expected range before use.
|
|
9
|
+
const VALID_UUID_VERSIONS = new Set([1, 2, 3, 4, 5, 6, 7]);
|
|
5
10
|
/**
|
|
6
11
|
* Creates a validator for checking if a string is a valid UUID
|
|
7
|
-
* @param {number[]} [versions=[4]] - Array of supported UUID versions
|
|
12
|
+
* @param {number[]} [versions=[4]] - Array of supported UUID versions (1-7)
|
|
8
13
|
* @param {string} [message] - Custom error message for validation failure
|
|
9
14
|
* @returns {ValidateReturnType<string>} - Validator for UUID strings
|
|
10
15
|
*/
|
|
11
16
|
export const uuid = (versions = [4], message) => {
|
|
12
|
-
|
|
17
|
+
// Security: Sanitize version input to prevent regex injection.
|
|
18
|
+
// Only allow known UUID version numbers (integers 1-7) to be interpolated
|
|
19
|
+
// into the RegExp pattern. Reject anything else to block arbitrary regex
|
|
20
|
+
// metacharacter injection via untrusted input.
|
|
21
|
+
const safeVersions = versions.filter((v) => VALID_UUID_VERSIONS.has(v));
|
|
22
|
+
if (safeVersions.length === 0) {
|
|
23
|
+
return {
|
|
24
|
+
type: "string",
|
|
25
|
+
message,
|
|
26
|
+
validate: () => false,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const versionRegexes = safeVersions.map((version) => new RegExp(String.raw `^[\da-f]{8}-?[\da-f]{4}-?${version}[\da-f]{3}-?[89ab][\da-f]{3}-?[\da-f]{12}$`, "i"));
|
|
13
30
|
return {
|
|
14
31
|
type: "string",
|
|
15
32
|
message,
|
|
@@ -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;IAC9B,MAAM,
|
|
1
|
+
{"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../src/Validate/string/uuid.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,iEAAiE;AACjE,4EAA4E;AAC5E,yEAAyE;AACzE,+EAA+E;AAC/E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,WAAqB,CAAC,CAAC,CAAC,EACxB,OAAgB,EACY,EAAE;IAC9B,+DAA+D;IAC/D,0EAA0E;IAC1E,yEAAyE;IACzE,+CAA+C;IAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CACrC,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,MAAM,CACR,MAAM,CAAC,GAAG,CAAA,4BAA4B,OAAO,4CAA4C,EACzF,GAAG,CACJ,CACJ,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO;QACP,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -6,9 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.arraysJoin = void 0;
|
|
7
7
|
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
8
8
|
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."); }
|
|
9
|
-
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
9
|
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
11
10
|
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
11
|
+
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; } } }; }
|
|
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; } }
|
|
12
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; }
|
|
13
14
|
/**
|
|
14
15
|
* Join arrays without duplicates
|
|
@@ -18,8 +19,25 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
18
19
|
* @example arraysJoin([1, 2, 3], [2, 3, 4]); // [1, 2, 3, 4]
|
|
19
20
|
*/
|
|
20
21
|
var arraysJoin = exports.arraysJoin = function arraysJoin(array) {
|
|
22
|
+
// Build Set directly to avoid the intermediate spread-concat array.
|
|
23
|
+
// Previous: [...new Set([...array, ...arrays.flat()])] allocated a temporary
|
|
24
|
+
// combined array before constructing the Set.
|
|
25
|
+
// This approach feeds flat() results directly into the Set, skipping that copy.
|
|
26
|
+
var set = new Set(array);
|
|
21
27
|
for (var _len = arguments.length, arrays = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
22
28
|
arrays[_key - 1] = arguments[_key];
|
|
23
29
|
}
|
|
24
|
-
|
|
30
|
+
var _iterator = _createForOfIteratorHelper(arrays.flat()),
|
|
31
|
+
_step;
|
|
32
|
+
try {
|
|
33
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
34
|
+
var element = _step.value;
|
|
35
|
+
set.add(element);
|
|
36
|
+
}
|
|
37
|
+
} catch (err) {
|
|
38
|
+
_iterator.e(err);
|
|
39
|
+
} finally {
|
|
40
|
+
_iterator.f();
|
|
41
|
+
}
|
|
42
|
+
return _toConsumableArray(set);
|
|
25
43
|
};
|
package/module/es5/Array/sum.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.sum = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _getDecimalLength = require("../Math/getDecimalLength");
|
|
8
8
|
/**
|
|
9
9
|
* Returns the sum of an array of numbers
|
|
10
10
|
* @param {number[]} x Array of numbers
|
|
@@ -12,7 +12,41 @@ var _addition = require("../Math/addition");
|
|
|
12
12
|
* @example sum([1, 2, 3]); // 6
|
|
13
13
|
*/
|
|
14
14
|
var sum = exports.sum = function sum(x) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
var length = x.length;
|
|
16
|
+
if (length === 0) {
|
|
17
|
+
return 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Performance: determine decimal precision once for the entire array,
|
|
21
|
+
// rather than calling addition() per element which redundantly checks
|
|
22
|
+
// Number.isInteger() and getDecimalLength() on every accumulator step.
|
|
23
|
+
// This reduces overhead from O(n) getDecimalLength calls on the
|
|
24
|
+
// accumulator to a single pass over the input values.
|
|
25
|
+
var maxDecimal = 0;
|
|
26
|
+
for (var index = 0; index < length; index++) {
|
|
27
|
+
if (!Number.isInteger(x[index])) {
|
|
28
|
+
var decLength = (0, _getDecimalLength.getDecimalLength)(x[index]);
|
|
29
|
+
if (decLength > maxDecimal) {
|
|
30
|
+
maxDecimal = decLength;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Fast path: all integers, just sum directly
|
|
36
|
+
if (maxDecimal === 0) {
|
|
37
|
+
var result = 0;
|
|
38
|
+
for (var _index = 0; _index < length; _index++) {
|
|
39
|
+
result += x[_index];
|
|
40
|
+
}
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Decimal path: scale to integers, sum, then scale back.
|
|
45
|
+
// Single multiplication factor computed once instead of per-element.
|
|
46
|
+
var scale = Math.pow(10, maxDecimal);
|
|
47
|
+
var scaled = 0;
|
|
48
|
+
for (var _index2 = 0; _index2 < length; _index2++) {
|
|
49
|
+
scaled += Math.round(x[_index2] * scale);
|
|
50
|
+
}
|
|
51
|
+
return scaled / scale;
|
|
18
52
|
};
|
package/module/es5/Array/zip.js
CHANGED
|
@@ -4,12 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.zip = void 0;
|
|
7
|
-
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
8
|
-
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."); }
|
|
9
|
-
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
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
11
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
12
|
-
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; }
|
|
13
7
|
/**
|
|
14
8
|
* Creates a new array by combining elements from multiple arrays at corresponding positions
|
|
15
9
|
* @param {T} arrays List of arrays to combine
|
|
@@ -22,17 +16,29 @@ var zip = exports.zip = function zip() {
|
|
|
22
16
|
for (var _len = arguments.length, arrays = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
23
17
|
arrays[_key] = arguments[_key];
|
|
24
18
|
}
|
|
25
|
-
|
|
19
|
+
var arraysLength = arrays.length;
|
|
20
|
+
if (arraysLength === 0) {
|
|
26
21
|
return [];
|
|
27
22
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
23
|
+
|
|
24
|
+
// Optimize: Avoid Math.min(...arrays.map(...)) to prevent Call Stack Size Exceeded errors
|
|
25
|
+
// for a large number of arrays, and avoid intermediate array allocations.
|
|
26
|
+
var minLength = arrays[0].length;
|
|
27
|
+
for (var index = 1; index < arraysLength; index += 1) {
|
|
28
|
+
if (arrays[index].length < minLength) {
|
|
29
|
+
minLength = arrays[index].length;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Optimize: Pre-allocate outer array dynamically using loops rather than Array.from
|
|
34
|
+
// to reduce closure creation overhead and eliminate intermediate mapped arrays.
|
|
35
|
+
var result = [];
|
|
36
|
+
for (var _index = 0; _index < minLength; _index += 1) {
|
|
37
|
+
var tuple = [];
|
|
38
|
+
for (var arrayIndex = 0; arrayIndex < arraysLength; arrayIndex += 1) {
|
|
39
|
+
tuple.push(arrays[arrayIndex][_index]);
|
|
40
|
+
}
|
|
41
|
+
result.push(tuple);
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
38
44
|
};
|
|
@@ -4,12 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.zipLongest = void 0;
|
|
7
|
-
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
8
|
-
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."); }
|
|
9
|
-
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
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
11
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
12
|
-
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; }
|
|
13
7
|
/**
|
|
14
8
|
* Combines arrays of different lengths by padding shorter arrays with undefined values
|
|
15
9
|
* to match the length of the longest array
|
|
@@ -25,14 +19,33 @@ var zipLongest = exports.zipLongest = function zipLongest() {
|
|
|
25
19
|
for (var _len = arguments.length, arrays = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
26
20
|
arrays[_key] = arguments[_key];
|
|
27
21
|
}
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
var arraysLength = arrays.length;
|
|
23
|
+
if (arraysLength === 0) {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Optimize: Avoid Math.max(...arrays.map(...)) to prevent Call Stack Size Exceeded errors
|
|
28
|
+
// for a large number of arrays, and avoid intermediate array allocations.
|
|
29
|
+
var maxLength = arrays[0].length;
|
|
30
|
+
for (var index = 1; index < arraysLength; index += 1) {
|
|
31
|
+
if (arrays[index].length > maxLength) {
|
|
32
|
+
maxLength = arrays[index].length;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Optimize: Pre-allocate arrays with known lengths and use direct index assignment
|
|
37
|
+
// instead of .push() to avoid repeated capacity checks and potential reallocations.
|
|
38
|
+
var result = Array.from({
|
|
32
39
|
length: maxLength
|
|
33
|
-
}, function (_, index) {
|
|
34
|
-
return arrays.map(function (array) {
|
|
35
|
-
return array[index];
|
|
36
|
-
});
|
|
37
40
|
});
|
|
41
|
+
for (var _index = 0; _index < maxLength; _index += 1) {
|
|
42
|
+
var tuple = Array.from({
|
|
43
|
+
length: arraysLength
|
|
44
|
+
});
|
|
45
|
+
for (var arrayIndex = 0; arrayIndex < arraysLength; arrayIndex += 1) {
|
|
46
|
+
tuple[arrayIndex] = arrays[arrayIndex][_index];
|
|
47
|
+
}
|
|
48
|
+
result[_index] = tuple;
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
38
51
|
};
|
|
@@ -31,8 +31,7 @@ var decodeBase58 = exports.decodeBase58 = function decodeBase58(input) {
|
|
|
31
31
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
32
32
|
var _base58CharToIndex$ge;
|
|
33
33
|
var _char = _step.value;
|
|
34
|
-
|
|
35
|
-
bigNumber = bigNumber * 58n + BigInt(value);
|
|
34
|
+
bigNumber = bigNumber * 58n + BigInt((_base58CharToIndex$ge = base58CharToIndex.get(_char)) !== null && _base58CharToIndex$ge !== void 0 ? _base58CharToIndex$ge : 0);
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
// Use push + reverse instead of unshift to avoid O(n²) array shifting
|
|
@@ -17,7 +17,11 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
17
17
|
var encodeBase32 = exports.encodeBase32 = function encodeBase32(input) {
|
|
18
18
|
var alphabet = _constants.BASE32_ALPHABET;
|
|
19
19
|
var bytes = typeof input === "string" ? new TextEncoder().encode(input) : input;
|
|
20
|
-
|
|
20
|
+
|
|
21
|
+
// Performance: collect characters in an array and join at the end instead of
|
|
22
|
+
// repeated string concatenation, which copies the entire string on every +=
|
|
23
|
+
// and is O(n²) for large inputs. Array push + join is O(n).
|
|
24
|
+
var chars = [];
|
|
21
25
|
var buffer = 0;
|
|
22
26
|
var bufferLength = 0;
|
|
23
27
|
var _iterator = _createForOfIteratorHelper(bytes),
|
|
@@ -29,7 +33,7 @@ var encodeBase32 = exports.encodeBase32 = function encodeBase32(input) {
|
|
|
29
33
|
bufferLength += 8;
|
|
30
34
|
while (bufferLength >= 5) {
|
|
31
35
|
bufferLength -= 5;
|
|
32
|
-
|
|
36
|
+
chars.push(alphabet[buffer >> bufferLength & 0x1f]);
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
39
|
} catch (err) {
|
|
@@ -38,9 +42,11 @@ var encodeBase32 = exports.encodeBase32 = function encodeBase32(input) {
|
|
|
38
42
|
_iterator.f();
|
|
39
43
|
}
|
|
40
44
|
if (bufferLength > 0) {
|
|
41
|
-
|
|
45
|
+
chars.push(alphabet[buffer << 5 - bufferLength & 0x1f]);
|
|
46
|
+
}
|
|
47
|
+
var paddingLength = (8 - chars.length % 8) % 8;
|
|
48
|
+
if (paddingLength > 0) {
|
|
49
|
+
chars.push("=".repeat(paddingLength));
|
|
42
50
|
}
|
|
43
|
-
|
|
44
|
-
result += "=".repeat(paddingLength);
|
|
45
|
-
return result;
|
|
51
|
+
return chars.join("");
|
|
46
52
|
};
|
|
@@ -330,9 +330,14 @@ var PriorityQueue = exports.PriorityQueue = /*#__PURE__*/function () {
|
|
|
330
330
|
this.minPriority = 0;
|
|
331
331
|
return;
|
|
332
332
|
}
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
333
|
+
// Single-pass minimum without intermediate array allocation
|
|
334
|
+
var min = this.heap[0].priority;
|
|
335
|
+
for (var index = 1; index < this.heap.length; index++) {
|
|
336
|
+
if (this.heap[index].priority < min) {
|
|
337
|
+
min = this.heap[index].priority;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
this.minPriority = min;
|
|
336
341
|
}
|
|
337
342
|
|
|
338
343
|
/**
|
|
@@ -10,7 +10,7 @@ exports.ipToBinaryString = void 0;
|
|
|
10
10
|
* @returns {string} Binary string representation (32 bits)
|
|
11
11
|
*/
|
|
12
12
|
var ipToBinaryString = exports.ipToBinaryString = function ipToBinaryString(ip) {
|
|
13
|
-
return ip.split(".").map(function (
|
|
14
|
-
return Number.parseInt(
|
|
13
|
+
return ip.split(".").map(function (part) {
|
|
14
|
+
return Number.parseInt(part, 10).toString(2).padStart(8, "0");
|
|
15
15
|
}).join("");
|
|
16
16
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Converts a 32-bit number to an IPv4 address
|
|
3
|
-
* @param {number} long - 32-bit unsigned integer to convert
|
|
3
|
+
* @param {number} long - 32-bit unsigned integer to convert (0 to 4294967295)
|
|
4
4
|
* @returns {string} IPv4 address (e.g., "192.168.1.1")
|
|
5
5
|
*/
|
|
6
6
|
export declare const longToIp: (long: number) => string;
|
|
@@ -6,20 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.longToIp = void 0;
|
|
7
7
|
/**
|
|
8
8
|
* Converts a 32-bit number to an IPv4 address
|
|
9
|
-
* @param {number} long - 32-bit unsigned integer to convert
|
|
9
|
+
* @param {number} long - 32-bit unsigned integer to convert (0 to 4294967295)
|
|
10
10
|
* @returns {string} IPv4 address (e.g., "192.168.1.1")
|
|
11
11
|
*/
|
|
12
12
|
var longToIp = exports.longToIp = function longToIp(_long) {
|
|
13
|
-
|
|
14
|
-
var binary = _long.toString(2).padStart(32, "0");
|
|
15
|
-
|
|
16
|
-
// Split into octets and convert to decimal
|
|
17
|
-
var octets = Array.from({
|
|
18
|
-
length: 4
|
|
19
|
-
}, function (_, index) {
|
|
20
|
-
return Number.parseInt(binary.slice(index * 8, (index + 1) * 8), 2);
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
// Join octets with dots
|
|
24
|
-
return octets.join(".");
|
|
13
|
+
return "".concat(_long >>> 24 & 0xff, ".").concat(_long >>> 16 & 0xff, ".").concat(_long >>> 8 & 0xff, ".").concat(_long & 0xff);
|
|
25
14
|
};
|
|
@@ -13,30 +13,21 @@ var _getDecimalLength = require("./getDecimalLength");
|
|
|
13
13
|
*/
|
|
14
14
|
var addition = exports.addition = function addition() {
|
|
15
15
|
var maxDecimal = 0;
|
|
16
|
-
var allIntegers = true;
|
|
17
16
|
for (var _len = arguments.length, numbers = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
18
17
|
numbers[_key] = arguments[_key];
|
|
19
18
|
}
|
|
20
19
|
for (var _i = 0, _numbers = numbers; _i < _numbers.length; _i++) {
|
|
21
20
|
var number = _numbers[_i];
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (length > maxDecimal) {
|
|
26
|
-
maxDecimal = length;
|
|
27
|
-
}
|
|
21
|
+
var length = (0, _getDecimalLength.getDecimalLength)(number);
|
|
22
|
+
if (length > maxDecimal) {
|
|
23
|
+
maxDecimal = length;
|
|
28
24
|
}
|
|
29
25
|
}
|
|
30
|
-
if (allIntegers || maxDecimal === 0) {
|
|
31
|
-
return numbers.reduce(function (sum, current) {
|
|
32
|
-
return sum + current;
|
|
33
|
-
}, 0);
|
|
34
|
-
}
|
|
35
26
|
var z = Math.pow(10, maxDecimal);
|
|
36
27
|
var sum = 0;
|
|
37
28
|
for (var _i2 = 0, _numbers2 = numbers; _i2 < _numbers2.length; _i2++) {
|
|
38
29
|
var _number = _numbers2[_i2];
|
|
39
|
-
sum += Math.round(_number * z);
|
|
30
|
+
sum += maxDecimal === 0 ? _number : Math.round(_number * z);
|
|
40
31
|
}
|
|
41
32
|
return sum / z;
|
|
42
33
|
};
|