bytekit 1.0.31 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -188
- package/bin/bytekit.js +0 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/swagger-generator.d.ts +1 -1
- package/dist/cli/swagger-generator.d.ts.map +1 -1
- package/dist/cli/swagger-generator.js +9 -5
- package/dist/cli/swagger-generator.js.map +1 -1
- package/dist/utils/core/ApiClient.d.ts +13 -12
- package/dist/utils/core/ApiClient.d.ts.map +1 -1
- package/dist/utils/core/ApiClient.js +24 -13
- package/dist/utils/core/ApiClient.js.map +1 -1
- package/dist/utils/core/SchemaAdapter.d.ts +35 -0
- package/dist/utils/core/SchemaAdapter.d.ts.map +1 -0
- package/dist/utils/core/SchemaAdapter.js +36 -0
- package/dist/utils/core/SchemaAdapter.js.map +1 -0
- package/dist/utils/core/index.d.ts +1 -1
- package/dist/utils/core/index.d.ts.map +1 -1
- package/dist/utils/core/index.js +1 -1
- package/dist/utils/core/index.js.map +1 -1
- package/dist/utils/helpers/CryptoUtils.d.ts +30 -3
- package/dist/utils/helpers/CryptoUtils.d.ts.map +1 -1
- package/dist/utils/helpers/CryptoUtils.js +83 -5
- package/dist/utils/helpers/CryptoUtils.js.map +1 -1
- package/dist/utils/helpers/QueryStringHelper.d.ts +11 -0
- package/dist/utils/helpers/QueryStringHelper.d.ts.map +1 -0
- package/dist/utils/helpers/QueryStringHelper.js +84 -0
- package/dist/utils/helpers/QueryStringHelper.js.map +1 -0
- package/dist/utils/helpers/UrlSlugHelper.d.ts +19 -0
- package/dist/utils/helpers/UrlSlugHelper.d.ts.map +1 -0
- package/dist/utils/helpers/UrlSlugHelper.js +27 -0
- package/dist/utils/helpers/UrlSlugHelper.js.map +1 -0
- package/dist/utils/helpers/index.d.ts +2 -13
- package/dist/utils/helpers/index.d.ts.map +1 -1
- package/dist/utils/helpers/index.js +2 -13
- package/dist/utils/helpers/index.js.map +1 -1
- package/dist/utils/index.d.ts +2 -8
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -8
- package/dist/utils/index.js.map +1 -1
- package/package.json +192 -249
- package/dist/color-utils.d.ts +0 -2
- package/dist/color-utils.d.ts.map +0 -1
- package/dist/color-utils.js +0 -2
- package/dist/color-utils.js.map +0 -1
- package/dist/date-utils.d.ts +0 -2
- package/dist/date-utils.d.ts.map +0 -1
- package/dist/date-utils.js +0 -2
- package/dist/date-utils.js.map +0 -1
- package/dist/number-utils.d.ts +0 -2
- package/dist/number-utils.d.ts.map +0 -1
- package/dist/number-utils.js +0 -2
- package/dist/number-utils.js.map +0 -1
- package/dist/string-utils.d.ts +0 -2
- package/dist/string-utils.d.ts.map +0 -1
- package/dist/string-utils.js +0 -2
- package/dist/string-utils.js.map +0 -1
- package/dist/utils/core/BatchRequest.d.ts +0 -79
- package/dist/utils/core/BatchRequest.d.ts.map +0 -1
- package/dist/utils/core/BatchRequest.js +0 -152
- package/dist/utils/core/BatchRequest.js.map +0 -1
- package/dist/utils/core/QueryClient.d.ts +0 -145
- package/dist/utils/core/QueryClient.d.ts.map +0 -1
- package/dist/utils/core/QueryClient.js +0 -453
- package/dist/utils/core/QueryClient.js.map +0 -1
- package/dist/utils/core/QueryState.d.ts +0 -99
- package/dist/utils/core/QueryState.d.ts.map +0 -1
- package/dist/utils/core/QueryState.js +0 -65
- package/dist/utils/core/QueryState.js.map +0 -1
- package/dist/utils/helpers/ArrayUtils.d.ts +0 -134
- package/dist/utils/helpers/ArrayUtils.d.ts.map +0 -1
- package/dist/utils/helpers/ArrayUtils.js +0 -306
- package/dist/utils/helpers/ArrayUtils.js.map +0 -1
- package/dist/utils/helpers/ColorUtils.d.ts +0 -235
- package/dist/utils/helpers/ColorUtils.d.ts.map +0 -1
- package/dist/utils/helpers/ColorUtils.js +0 -598
- package/dist/utils/helpers/ColorUtils.js.map +0 -1
- package/dist/utils/helpers/DateUtils.d.ts +0 -36
- package/dist/utils/helpers/DateUtils.d.ts.map +0 -1
- package/dist/utils/helpers/DateUtils.js +0 -131
- package/dist/utils/helpers/DateUtils.js.map +0 -1
- package/dist/utils/helpers/FormUtils.d.ts +0 -176
- package/dist/utils/helpers/FormUtils.d.ts.map +0 -1
- package/dist/utils/helpers/FormUtils.js +0 -437
- package/dist/utils/helpers/FormUtils.js.map +0 -1
- package/dist/utils/helpers/HttpStatusHelper.d.ts +0 -82
- package/dist/utils/helpers/HttpStatusHelper.d.ts.map +0 -1
- package/dist/utils/helpers/HttpStatusHelper.js +0 -174
- package/dist/utils/helpers/HttpStatusHelper.js.map +0 -1
- package/dist/utils/helpers/NumberUtils.d.ts +0 -230
- package/dist/utils/helpers/NumberUtils.d.ts.map +0 -1
- package/dist/utils/helpers/NumberUtils.js +0 -564
- package/dist/utils/helpers/NumberUtils.js.map +0 -1
- package/dist/utils/helpers/ObjectUtils.d.ts +0 -102
- package/dist/utils/helpers/ObjectUtils.d.ts.map +0 -1
- package/dist/utils/helpers/ObjectUtils.js +0 -301
- package/dist/utils/helpers/ObjectUtils.js.map +0 -1
- package/dist/utils/helpers/PaginationHelper.d.ts +0 -127
- package/dist/utils/helpers/PaginationHelper.d.ts.map +0 -1
- package/dist/utils/helpers/PaginationHelper.js +0 -295
- package/dist/utils/helpers/PaginationHelper.js.map +0 -1
- package/dist/utils/helpers/Signal.d.ts +0 -92
- package/dist/utils/helpers/Signal.d.ts.map +0 -1
- package/dist/utils/helpers/Signal.js +0 -243
- package/dist/utils/helpers/Signal.js.map +0 -1
- package/dist/utils/helpers/StringUtils.d.ts +0 -46
- package/dist/utils/helpers/StringUtils.d.ts.map +0 -1
- package/dist/utils/helpers/StringUtils.js +0 -228
- package/dist/utils/helpers/StringUtils.js.map +0 -1
- package/dist/utils/helpers/TimeUtils.d.ts +0 -87
- package/dist/utils/helpers/TimeUtils.d.ts.map +0 -1
- package/dist/utils/helpers/TimeUtils.js +0 -234
- package/dist/utils/helpers/TimeUtils.js.map +0 -1
- package/dist/utils/helpers/UrlBuilder.d.ts +0 -79
- package/dist/utils/helpers/UrlBuilder.d.ts.map +0 -1
- package/dist/utils/helpers/UrlBuilder.js +0 -161
- package/dist/utils/helpers/UrlBuilder.js.map +0 -1
- package/dist/utils/helpers/Validator.d.ts +0 -31
- package/dist/utils/helpers/Validator.d.ts.map +0 -1
- package/dist/utils/helpers/Validator.js +0 -175
- package/dist/utils/helpers/Validator.js.map +0 -1
- package/dist/utils/helpers/useSignal.d.ts +0 -11
- package/dist/utils/helpers/useSignal.d.ts.map +0 -1
- package/dist/utils/helpers/useSignal.js +0 -11
- package/dist/utils/helpers/useSignal.js.map +0 -1
- package/dist/validator.d.ts +0 -2
- package/dist/validator.d.ts.map +0 -1
- package/dist/validator.js +0 -2
- 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
|