bytekit 1.0.30 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +58 -188
  2. package/dist/utils/core/ApiClient.d.ts +11 -10
  3. package/dist/utils/core/ApiClient.d.ts.map +1 -1
  4. package/dist/utils/core/ApiClient.js +17 -9
  5. package/dist/utils/core/ApiClient.js.map +1 -1
  6. package/dist/utils/core/SchemaAdapter.d.ts +35 -0
  7. package/dist/utils/core/SchemaAdapter.d.ts.map +1 -0
  8. package/dist/utils/core/SchemaAdapter.js +36 -0
  9. package/dist/utils/core/SchemaAdapter.js.map +1 -0
  10. package/dist/utils/core/index.d.ts +1 -1
  11. package/dist/utils/core/index.d.ts.map +1 -1
  12. package/dist/utils/core/index.js +1 -1
  13. package/dist/utils/core/index.js.map +1 -1
  14. package/dist/utils/helpers/QueryStringHelper.d.ts +11 -0
  15. package/dist/utils/helpers/QueryStringHelper.d.ts.map +1 -0
  16. package/dist/utils/helpers/QueryStringHelper.js +84 -0
  17. package/dist/utils/helpers/QueryStringHelper.js.map +1 -0
  18. package/dist/utils/helpers/UrlSlugHelper.d.ts +19 -0
  19. package/dist/utils/helpers/UrlSlugHelper.d.ts.map +1 -0
  20. package/dist/utils/helpers/UrlSlugHelper.js +27 -0
  21. package/dist/utils/helpers/UrlSlugHelper.js.map +1 -0
  22. package/dist/utils/helpers/index.d.ts +2 -13
  23. package/dist/utils/helpers/index.d.ts.map +1 -1
  24. package/dist/utils/helpers/index.js +2 -13
  25. package/dist/utils/helpers/index.js.map +1 -1
  26. package/dist/utils/index.d.ts +2 -8
  27. package/dist/utils/index.d.ts.map +1 -1
  28. package/dist/utils/index.js +2 -8
  29. package/dist/utils/index.js.map +1 -1
  30. package/package.json +14 -73
  31. package/dist/color-utils.d.ts +0 -2
  32. package/dist/color-utils.d.ts.map +0 -1
  33. package/dist/color-utils.js +0 -2
  34. package/dist/color-utils.js.map +0 -1
  35. package/dist/date-utils.d.ts +0 -2
  36. package/dist/date-utils.d.ts.map +0 -1
  37. package/dist/date-utils.js +0 -2
  38. package/dist/date-utils.js.map +0 -1
  39. package/dist/number-utils.d.ts +0 -2
  40. package/dist/number-utils.d.ts.map +0 -1
  41. package/dist/number-utils.js +0 -2
  42. package/dist/number-utils.js.map +0 -1
  43. package/dist/string-utils.d.ts +0 -2
  44. package/dist/string-utils.d.ts.map +0 -1
  45. package/dist/string-utils.js +0 -2
  46. package/dist/string-utils.js.map +0 -1
  47. package/dist/utils/core/BatchRequest.d.ts +0 -79
  48. package/dist/utils/core/BatchRequest.d.ts.map +0 -1
  49. package/dist/utils/core/BatchRequest.js +0 -152
  50. package/dist/utils/core/BatchRequest.js.map +0 -1
  51. package/dist/utils/core/QueryClient.d.ts +0 -145
  52. package/dist/utils/core/QueryClient.d.ts.map +0 -1
  53. package/dist/utils/core/QueryClient.js +0 -453
  54. package/dist/utils/core/QueryClient.js.map +0 -1
  55. package/dist/utils/core/QueryState.d.ts +0 -99
  56. package/dist/utils/core/QueryState.d.ts.map +0 -1
  57. package/dist/utils/core/QueryState.js +0 -65
  58. package/dist/utils/core/QueryState.js.map +0 -1
  59. package/dist/utils/helpers/ArrayUtils.d.ts +0 -134
  60. package/dist/utils/helpers/ArrayUtils.d.ts.map +0 -1
  61. package/dist/utils/helpers/ArrayUtils.js +0 -306
  62. package/dist/utils/helpers/ArrayUtils.js.map +0 -1
  63. package/dist/utils/helpers/ColorUtils.d.ts +0 -235
  64. package/dist/utils/helpers/ColorUtils.d.ts.map +0 -1
  65. package/dist/utils/helpers/ColorUtils.js +0 -598
  66. package/dist/utils/helpers/ColorUtils.js.map +0 -1
  67. package/dist/utils/helpers/DateUtils.d.ts +0 -36
  68. package/dist/utils/helpers/DateUtils.d.ts.map +0 -1
  69. package/dist/utils/helpers/DateUtils.js +0 -131
  70. package/dist/utils/helpers/DateUtils.js.map +0 -1
  71. package/dist/utils/helpers/FormUtils.d.ts +0 -176
  72. package/dist/utils/helpers/FormUtils.d.ts.map +0 -1
  73. package/dist/utils/helpers/FormUtils.js +0 -437
  74. package/dist/utils/helpers/FormUtils.js.map +0 -1
  75. package/dist/utils/helpers/HttpStatusHelper.d.ts +0 -82
  76. package/dist/utils/helpers/HttpStatusHelper.d.ts.map +0 -1
  77. package/dist/utils/helpers/HttpStatusHelper.js +0 -174
  78. package/dist/utils/helpers/HttpStatusHelper.js.map +0 -1
  79. package/dist/utils/helpers/NumberUtils.d.ts +0 -230
  80. package/dist/utils/helpers/NumberUtils.d.ts.map +0 -1
  81. package/dist/utils/helpers/NumberUtils.js +0 -564
  82. package/dist/utils/helpers/NumberUtils.js.map +0 -1
  83. package/dist/utils/helpers/ObjectUtils.d.ts +0 -102
  84. package/dist/utils/helpers/ObjectUtils.d.ts.map +0 -1
  85. package/dist/utils/helpers/ObjectUtils.js +0 -301
  86. package/dist/utils/helpers/ObjectUtils.js.map +0 -1
  87. package/dist/utils/helpers/PaginationHelper.d.ts +0 -127
  88. package/dist/utils/helpers/PaginationHelper.d.ts.map +0 -1
  89. package/dist/utils/helpers/PaginationHelper.js +0 -295
  90. package/dist/utils/helpers/PaginationHelper.js.map +0 -1
  91. package/dist/utils/helpers/Signal.d.ts +0 -92
  92. package/dist/utils/helpers/Signal.d.ts.map +0 -1
  93. package/dist/utils/helpers/Signal.js +0 -243
  94. package/dist/utils/helpers/Signal.js.map +0 -1
  95. package/dist/utils/helpers/StringUtils.d.ts +0 -46
  96. package/dist/utils/helpers/StringUtils.d.ts.map +0 -1
  97. package/dist/utils/helpers/StringUtils.js +0 -228
  98. package/dist/utils/helpers/StringUtils.js.map +0 -1
  99. package/dist/utils/helpers/TimeUtils.d.ts +0 -87
  100. package/dist/utils/helpers/TimeUtils.d.ts.map +0 -1
  101. package/dist/utils/helpers/TimeUtils.js +0 -234
  102. package/dist/utils/helpers/TimeUtils.js.map +0 -1
  103. package/dist/utils/helpers/UrlBuilder.d.ts +0 -79
  104. package/dist/utils/helpers/UrlBuilder.d.ts.map +0 -1
  105. package/dist/utils/helpers/UrlBuilder.js +0 -161
  106. package/dist/utils/helpers/UrlBuilder.js.map +0 -1
  107. package/dist/utils/helpers/Validator.d.ts +0 -31
  108. package/dist/utils/helpers/Validator.d.ts.map +0 -1
  109. package/dist/utils/helpers/Validator.js +0 -175
  110. package/dist/utils/helpers/Validator.js.map +0 -1
  111. package/dist/utils/helpers/useSignal.d.ts +0 -11
  112. package/dist/utils/helpers/useSignal.d.ts.map +0 -1
  113. package/dist/utils/helpers/useSignal.js +0 -11
  114. package/dist/utils/helpers/useSignal.js.map +0 -1
  115. package/dist/validator.d.ts +0 -2
  116. package/dist/validator.d.ts.map +0 -1
  117. package/dist/validator.js +0 -2
  118. package/dist/validator.js.map +0 -1
@@ -1,564 +0,0 @@
1
- /**
2
- * Number utilities for formatting, parsing, and mathematical operations
3
- * Isomorphic utilities for Node.js and browsers
4
- * @module NumberUtils
5
- */
6
- /**
7
- * Number utilities
8
- */
9
- export class NumberUtils {
10
- constructor() { }
11
- /**
12
- * Format a number according to locale
13
- * @example
14
- * NumberUtils.format(1234567.89, 'es-AR'); // '1.234.567,89'
15
- * NumberUtils.format(1234567.89, 'en-US'); // '1,234,567.89'
16
- */
17
- static format(value, locale, options) {
18
- const opts = {
19
- minimumFractionDigits: options?.minimumFractionDigits,
20
- maximumFractionDigits: options?.maximumFractionDigits,
21
- useGrouping: options?.useGrouping ?? true,
22
- };
23
- return new Intl.NumberFormat(locale ?? options?.locale, opts).format(value);
24
- }
25
- /**
26
- * Format a number as currency
27
- * @example
28
- * NumberUtils.currency(99.99, 'USD'); // '$99.99'
29
- * NumberUtils.currency(1500, 'EUR', 'de-DE'); // '1.500,00 €'
30
- * NumberUtils.currency(2500.5, 'ARS', 'es-AR'); // '$ 2.500,50'
31
- */
32
- static currency(value, currency = "USD", locale, options) {
33
- const opts = {
34
- style: "currency",
35
- currency,
36
- currencyDisplay: options?.currencyDisplay ?? "symbol",
37
- minimumFractionDigits: options?.minimumFractionDigits ?? 2,
38
- maximumFractionDigits: options?.maximumFractionDigits ?? 2,
39
- };
40
- return new Intl.NumberFormat(locale, opts).format(value);
41
- }
42
- /**
43
- * Format a number as percentage
44
- * @example
45
- * NumberUtils.percentage(0.456); // '45.6%'
46
- * NumberUtils.percentage(75, { isPercentage: true }); // '75%'
47
- * NumberUtils.percentage(0.3333, { decimals: 2 }); // '33.33%'
48
- */
49
- static percentage(value, options) {
50
- const decimals = options?.decimals ?? 1;
51
- const actualValue = options?.isPercentage ? value / 100 : value;
52
- const opts = {
53
- style: "percent",
54
- minimumFractionDigits: decimals,
55
- maximumFractionDigits: decimals,
56
- };
57
- return new Intl.NumberFormat(options?.locale, opts).format(actualValue);
58
- }
59
- /**
60
- * Convert number to ordinal string
61
- * @example
62
- * NumberUtils.ordinal(1); // '1st'
63
- * NumberUtils.ordinal(2); // '2nd'
64
- * NumberUtils.ordinal(3); // '3rd'
65
- * NumberUtils.ordinal(4); // '4th'
66
- * NumberUtils.ordinal(11); // '11th'
67
- * NumberUtils.ordinal(21); // '21st'
68
- */
69
- static ordinal(value, locale = "en") {
70
- if (locale.startsWith("es")) {
71
- return `${value}°`;
72
- }
73
- // English ordinals
74
- const absValue = Math.abs(Math.floor(value));
75
- const lastTwo = absValue % 100;
76
- if (lastTwo >= 11 && lastTwo <= 13) {
77
- return `${value}th`;
78
- }
79
- switch (absValue % 10) {
80
- case 1:
81
- return `${value}st`;
82
- case 2:
83
- return `${value}nd`;
84
- case 3:
85
- return `${value}rd`;
86
- default:
87
- return `${value}th`;
88
- }
89
- }
90
- /**
91
- * Clamp a number between min and max values
92
- * @example
93
- * NumberUtils.clamp(150, 0, 100); // 100
94
- * NumberUtils.clamp(-50, 0, 100); // 0
95
- * NumberUtils.clamp(50, 0, 100); // 50
96
- */
97
- static clamp(value, min, max) {
98
- return Math.min(Math.max(value, min), max);
99
- }
100
- /**
101
- * Round a number to specified decimal places
102
- * @example
103
- * NumberUtils.round(3.14159, 2); // 3.14
104
- * NumberUtils.round(3.14159, 4); // 3.1416
105
- * NumberUtils.round(1234.5, -2); // 1200 (round to hundreds)
106
- */
107
- static round(value, decimals = 0) {
108
- const factor = Math.pow(10, decimals);
109
- return Math.round(value * factor) / factor;
110
- }
111
- /**
112
- * Floor a number to specified decimal places
113
- * @example
114
- * NumberUtils.floor(3.999, 2); // 3.99
115
- */
116
- static floor(value, decimals = 0) {
117
- const factor = Math.pow(10, decimals);
118
- return Math.floor(value * factor) / factor;
119
- }
120
- /**
121
- * Ceil a number to specified decimal places
122
- * @example
123
- * NumberUtils.ceil(3.001, 2); // 3.01
124
- */
125
- static ceil(value, decimals = 0) {
126
- const factor = Math.pow(10, decimals);
127
- return Math.ceil(value * factor) / factor;
128
- }
129
- /**
130
- * Generate an array of numbers from start to end (inclusive)
131
- * @example
132
- * NumberUtils.range(1, 5); // [1, 2, 3, 4, 5]
133
- * NumberUtils.range(0, 10, 2); // [0, 2, 4, 6, 8, 10]
134
- * NumberUtils.range(5, 1); // [5, 4, 3, 2, 1]
135
- */
136
- static range(start, end, step = 1) {
137
- const result = [];
138
- const actualStep = start <= end ? Math.abs(step) : -Math.abs(step);
139
- if (actualStep === 0) {
140
- throw new Error("Step cannot be zero");
141
- }
142
- if (start <= end) {
143
- for (let i = start; i <= end; i += actualStep) {
144
- result.push(i);
145
- }
146
- }
147
- else {
148
- for (let i = start; i >= end; i += actualStep) {
149
- result.push(i);
150
- }
151
- }
152
- return result;
153
- }
154
- /**
155
- * Generate a random integer between min and max (inclusive)
156
- * @example
157
- * NumberUtils.random(1, 100); // Random number between 1 and 100
158
- */
159
- static random(min, max) {
160
- const range = max - min + 1;
161
- const array = new Uint32Array(1);
162
- crypto.getRandomValues(array);
163
- return min + (array[0] % range);
164
- }
165
- /**
166
- * Generate a random float between min and max
167
- * @example
168
- * NumberUtils.randomFloat(0, 1); // Random float between 0 and 1
169
- */
170
- static randomFloat(min, max, decimals = 2) {
171
- const array = new Uint32Array(1);
172
- crypto.getRandomValues(array);
173
- const random = array[0] / (0xffffffff + 1); // Normalize to 0-1
174
- const value = random * (max - min) + min;
175
- return this.round(value, decimals);
176
- }
177
- /**
178
- * Check if a number is even
179
- */
180
- static isEven(value) {
181
- return value % 2 === 0;
182
- }
183
- /**
184
- * Check if a number is odd
185
- */
186
- static isOdd(value) {
187
- return value % 2 !== 0;
188
- }
189
- /**
190
- * Check if a number is an integer
191
- */
192
- static isInteger(value) {
193
- return Number.isInteger(value);
194
- }
195
- /**
196
- * Check if a number is a float (has decimal places)
197
- */
198
- static isFloat(value) {
199
- return Number.isFinite(value) && !Number.isInteger(value);
200
- }
201
- /**
202
- * Check if a number is positive
203
- */
204
- static isPositive(value) {
205
- return value > 0;
206
- }
207
- /**
208
- * Check if a number is negative
209
- */
210
- static isNegative(value) {
211
- return value < 0;
212
- }
213
- /**
214
- * Check if a number is between min and max (inclusive)
215
- * @example
216
- * NumberUtils.isBetween(5, 1, 10); // true
217
- * NumberUtils.isBetween(0, 1, 10); // false
218
- */
219
- static isBetween(value, min, max) {
220
- return value >= min && value <= max;
221
- }
222
- /**
223
- * Convert number to words (English)
224
- * @example
225
- * NumberUtils.toWords(123); // 'one hundred twenty-three'
226
- * NumberUtils.toWords(1000); // 'one thousand'
227
- */
228
- static toWords(value, locale = "en") {
229
- if (value === 0)
230
- return locale === "es" ? "cero" : "zero";
231
- if (locale === "es") {
232
- return this.toWordsSpanish(value);
233
- }
234
- return this.toWordsEnglish(value);
235
- }
236
- static toWordsEnglish(value) {
237
- const ones = [
238
- "",
239
- "one",
240
- "two",
241
- "three",
242
- "four",
243
- "five",
244
- "six",
245
- "seven",
246
- "eight",
247
- "nine",
248
- "ten",
249
- "eleven",
250
- "twelve",
251
- "thirteen",
252
- "fourteen",
253
- "fifteen",
254
- "sixteen",
255
- "seventeen",
256
- "eighteen",
257
- "nineteen",
258
- ];
259
- const tens = [
260
- "",
261
- "",
262
- "twenty",
263
- "thirty",
264
- "forty",
265
- "fifty",
266
- "sixty",
267
- "seventy",
268
- "eighty",
269
- "ninety",
270
- ];
271
- const convert = (n) => {
272
- if (n === 0)
273
- return "";
274
- if (n < 20)
275
- return ones[n];
276
- if (n < 100) {
277
- const remainder = n % 10;
278
- return (tens[Math.floor(n / 10)] +
279
- (remainder ? "-" + ones[remainder] : ""));
280
- }
281
- if (n < 1000) {
282
- const remainder = n % 100;
283
- return (ones[Math.floor(n / 100)] +
284
- " hundred" +
285
- (remainder ? " " + convert(remainder) : ""));
286
- }
287
- if (n < 1000000) {
288
- const remainder = n % 1000;
289
- return (convert(Math.floor(n / 1000)) +
290
- " thousand" +
291
- (remainder ? " " + convert(remainder) : ""));
292
- }
293
- if (n < 1000000000) {
294
- const remainder = n % 1000000;
295
- return (convert(Math.floor(n / 1000000)) +
296
- " million" +
297
- (remainder ? " " + convert(remainder) : ""));
298
- }
299
- const remainder = n % 1000000000;
300
- return (convert(Math.floor(n / 1000000000)) +
301
- " billion" +
302
- (remainder ? " " + convert(remainder) : ""));
303
- };
304
- const isNegative = value < 0;
305
- const result = convert(Math.abs(Math.floor(value)));
306
- return isNegative ? "negative " + result : result;
307
- }
308
- static toWordsSpanish(value) {
309
- const ones = [
310
- "",
311
- "uno",
312
- "dos",
313
- "tres",
314
- "cuatro",
315
- "cinco",
316
- "seis",
317
- "siete",
318
- "ocho",
319
- "nueve",
320
- "diez",
321
- "once",
322
- "doce",
323
- "trece",
324
- "catorce",
325
- "quince",
326
- "dieciséis",
327
- "diecisiete",
328
- "dieciocho",
329
- "diecinueve",
330
- "veinte",
331
- "veintiuno",
332
- "veintidós",
333
- "veintitrés",
334
- "veinticuatro",
335
- "veinticinco",
336
- "veintiséis",
337
- "veintisiete",
338
- "veintiocho",
339
- "veintinueve",
340
- ];
341
- const tens = [
342
- "",
343
- "",
344
- "",
345
- "treinta",
346
- "cuarenta",
347
- "cincuenta",
348
- "sesenta",
349
- "setenta",
350
- "ochenta",
351
- "noventa",
352
- ];
353
- /**
354
- * Helper to convert hundreds
355
- */
356
- const convertHundreds = (n) => {
357
- const remainder = n % 100;
358
- const hundreds = Math.floor(n / 100);
359
- const hundredNames = {
360
- 1: "ciento",
361
- 5: "quinientos",
362
- 7: "setecientos",
363
- 9: "novecientos",
364
- };
365
- const prefix = hundredNames[hundreds] || ones[hundreds] + "cientos";
366
- return prefix + (remainder ? " " + convert(remainder) : "");
367
- };
368
- /**
369
- * Helper to convert thousands
370
- */
371
- const convertThousands = (n) => {
372
- const remainder = n % 1000;
373
- const thousands = Math.floor(n / 1000);
374
- const prefix = thousands === 1 ? "mil" : convert(thousands) + " mil";
375
- return prefix + (remainder ? " " + convert(remainder) : "");
376
- };
377
- /**
378
- * Helper to convert millions
379
- */
380
- const convertMillions = (n) => {
381
- const remainder = n % 1000000;
382
- const millions = Math.floor(n / 1000000);
383
- const prefix = millions === 1 ? "un millón" : convert(millions) + " millones";
384
- return prefix + (remainder ? " " + convert(remainder) : "");
385
- };
386
- const convert = (n) => {
387
- if (n === 0)
388
- return "";
389
- if (n < 30)
390
- return ones[n];
391
- if (n < 100) {
392
- const remainder = n % 10;
393
- return (tens[Math.floor(n / 10)] +
394
- (remainder ? " y " + ones[remainder] : ""));
395
- }
396
- if (n === 100)
397
- return "cien";
398
- if (n < 1000)
399
- return convertHundreds(n);
400
- if (n < 1000000)
401
- return convertThousands(n);
402
- return convertMillions(n);
403
- };
404
- const isNegative = value < 0;
405
- const result = convert(Math.abs(Math.floor(value)));
406
- return isNegative ? "menos " + result : result;
407
- }
408
- /**
409
- * Format bytes to human readable string
410
- * @example
411
- * NumberUtils.formatBytes(1536); // '1.5 KB'
412
- * NumberUtils.formatBytes(1048576); // '1 MB'
413
- */
414
- static formatBytes(bytes, decimals = 2) {
415
- if (bytes === 0)
416
- return "0 Bytes";
417
- const k = 1024;
418
- const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
419
- const i = Math.floor(Math.log(bytes) / Math.log(k));
420
- return (Number.parseFloat((bytes / Math.pow(k, i)).toFixed(decimals)) +
421
- " " +
422
- sizes[i]);
423
- }
424
- /**
425
- * Parse a formatted number string back to number
426
- * @example
427
- * NumberUtils.parse('1,234.56'); // 1234.56
428
- * NumberUtils.parse('1.234,56', 'es'); // 1234.56
429
- */
430
- static parse(value, locale = "en") {
431
- // Determine decimal and thousand separators based on locale
432
- const parts = new Intl.NumberFormat(locale).formatToParts(1000000.1);
433
- const decimalSep = parts.find((p) => p.type === "decimal")?.value ?? ".";
434
- const groupSep = parts.find((p) => p.type === "group")?.value ?? ",";
435
- let normalized = value;
436
- // Remove thousand separators
437
- if (groupSep) {
438
- normalized = normalized.split(groupSep).join("");
439
- }
440
- // Normalize decimal separator
441
- if (decimalSep && decimalSep !== ".") {
442
- normalized = normalized.split(decimalSep).join(".");
443
- }
444
- // Remove currency symbols and other non-numeric characters (except - and .)
445
- normalized = normalized.replaceAll(/[^\d.-]/g, "");
446
- return Number.parseFloat(normalized);
447
- }
448
- /**
449
- * Add padding zeros to a number
450
- * @example
451
- * NumberUtils.pad(5, 3); // '005'
452
- * NumberUtils.pad(42, 5); // '00042'
453
- */
454
- static pad(value, length) {
455
- return String(Math.abs(value)).padStart(length, "0");
456
- }
457
- /**
458
- * Calculate the sum of numbers
459
- */
460
- static sum(values) {
461
- return values.reduce((acc, val) => acc + val, 0);
462
- }
463
- /**
464
- * Calculate the average (mean) of numbers
465
- */
466
- static average(values) {
467
- if (values.length === 0)
468
- return 0;
469
- return this.sum(values) / values.length;
470
- }
471
- /**
472
- * Alias for average
473
- */
474
- static mean(values) {
475
- return this.average(values);
476
- }
477
- /**
478
- * Calculate the median of numbers
479
- */
480
- static median(values) {
481
- if (values.length === 0)
482
- return 0;
483
- const sorted = [...values].sort((a, b) => a - b);
484
- const mid = Math.floor(sorted.length / 2);
485
- return sorted.length % 2 !== 0
486
- ? sorted[mid]
487
- : (sorted[mid - 1] + sorted[mid]) / 2;
488
- }
489
- /**
490
- * Calculate the mode (most frequent value) of numbers
491
- */
492
- static mode(values) {
493
- if (values.length === 0)
494
- return null;
495
- const frequency = new Map();
496
- let maxFreq = 0;
497
- let mode = null;
498
- for (const val of values) {
499
- const count = (frequency.get(val) ?? 0) + 1;
500
- frequency.set(val, count);
501
- if (count > maxFreq) {
502
- maxFreq = count;
503
- mode = val;
504
- }
505
- }
506
- return mode;
507
- }
508
- /**
509
- * Calculate the minimum value
510
- */
511
- static min(values) {
512
- if (values.length === 0)
513
- return null;
514
- return Math.min(...values);
515
- }
516
- /**
517
- * Calculate the maximum value
518
- */
519
- static max(values) {
520
- if (values.length === 0)
521
- return null;
522
- return Math.max(...values);
523
- }
524
- /**
525
- * Calculate the standard deviation
526
- */
527
- static standardDeviation(values, population = true) {
528
- if (values.length === 0)
529
- return 0;
530
- const avg = this.average(values);
531
- const squareDiffs = values.map((val) => Math.pow(val - avg, 2));
532
- const avgSquareDiff = this.sum(squareDiffs) /
533
- (population ? values.length : values.length - 1);
534
- return Math.sqrt(avgSquareDiff);
535
- }
536
- /**
537
- * Calculate variance
538
- */
539
- static variance(values, population = true) {
540
- if (values.length === 0)
541
- return 0;
542
- const avg = this.average(values);
543
- const squareDiffs = values.map((val) => Math.pow(val - avg, 2));
544
- return (this.sum(squareDiffs) /
545
- (population ? values.length : values.length - 1));
546
- }
547
- /**
548
- * Calculate percentile
549
- * @example
550
- * NumberUtils.percentile([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 90); // 9.1
551
- */
552
- static percentile(values, p) {
553
- if (values.length === 0)
554
- return 0;
555
- const sorted = [...values].sort((a, b) => a - b);
556
- const index = (p / 100) * (sorted.length - 1);
557
- const lower = Math.floor(index);
558
- const upper = Math.ceil(index);
559
- if (lower === upper)
560
- return sorted[lower];
561
- return (sorted[lower] + (sorted[upper] - sorted[lower]) * (index - lower));
562
- }
563
- }
564
- //# sourceMappingURL=NumberUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NumberUtils.js","sourceRoot":"","sources":["../../../src/utils/helpers/NumberUtils.ts"],"names":[],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- /**
2
- * Object manipulation utilities for everyday development tasks
3
- */
4
- export declare class ObjectUtils {
5
- /**
6
- * Check if value is empty (null, undefined, empty string, empty array, empty object)
7
- */
8
- static isEmpty(value: unknown): boolean;
9
- /**
10
- * Check if value is NOT empty
11
- */
12
- static isNotEmpty(value: unknown): boolean;
13
- /**
14
- * Deep clone an object
15
- */
16
- static deepClone<T>(obj: T): T;
17
- /**
18
- * Shallow merge objects (right overwrites left)
19
- */
20
- static merge<T extends Record<string, unknown>>(...objects: Partial<T>[]): T;
21
- /**
22
- * Deep merge objects (recursive)
23
- */
24
- static deepMerge(...objects: Array<Record<string, unknown>>): Record<string, unknown>;
25
- /**
26
- * Pick specific keys from object
27
- */
28
- static pick<T extends Record<string, unknown>, K extends keyof T>(obj: T, keys: K[]): Partial<T>;
29
- /**
30
- * Omit specific keys from object
31
- */
32
- static omit<T extends Record<string, unknown>, K extends keyof T>(obj: T, keys: K[]): Partial<T>;
33
- /**
34
- * Get nested value using dot notation
35
- */
36
- static get<T = unknown>(obj: Record<string, unknown>, path: string, defaultValue?: T): T;
37
- /**
38
- * Set nested value using dot notation
39
- */
40
- static set(obj: Record<string, unknown>, path: string, value: unknown): Record<string, unknown>;
41
- /**
42
- * Flatten nested object
43
- */
44
- static flatten(obj: Record<string, unknown>, prefix?: string): Record<string, unknown>;
45
- /**
46
- * Unflatten object (reverse of flatten)
47
- */
48
- static unflatten(obj: Record<string, unknown>): Record<string, unknown>;
49
- /**
50
- * Filter object by predicate
51
- */
52
- static filter<T extends Record<string, unknown>>(obj: T, predicate: (key: string, value: unknown) => boolean): Partial<T>;
53
- /**
54
- * Map object values
55
- */
56
- static mapValues<T extends Record<string, unknown>, R>(obj: T, mapper: (value: unknown, key: string) => R): Record<string, R>;
57
- /**
58
- * Check if object has all keys
59
- */
60
- static hasKeys<T extends Record<string, unknown>>(obj: T, keys: (keyof T)[]): boolean;
61
- /**
62
- * Check if object has any of the keys
63
- */
64
- static hasAnyKey<T extends Record<string, unknown>>(obj: T, keys: (keyof T)[]): boolean;
65
- /**
66
- * Invert object keys and values
67
- */
68
- static invert<T extends Record<string, string | number>>(obj: T): Record<string | number, string>;
69
- /**
70
- * Group array of objects by key
71
- */
72
- static groupBy<T extends Record<string, unknown>>(arr: T[], key: keyof T): Record<string, T[]>;
73
- /**
74
- * Index array of objects by key
75
- */
76
- static indexBy<T extends Record<string, unknown>>(arr: T[], key: keyof T): Record<string, T>;
77
- /**
78
- * Check if two objects are deeply equal
79
- */
80
- static deepEqual(a: unknown, b: unknown): boolean;
81
- /**
82
- * Get object size (number of keys)
83
- */
84
- static size(obj: Record<string, unknown> | null | undefined): number;
85
- /**
86
- * Convert object to array of [key, value] pairs
87
- */
88
- static entries<T extends Record<string, unknown>>(obj: T | null | undefined): Array<[string, unknown]>;
89
- /**
90
- * Convert array of [key, value] pairs to object
91
- */
92
- static fromEntries(entries: Array<[string, unknown]>): Record<string, unknown>;
93
- /**
94
- * Assign properties from source to target (like Object.assign)
95
- */
96
- static assign<T extends Record<string, unknown>>(target: T, ...sources: Partial<T>[]): T;
97
- /**
98
- * Create object from keys with same value
99
- */
100
- static fromKeys<T extends string | number>(keys: T[], value: unknown): Record<T, unknown>;
101
- }
102
- //# sourceMappingURL=ObjectUtils.d.ts.map