toolbox-x 1.2.1 → 2.0.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 (130) hide show
  1. package/dist/{Color-Dsut0Bex.d.cts → Color-BCsnSEmt.d.cts} +1 -1
  2. package/dist/{Color-DCfoQk_-.d.mts → Color-CKmhtXdG.d.mts} +1 -1
  3. package/dist/{Stylog-DXZtHAbp.d.mts → Stylog-CXpN-oeY.d.mts} +5 -5
  4. package/dist/{Stylog-TyLCTRtT.d.cts → Stylog-DJOVxym_.d.cts} +5 -5
  5. package/dist/{area-CcRQ6TfR.d.cts → area-CHhwLR12.d.cts} +3 -3
  6. package/dist/{area-CvSC96va.d.mts → area-DOqFLNcr.d.mts} +3 -3
  7. package/dist/{array-B6jWzJ4F.d.mts → array-BNbTIBni.d.mts} +1 -1
  8. package/dist/{array-CqDu610k.d.cts → array-CL3apdfa.d.cts} +1 -1
  9. package/dist/{basics-KobRNhV-.d.cts → basics-B9aytOct.d.cts} +5 -5
  10. package/dist/{basics-V5M2oltn.d.mts → basics-BNQqY5WD.d.mts} +5 -5
  11. package/dist/{basics-K8BDSYD6.cjs → basics-CJmdhXoo.cjs} +567 -14
  12. package/dist/{basics-1_M7UvCn.mjs → basics-CebgkY-n.mjs} +449 -16
  13. package/dist/{case-uKFzt5TY.cjs → case-Bd7QLHYw.cjs} +3 -3
  14. package/dist/{case-KdrBKjjK.d.mts → case-Bkkm6Mqi.d.mts} +12 -12
  15. package/dist/{case-BQwn5N-k.mjs → case-DBC4Rj0h.mjs} +3 -3
  16. package/dist/{case--Vjea9DS.d.cts → case-DFD3Ml1p.d.cts} +12 -12
  17. package/dist/change-case.cjs +1 -1
  18. package/dist/change-case.d.cts +1 -1
  19. package/dist/change-case.d.mts +1 -1
  20. package/dist/change-case.mjs +1 -1
  21. package/dist/colors.d.cts +2 -2
  22. package/dist/colors.d.mts +2 -2
  23. package/dist/{constants-C4RW7Lei.cjs → constants-Dz5vxNQ9.cjs} +37 -0
  24. package/dist/{constants-rNhoy4DH.mjs → constants-j-iXjwDl.mjs} +32 -1
  25. package/dist/constants.cjs +1 -1
  26. package/dist/constants.d.cts +1 -1
  27. package/dist/constants.d.mts +1 -1
  28. package/dist/constants.mjs +1 -1
  29. package/dist/converter.cjs +2 -2
  30. package/dist/converter.d.cts +2 -2
  31. package/dist/converter.d.mts +2 -2
  32. package/dist/converter.mjs +2 -2
  33. package/dist/date.cjs +51 -10
  34. package/dist/date.d.cts +22 -5
  35. package/dist/date.d.mts +22 -5
  36. package/dist/date.mjs +49 -11
  37. package/dist/dom.cjs +5 -6
  38. package/dist/dom.d.cts +3 -3
  39. package/dist/dom.d.mts +3 -3
  40. package/dist/dom.mjs +4 -5
  41. package/dist/{form-DoQGMTOc.d.mts → form-CC9T9WnX.d.cts} +2 -2
  42. package/dist/{form-mP-nl8EC.d.cts → form-CheKmgjj.d.mts} +2 -2
  43. package/dist/guards-B2s2wlVN.mjs +425 -0
  44. package/dist/{guards-C0smSAKC.mjs → guards-BK1QuvFZ.mjs} +2 -2
  45. package/dist/{guards-ClGDJrQp.cjs → guards-Bsh6Bfdq.cjs} +2 -2
  46. package/dist/{guards-0VjySrPM.cjs → guards-DMJcjPDt.cjs} +279 -3
  47. package/dist/guards.cjs +9 -8
  48. package/dist/guards.d.cts +6 -5
  49. package/dist/guards.d.mts +6 -5
  50. package/dist/guards.mjs +5 -5
  51. package/dist/{hash-BcoFHSu1.d.cts → hash-C0Wr7H8v.d.mts} +1 -1
  52. package/dist/{hash-GYRx2ee_.d.mts → hash-DJ8b9VHB.d.cts} +1 -1
  53. package/dist/hash.cjs +8 -8
  54. package/dist/hash.d.cts +8 -8
  55. package/dist/hash.d.mts +8 -8
  56. package/dist/hash.mjs +4 -5
  57. package/dist/{http-status-xrlR-LlB.d.mts → http-status-BSee6mB5.d.mts} +1 -1
  58. package/dist/{http-status-C0DOpCDf.d.cts → http-status-DJn87B_Y.d.cts} +1 -1
  59. package/dist/http-status.cjs +4 -4
  60. package/dist/http-status.d.cts +6 -6
  61. package/dist/http-status.d.mts +6 -6
  62. package/dist/http-status.mjs +4 -4
  63. package/dist/index-01oaUuP6.d.mts +292 -0
  64. package/dist/index-CgwlWrZM.d.cts +292 -0
  65. package/dist/index.cjs +67 -248
  66. package/dist/index.d.cts +25 -280
  67. package/dist/index.d.mts +25 -280
  68. package/dist/index.mjs +11 -194
  69. package/dist/{object-ChFVh95z.d.cts → object-Mglyg4AW.d.cts} +28 -1
  70. package/dist/{object-ChFVh95z.d.mts → object-Mglyg4AW.d.mts} +28 -1
  71. package/dist/{objectify-DEnFpPt1.mjs → objectify-CQa8gQib.mjs} +3 -4
  72. package/dist/{objectify-DewBSJP_.cjs → objectify-xQvZS3UI.cjs} +5 -6
  73. package/dist/paginator.d.cts +1 -1
  74. package/dist/paginator.d.mts +1 -1
  75. package/dist/{parse-DovagZFA.cjs → parse-BWu3UbOk.cjs} +4 -4
  76. package/dist/{parse-BhZ6-tKg.mjs → parse-CNDdS-sy.mjs} +4 -4
  77. package/dist/{pluralizer-CdG-VJ6t.d.cts → pluralizer-BGMC8LLz.d.cts} +1 -1
  78. package/dist/{pluralizer-D2Lh8CdU.d.mts → pluralizer-CQNzRhwR.d.mts} +1 -1
  79. package/dist/pluralizer.cjs +6 -6
  80. package/dist/pluralizer.d.cts +6 -6
  81. package/dist/pluralizer.d.mts +6 -6
  82. package/dist/pluralizer.mjs +6 -6
  83. package/dist/{specials-Cye93-uo.mjs → specials-Hq5Ncd6y.mjs} +2 -2
  84. package/dist/{specials-BM6cx43o.cjs → specials-dkYP1Nh2.cjs} +2 -2
  85. package/dist/{string-Dq2b8rcN.d.cts → string-BDwBuik3.d.cts} +4 -2
  86. package/dist/{string-CkwTVFeL.d.mts → string-_1ImwUJT.d.mts} +4 -2
  87. package/dist/stylog.cjs +5 -5
  88. package/dist/stylog.d.cts +2 -2
  89. package/dist/stylog.d.mts +2 -2
  90. package/dist/stylog.mjs +5 -5
  91. package/dist/types/array.d.cts +1 -1
  92. package/dist/types/array.d.mts +1 -1
  93. package/dist/types/colors.d.cts +1 -1
  94. package/dist/types/colors.d.mts +1 -1
  95. package/dist/types/converter.d.cts +1 -1
  96. package/dist/types/converter.d.mts +1 -1
  97. package/dist/types/date.d.cts +2 -2
  98. package/dist/types/date.d.mts +2 -2
  99. package/dist/types/form.d.cts +1 -1
  100. package/dist/types/form.d.mts +1 -1
  101. package/dist/types/hash.d.cts +1 -1
  102. package/dist/types/hash.d.mts +1 -1
  103. package/dist/types/http-status.d.cts +1 -1
  104. package/dist/types/http-status.d.mts +1 -1
  105. package/dist/types/index.d.cts +2 -2
  106. package/dist/types/index.d.mts +2 -2
  107. package/dist/types/number.d.cts +1 -1
  108. package/dist/types/number.d.mts +1 -1
  109. package/dist/types/object.d.cts +2 -2
  110. package/dist/types/object.d.mts +2 -2
  111. package/dist/types/pluralizer.d.cts +1 -1
  112. package/dist/types/pluralizer.d.mts +1 -1
  113. package/dist/types/string.d.cts +2 -2
  114. package/dist/types/string.d.mts +2 -2
  115. package/dist/types/stylog.d.cts +1 -1
  116. package/dist/types/stylog.d.mts +1 -1
  117. package/dist/types/utils.d.cts +1 -1
  118. package/dist/types/utils.d.mts +1 -1
  119. package/dist/{utilities-CzyXCRHM.cjs → utilities-CWV1GPGY.cjs} +1 -1
  120. package/dist/{utilities-B9axOvOX.mjs → utilities-DPscNbS1.mjs} +1 -1
  121. package/dist/{uuid-DgTBxcVu.d.cts → uuid-CiJtSUbo.d.cts} +3 -3
  122. package/dist/{uuid-Yc3Uu8qr.d.mts → uuid-D-gjPs4Q.d.mts} +3 -3
  123. package/dist/verbalizer.cjs +3 -3
  124. package/dist/verbalizer.d.cts +3 -3
  125. package/dist/verbalizer.d.mts +3 -3
  126. package/dist/verbalizer.mjs +3 -3
  127. package/package.json +7 -6
  128. package/dist/guards-DeO4ukiK.mjs +0 -221
  129. package/dist/utils-BxguWSoa.cjs +0 -568
  130. package/dist/utils-DXovsTKs.mjs +0 -449
@@ -15,9 +15,183 @@
15
15
  */
16
16
 
17
17
  const require_primitives = require('./primitives-CBGICrDR.cjs');
18
- const require_utilities = require('./utilities-CzyXCRHM.cjs');
19
- const require_basics = require('./basics-K8BDSYD6.cjs');
18
+ const require_specials = require('./specials-dkYP1Nh2.cjs');
19
+ const require_utilities = require('./utilities-CWV1GPGY.cjs');
20
+ const require_basics = require('./basics-CJmdhXoo.cjs');
20
21
 
22
+ //#region src/object/basics.ts
23
+ /**
24
+ * * Deep clone an object using `structuredClone` or deterministic *JSON serialization*.
25
+ *
26
+ * @param obj Object to clone.
27
+ * @param serialize Whether to force deterministic JSON serialization instead of using `structuredClone`. Defaults to `false`.
28
+ * @returns Deep cloned object.
29
+ *
30
+ * @remarks
31
+ * **Primary behavior**
32
+ * - By default (`serialize = false`), the function uses {@link https://developer.mozilla.org/docs/Web/API/Window/structuredClone structuredClone} when available. This supports:
33
+ * - Circular references
34
+ * - `Date` objects
35
+ * - `Map` / `Set`
36
+ * - `RegExp`
37
+ * - Typed arrays
38
+ * - Most built-in JavaScript types
39
+ * - Preserves `undefined` values
40
+ *
41
+ * - **Note:** `structuredClone` **does not preserve class prototypes**, even though it preserves data types like `Date`, `Map`, and `Set`.
42
+ *
43
+ * **Deterministic serialization mode**
44
+ * - When `serialize = true`, or when `structuredClone` is unavailable, the function falls back to **stable JSON serialization** via `stableStringify`. This guarantees:
45
+ * - All object keys are sorted alphabetically.
46
+ * - Consistent output across environments (deterministic).
47
+ * - All `undefined` values are converted to `null`.
48
+ * - Converting date-like objects (`Date`, `Chronos`, `Moment.js`, `Day.js`, `Luxon`, `JS-Joda`, `Temporal`) **in the same way that {@link JSON.stringify} would serialize them**, ensuring predictable and JSON-compliant output.
49
+ *
50
+ * - This mode is ideal for:
51
+ * - Hashing
52
+ * - Signature generation
53
+ * - Deep equality checks
54
+ * - Anything requiring deterministic, environment-neutral output
55
+ *
56
+ * **Deterministic mode limitations**
57
+ * - JSON serialization will:
58
+ * - Drop functions and `Symbol` values.
59
+ * - Lose prototype and class instance information.
60
+ * - Convert all date-like objects into strings.
61
+ * - Fail on circular references.
62
+ *
63
+ * **Final safety fallback**
64
+ * - If JSON serialization fails (e.g., due to circular references), the function returns a **shallow clone** (`{ ...obj }`) to ensure the cloning never throws.
65
+ */
66
+ function cloneObject(obj, serialize = false) {
67
+ try {
68
+ if (!serialize && typeof structuredClone === "function") return structuredClone(obj);
69
+ return JSON.parse(require_basics.stableStringify(obj));
70
+ } catch {
71
+ return { ...obj };
72
+ }
73
+ }
74
+ /**
75
+ * * Count the number of fields in an object.
76
+ *
77
+ * @param obj Object to check.
78
+ * @returns Number of fields in the object.
79
+ */
80
+ function countObjectFields(obj) {
81
+ if (obj != null) return Object.keys(obj)?.length;
82
+ return 0;
83
+ }
84
+ function extractObjectKeys(obj, tuple) {
85
+ const keys = require_specials.isNotEmptyObject(obj) ? Object.keys(obj) : [];
86
+ return tuple ? keys : keys;
87
+ }
88
+ /**
89
+ * * Recursively extracts all nested keys from an object as an array.
90
+ *
91
+ * @remarks
92
+ * - Returns an empty array (`[]`) for an empty object or a non-object value.
93
+ * - For only top-level keys, use {@link extractObjectKeys}.
94
+ *
95
+ * @param obj The object from which to extract the keys.
96
+ * @returns An array of all the nested keys (string literals) from the specified object.
97
+ */
98
+ function extractObjectKeysDeep(obj) {
99
+ function _getDeepKeys(candidate) {
100
+ let result = [];
101
+ for (const key in candidate) {
102
+ result.push(key);
103
+ if (require_specials.isNotEmptyObject(candidate[key])) result = [...result, ..._getDeepKeys(candidate[key])];
104
+ }
105
+ return result;
106
+ }
107
+ return require_specials.isNotEmptyObject(obj) ? _getDeepKeys(obj) : [];
108
+ }
109
+ /**
110
+ * * Extracts all the top-level entries of an object as an array of key-value pairs.
111
+ *
112
+ * @remarks
113
+ * - Returns an empty array (`[]`) for an empty object or a non-object value.
114
+ * - Internally uses {@link Object.entries}.
115
+ *
116
+ * @param obj The object from which to extract the entries.
117
+ * @returns An array of key-value pairs.
118
+ */
119
+ function extractObjectEntries(obj) {
120
+ return require_specials.isNotEmptyObject(obj) ? Object.entries(obj) : [];
121
+ }
122
+
123
+ //#endregion
124
+ //#region src/array/basics.ts
125
+ /**
126
+ * * Flattens a nested array recursively or wraps any non-array data type in an array.
127
+ *
128
+ * @param input - The input value, which can be a nested array or a non-array value.
129
+ * @returns A fully flattened array of type `Flatten<T>`. If the input is not an array, it wraps it in a single-element array.
130
+ */
131
+ const flattenArray = (input) => {
132
+ if (!Array.isArray(input)) return [input];
133
+ return input.reduce((acc, item) => {
134
+ return acc.concat(Array.isArray(item) ? flattenArray(item) : [item]);
135
+ }, []);
136
+ };
137
+ /**
138
+ * * Filters an array of objects based on multiple conditions for specified keys.
139
+ *
140
+ * @param array - The array of objects to filter.
141
+ * @param conditions - An object where keys represent the property names and values represent filter conditions.
142
+ * The conditions can be a function `(value: T[K]) => boolean`.
143
+ * @returns The filtered array of objects.
144
+ * @throws `Error` If the input is not a valid array.
145
+ *
146
+ * @remarks Use `findAll` instance method from `Finder` class for **more advanced filtering and searching.**
147
+ */
148
+ const filterArrayOfObjects = (array, conditions) => {
149
+ if (!Array.isArray(array)) throw new TypeError("The provided input is not a valid array!");
150
+ return array?.filter((item) => {
151
+ return extractObjectEntries(conditions)?.every((pair) => {
152
+ const [key, conditionFn] = pair ?? [];
153
+ if (key && require_specials.isFunction(conditionFn)) return conditionFn(item[key]);
154
+ return true;
155
+ });
156
+ });
157
+ };
158
+ /**
159
+ * * Checks if a value is an empty array or an array with only empty values.
160
+ *
161
+ * @param value - The value to check.
162
+ * @returns `true` if the value is not an array, an empty array, or an array containing only `null`, `undefined`, empty objects, or empty arrays.
163
+ */
164
+ const isInvalidOrEmptyArray = (value) => {
165
+ if (!Array.isArray(value)) return true;
166
+ if (value?.length === 0) return true;
167
+ return value?.every((item) => item == null || Array.isArray(item) && item?.length === 0 || typeof item === "object" && Object.keys(item || {})?.length === 0);
168
+ };
169
+ /**
170
+ * * Shuffle the elements of an array.
171
+ *
172
+ * @param array Array to shuffle.
173
+ * @returns Shuffled array.
174
+ */
175
+ const shuffleArray = (array) => {
176
+ if (isInvalidOrEmptyArray(array)) return array;
177
+ const shuffled = [...array];
178
+ for (let i = shuffled?.length - 1; i > 0; i--) {
179
+ const j = Math.floor(Math.random() * (i + 1));
180
+ [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
181
+ }
182
+ return shuffled;
183
+ };
184
+ /**
185
+ * * Get the last element of an array.
186
+ *
187
+ * @param array Array to get the last element from.
188
+ * @returns The last element or `undefined` if the array is empty.
189
+ */
190
+ const getLastArrayElement = (array) => {
191
+ return array?.length > 0 ? array[array?.length - 1] : void 0;
192
+ };
193
+
194
+ //#endregion
21
195
  //#region src/number/guards.ts
22
196
  /**
23
197
  * * Check if a number is even or not.
@@ -79,6 +253,34 @@ function areInvalidNumbers(...numbers) {
79
253
  return numbers?.some((n) => !Number.isFinite(n));
80
254
  }
81
255
 
256
+ //#endregion
257
+ //#region src/number/prime.ts
258
+ /**
259
+ * * Checks if a number is prime.
260
+ *
261
+ * @param number The number to check.
262
+ * @returns Boolean: `true` if the number is prime, otherwise `false`.
263
+ */
264
+ const isPrime = (number) => {
265
+ if (number < 2) return false;
266
+ if (number === 2 || number === 3) return true;
267
+ if (number % 2 === 0 || number % 3 === 0) return false;
268
+ for (let i = 5; i * i <= number; i += 6) if (number % i === 0 || number % (i + 2) === 0) return false;
269
+ return true;
270
+ };
271
+ /**
272
+ * * Find prime numbers in a given range.
273
+ *
274
+ * @param start The starting number of the range. Default is `1`.
275
+ * @param end The ending number of the range. Default is `1000`.
276
+ * @returns An array of prime numbers within the range (inclusive).
277
+ */
278
+ const findPrimeNumbers = (start = 1, end = 1e3) => {
279
+ let startNumber = start, endNumber = end;
280
+ if (start > end) [startNumber, endNumber] = [end, start];
281
+ return Array.from({ length: endNumber - startNumber + 1 }, (_, i) => startNumber + i).filter(isPrime);
282
+ };
283
+
82
284
  //#endregion
83
285
  //#region src/string/convert.ts
84
286
  /**
@@ -122,6 +324,8 @@ const maskString = (input, options) => {
122
324
  * * Reverses a given string.
123
325
  * @param input - The string to reverse.
124
326
  * @returns The reversed string.
327
+ *
328
+ * @remarks It {@link trimString trims} the whitespace of the input string before reversing it.
125
329
  */
126
330
  const reverseString = (input) => {
127
331
  return require_basics.trimString(input)?.split("")?.reverse()?.join("");
@@ -153,7 +357,7 @@ function extractURLs(str) {
153
357
  /**
154
358
  * * Returns a grammatically correct unit string, optionally prefixed with the number.
155
359
  *
156
- * @remarks For complex and versatile pluralization, please refer to {@link https://toolbox-x.nazmul-nhb.dev/docs/utilities/string/pluralizer pluralizer} or {@link https://toolbox-x.nazmul-nhb.dev/docs/classes/Pluralizer Pluralizer Class} instead.
360
+ * @remarks For complex and versatile pluralization, please refer to {@link https://toolbox-x.nazmul-nhb.dev/docs/utils/string/pluralizer pluralizer} or {@link https://toolbox-x.nazmul-nhb.dev/docs/classes/pluralizer Pluralizer Class} instead.
157
361
  *
158
362
  * @param count The numeric value to determine singular or plural.
159
363
  * @param unit The unit name (e.g., "day", "hour").
@@ -224,24 +428,78 @@ Object.defineProperty(exports, 'areInvalidNumbers', {
224
428
  return areInvalidNumbers;
225
429
  }
226
430
  });
431
+ Object.defineProperty(exports, 'cloneObject', {
432
+ enumerable: true,
433
+ get: function () {
434
+ return cloneObject;
435
+ }
436
+ });
437
+ Object.defineProperty(exports, 'countObjectFields', {
438
+ enumerable: true,
439
+ get: function () {
440
+ return countObjectFields;
441
+ }
442
+ });
227
443
  Object.defineProperty(exports, 'extractEmails', {
228
444
  enumerable: true,
229
445
  get: function () {
230
446
  return extractEmails;
231
447
  }
232
448
  });
449
+ Object.defineProperty(exports, 'extractObjectEntries', {
450
+ enumerable: true,
451
+ get: function () {
452
+ return extractObjectEntries;
453
+ }
454
+ });
455
+ Object.defineProperty(exports, 'extractObjectKeys', {
456
+ enumerable: true,
457
+ get: function () {
458
+ return extractObjectKeys;
459
+ }
460
+ });
461
+ Object.defineProperty(exports, 'extractObjectKeysDeep', {
462
+ enumerable: true,
463
+ get: function () {
464
+ return extractObjectKeysDeep;
465
+ }
466
+ });
233
467
  Object.defineProperty(exports, 'extractURLs', {
234
468
  enumerable: true,
235
469
  get: function () {
236
470
  return extractURLs;
237
471
  }
238
472
  });
473
+ Object.defineProperty(exports, 'filterArrayOfObjects', {
474
+ enumerable: true,
475
+ get: function () {
476
+ return filterArrayOfObjects;
477
+ }
478
+ });
479
+ Object.defineProperty(exports, 'findPrimeNumbers', {
480
+ enumerable: true,
481
+ get: function () {
482
+ return findPrimeNumbers;
483
+ }
484
+ });
485
+ Object.defineProperty(exports, 'flattenArray', {
486
+ enumerable: true,
487
+ get: function () {
488
+ return flattenArray;
489
+ }
490
+ });
239
491
  Object.defineProperty(exports, 'formatUnitWithPlural', {
240
492
  enumerable: true,
241
493
  get: function () {
242
494
  return formatUnitWithPlural;
243
495
  }
244
496
  });
497
+ Object.defineProperty(exports, 'getLastArrayElement', {
498
+ enumerable: true,
499
+ get: function () {
500
+ return getLastArrayElement;
501
+ }
502
+ });
245
503
  Object.defineProperty(exports, 'isCamelCase', {
246
504
  enumerable: true,
247
505
  get: function () {
@@ -266,6 +524,12 @@ Object.defineProperty(exports, 'isFibonacci', {
266
524
  return isFibonacci;
267
525
  }
268
526
  });
527
+ Object.defineProperty(exports, 'isInvalidOrEmptyArray', {
528
+ enumerable: true,
529
+ get: function () {
530
+ return isInvalidOrEmptyArray;
531
+ }
532
+ });
269
533
  Object.defineProperty(exports, 'isKebabCase', {
270
534
  enumerable: true,
271
535
  get: function () {
@@ -302,6 +566,12 @@ Object.defineProperty(exports, 'isPerfectSquare', {
302
566
  return isPerfectSquare;
303
567
  }
304
568
  });
569
+ Object.defineProperty(exports, 'isPrime', {
570
+ enumerable: true,
571
+ get: function () {
572
+ return isPrime;
573
+ }
574
+ });
305
575
  Object.defineProperty(exports, 'isSnakeCase', {
306
576
  enumerable: true,
307
577
  get: function () {
@@ -332,6 +602,12 @@ Object.defineProperty(exports, 'reverseString', {
332
602
  return reverseString;
333
603
  }
334
604
  });
605
+ Object.defineProperty(exports, 'shuffleArray', {
606
+ enumerable: true,
607
+ get: function () {
608
+ return shuffleArray;
609
+ }
610
+ });
335
611
  Object.defineProperty(exports, 'slugifyString', {
336
612
  enumerable: true,
337
613
  get: function () {
package/dist/guards.cjs CHANGED
@@ -17,10 +17,10 @@
17
17
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
18
18
  const require_primitives = require('./primitives-CBGICrDR.cjs');
19
19
  const require_guards = require('./guards-DGN95D2h.cjs');
20
- const require_specials = require('./specials-BM6cx43o.cjs');
21
- const require_guards$1 = require('./guards-ClGDJrQp.cjs');
22
- const require_basics = require('./basics-K8BDSYD6.cjs');
23
- const require_guards$2 = require('./guards-0VjySrPM.cjs');
20
+ const require_specials = require('./specials-dkYP1Nh2.cjs');
21
+ const require_guards$1 = require('./guards-Bsh6Bfdq.cjs');
22
+ const require_basics = require('./basics-CJmdhXoo.cjs');
23
+ const require_guards$2 = require('./guards-DMJcjPDt.cjs');
24
24
 
25
25
  exports.areInvalidNumbers = require_guards$2.areInvalidNumbers;
26
26
  exports.areNumbersInvalid = require_guards$2.areInvalidNumbers;
@@ -38,11 +38,11 @@ exports.isCamelCase = require_guards$2.isCamelCase;
38
38
  exports.isDate = require_specials.isDate;
39
39
  exports.isDateLike = require_guards$1.isDateLike;
40
40
  exports.isDateString = require_specials.isDateString;
41
+ exports.isDeepEqual = require_basics.isDeepEqual;
41
42
  exports.isEmail = require_specials.isEmail;
42
43
  exports.isEmailArray = require_specials.isEmailArray;
43
44
  exports.isEmojiOnly = require_guards$2.isEmojiOnly;
44
45
  exports.isEmptyObject = require_specials.isEmptyObject;
45
- exports.isEmptyObjectGuard = require_specials.isEmptyObject;
46
46
  exports.isEnvironment = require_specials.isEnvironment;
47
47
  exports.isError = require_specials.isError;
48
48
  exports.isEven = require_guards$2.isEven;
@@ -59,14 +59,15 @@ exports.isHexString = require_specials.isHexString;
59
59
  exports.isIPAddress = require_specials.isIPAddress;
60
60
  exports.isInteger = require_primitives.isInteger;
61
61
  exports.isInvalidNumber = require_guards$2.areInvalidNumbers;
62
+ exports.isInvalidOrEmptyArray = require_guards$2.isInvalidOrEmptyArray;
62
63
  exports.isJSON = require_specials.isJSON;
63
- exports.isJSONObject = require_specials.isJSON;
64
64
  exports.isKebabCase = require_guards$2.isKebabCase;
65
65
  exports.isLeapYear = require_guards$1.isLeapYear;
66
66
  exports.isMap = require_specials.isMap;
67
67
  exports.isMethod = require_specials.isMethodDescriptor;
68
68
  exports.isMethodDescriptor = require_specials.isMethodDescriptor;
69
69
  exports.isMultiple = require_guards$2.isMultiple;
70
+ exports.isMultipleOf = require_guards$2.isMultiple;
70
71
  exports.isNativeTimeZoneId = require_guards$1.isNativeTimeZoneId;
71
72
  exports.isNode = require_specials.isNode;
72
73
  exports.isNodeENV = require_specials.isEnvironment;
@@ -90,6 +91,8 @@ exports.isPascalCase = require_guards$2.isPascalCase;
90
91
  exports.isPerfectSquare = require_guards$2.isPerfectSquare;
91
92
  exports.isPhoneNumber = require_specials.isPhoneNumber;
92
93
  exports.isPositiveInteger = require_primitives.isPositiveInteger;
94
+ exports.isPrime = require_guards$2.isPrime;
95
+ exports.isPrimeNumber = require_guards$2.isPrime;
93
96
  exports.isPrimitive = require_primitives.isPrimitive;
94
97
  exports.isPromise = require_specials.isPromise;
95
98
  exports.isRGB = require_guards.isRGB;
@@ -117,9 +120,7 @@ exports.isUndefined = require_primitives.isUndefined;
117
120
  exports.isValidArray = require_specials.isValidArray;
118
121
  exports.isValidEmail = require_specials.isEmail;
119
122
  exports.isValidJSON = require_specials.isJSON;
120
- exports.isValidMap = require_specials.isMap;
121
123
  exports.isValidObject = require_specials.isNotEmptyObject;
122
- exports.isValidSet = require_specials.isSet;
123
124
  exports.isValidTime = require_guards$1.isValidTime;
124
125
  exports.isValidTimeString = require_guards$1.isValidTime;
125
126
  exports.isValidTimeZoneId = require_guards$1.isValidTimeZoneId;
package/dist/guards.d.cts CHANGED
@@ -14,9 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { $ as Maybe, Dt as ClockTime, J as FalsyPrimitive, Sn as UTCOffset, X as GenericFn, bt as $TimeZoneIdentifier, fn as TimeWithUnit, gn as TimeZoneIdNative, it as Numeric, jt as DateLike, lt as ValidArray, st as Primitive, tt as NormalPrimitive, y as GenericObject, z as AsyncFunction } from "./object-ChFVh95z.cjs";
18
- import { b as RGB, g as HSLA, h as HSL, s as CSSColor, v as Hex6, x as RGBA, y as Hex8 } from "./Color-Dsut0Bex.cjs";
19
- import { C as isURL, S as isPhoneNumber, _ as isEnvironment, a as isUUIDv4, b as isNode, c as isUUIDv7, d as isBase64, f as isBinaryString, g as isEmailArray, h as isEmail, i as isUUIDv3, l as isUUIDv8, m as isDateString, n as isUUIDv1, o as isUUIDv5, p as isBrowser, r as isUUIDv2, s as isUUIDv6, v as isHexString, w as isUUID, x as isNumericString, y as isIPAddress } from "./uuid-DgTBxcVu.cjs";
17
+ import { $ as GenericFn, B as AsyncFunction, Dn as UTCOffset, Ft as DateLike, Z as FalsyPrimitive, _n as TimeWithUnit, at as NormalPrimitive, ct as Numeric, dt as Primitive, jt as ClockTime, nt as Maybe, pt as ValidArray, rt as MethodDescriptor, wt as $TimeZoneIdentifier, xn as TimeZoneIdNative, y as GenericObject } from "./object-Mglyg4AW.cjs";
18
+ import { b as RGB, g as HSLA, h as HSL, s as CSSColor, v as Hex6, x as RGBA, y as Hex8 } from "./Color-BCsnSEmt.cjs";
19
+ import { S as isInvalidOrEmptyArray, f as isDeepEqual, v as isPrime } from "./index-CgwlWrZM.cjs";
20
+ import { C as isURL, S as isPhoneNumber, _ as isEnvironment, a as isUUIDv4, b as isNode, c as isUUIDv7, d as isBase64, f as isBinaryString, g as isEmailArray, h as isEmail, i as isUUIDv3, l as isUUIDv8, m as isDateString, n as isUUIDv1, o as isUUIDv5, p as isBrowser, r as isUUIDv2, s as isUUIDv6, v as isHexString, w as isUUID, x as isNumericString, y as isIPAddress } from "./uuid-CiJtSUbo.cjs";
20
21
 
21
22
  //#region src/colors/guards.d.ts
22
23
  /**
@@ -170,7 +171,7 @@ declare function isFunction(value: unknown): value is GenericFn;
170
171
  * @param descriptor - The property descriptor to check.
171
172
  * @returns `true` if the descriptor is defined and its value is a function; otherwise, `false`.
172
173
  */
173
- declare const isMethodDescriptor: (descriptor: Maybe<PropertyDescriptor>) => boolean;
174
+ declare const isMethodDescriptor: (descriptor: Maybe<PropertyDescriptor>) => descriptor is MethodDescriptor;
174
175
  /**
175
176
  * * Type guard to check if a value is a Date object.
176
177
  * @param value - The value to check.
@@ -396,4 +397,4 @@ declare function isKebabCase(str: string): boolean;
396
397
  */
397
398
  declare function isEmojiOnly(str: string): boolean;
398
399
  //#endregion
399
- export { areInvalidNumbers, areInvalidNumbers as areNumbersInvalid, areInvalidNumbers as isInvalidNumber, areInvalidNumbers as isNumberInvalid, isReturningPromise as doesReturnPromise, isReturningPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isValidArray, isBase64, isBigInt, isBinaryString, isBoolean, isBrowser, isCSSColor, isCamelCase, isDate, isDateLike, isDateString, isEmail, isEmail as isValidEmail, isEmailArray, isEmojiOnly, isEmptyObject, isEmptyObject as isEmptyObjectGuard, isEmptyObject as isObjectEmpty, isEnvironment, isEnvironment as isExpectedNodeENV, isEnvironment as isNodeENV, isEnvironment as isNodeEnvironment, isError, isEven, isEven as isEvenNumber, isFalsy, isFibonacci, isFibonacci as isPartOfFibonacci, isFibonacci as isPartOfFibonacciSeries, isFunction, isHSL, isHSLA, isHex6, isHex8, isHexString, isIPAddress, isInteger, isJSON, isJSON as isJSONObject, isJSON as isValidJSON, isKebabCase, isLeapYear, isMap, isMap as isValidMap, isMethodDescriptor as isMethod, isMethodDescriptor, isMultiple, isNativeTimeZoneId, isNode, isNonEmptyString, isNormalPrimitive, isNotEmptyObject, isNotEmptyObject as isValidObject, isNull, isNumber, isNumericString, isObject, isObjectWithKeys, isOdd, isOdd as isOddNumber, isPalindrome, isPascalCase, isPerfectSquare, isPhoneNumber, isPositiveInteger, isPrimitive, isPromise, isRGB, isRGBA, isRegExp, isRegExp as isRegularExpression, isSet, isSet as isValidSet, isSnakeCase, isString, isSymbol, isTimeWithUnit, isTruthy, isURL, isURL as isValidURL, isUUID, isUUIDv1, isUUIDv2, isUUIDv3, isUUIDv4, isUUIDv5, isUUIDv6, isUUIDv7, isUUIDv8, isUndefined, isValidTime, isValidTime as isValidTimeString, isValidTimeZoneId, isValidUTCOffset as isValidUTC, isValidUTCOffset };
400
+ export { areInvalidNumbers, areInvalidNumbers as areNumbersInvalid, areInvalidNumbers as isInvalidNumber, areInvalidNumbers as isNumberInvalid, isReturningPromise as doesReturnPromise, isReturningPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isValidArray, isBase64, isBigInt, isBinaryString, isBoolean, isBrowser, isCSSColor, isCamelCase, isDate, isDateLike, isDateString, isDeepEqual, isEmail, isEmail as isValidEmail, isEmailArray, isEmojiOnly, isEmptyObject, isEmptyObject as isObjectEmpty, isEnvironment, isEnvironment as isExpectedNodeENV, isEnvironment as isNodeENV, isEnvironment as isNodeEnvironment, isError, isEven, isEven as isEvenNumber, isFalsy, isFibonacci, isFibonacci as isPartOfFibonacci, isFibonacci as isPartOfFibonacciSeries, isFunction, isHSL, isHSLA, isHex6, isHex8, isHexString, isIPAddress, isInteger, isInvalidOrEmptyArray, isJSON, isJSON as isValidJSON, isKebabCase, isLeapYear, isMap, isMethodDescriptor as isMethod, isMethodDescriptor, isMultiple, isMultiple as isMultipleOf, isNativeTimeZoneId, isNode, isNonEmptyString, isNormalPrimitive, isNotEmptyObject, isNotEmptyObject as isValidObject, isNull, isNumber, isNumericString, isObject, isObjectWithKeys, isOdd, isOdd as isOddNumber, isPalindrome, isPascalCase, isPerfectSquare, isPhoneNumber, isPositiveInteger, isPrime, isPrime as isPrimeNumber, isPrimitive, isPromise, isRGB, isRGBA, isRegExp, isRegExp as isRegularExpression, isSet, isSnakeCase, isString, isSymbol, isTimeWithUnit, isTruthy, isURL, isURL as isValidURL, isUUID, isUUIDv1, isUUIDv2, isUUIDv3, isUUIDv4, isUUIDv5, isUUIDv6, isUUIDv7, isUUIDv8, isUndefined, isValidTime, isValidTime as isValidTimeString, isValidTimeZoneId, isValidUTCOffset as isValidUTC, isValidUTCOffset };
package/dist/guards.d.mts CHANGED
@@ -14,9 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { $ as Maybe, Dt as ClockTime, J as FalsyPrimitive, Sn as UTCOffset, X as GenericFn, bt as $TimeZoneIdentifier, fn as TimeWithUnit, gn as TimeZoneIdNative, it as Numeric, jt as DateLike, lt as ValidArray, st as Primitive, tt as NormalPrimitive, y as GenericObject, z as AsyncFunction } from "./object-ChFVh95z.mjs";
18
- import { b as RGB, g as HSLA, h as HSL, s as CSSColor, v as Hex6, x as RGBA, y as Hex8 } from "./Color-DCfoQk_-.mjs";
19
- import { C as isURL, S as isPhoneNumber, _ as isEnvironment, a as isUUIDv4, b as isNode, c as isUUIDv7, d as isBase64, f as isBinaryString, g as isEmailArray, h as isEmail, i as isUUIDv3, l as isUUIDv8, m as isDateString, n as isUUIDv1, o as isUUIDv5, p as isBrowser, r as isUUIDv2, s as isUUIDv6, v as isHexString, w as isUUID, x as isNumericString, y as isIPAddress } from "./uuid-Yc3Uu8qr.mjs";
17
+ import { $ as GenericFn, B as AsyncFunction, Dn as UTCOffset, Ft as DateLike, Z as FalsyPrimitive, _n as TimeWithUnit, at as NormalPrimitive, ct as Numeric, dt as Primitive, jt as ClockTime, nt as Maybe, pt as ValidArray, rt as MethodDescriptor, wt as $TimeZoneIdentifier, xn as TimeZoneIdNative, y as GenericObject } from "./object-Mglyg4AW.mjs";
18
+ import { b as RGB, g as HSLA, h as HSL, s as CSSColor, v as Hex6, x as RGBA, y as Hex8 } from "./Color-CKmhtXdG.mjs";
19
+ import { S as isInvalidOrEmptyArray, f as isDeepEqual, v as isPrime } from "./index-01oaUuP6.mjs";
20
+ import { C as isURL, S as isPhoneNumber, _ as isEnvironment, a as isUUIDv4, b as isNode, c as isUUIDv7, d as isBase64, f as isBinaryString, g as isEmailArray, h as isEmail, i as isUUIDv3, l as isUUIDv8, m as isDateString, n as isUUIDv1, o as isUUIDv5, p as isBrowser, r as isUUIDv2, s as isUUIDv6, v as isHexString, w as isUUID, x as isNumericString, y as isIPAddress } from "./uuid-D-gjPs4Q.mjs";
20
21
 
21
22
  //#region src/colors/guards.d.ts
22
23
  /**
@@ -170,7 +171,7 @@ declare function isFunction(value: unknown): value is GenericFn;
170
171
  * @param descriptor - The property descriptor to check.
171
172
  * @returns `true` if the descriptor is defined and its value is a function; otherwise, `false`.
172
173
  */
173
- declare const isMethodDescriptor: (descriptor: Maybe<PropertyDescriptor>) => boolean;
174
+ declare const isMethodDescriptor: (descriptor: Maybe<PropertyDescriptor>) => descriptor is MethodDescriptor;
174
175
  /**
175
176
  * * Type guard to check if a value is a Date object.
176
177
  * @param value - The value to check.
@@ -396,4 +397,4 @@ declare function isKebabCase(str: string): boolean;
396
397
  */
397
398
  declare function isEmojiOnly(str: string): boolean;
398
399
  //#endregion
399
- export { areInvalidNumbers, areInvalidNumbers as areNumbersInvalid, areInvalidNumbers as isInvalidNumber, areInvalidNumbers as isNumberInvalid, isReturningPromise as doesReturnPromise, isReturningPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isValidArray, isBase64, isBigInt, isBinaryString, isBoolean, isBrowser, isCSSColor, isCamelCase, isDate, isDateLike, isDateString, isEmail, isEmail as isValidEmail, isEmailArray, isEmojiOnly, isEmptyObject, isEmptyObject as isEmptyObjectGuard, isEmptyObject as isObjectEmpty, isEnvironment, isEnvironment as isExpectedNodeENV, isEnvironment as isNodeENV, isEnvironment as isNodeEnvironment, isError, isEven, isEven as isEvenNumber, isFalsy, isFibonacci, isFibonacci as isPartOfFibonacci, isFibonacci as isPartOfFibonacciSeries, isFunction, isHSL, isHSLA, isHex6, isHex8, isHexString, isIPAddress, isInteger, isJSON, isJSON as isJSONObject, isJSON as isValidJSON, isKebabCase, isLeapYear, isMap, isMap as isValidMap, isMethodDescriptor as isMethod, isMethodDescriptor, isMultiple, isNativeTimeZoneId, isNode, isNonEmptyString, isNormalPrimitive, isNotEmptyObject, isNotEmptyObject as isValidObject, isNull, isNumber, isNumericString, isObject, isObjectWithKeys, isOdd, isOdd as isOddNumber, isPalindrome, isPascalCase, isPerfectSquare, isPhoneNumber, isPositiveInteger, isPrimitive, isPromise, isRGB, isRGBA, isRegExp, isRegExp as isRegularExpression, isSet, isSet as isValidSet, isSnakeCase, isString, isSymbol, isTimeWithUnit, isTruthy, isURL, isURL as isValidURL, isUUID, isUUIDv1, isUUIDv2, isUUIDv3, isUUIDv4, isUUIDv5, isUUIDv6, isUUIDv7, isUUIDv8, isUndefined, isValidTime, isValidTime as isValidTimeString, isValidTimeZoneId, isValidUTCOffset as isValidUTC, isValidUTCOffset };
400
+ export { areInvalidNumbers, areInvalidNumbers as areNumbersInvalid, areInvalidNumbers as isInvalidNumber, areInvalidNumbers as isNumberInvalid, isReturningPromise as doesReturnPromise, isReturningPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isValidArray, isBase64, isBigInt, isBinaryString, isBoolean, isBrowser, isCSSColor, isCamelCase, isDate, isDateLike, isDateString, isDeepEqual, isEmail, isEmail as isValidEmail, isEmailArray, isEmojiOnly, isEmptyObject, isEmptyObject as isObjectEmpty, isEnvironment, isEnvironment as isExpectedNodeENV, isEnvironment as isNodeENV, isEnvironment as isNodeEnvironment, isError, isEven, isEven as isEvenNumber, isFalsy, isFibonacci, isFibonacci as isPartOfFibonacci, isFibonacci as isPartOfFibonacciSeries, isFunction, isHSL, isHSLA, isHex6, isHex8, isHexString, isIPAddress, isInteger, isInvalidOrEmptyArray, isJSON, isJSON as isValidJSON, isKebabCase, isLeapYear, isMap, isMethodDescriptor as isMethod, isMethodDescriptor, isMultiple, isMultiple as isMultipleOf, isNativeTimeZoneId, isNode, isNonEmptyString, isNormalPrimitive, isNotEmptyObject, isNotEmptyObject as isValidObject, isNull, isNumber, isNumericString, isObject, isObjectWithKeys, isOdd, isOdd as isOddNumber, isPalindrome, isPascalCase, isPerfectSquare, isPhoneNumber, isPositiveInteger, isPrime, isPrime as isPrimeNumber, isPrimitive, isPromise, isRGB, isRGBA, isRegExp, isRegExp as isRegularExpression, isSet, isSnakeCase, isString, isSymbol, isTimeWithUnit, isTruthy, isURL, isURL as isValidURL, isUUID, isUUIDv1, isUUIDv2, isUUIDv3, isUUIDv4, isUUIDv5, isUUIDv6, isUUIDv7, isUUIDv8, isUndefined, isValidTime, isValidTime as isValidTimeString, isValidTimeZoneId, isValidUTCOffset as isValidUTC, isValidUTCOffset };
package/dist/guards.mjs CHANGED
@@ -16,9 +16,9 @@
16
16
 
17
17
  import { a as isNonEmptyString, c as isNumber, d as isString, f as isSymbol, i as isInteger, l as isPositiveInteger, m as isUndefined, n as isBoolean, o as isNormalPrimitive, p as isTruthy, r as isFalsy, s as isNull, t as isBigInt, u as isPrimitive } from "./primitives-Djsevc69.mjs";
18
18
  import { a as isHex8, i as isHex6, n as isHSL, o as isRGB, r as isHSLA, s as isRGBA, t as isCSSColor } from "./guards-DziDBD0p.mjs";
19
- import { A as isSet, C as isMethodDescriptor, D as isPromise, E as isObjectWithKeys, O as isRegExp, S as isMap, T as isObject, _ as isDate, a as isEmail, b as isFunction, c as isHexString, d as isNumericString, f as isPhoneNumber, g as isArrayOfType, h as isArray, i as isDateString, j as isValidArray, k as isReturningPromise, l as isIPAddress, m as isUUID, n as isBinaryString, o as isEmailArray, p as isURL, r as isBrowser, s as isEnvironment, t as isBase64, u as isNode, v as isEmptyObject, w as isNotEmptyObject, x as isJSON, y as isError } from "./specials-Cye93-uo.mjs";
20
- import { a as isValidTime, i as isTimeWithUnit, n as isLeapYear, o as isValidTimeZoneId, r as isNativeTimeZoneId, s as isValidUTCOffset, t as isDateLike } from "./guards-C0smSAKC.mjs";
21
- import { a as isUUIDv1, c as isUUIDv4, d as isUUIDv7, f as isUUIDv8, l as isUUIDv5, o as isUUIDv2, s as isUUIDv3, u as isUUIDv6 } from "./basics-1_M7UvCn.mjs";
22
- import { _ as isFibonacci, a as isPascalCase, b as isPerfectSquare, g as isEven, h as areInvalidNumbers, i as isPalindrome, n as isEmojiOnly, o as isSnakeCase, r as isKebabCase, t as isCamelCase, v as isMultiple, y as isOdd } from "./guards-DeO4ukiK.mjs";
19
+ import { A as isSet, C as isMethodDescriptor, D as isPromise, E as isObjectWithKeys, O as isRegExp, S as isMap, T as isObject, _ as isDate, a as isEmail, b as isFunction, c as isHexString, d as isNumericString, f as isPhoneNumber, g as isArrayOfType, h as isArray, i as isDateString, j as isValidArray, k as isReturningPromise, l as isIPAddress, m as isUUID, n as isBinaryString, o as isEmailArray, p as isURL, r as isBrowser, s as isEnvironment, t as isBase64, u as isNode, v as isEmptyObject, w as isNotEmptyObject, x as isJSON, y as isError } from "./specials-Hq5Ncd6y.mjs";
20
+ import { a as isValidTime, i as isTimeWithUnit, n as isLeapYear, o as isValidTimeZoneId, r as isNativeTimeZoneId, s as isValidUTCOffset, t as isDateLike } from "./guards-BK1QuvFZ.mjs";
21
+ import { U as isDeepEqual, a as isUUIDv1, c as isUUIDv4, d as isUUIDv7, f as isUUIDv8, l as isUUIDv5, o as isUUIDv2, s as isUUIDv3, u as isUUIDv6 } from "./basics-CebgkY-n.mjs";
22
+ import { E as isInvalidOrEmptyArray, S as isPerfectSquare, _ as areInvalidNumbers, a as isPascalCase, b as isMultiple, g as isPrime, i as isPalindrome, n as isEmojiOnly, o as isSnakeCase, r as isKebabCase, t as isCamelCase, v as isEven, x as isOdd, y as isFibonacci } from "./guards-B2s2wlVN.mjs";
23
23
 
24
- export { areInvalidNumbers, areInvalidNumbers as areNumbersInvalid, areInvalidNumbers as isInvalidNumber, areInvalidNumbers as isNumberInvalid, isReturningPromise as doesReturnPromise, isReturningPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isValidArray, isBase64, isBigInt, isBinaryString, isBoolean, isBrowser, isCSSColor, isCamelCase, isDate, isDateLike, isDateString, isEmail, isEmail as isValidEmail, isEmailArray, isEmojiOnly, isEmptyObject, isEmptyObject as isEmptyObjectGuard, isEmptyObject as isObjectEmpty, isEnvironment, isEnvironment as isExpectedNodeENV, isEnvironment as isNodeENV, isEnvironment as isNodeEnvironment, isError, isEven, isEven as isEvenNumber, isFalsy, isFibonacci, isFibonacci as isPartOfFibonacci, isFibonacci as isPartOfFibonacciSeries, isFunction, isHSL, isHSLA, isHex6, isHex8, isHexString, isIPAddress, isInteger, isJSON, isJSON as isJSONObject, isJSON as isValidJSON, isKebabCase, isLeapYear, isMap, isMap as isValidMap, isMethodDescriptor as isMethod, isMethodDescriptor, isMultiple, isNativeTimeZoneId, isNode, isNonEmptyString, isNormalPrimitive, isNotEmptyObject, isNotEmptyObject as isValidObject, isNull, isNumber, isNumericString, isObject, isObjectWithKeys, isOdd, isOdd as isOddNumber, isPalindrome, isPascalCase, isPerfectSquare, isPhoneNumber, isPositiveInteger, isPrimitive, isPromise, isRGB, isRGBA, isRegExp, isRegExp as isRegularExpression, isSet, isSet as isValidSet, isSnakeCase, isString, isSymbol, isTimeWithUnit, isTruthy, isURL, isURL as isValidURL, isUUID, isUUIDv1, isUUIDv2, isUUIDv3, isUUIDv4, isUUIDv5, isUUIDv6, isUUIDv7, isUUIDv8, isUndefined, isValidTime, isValidTime as isValidTimeString, isValidTimeZoneId, isValidUTCOffset as isValidUTC, isValidUTCOffset };
24
+ export { areInvalidNumbers, areInvalidNumbers as areNumbersInvalid, areInvalidNumbers as isInvalidNumber, areInvalidNumbers as isNumberInvalid, isReturningPromise as doesReturnPromise, isReturningPromise, isArray, isArrayOfType, isValidArray as isArrayWithLength, isValidArray, isBase64, isBigInt, isBinaryString, isBoolean, isBrowser, isCSSColor, isCamelCase, isDate, isDateLike, isDateString, isDeepEqual, isEmail, isEmail as isValidEmail, isEmailArray, isEmojiOnly, isEmptyObject, isEmptyObject as isObjectEmpty, isEnvironment, isEnvironment as isExpectedNodeENV, isEnvironment as isNodeENV, isEnvironment as isNodeEnvironment, isError, isEven, isEven as isEvenNumber, isFalsy, isFibonacci, isFibonacci as isPartOfFibonacci, isFibonacci as isPartOfFibonacciSeries, isFunction, isHSL, isHSLA, isHex6, isHex8, isHexString, isIPAddress, isInteger, isInvalidOrEmptyArray, isJSON, isJSON as isValidJSON, isKebabCase, isLeapYear, isMap, isMethodDescriptor as isMethod, isMethodDescriptor, isMultiple, isMultiple as isMultipleOf, isNativeTimeZoneId, isNode, isNonEmptyString, isNormalPrimitive, isNotEmptyObject, isNotEmptyObject as isValidObject, isNull, isNumber, isNumericString, isObject, isObjectWithKeys, isOdd, isOdd as isOddNumber, isPalindrome, isPascalCase, isPerfectSquare, isPhoneNumber, isPositiveInteger, isPrime, isPrime as isPrimeNumber, isPrimitive, isPromise, isRGB, isRGBA, isRegExp, isRegExp as isRegularExpression, isSet, isSnakeCase, isString, isSymbol, isTimeWithUnit, isTruthy, isURL, isURL as isValidURL, isUUID, isUUIDv1, isUUIDv2, isUUIDv3, isUUIDv4, isUUIDv5, isUUIDv6, isUUIDv7, isUUIDv8, isUndefined, isValidTime, isValidTime as isValidTimeString, isValidTimeZoneId, isValidUTCOffset as isValidUTC, isValidUTCOffset };
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { V as Branded, fn as TimeWithUnit, it as Numeric, y as GenericObject } from "./object-ChFVh95z.cjs";
17
+ import { H as Branded, _n as TimeWithUnit, ct as Numeric, y as GenericObject } from "./object-Mglyg4AW.mjs";
18
18
 
19
19
  //#region src/types/hash.d.ts
20
20
  /** UUID versions as number from `1-8` */
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { V as Branded, fn as TimeWithUnit, it as Numeric, y as GenericObject } from "./object-ChFVh95z.mjs";
17
+ import { H as Branded, _n as TimeWithUnit, ct as Numeric, y as GenericObject } from "./object-Mglyg4AW.cjs";
18
18
 
19
19
  //#region src/types/hash.d.ts
20
20
  /** UUID versions as number from `1-8` */
package/dist/hash.cjs CHANGED
@@ -16,10 +16,9 @@
16
16
 
17
17
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
18
18
  const require_primitives = require('./primitives-CBGICrDR.cjs');
19
- const require_specials = require('./specials-BM6cx43o.cjs');
20
- const require_parse = require('./parse-DovagZFA.cjs');
21
- const require_basics = require('./basics-K8BDSYD6.cjs');
22
- const require_utils = require('./utils-BxguWSoa.cjs');
19
+ const require_specials = require('./specials-dkYP1Nh2.cjs');
20
+ const require_parse = require('./parse-BWu3UbOk.cjs');
21
+ const require_basics = require('./basics-CJmdhXoo.cjs');
23
22
 
24
23
  //#region src/hash/Cipher.ts
25
24
  /**
@@ -206,8 +205,8 @@ var Signet = class {
206
205
  const [hdr, pld, signature] = parts;
207
206
  const headerBytes = require_basics.base64ToBytes(hdr);
208
207
  const payloadBytes = require_basics.base64ToBytes(pld);
209
- const headerStr = require_utils.stripJsonEdgeGarbage(require_basics.bytesToUtf8(headerBytes));
210
- const payloadStr = require_utils.stripJsonEdgeGarbage(require_basics.bytesToUtf8(payloadBytes));
208
+ const headerStr = require_basics.stripJsonEdgeGarbage(require_basics.bytesToUtf8(headerBytes));
209
+ const payloadStr = require_basics.stripJsonEdgeGarbage(require_basics.bytesToUtf8(payloadBytes));
211
210
  let header;
212
211
  try {
213
212
  header = JSON.parse(headerStr);
@@ -302,11 +301,11 @@ var Signet = class {
302
301
  ...issuer && { iss: issuer },
303
302
  ...payload
304
303
  };
305
- const headerJson = require_utils.stableStringify({
304
+ const headerJson = require_basics.stableStringify({
306
305
  alg: "HS256",
307
306
  typ: "SIGNET+JWT"
308
307
  });
309
- const payloadJson = require_utils.stableStringify($payload);
308
+ const payloadJson = require_basics.stableStringify($payload);
310
309
  const headerB = require_basics.utf8ToBytes(headerJson);
311
310
  const payloadB = require_basics.utf8ToBytes(payloadJson);
312
311
  const signingInput = `${require_basics.bytesToBase64(headerB)}.${require_basics.bytesToBase64(payloadB)}`;
@@ -899,6 +898,7 @@ exports.bytesToUtf8 = require_basics.bytesToUtf8;
899
898
  exports.concatBytes = require_basics.concatBytes;
900
899
  exports.decodeUUID = require_basics.decodeUUID;
901
900
  exports.generateRandomID = require_basics.generateRandomID;
901
+ exports.getRandomID = require_basics.generateRandomID;
902
902
  exports.hexToBytes = require_basics.hexToBytes;
903
903
  exports.hmacSha256 = require_basics.hmacSha256;
904
904
  exports.intTo4BytesBE = require_basics.intTo4BytesBE;
package/dist/hash.d.cts CHANGED
@@ -14,10 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { $ as Maybe, y as GenericObject } from "./object-ChFVh95z.cjs";
18
- import { _ as VerifiedToken, d as SignetPayload, l as SignOptions, p as TokenString, s as DecodedToken, v as VerifyOptions } from "./hash-BcoFHSu1.cjs";
19
- import { a as isUUIDv4, c as isUUIDv7, i as isUUIDv3, l as isUUIDv8, n as isUUIDv1, o as isUUIDv5, r as isUUIDv2, s as isUUIDv6, t as decodeUUID, u as uuid, w as isUUID } from "./uuid-DgTBxcVu.cjs";
20
- import { t as generateRandomID } from "./basics-KobRNhV-.cjs";
17
+ import { nt as Maybe, y as GenericObject } from "./object-Mglyg4AW.cjs";
18
+ import { _ as VerifiedToken, d as SignetPayload, l as SignOptions, p as TokenString, s as DecodedToken, v as VerifyOptions } from "./hash-DJ8b9VHB.cjs";
19
+ import { a as isUUIDv4, c as isUUIDv7, i as isUUIDv3, l as isUUIDv8, n as isUUIDv1, o as isUUIDv5, r as isUUIDv2, s as isUUIDv6, t as decodeUUID, u as uuid, w as isUUID } from "./uuid-CiJtSUbo.cjs";
20
+ import { t as generateRandomID } from "./basics-B9aytOct.cjs";
21
21
 
22
22
  //#region src/hash/Cipher.d.ts
23
23
  /**
@@ -128,9 +128,9 @@ declare function sha1(msg: string): string;
128
128
  * // Returns: '7037e204b825b83553ba336a6ec35b796d505599286ae864729ed6cb33ae9fe1'
129
129
  * ```
130
130
  *
131
- * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utilities/hash/encoding#sha256bytes sha256Bytes} for hashing raw bytes
132
- * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utilities/hash/encoding#utf8tobytes utf8ToBytes} for converting string to bytes
133
- * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utilities/hash/encoding#bytestohex bytesToHex} for converting bytes to a hexadecimal string
131
+ * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utils/hash/encoding#sha256bytes sha256Bytes} for hashing raw bytes
132
+ * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utils/hash/encoding#utf8tobytes utf8ToBytes} for converting string to bytes
133
+ * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utils/hash/encoding#bytestohex bytesToHex} for converting bytes to a hexadecimal string
134
134
  */
135
135
  declare function sha256(msg: string): string;
136
136
  //#endregion
@@ -1143,4 +1143,4 @@ declare function bytesToHex(bytes: Uint8Array): string;
1143
1143
  */
1144
1144
  declare function hexToBytes(hex: string): Uint8Array;
1145
1145
  //#endregion
1146
- export { Cipher, Signet, TextCodec, base64ToBytes, bytesToBase64, bytesToHex, bytesToUtf8, concatBytes, decodeUUID, generateRandomID, generateRandomID as randomID, hexToBytes, hmacSha256, intTo4BytesBE, isUUID, isUUIDv1, isUUIDv2, isUUIDv3, isUUIDv4, isUUIDv5, isUUIDv6, isUUIDv7, isUUIDv8, md5, randomHex, sha1, sha256, sha256Bytes, uint8To32ArrayBE, utf8ToBytes, uuid };
1146
+ export { Cipher, Signet, TextCodec, base64ToBytes, bytesToBase64, bytesToHex, bytesToUtf8, concatBytes, decodeUUID, generateRandomID, generateRandomID as getRandomID, generateRandomID as randomID, hexToBytes, hmacSha256, intTo4BytesBE, isUUID, isUUIDv1, isUUIDv2, isUUIDv3, isUUIDv4, isUUIDv5, isUUIDv6, isUUIDv7, isUUIDv8, md5, randomHex, sha1, sha256, sha256Bytes, uint8To32ArrayBE, utf8ToBytes, uuid };
package/dist/hash.d.mts CHANGED
@@ -14,10 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { $ as Maybe, y as GenericObject } from "./object-ChFVh95z.mjs";
18
- import { _ as VerifiedToken, d as SignetPayload, l as SignOptions, p as TokenString, s as DecodedToken, v as VerifyOptions } from "./hash-GYRx2ee_.mjs";
19
- import { a as isUUIDv4, c as isUUIDv7, i as isUUIDv3, l as isUUIDv8, n as isUUIDv1, o as isUUIDv5, r as isUUIDv2, s as isUUIDv6, t as decodeUUID, u as uuid, w as isUUID } from "./uuid-Yc3Uu8qr.mjs";
20
- import { t as generateRandomID } from "./basics-V5M2oltn.mjs";
17
+ import { nt as Maybe, y as GenericObject } from "./object-Mglyg4AW.mjs";
18
+ import { _ as VerifiedToken, d as SignetPayload, l as SignOptions, p as TokenString, s as DecodedToken, v as VerifyOptions } from "./hash-C0Wr7H8v.mjs";
19
+ import { a as isUUIDv4, c as isUUIDv7, i as isUUIDv3, l as isUUIDv8, n as isUUIDv1, o as isUUIDv5, r as isUUIDv2, s as isUUIDv6, t as decodeUUID, u as uuid, w as isUUID } from "./uuid-D-gjPs4Q.mjs";
20
+ import { t as generateRandomID } from "./basics-BNQqY5WD.mjs";
21
21
 
22
22
  //#region src/hash/Cipher.d.ts
23
23
  /**
@@ -128,9 +128,9 @@ declare function sha1(msg: string): string;
128
128
  * // Returns: '7037e204b825b83553ba336a6ec35b796d505599286ae864729ed6cb33ae9fe1'
129
129
  * ```
130
130
  *
131
- * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utilities/hash/encoding#sha256bytes sha256Bytes} for hashing raw bytes
132
- * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utilities/hash/encoding#utf8tobytes utf8ToBytes} for converting string to bytes
133
- * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utilities/hash/encoding#bytestohex bytesToHex} for converting bytes to a hexadecimal string
131
+ * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utils/hash/encoding#sha256bytes sha256Bytes} for hashing raw bytes
132
+ * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utils/hash/encoding#utf8tobytes utf8ToBytes} for converting string to bytes
133
+ * @see {@link https://toolbox-x.nazmul-nhb.dev/docs/utils/hash/encoding#bytestohex bytesToHex} for converting bytes to a hexadecimal string
134
134
  */
135
135
  declare function sha256(msg: string): string;
136
136
  //#endregion
@@ -1143,4 +1143,4 @@ declare function bytesToHex(bytes: Uint8Array): string;
1143
1143
  */
1144
1144
  declare function hexToBytes(hex: string): Uint8Array;
1145
1145
  //#endregion
1146
- export { Cipher, Signet, TextCodec, base64ToBytes, bytesToBase64, bytesToHex, bytesToUtf8, concatBytes, decodeUUID, generateRandomID, generateRandomID as randomID, hexToBytes, hmacSha256, intTo4BytesBE, isUUID, isUUIDv1, isUUIDv2, isUUIDv3, isUUIDv4, isUUIDv5, isUUIDv6, isUUIDv7, isUUIDv8, md5, randomHex, sha1, sha256, sha256Bytes, uint8To32ArrayBE, utf8ToBytes, uuid };
1146
+ export { Cipher, Signet, TextCodec, base64ToBytes, bytesToBase64, bytesToHex, bytesToUtf8, concatBytes, decodeUUID, generateRandomID, generateRandomID as getRandomID, generateRandomID as randomID, hexToBytes, hmacSha256, intTo4BytesBE, isUUID, isUUIDv1, isUUIDv2, isUUIDv3, isUUIDv4, isUUIDv5, isUUIDv6, isUUIDv7, isUUIDv8, md5, randomHex, sha1, sha256, sha256Bytes, uint8To32ArrayBE, utf8ToBytes, uuid };