umt 2.11.0 → 2.12.1

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 (119) hide show
  1. package/module/Advance/rangeAdvance.d.ts +1 -1
  2. package/module/Advance/rangeAdvance.js.map +1 -1
  3. package/module/Array/checkFlagAlignment.js +3 -0
  4. package/module/Array/checkFlagAlignment.js.map +1 -1
  5. package/module/Array/compact.js.map +1 -1
  6. package/module/Array/getArraysCommon.js +33 -12
  7. package/module/Array/getArraysCommon.js.map +1 -1
  8. package/module/Array/groupBy.js +1 -1
  9. package/module/Array/range.js +1 -1
  10. package/module/Array/range.js.map +1 -1
  11. package/module/Array/timSort.js +1 -1
  12. package/module/Array/timSort.js.map +1 -1
  13. package/module/Array/ultraNumberSort.js +2 -2
  14. package/module/Array/ultraNumberSort.js.map +1 -1
  15. package/module/Consts/clock.d.ts +1 -1
  16. package/module/Consts/clock.js.map +1 -1
  17. package/module/DataStructure/priorityQueue.d.ts +4 -4
  18. package/module/DataStructure/priorityQueue.js +3 -2
  19. package/module/DataStructure/priorityQueue.js.map +1 -1
  20. package/module/Date/dayOfWeek.js +1 -1
  21. package/module/Date/format.js +1 -1
  22. package/module/IP/ipToBinaryString.js +1 -1
  23. package/module/IP/ipToBinaryString.js.map +1 -1
  24. package/module/IP/subnetMaskToCidr.js +1 -1
  25. package/module/IP/subnetMaskToCidr.js.map +1 -1
  26. package/module/Math/calculator/core.js +15 -5
  27. package/module/Math/calculator/core.js.map +1 -1
  28. package/module/Math/gcd.js +5 -2
  29. package/module/Math/gcd.js.map +1 -1
  30. package/module/Math/mathConverter.js +1 -1
  31. package/module/Math/mathConverter.js.map +1 -1
  32. package/module/Math/mode.js +1 -1
  33. package/module/Math/nCr.js +4 -1
  34. package/module/Math/nCr.js.map +1 -1
  35. package/module/Math/nPr.js +4 -1
  36. package/module/Math/nPr.js.map +1 -1
  37. package/module/Math/primeFactorization.js +5 -1
  38. package/module/Math/primeFactorization.js.map +1 -1
  39. package/module/Math/reduce.js +4 -1
  40. package/module/Math/reduce.js.map +1 -1
  41. package/module/Math/uuidv7.js +11 -14
  42. package/module/Math/uuidv7.js.map +1 -1
  43. package/module/Object/mergeDeep.js.map +1 -1
  44. package/module/Object/omit.js +1 -0
  45. package/module/Object/omit.js.map +1 -1
  46. package/module/Object/pickDeep.js +1 -1
  47. package/module/String/formatString/applyFormatter.js +1 -1
  48. package/module/String/formatString/applyFormatter.js.map +1 -1
  49. package/module/String/formatString/getValue.js +1 -1
  50. package/module/String/formatString/getValue.js.map +1 -1
  51. package/module/String/fromBase64.js +2 -1
  52. package/module/String/fromBase64.js.map +1 -1
  53. package/module/String/fuzzySearch.d.ts +2 -2
  54. package/module/String/fuzzySearch.js.map +1 -1
  55. package/module/String/levenshteinDistance.d.ts +2 -2
  56. package/module/String/levenshteinDistance.js +28 -18
  57. package/module/String/levenshteinDistance.js.map +1 -1
  58. package/module/String/padStart.d.ts +0 -1
  59. package/module/String/padStart.js +2 -6
  60. package/module/String/padStart.js.map +1 -1
  61. package/module/Tool/index.d.ts +1 -0
  62. package/module/Tool/index.js +1 -0
  63. package/module/Tool/index.js.map +1 -1
  64. package/module/Tool/unwrap.d.ts +9 -0
  65. package/module/Tool/unwrap.js +15 -0
  66. package/module/Tool/unwrap.js.map +1 -0
  67. package/module/Validate/array/core.js +1 -1
  68. package/module/Validate/core/index.js +2 -2
  69. package/module/Validate/isDeepEqual.js.map +1 -1
  70. package/module/Validate/object/core.js +1 -1
  71. package/module/Validate/parseEmail.d.ts +2 -2
  72. package/module/Validate/string/uuid.js +10 -11
  73. package/module/Validate/string/uuid.js.map +1 -1
  74. package/module/Validate/string/validateEmail.js +1 -1
  75. package/module/es5/Advance/rangeAdvance.d.ts +1 -1
  76. package/module/es5/Array/checkFlagAlignment.js +3 -0
  77. package/module/es5/Array/getArraysCommon.js +45 -19
  78. package/module/es5/Array/groupBy.js +2 -1
  79. package/module/es5/Array/range.js +1 -1
  80. package/module/es5/Array/timSort.js +1 -1
  81. package/module/es5/Array/ultraNumberSort.js +16 -16
  82. package/module/es5/Consts/clock.d.ts +1 -1
  83. package/module/es5/DataStructure/priorityQueue.d.ts +4 -4
  84. package/module/es5/DataStructure/priorityQueue.js +3 -2
  85. package/module/es5/Date/dayOfWeek.js +2 -1
  86. package/module/es5/Date/format.js +1 -1
  87. package/module/es5/IP/ipToBinaryString.js +1 -1
  88. package/module/es5/IP/subnetMaskToCidr.js +1 -1
  89. package/module/es5/Math/calculator/core.js +15 -5
  90. package/module/es5/Math/gcd.js +5 -2
  91. package/module/es5/Math/mathConverter.js +1 -1
  92. package/module/es5/Math/mode.js +2 -1
  93. package/module/es5/Math/nCr.js +4 -1
  94. package/module/es5/Math/nPr.js +4 -1
  95. package/module/es5/Math/primeFactorization.js +8 -1
  96. package/module/es5/Math/reduce.js +8 -1
  97. package/module/es5/Math/uuidv7.js +13 -14
  98. package/module/es5/Object/omit.js +1 -0
  99. package/module/es5/Object/pickDeep.js +2 -1
  100. package/module/es5/String/formatString/applyFormatter.js +1 -1
  101. package/module/es5/String/formatString/getValue.js +1 -1
  102. package/module/es5/String/fromBase64.js +2 -1
  103. package/module/es5/String/fuzzySearch.d.ts +2 -2
  104. package/module/es5/String/levenshteinDistance.d.ts +2 -2
  105. package/module/es5/String/levenshteinDistance.js +33 -30
  106. package/module/es5/String/padStart.d.ts +0 -1
  107. package/module/es5/String/padStart.js +2 -7
  108. package/module/es5/Tool/index.d.ts +1 -0
  109. package/module/es5/Tool/index.js +11 -0
  110. package/module/es5/Tool/unwrap.d.ts +9 -0
  111. package/module/es5/Tool/unwrap.js +20 -0
  112. package/module/es5/Validate/array/core.js +1 -1
  113. package/module/es5/Validate/core/index.js +3 -2
  114. package/module/es5/Validate/object/core.js +1 -1
  115. package/module/es5/Validate/parseEmail.d.ts +2 -2
  116. package/module/es5/Validate/string/uuid.js +5 -4
  117. package/module/es5/Validate/string/validateEmail.js +1 -1
  118. package/module/es5/tsconfig.tsbuildinfo +1 -1
  119. package/package.json +66 -41
@@ -1 +1 @@
1
- {"version":3,"file":"primeFactorization.js","sourceRoot":"","sources":["../../src/Math/primeFactorization.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAE,EAAE;IAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,GAAwC,EAAE,CAAC;IACpD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,IAAI,KAAK,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC;YACxB,CAAC,GAAG,CAAC,CAAC;YACN,OAAO,KAAK,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC3B,CAAC,EAAE,CAAC;gBACJ,KAAK,IAAI,KAAK,CAAC;YACjB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"primeFactorization.js","sourceRoot":"","sources":["../../src/Math/primeFactorization.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAE,EAAE;IAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,GAAwC,EAAE,CAAC;IACpD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,IAAI,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,IAAI,KAAK,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC;YACxB,CAAC,GAAG,CAAC,CAAC;YACN,OAAO,KAAK,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC3B,CAAC,EAAE,CAAC;gBACJ,KAAK,IAAI,KAAK,CAAC;YACjB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,4DAA4D;IAC5D,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -12,9 +12,12 @@ import { gcd } from "./gcd";
12
12
  * - gcd: greatest common divisor used for reduction
13
13
  */
14
14
  export const reduce = (x, y) => {
15
- if (x === 0 || y === 0) {
15
+ if (y === 0) {
16
16
  return { x: Number.NaN, y: Number.NaN };
17
17
  }
18
+ if (x === 0) {
19
+ return { x: 0, y: 1, gcd: Math.abs(y) };
20
+ }
18
21
  const gcdValue = gcd(Math.abs(x), Math.abs(y));
19
22
  const sign = y < 0 ? -1 : 1;
20
23
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"reduce.js","sourceRoot":"","sources":["../../src/Math/reduce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO;QACL,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,IAAI;QACxB,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;QACzB,GAAG,EAAE,QAAQ;KACd,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"reduce.js","sourceRoot":"","sources":["../../src/Math/reduce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC7C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO;QACL,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,IAAI;QACxB,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;QACzB,GAAG,EAAE,QAAQ;KACd,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,3 @@
1
- import { random } from "./random";
2
1
  /**
3
2
  * Generates a UUID v7 (Universally Unique Identifier version 7)
4
3
  * @returns {string} A UUID v7 string in the format xxxxxxxx-xxxx-7xxx-8xxx-xxxxxxxxxxxx
@@ -15,23 +14,21 @@ import { random } from "./random";
15
14
  export const uuidv7 = () => {
16
15
  const DIGITS = "0123456789abcdef";
17
16
  const unixTsMs = Date.now();
18
- const randA = random(0xf_ff);
19
- const randBHi = random(0x3f_ff_ff_ff);
20
- const randBLo = random(0xff_ff_ff_ff);
21
17
  const bytes = new Uint8Array(16);
22
18
  for (let index = 0; index < 6; index++) {
23
19
  bytes[index] = (unixTsMs >>> ((5 - index) * 8)) & 0xff;
24
20
  }
25
- bytes[6] = 0x70 | (randA >>> 8);
26
- bytes[7] = randA & 0xff;
27
- bytes[8] = 0x80 | (randBHi >>> 24);
28
- bytes[9] = (randBHi >>> 16) & 0xff;
29
- bytes[10] = (randBHi >>> 8) & 0xff;
30
- bytes[11] = randBHi & 0xff;
31
- bytes[12] = (randBLo >>> 24) & 0xff;
32
- bytes[13] = (randBLo >>> 16) & 0xff;
33
- bytes[14] = (randBLo >>> 8) & 0xff;
34
- bytes[15] = randBLo & 0xff;
21
+ // Generate 10 random bytes for the rest
22
+ const randomBytes = new Uint8Array(10);
23
+ globalThis.crypto.getRandomValues(randomBytes);
24
+ // Version 7 (0x70) + 4 bits from randomBytes[0]
25
+ bytes[6] = 0x70 | (randomBytes[0] & 0x0f);
26
+ // Random byte
27
+ bytes[7] = randomBytes[1];
28
+ // Variant 2 (0x80) + 6 bits from randomBytes[2]
29
+ bytes[8] = 0x80 | (randomBytes[2] & 0x3f);
30
+ // Remaining random bytes
31
+ bytes.set(randomBytes.subarray(3), 9);
35
32
  let uuid = "";
36
33
  for (const [index, byte] of bytes.entries()) {
37
34
  uuid += DIGITS[byte >>> 4] + DIGITS[byte & 0xf];
@@ -1 +1 @@
1
- {"version":3,"file":"uuidv7.js","sourceRoot":"","sources":["../../src/Math/uuidv7.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE;IACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAEtC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzD,CAAC;IACD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;IAChC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAE3B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7D,IAAI,IAAI,GAAG,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
1
+ {"version":3,"file":"uuidv7.js","sourceRoot":"","sources":["../../src/Math/uuidv7.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE;IACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzD,CAAC;IAED,wCAAwC;IACxC,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACvC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAE/C,gDAAgD;IAChD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1C,cAAc;IACd,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,gDAAgD;IAChD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1C,yBAAyB;IACzB,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7D,IAAI,IAAI,GAAG,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mergeDeep.js","sourceRoot":"","sources":["../../src/Object/mergeDeep.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,KAAc,EAAoC,EAAE;IACzE,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,WAAW,KAAK,MAAM;QAC5B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAC5D,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAIvB,MAAS,EACT,GAAG,OAAU,EACuB,EAAE;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAA4C,CAAC;IACtD,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/B,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAE7B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAE/B,MAAkC,CAAC,GAAG,CAAC;oBACtC,aAAa,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC;wBACtD,CAAC,CAAC,SAAS,CACP,WAAsC,EACtC,WAAsC,CACvC;wBACH,CAAC,CAAC,WAAW,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC,MAAM,EAAE,GAAG,OAAO,CAAuC,CAAC;IAC7E,CAAC;IAED,OAAO,SAAS,CAAC,MAAW,EAAE,GAAG,OAAO,CACR,CAAC;AACnC,CAAC,CAAC"}
1
+ {"version":3,"file":"mergeDeep.js","sourceRoot":"","sources":["../../src/Object/mergeDeep.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,KAAc,EAAoC,EAAE;IACzE,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,WAAW,KAAK,MAAM;QAC5B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAC5D,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAIvB,MAAS,EACT,GAAG,OAAU,EACuB,EAAE;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAA4C,CAAC;IACtD,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/B,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAE7B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAE/B,MAAkC,CAAC,GAAG,CAAC;oBACtC,aAAa,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC;wBACtD,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;wBACrC,CAAC,CAAC,WAAW,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC,MAAM,EAAE,GAAG,OAAO,CAAuC,CAAC;IAC7E,CAAC;IAED,OAAO,SAAS,CAAC,MAAW,EAAE,GAAG,OAAO,CACR,CAAC;AACnC,CAAC,CAAC"}
@@ -7,6 +7,7 @@
7
7
  export const omit = (object, ...keys) => {
8
8
  const result = { ...object };
9
9
  for (const key of keys) {
10
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
10
11
  delete result[key];
11
12
  }
12
13
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/Object/omit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,MAAS,EACT,GAAG,IAAS,EACA,EAAE;IACd,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/Object/omit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,MAAS,EACT,GAAG,IAAS,EACA,EAAE;IACd,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,gEAAgE;QAChE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -29,7 +29,7 @@ export const pickDeep = (object, ...keys) => {
29
29
  target[part] = current[part];
30
30
  }
31
31
  else {
32
- target[part] = target[part] || {};
32
+ target[part] = target[part] ?? {};
33
33
  current = current[part];
34
34
  target = target[part];
35
35
  }
@@ -22,7 +22,7 @@
22
22
  * applyFormatter("test", "invalid!@#", {}) // → "test"
23
23
  */
24
24
  export function applyFormatter(value, formatterString, formatters) {
25
- const match = formatterString.match(/^(\w+)(?:\(([^)]*)\))?$/);
25
+ const match = /^(\w+)(?:\(([^)]*)\))?$/.exec(formatterString);
26
26
  if (!match) {
27
27
  return String(value);
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"applyFormatter.js","sourceRoot":"","sources":["../../../src/String/formatString/applyFormatter.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAc,EACd,eAAuB,EACvB,UAAqC;IAErC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,EAAE,aAAa,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1E,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,eAAuB;IAC7C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAChD,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS,GAAG,IAAI,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,QAAQ,GAAG,KAAK,CAAC;YACjB,SAAS,GAAG,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,UAAU,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"applyFormatter.js","sourceRoot":"","sources":["../../../src/String/formatString/applyFormatter.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAc,EACd,eAAuB,EACvB,UAAqC;IAErC,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,EAAE,aAAa,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1E,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,eAAuB;IAC7C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAChD,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS,GAAG,IAAI,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,QAAQ,GAAG,KAAK,CAAC;YACjB,SAAS,GAAG,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,UAAU,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -28,7 +28,7 @@ export function getValue(object, path) {
28
28
  const segments = [];
29
29
  const parts = path.split(".");
30
30
  for (const part of parts) {
31
- const arrayMatch = part.match(/^(.+?)\[(-?\d+)\]$/);
31
+ const arrayMatch = /^(.+?)\[(-?\d+)\]$/.exec(part);
32
32
  if (arrayMatch) {
33
33
  const [, key, indexString] = arrayMatch;
34
34
  segments.push({ key, index: Number(indexString) });
@@ -1 +1 @@
1
- {"version":3,"file":"getValue.js","sourceRoot":"","sources":["../../../src/String/formatString/getValue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAe,EAAE,IAAY;IACpD,MAAM,QAAQ,GAA2C,EAAE,CAAC;IAE5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,UAAU,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,MAAM,CAAC;IAErB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACnD,OAAO;QACT,CAAC;QAED,OAAO,GAAI,OAAmC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE5D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"getValue.js","sourceRoot":"","sources":["../../../src/String/formatString/getValue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAe,EAAE,IAAY;IACpD,MAAM,QAAQ,GAAsC,EAAE,CAAC;IAEvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,UAAU,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,MAAM,CAAC;IAErB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACnD,OAAO;QACT,CAAC;QAED,OAAO,GAAI,OAAmC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE5D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { unwrap } from "../Tool/unwrap";
1
2
  /**
2
3
  * Converts Base64 to string
3
4
  * @param {string} base64String - Base64 encoded string
@@ -11,7 +12,7 @@ export const fromBase64 = (base64String) => {
11
12
  try {
12
13
  return new TextDecoder().decode(Uint8Array.from(atob(base64String)
13
14
  .split("")
14
- .map((c) => c.codePointAt(0))));
15
+ .map((c) => unwrap(c.codePointAt(0), "panic: invalid base64 string"))));
15
16
  }
16
17
  catch {
17
18
  throw new Error("Invalid Base64 string");
@@ -1 +1 @@
1
- {"version":3,"file":"fromBase64.js","sourceRoot":"","sources":["../../src/String/fromBase64.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAU,EAAE;IACzD,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAC7B,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,YAAY,CAAC;aACf,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAW,CAAC,CAC1C,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"fromBase64.js","sourceRoot":"","sources":["../../src/String/fromBase64.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAU,EAAE;IACzD,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAC7B,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,YAAY,CAAC;aACf,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,8BAA8B,CAAC,CAAC,CACxE,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * fuzzySearch("hello", ["hello", "world", "helo", "help"]);
9
9
  * // [{ item: "hello", score: 1 }, { item: "helo", score: 0.8 }, { item: "help", score: 0.6 }]
10
10
  */
11
- export declare const fuzzySearch: (query: string, items: string[], threshold?: number) => Array<{
11
+ export declare const fuzzySearch: (query: string, items: string[], threshold?: number) => {
12
12
  item: string;
13
13
  score: number;
14
- }>;
14
+ }[];
@@ -1 +1 @@
1
- {"version":3,"file":"fuzzySearch.js","sourceRoot":"","sources":["../../src/String/fuzzySearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAa,EACb,KAAe,EACf,SAAS,GAAG,GAAG,EACyB,EAAE;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAA2C,EAAE,CAAC;IAE3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,mBAAmB,CAClC,KAAK,CAAC,WAAW,EAAE,EACnB,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;QAEvC,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC"}
1
+ {"version":3,"file":"fuzzySearch.js","sourceRoot":"","sources":["../../src/String/fuzzySearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAa,EACb,KAAe,EACf,SAAS,GAAG,GAAG,EACoB,EAAE;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAsC,EAAE,CAAC;IAEtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,mBAAmB,CAClC,KAAK,CAAC,WAAW,EAAE,EACnB,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;QAEvC,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Calculates the Levenshtein distance between two strings
3
3
  * Returns the minimum number of single-character edits (insertions, deletions, or substitutions)
4
- * @param str1 - First string to compare
5
- * @param str2 - Second string to compare
4
+ * @param string1 - First string to compare
5
+ * @param string2 - Second string to compare
6
6
  * @returns The Levenshtein distance
7
7
  */
8
8
  export declare const levenshteinDistance: (string1: string, string2: string) => number;
@@ -1,38 +1,48 @@
1
1
  /**
2
2
  * Calculates the Levenshtein distance between two strings
3
3
  * Returns the minimum number of single-character edits (insertions, deletions, or substitutions)
4
- * @param str1 - First string to compare
5
- * @param str2 - Second string to compare
4
+ * @param string1 - First string to compare
5
+ * @param string2 - Second string to compare
6
6
  * @returns The Levenshtein distance
7
7
  */
8
8
  export const levenshteinDistance = (string1, string2) => {
9
+ if (string1 === string2) {
10
+ return 0;
11
+ }
9
12
  const length1 = string1.length;
10
13
  const length2 = string2.length;
11
- // Return the length of the other string if one is empty
12
14
  if (length1 === 0) {
13
15
  return length2;
14
16
  }
15
17
  if (length2 === 0) {
16
18
  return length1;
17
19
  }
18
- // Create a 2D array for dynamic programming
19
- const matrix = Array.from({ length: length1 + 1 }, () => Array.from({ length: length2 + 1 }, () => 0));
20
- // Initialize first column and row
21
- for (let index = 0; index <= length1; index++) {
22
- matrix[index][0] = index;
20
+ // Ensure string1 is the shorter string to minimize space complexity to O(min(N, M))
21
+ if (length1 > length2) {
22
+ return levenshteinDistance(string2, string1);
23
23
  }
24
- for (let index = 0; index <= length2; index++) {
25
- matrix[0][index] = index;
24
+ // Create a single row array to store distances
25
+ // We only need the current row and the previous diagonal value
26
+ // eslint-disable-next-line unicorn/no-new-array
27
+ const row = new Array(length1 + 1);
28
+ // Initialize first row (0 to length1)
29
+ for (let index = 0; index <= length1; index++) {
30
+ row[index] = index;
26
31
  }
27
- // Calculate distances
28
- for (let index = 1; index <= length1; index++) {
29
- for (let index_ = 1; index_ <= length2; index_++) {
30
- const cost = string1[index - 1] === string2[index_ - 1] ? 0 : 1;
31
- matrix[index][index_] = Math.min(matrix[index - 1][index_] + 1, // deletion
32
- matrix[index][index_ - 1] + 1, // insertion
33
- matrix[index - 1][index_ - 1] + cost);
32
+ // Iterate through each character of string2
33
+ for (let index = 1; index <= length2; index++) {
34
+ let previousDiagonal = row[0]; // Stores the value of matrix[i-1][j-1]
35
+ row[0] = index; // Update first element for the new row (matrix[0][j])
36
+ const char2 = string2[index - 1];
37
+ for (let index = 1; index <= length1; index++) {
38
+ const temporary = row[index]; // Store current value to become prevDiagonal for next iteration
39
+ const cost = string1[index - 1] === char2 ? 0 : 1;
40
+ row[index] = Math.min(row[index] + 1, // deletion (value from previous row, same column)
41
+ row[index - 1] + 1, // insertion (value from current row, previous column)
42
+ previousDiagonal + cost);
43
+ previousDiagonal = temporary;
34
44
  }
35
45
  }
36
- return matrix[length1][length2];
46
+ return row[length1];
37
47
  };
38
48
  //# sourceMappingURL=levenshteinDistance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"levenshteinDistance.js","sourceRoot":"","sources":["../../src/String/levenshteinDistance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAe,EACf,OAAe,EACP,EAAE;IACV,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAE/B,wDAAwD;IACxD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4CAA4C;IAC5C,MAAM,MAAM,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAClE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAC7C,CAAC;IAEF,kCAAkC;IAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,sBAAsB;IACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAC9B,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW;YAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY;YAC3C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CACrC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC,CAAC"}
1
+ {"version":3,"file":"levenshteinDistance.js","sourceRoot":"","sources":["../../src/String/levenshteinDistance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAe,EACf,OAAe,EACP,EAAE;IACV,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAE/B,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,oFAAoF;IACpF,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;QACtB,OAAO,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,+CAA+C;IAC/C,+DAA+D;IAC/D,gDAAgD;IAChD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAEnC,sCAAsC;IACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,4CAA4C;IAC5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,IAAI,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,uCAAuC;QACtE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,sDAAsD;QAEtE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,gEAAgE;YAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CACnB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,kDAAkD;YAClE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,sDAAsD;YAC1E,gBAAgB,GAAG,IAAI,CACxB,CAAC;YAEF,gBAAgB,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC,CAAC"}
@@ -5,7 +5,6 @@
5
5
  * @param {number} targetLength - The target length after padding
6
6
  * @param {string} padString - The string to use for padding
7
7
  * @returns {string} The padded string
8
- * @throws {Error} If padString is empty
9
8
  * @example
10
9
  * ```typescript
11
10
  * padStart("123", 5, "0"); // Returns: "00123"
@@ -5,7 +5,6 @@
5
5
  * @param {number} targetLength - The target length after padding
6
6
  * @param {string} padString - The string to use for padding
7
7
  * @returns {string} The padded string
8
- * @throws {Error} If padString is empty
9
8
  * @example
10
9
  * ```typescript
11
10
  * padStart("123", 5, "0"); // Returns: "00123"
@@ -13,11 +12,8 @@
13
12
  * ```
14
13
  */
15
14
  export const padStart = (string_, targetLength, padString) => {
16
- if (padString === "") {
17
- throw new Error("padString cannot be empty");
18
- }
19
- // Return original string if it's longer than target length
20
- if (string_.length >= targetLength) {
15
+ // Return original string if padString is empty or string is already long enough
16
+ if (padString === "" || string_.length >= targetLength) {
21
17
  return string_;
22
18
  }
23
19
  let padding = "";
@@ -1 +1 @@
1
- {"version":3,"file":"padStart.js","sourceRoot":"","sources":["../../src/String/padStart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,OAAe,EACf,YAAoB,EACpB,SAAiB,EACT,EAAE;IACV,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,MAAM,aAAa,GAAG,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAEpD,uCAAuC;IACvC,OAAO,OAAO,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACtC,OAAO,IAAI,SAAS,CAAC;IACvB,CAAC;IAED,2EAA2E;IAC3E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC;AACnD,CAAC,CAAC"}
1
+ {"version":3,"file":"padStart.js","sourceRoot":"","sources":["../../src/String/padStart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,OAAe,EACf,YAAoB,EACpB,SAAiB,EACT,EAAE;IACV,gFAAgF;IAChF,IAAI,SAAS,KAAK,EAAE,IAAI,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,MAAM,aAAa,GAAG,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAEpD,uCAAuC;IACvC,OAAO,OAAO,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACtC,OAAO,IAAI,SAAS,CAAC;IACvB,CAAC;IAED,2EAA2E;IAC3E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC;AACnD,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./createPipeline";
2
2
  export * from "./parseJson";
3
3
  export * from "./pipe";
4
+ export * from "./unwrap";
@@ -1,4 +1,5 @@
1
1
  export * from "./createPipeline";
2
2
  export * from "./parseJson";
3
3
  export * from "./pipe";
4
+ export * from "./unwrap";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Tool/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Tool/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Unwraps a value that may be undefined or null, throwing an error if the value is absent
3
+ * @template T The type of the value to unwrap
4
+ * @param value The value to unwrap (may be undefined or null)
5
+ * @param message The error message to throw if the value is absent
6
+ * @returns The unwrapped value of type T
7
+ * @throws {Error} If the value is undefined or null
8
+ */
9
+ export declare const unwrap: <T>(value: T | undefined | null, message: string) => T;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Unwraps a value that may be undefined or null, throwing an error if the value is absent
3
+ * @template T The type of the value to unwrap
4
+ * @param value The value to unwrap (may be undefined or null)
5
+ * @param message The error message to throw if the value is absent
6
+ * @returns The unwrapped value of type T
7
+ * @throws {Error} If the value is undefined or null
8
+ */
9
+ export const unwrap = (value, message) => {
10
+ if (value !== undefined && value !== null) {
11
+ return value;
12
+ }
13
+ throw new Error(message);
14
+ };
15
+ //# sourceMappingURL=unwrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unwrap.js","sourceRoot":"","sources":["../../src/Tool/unwrap.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,KAA2B,EAAE,OAAe,EAAK,EAAE;IAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC"}
@@ -17,7 +17,7 @@ export const array = (option = {}, message) => {
17
17
  if (!isArray(values)) {
18
18
  return {
19
19
  validate: false,
20
- message: message || "",
20
+ message: message ?? "",
21
21
  type: values,
22
22
  };
23
23
  }
@@ -12,7 +12,7 @@ export const core = (type) => (value, option = [], message) => {
12
12
  if (typeof value !== type) {
13
13
  return {
14
14
  validate: false,
15
- message: message || "",
15
+ message: message ?? "",
16
16
  type,
17
17
  };
18
18
  }
@@ -20,7 +20,7 @@ export const core = (type) => (value, option = [], message) => {
20
20
  if (!validate.validate(value)) {
21
21
  return {
22
22
  validate: false,
23
- message: validate.message || "",
23
+ message: validate.message ?? "",
24
24
  type,
25
25
  };
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"isDeepEqual.js","sourceRoot":"","sources":["../../src/Validate/isDeepEqual.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isDeepEqual.js","sourceRoot":"","sources":["../../src/Validate/isDeepEqual.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export const object = (option = {}, message) => {
15
15
  if (!isDictionaryObject(value)) {
16
16
  return {
17
17
  validate: false,
18
- message: message || "",
18
+ message: message ?? "",
19
19
  // biome-ignore lint/suspicious/noExplicitAny: Type assertion needed for return type compatibility
20
20
  type: value,
21
21
  };
@@ -1,7 +1,7 @@
1
1
  export type ParseEmailLevel = "basic" | "rfc822" | "rfc2822" | "rfc5321" | "rfc5322";
2
- export type ParseEmailOptions = {
2
+ export interface ParseEmailOptions {
3
3
  level: ParseEmailLevel;
4
- };
4
+ }
5
5
  export declare const parseEmail: ({ email, options, }: {
6
6
  email: string;
7
7
  options: ParseEmailOptions;
@@ -8,15 +8,14 @@
8
8
  * @param {string} [message] - Custom error message for validation failure
9
9
  * @returns {ValidateReturnType<string>} - Validator for UUID strings
10
10
  */
11
- export const uuid = (versions = [4], message) => ({
12
- type: "string",
13
- message,
14
- validate: (value) => {
15
- return versions.some((version) => {
16
- // Regular expression for specific UUID version
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
- return versionRegex.test(value);
19
- });
20
- },
21
- });
11
+ export const uuid = (versions = [4], message) => {
12
+ const versionRegexes = versions.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
+ return {
14
+ type: "string",
15
+ message,
16
+ validate: (value) => {
17
+ return versionRegexes.some((regex) => regex.test(value));
18
+ },
19
+ };
20
+ };
22
21
  //# sourceMappingURL=uuid.js.map
@@ -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,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"}
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,cAAc,GAAG,QAAQ,CAAC,GAAG,CACjC,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"}
@@ -15,7 +15,7 @@ export const validateEmail = (message, options) => {
15
15
  validate: (value) => {
16
16
  return parseEmail({
17
17
  email: value,
18
- options: options || { level: "basic" },
18
+ options: options ?? { level: "basic" },
19
19
  }).valid;
20
20
  },
21
21
  };
@@ -10,5 +10,5 @@
10
10
  * rangeAdvance(1, 10, (number) => number % 2 === 0); // [2, 4, 6, 8]
11
11
  * ```
12
12
  */
13
- declare const rangeAdvance: (start: number, end?: number, conditionalExpression?: (number_: number) => boolean) => number[];
13
+ declare const rangeAdvance: (start: number, end: number, conditionalExpression?: (number_: number) => boolean) => number[];
14
14
  export { rangeAdvance };
@@ -16,6 +16,9 @@ exports.checkFlagAlignment = void 0;
16
16
  */
17
17
  var checkFlagAlignment = exports.checkFlagAlignment = function checkFlagAlignment(matrix) {
18
18
  var rows = matrix.length;
19
+ if (rows === 0 || matrix[0].length === 0) {
20
+ return false;
21
+ }
19
22
  var cols = matrix[0].length;
20
23
 
21
24
  // Check horizontal alignment
@@ -21,32 +21,58 @@ var getArraysCommon = exports.getArraysCommon = function getArraysCommon(array)
21
21
  if (arrays.length === 0) {
22
22
  return array;
23
23
  }
24
- var result = array.filter(function (item) {
25
- // Handle NaN specially since NaN !== NaN
26
- if (Number.isNaN(item)) {
27
- return arrays.every(function (currentArray) {
28
- return currentArray.some(function (arrayItem) {
29
- return Number.isNaN(arrayItem);
30
- });
31
- });
32
- }
33
- return arrays.every(function (currentArray) {
34
- return currentArray.includes(item);
35
- });
24
+ var THRESHOLD = 120;
25
+
26
+ // Convert other arrays to Sets for O(1) lookup if they are large enough
27
+ var otherCollections = arrays.map(function (array_) {
28
+ return array_.length > THRESHOLD ? new Set(array_) : array_;
36
29
  });
37
30
  var uniqueResult = [];
38
- var _iterator = _createForOfIteratorHelper(result),
31
+
32
+ // Use a Set to track seen items for uniqueness if the input array is large,
33
+ // otherwise just check the result array which is faster for small sizes.
34
+ var useSeenSet = array.length > THRESHOLD;
35
+ var seen = useSeenSet ? new Set() : undefined;
36
+ var _iterator = _createForOfIteratorHelper(array),
39
37
  _step;
40
38
  try {
41
39
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
42
40
  var item = _step.value;
43
- if (Number.isNaN(item)) {
44
- if (!uniqueResult.some(function (existing) {
45
- return Number.isNaN(existing);
46
- })) {
47
- uniqueResult.push(item);
41
+ // Check uniqueness
42
+ if (seen) {
43
+ if (seen.has(item)) {
44
+ continue;
45
+ }
46
+ } else if (uniqueResult.includes(item)) {
47
+ continue;
48
+ }
49
+
50
+ // Check if item is present in all other arrays/sets
51
+ var isCommon = true;
52
+ var _iterator2 = _createForOfIteratorHelper(otherCollections),
53
+ _step2;
54
+ try {
55
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
56
+ var collection = _step2.value;
57
+ if (collection instanceof Set) {
58
+ if (!collection.has(item)) {
59
+ isCommon = false;
60
+ break;
61
+ }
62
+ } else if (!collection.includes(item)) {
63
+ isCommon = false;
64
+ break;
65
+ }
66
+ }
67
+ } catch (err) {
68
+ _iterator2.e(err);
69
+ } finally {
70
+ _iterator2.f();
71
+ }
72
+ if (isCommon) {
73
+ if (seen) {
74
+ seen.add(item);
48
75
  }
49
- } else if (!uniqueResult.includes(item)) {
50
76
  uniqueResult.push(item);
51
77
  }
52
78
  }
@@ -18,10 +18,11 @@ var groupBy = exports.groupBy = function groupBy(array, iteratee) {
18
18
  var result = Object.create(null);
19
19
  var length = array.length;
20
20
  for (var index = 0; index < length; index++) {
21
+ var _result$key;
21
22
  var value = array[index];
22
23
  var key = iteratee(value, index, array);
23
24
  // biome-ignore lint/suspicious/noAssignInExpressions: ignore
24
- (result[key] || (result[key] = [])).push(value);
25
+ ((_result$key = result[key]) !== null && _result$key !== void 0 ? _result$key : result[key] = []).push(value);
25
26
  }
26
27
  return result;
27
28
  };