nhb-toolbox 2.8.5 → 2.8.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/dist/index.d.ts CHANGED
@@ -3,8 +3,9 @@ export { generateAnagrams } from './string/anagram';
3
3
  export { convertStringCase, maskString, replaceAllInString, reverseString, slugifyString, } from './string/convert';
4
4
  export { extractNumbersFromString, getLevenshteinDistance, isPalindrome, getLevenshteinDistance as levenshteinDistance, } from './string/utilities';
5
5
  export { calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getRandomNumber, isEven, isEven as isEvenNumber, isMultiple, isOdd, isOdd as isOddNumber, } from './number/basics';
6
- export { numberToWords } from './number/convert';
6
+ export { numberToWords as convertNumberToWords, convertToRomanNumerals, numberToWords, } from './number/convert';
7
7
  export { findPrimeNumbers, isPrime, isPrime as isPrimeNumber, } from './number/prime';
8
+ export { clampNumber, formatCurrency as convertNumberToCurrency, formatCurrency, getRandomFloat as getRandomDecimal, getRandomFloat, roundToNearest as roundNumber, roundToNearest as roundNumberToNearestInterval, roundToNearest, roundToNearest as roundToNearestInterval, } from './number/utilities';
8
9
  export { getNumbersInRange } from './number/range';
9
10
  export { getColorForInitial } from './colors/initials';
10
11
  export { generateRandomColorInHexRGB, generateRandomHSLColor, } from './colors/random';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,8 +5,9 @@ export { convertStringCase, maskString, replaceAllInString, reverseString, slugi
5
5
  export { extractNumbersFromString, getLevenshteinDistance, isPalindrome, getLevenshteinDistance as levenshteinDistance, } from './string/utilities';
6
6
  // ! Number Utilities
7
7
  export { calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getRandomNumber, isEven, isEven as isEvenNumber, isMultiple, isOdd, isOdd as isOddNumber, } from './number/basics';
8
- export { numberToWords } from './number/convert';
8
+ export { numberToWords as convertNumberToWords, convertToRomanNumerals, numberToWords, } from './number/convert';
9
9
  export { findPrimeNumbers, isPrime, isPrime as isPrimeNumber, } from './number/prime';
10
+ export { clampNumber, formatCurrency as convertNumberToCurrency, formatCurrency, getRandomFloat as getRandomDecimal, getRandomFloat, roundToNearest as roundNumber, roundToNearest as roundNumberToNearestInterval, roundToNearest, roundToNearest as roundToNearestInterval, } from './number/utilities';
10
11
  export { getNumbersInRange } from './number/range';
11
12
  // ! Color Utilities
12
13
  export { getColorForInitial } from './colors/initials';
@@ -2,4 +2,171 @@ export declare const ones: readonly ["", "one", "two", "three", "four", "five",
2
2
  export declare const teens: readonly ["", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"];
3
3
  export declare const tens: readonly ["", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"];
4
4
  export declare const thousands: readonly ["", "thousand", "million", "billion", "trillion", "quadrillion", "quintillion", "sextillion", "septillion", "octillion", "nonillion", "decillion"];
5
+ /** List of ISO 4217 currency codes */
6
+ export declare const CURRENCY_CODES: readonly ["AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "FOK", "GBP", "GEL", "GGP", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "IMP", "INR", "IQD", "IRR", "ISK", "JEP", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KID", "KMF", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLE", "SOS", "SRD", "SSP", "STN", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TVD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VES", "VND", "VUV", "WST", "XAF", "XCD", "XOF", "XPF", "YER", "ZAR", "ZMW", "ZWL"];
7
+ /** List of all supported BCP 47 locales */
8
+ export declare const LOCALE_CODES: readonly ["af-ZA", "am-ET", "ar-AE", "ar-BH", "ar-DZ", "ar-EG", "ar-IQ", "ar-JO", "ar-KW", "ar-LB", "ar-LY", "ar-MA", "ar-OM", "ar-QA", "ar-SA", "ar-SD", "ar-SY", "ar-TN", "ar-YE", "az-AZ", "be-BY", "bg-BG", "bn-BD", "bn-IN", "bs-BA", "ca-ES", "cs-CZ", "cy-GB", "da-DK", "de-AT", "de-CH", "de-DE", "el-GR", "en-AU", "en-CA", "en-GB", "en-IE", "en-IN", "en-NZ", "en-PH", "en-SG", "en-US", "en-ZA", "es-AR", "es-BO", "es-CL", "es-CO", "es-CR", "es-DO", "es-EC", "es-ES", "es-GT", "es-HN", "es-MX", "es-NI", "es-PA", "es-PE", "es-PR", "es-PY", "es-SV", "es-US", "es-UY", "es-VE", "et-EE", "eu-ES", "fa-IR", "fi-FI", "fil-PH", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "ga-IE", "gl-ES", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "hy-AM", "id-ID", "is-IS", "it-CH", "it-IT", "ja-JP", "ka-GE", "kk-KZ", "km-KH", "kn-IN", "ko-KR", "ky-KG", "lt-LT", "lv-LV", "mk-MK", "ml-IN", "mn-MN", "mr-IN", "ms-MY", "mt-MT", "nb-NO", "ne-NP", "nl-BE", "nl-NL", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sq-AL", "sr-Latn", "sv-SE", "sw-KE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "uz-UZ", "vi-VN", "zh-CN", "zh-HK", "zh-TW"];
9
+ /** Mapping of CurrencyCodes to LocaleCodes */
10
+ export declare const CURRENCY_LOCALES: {
11
+ readonly AED: "ar-AE";
12
+ readonly AFN: "fa-IR";
13
+ readonly ALL: "sq-AL";
14
+ readonly AMD: "hy-AM";
15
+ readonly ANG: "nl-NL";
16
+ readonly AOA: "pt-AO";
17
+ readonly ARS: "es-AR";
18
+ readonly AUD: "en-AU";
19
+ readonly AWG: "nl-AW";
20
+ readonly AZN: "az-AZ";
21
+ readonly BAM: "bs-BA";
22
+ readonly BBD: "en-BB";
23
+ readonly BDT: "bn-BD";
24
+ readonly BGN: "bg-BG";
25
+ readonly BHD: "ar-BH";
26
+ readonly BIF: "fr-BI";
27
+ readonly BMD: "en-BM";
28
+ readonly BND: "ms-BN";
29
+ readonly BOB: "es-BO";
30
+ readonly BRL: "pt-BR";
31
+ readonly BSD: "en-BS";
32
+ readonly BTN: "dz-BT";
33
+ readonly BWP: "en-BW";
34
+ readonly BYN: "be-BY";
35
+ readonly BZD: "es-BZ";
36
+ readonly CAD: "fr-CA";
37
+ readonly CDF: "fr-CD";
38
+ readonly CHF: "fr-CH";
39
+ readonly CLP: "es-CL";
40
+ readonly CNY: "zh-CN";
41
+ readonly COP: "es-CO";
42
+ readonly CRC: "es-CR";
43
+ readonly CUP: "es-CU";
44
+ readonly CVE: "pt-CV";
45
+ readonly CZK: "cs-CZ";
46
+ readonly DJF: "fr-DJ";
47
+ readonly DKK: "da-DK";
48
+ readonly DOP: "es-DO";
49
+ readonly DZD: "ar-DZ";
50
+ readonly EGP: "ar-EG";
51
+ readonly ERN: "ti-ER";
52
+ readonly ETB: "am-ET";
53
+ readonly EUR: "de-DE";
54
+ readonly FJD: "en-FJ";
55
+ readonly FKP: "en-FK";
56
+ readonly FOK: "fo-FO";
57
+ readonly GBP: "en-GB";
58
+ readonly GEL: "ka-GE";
59
+ readonly GGP: "en-GG";
60
+ readonly GHS: "ak-GH";
61
+ readonly GIP: "en-GI";
62
+ readonly GMD: "en-GM";
63
+ readonly GNF: "fr-GN";
64
+ readonly GTQ: "es-GT";
65
+ readonly GYD: "en-GY";
66
+ readonly HKD: "zh-HK";
67
+ readonly HNL: "es-HN";
68
+ readonly HRK: "hr-HR";
69
+ readonly HTG: "ht-HT";
70
+ readonly HUF: "hu-HU";
71
+ readonly IDR: "id-ID";
72
+ readonly ILS: "he-IL";
73
+ readonly IMP: "en-IM";
74
+ readonly INR: "hi-IN";
75
+ readonly IQD: "ar-IQ";
76
+ readonly IRR: "fa-IR";
77
+ readonly ISK: "is-IS";
78
+ readonly JEP: "en-JE";
79
+ readonly JMD: "en-JM";
80
+ readonly JOD: "ar-JO";
81
+ readonly JPY: "ja-JP";
82
+ readonly KES: "sw-KE";
83
+ readonly KGS: "ky-KG";
84
+ readonly KHR: "km-KH";
85
+ readonly KID: "en-KI";
86
+ readonly KMF: "fr-KM";
87
+ readonly KRW: "ko-KR";
88
+ readonly KWD: "ar-KW";
89
+ readonly KYD: "en-KY";
90
+ readonly KZT: "kk-KZ";
91
+ readonly LAK: "lo-LA";
92
+ readonly LBP: "ar-LB";
93
+ readonly LKR: "si-LK";
94
+ readonly LRD: "en-LR";
95
+ readonly LSL: "st-LS";
96
+ readonly LYD: "ar-LY";
97
+ readonly MAD: "ar-MA";
98
+ readonly MDL: "ro-RO";
99
+ readonly MGA: "mg-MG";
100
+ readonly MKD: "mk-MK";
101
+ readonly MMK: "my-MM";
102
+ readonly MNT: "mn-MN";
103
+ readonly MOP: "pt-MO";
104
+ readonly MRU: "ar-MA";
105
+ readonly MUR: "en-MU";
106
+ readonly MVR: "dv-MV";
107
+ readonly MWK: "ny-MW";
108
+ readonly MXN: "es-MX";
109
+ readonly MYR: "ms-MY";
110
+ readonly MZN: "pt-MZ";
111
+ readonly NAD: "en-NA";
112
+ readonly NGN: "en-NG";
113
+ readonly NIO: "es-NI";
114
+ readonly NOK: "no-NO";
115
+ readonly NPR: "ne-NP";
116
+ readonly NZD: "en-NZ";
117
+ readonly OMR: "ar-OM";
118
+ readonly PAB: "es-PA";
119
+ readonly PEN: "es-PE";
120
+ readonly PGK: "en-PG";
121
+ readonly PHP: "fil-PH";
122
+ readonly PKR: "ur-PK";
123
+ readonly PLN: "pl-PL";
124
+ readonly PYG: "es-PY";
125
+ readonly QAR: "ar-QA";
126
+ readonly RON: "ro-RO";
127
+ readonly RSD: "sr-RS";
128
+ readonly RUB: "ru-RU";
129
+ readonly RWF: "rw-RW";
130
+ readonly SAR: "ar-SA";
131
+ readonly SBD: "en-SB";
132
+ readonly SCR: "en-SC";
133
+ readonly SDG: "ar-SD";
134
+ readonly SEK: "sv-SE";
135
+ readonly SGD: "en-SG";
136
+ readonly SHP: "en-SH";
137
+ readonly SLE: "en-SL";
138
+ readonly SOS: "so-SO";
139
+ readonly SRD: "nl-SR";
140
+ readonly SSP: "en-SS";
141
+ readonly STN: "st-ST";
142
+ readonly SYP: "ar-SY";
143
+ readonly SZL: "en-SZ";
144
+ readonly THB: "th-TH";
145
+ readonly TJS: "tg-TJ";
146
+ readonly TMT: "tk-TM";
147
+ readonly TND: "ar-TN";
148
+ readonly TOP: "to-TO";
149
+ readonly TRY: "tr-TR";
150
+ readonly TTD: "en-TT";
151
+ readonly TVD: "en-TV";
152
+ readonly TWD: "zh-TW";
153
+ readonly TZS: "sw-TZ";
154
+ readonly UAH: "uk-UA";
155
+ readonly UGX: "sw-UG";
156
+ readonly USD: "en-US";
157
+ readonly UYU: "es-UY";
158
+ readonly UZS: "uz-UZ";
159
+ readonly VES: "ve-VE";
160
+ readonly VND: "vi-VN";
161
+ readonly VUV: "en-VU";
162
+ readonly WST: "en-WS";
163
+ readonly XAF: "fr-XAF";
164
+ readonly XCD: "en-XCD";
165
+ readonly XOF: "fr-XOF";
166
+ readonly XPF: "fr-XPF";
167
+ readonly YER: "ar-YE";
168
+ readonly ZAR: "en-ZA";
169
+ readonly ZMW: "en-ZM";
170
+ readonly ZWL: "en-ZW";
171
+ };
5
172
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/number/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,uFAWP,CAAC;AAEX,eAAO,MAAM,KAAK,sHAWR,CAAC;AAEX,eAAO,MAAM,IAAI,oGAWP,CAAC;AAEX,eAAO,MAAM,SAAS,8JAaZ,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/number/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,uFAWP,CAAC;AAEX,eAAO,MAAM,KAAK,sHAWR,CAAC;AAEX,eAAO,MAAM,IAAI,oGAWP,CAAC;AAEX,eAAO,MAAM,SAAS,8JAaZ,CAAC;AAEX,sCAAsC;AACtC,eAAO,MAAM,cAAc,2mCAiKjB,CAAC;AAEX,2CAA2C;AAC3C,eAAO,MAAM,YAAY,mnCA8Hf,CAAC;AAEX,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiKnB,CAAC"}
@@ -48,3 +48,457 @@ export const thousands = [
48
48
  'nonillion',
49
49
  'decillion',
50
50
  ];
51
+ /** List of ISO 4217 currency codes */
52
+ export const CURRENCY_CODES = [
53
+ 'AED',
54
+ 'AFN',
55
+ 'ALL',
56
+ 'AMD',
57
+ 'ANG',
58
+ 'AOA',
59
+ 'ARS',
60
+ 'AUD',
61
+ 'AWG',
62
+ 'AZN',
63
+ 'BAM',
64
+ 'BBD',
65
+ 'BDT',
66
+ 'BGN',
67
+ 'BHD',
68
+ 'BIF',
69
+ 'BMD',
70
+ 'BND',
71
+ 'BOB',
72
+ 'BRL',
73
+ 'BSD',
74
+ 'BTN',
75
+ 'BWP',
76
+ 'BYN',
77
+ 'BZD',
78
+ 'CAD',
79
+ 'CDF',
80
+ 'CHF',
81
+ 'CLP',
82
+ 'CNY',
83
+ 'COP',
84
+ 'CRC',
85
+ 'CUP',
86
+ 'CVE',
87
+ 'CZK',
88
+ 'DJF',
89
+ 'DKK',
90
+ 'DOP',
91
+ 'DZD',
92
+ 'EGP',
93
+ 'ERN',
94
+ 'ETB',
95
+ 'EUR',
96
+ 'FJD',
97
+ 'FKP',
98
+ 'FOK',
99
+ 'GBP',
100
+ 'GEL',
101
+ 'GGP',
102
+ 'GHS',
103
+ 'GIP',
104
+ 'GMD',
105
+ 'GNF',
106
+ 'GTQ',
107
+ 'GYD',
108
+ 'HKD',
109
+ 'HNL',
110
+ 'HRK',
111
+ 'HTG',
112
+ 'HUF',
113
+ 'IDR',
114
+ 'ILS',
115
+ 'IMP',
116
+ 'INR',
117
+ 'IQD',
118
+ 'IRR',
119
+ 'ISK',
120
+ 'JEP',
121
+ 'JMD',
122
+ 'JOD',
123
+ 'JPY',
124
+ 'KES',
125
+ 'KGS',
126
+ 'KHR',
127
+ 'KID',
128
+ 'KMF',
129
+ 'KRW',
130
+ 'KWD',
131
+ 'KYD',
132
+ 'KZT',
133
+ 'LAK',
134
+ 'LBP',
135
+ 'LKR',
136
+ 'LRD',
137
+ 'LSL',
138
+ 'LYD',
139
+ 'MAD',
140
+ 'MDL',
141
+ 'MGA',
142
+ 'MKD',
143
+ 'MMK',
144
+ 'MNT',
145
+ 'MOP',
146
+ 'MRU',
147
+ 'MUR',
148
+ 'MVR',
149
+ 'MWK',
150
+ 'MXN',
151
+ 'MYR',
152
+ 'MZN',
153
+ 'NAD',
154
+ 'NGN',
155
+ 'NIO',
156
+ 'NOK',
157
+ 'NPR',
158
+ 'NZD',
159
+ 'OMR',
160
+ 'PAB',
161
+ 'PEN',
162
+ 'PGK',
163
+ 'PHP',
164
+ 'PKR',
165
+ 'PLN',
166
+ 'PYG',
167
+ 'QAR',
168
+ 'RON',
169
+ 'RSD',
170
+ 'RUB',
171
+ 'RWF',
172
+ 'SAR',
173
+ 'SBD',
174
+ 'SCR',
175
+ 'SDG',
176
+ 'SEK',
177
+ 'SGD',
178
+ 'SHP',
179
+ 'SLE',
180
+ 'SOS',
181
+ 'SRD',
182
+ 'SSP',
183
+ 'STN',
184
+ 'SYP',
185
+ 'SZL',
186
+ 'THB',
187
+ 'TJS',
188
+ 'TMT',
189
+ 'TND',
190
+ 'TOP',
191
+ 'TRY',
192
+ 'TTD',
193
+ 'TVD',
194
+ 'TWD',
195
+ 'TZS',
196
+ 'UAH',
197
+ 'UGX',
198
+ 'USD',
199
+ 'UYU',
200
+ 'UZS',
201
+ 'VES',
202
+ 'VND',
203
+ 'VUV',
204
+ 'WST',
205
+ 'XAF',
206
+ 'XCD',
207
+ 'XOF',
208
+ 'XPF',
209
+ 'YER',
210
+ 'ZAR',
211
+ 'ZMW',
212
+ 'ZWL',
213
+ ];
214
+ /** List of all supported BCP 47 locales */
215
+ export const LOCALE_CODES = [
216
+ 'af-ZA',
217
+ 'am-ET',
218
+ 'ar-AE',
219
+ 'ar-BH',
220
+ 'ar-DZ',
221
+ 'ar-EG',
222
+ 'ar-IQ',
223
+ 'ar-JO',
224
+ 'ar-KW',
225
+ 'ar-LB',
226
+ 'ar-LY',
227
+ 'ar-MA',
228
+ 'ar-OM',
229
+ 'ar-QA',
230
+ 'ar-SA',
231
+ 'ar-SD',
232
+ 'ar-SY',
233
+ 'ar-TN',
234
+ 'ar-YE',
235
+ 'az-AZ',
236
+ 'be-BY',
237
+ 'bg-BG',
238
+ 'bn-BD',
239
+ 'bn-IN',
240
+ 'bs-BA',
241
+ 'ca-ES',
242
+ 'cs-CZ',
243
+ 'cy-GB',
244
+ 'da-DK',
245
+ 'de-AT',
246
+ 'de-CH',
247
+ 'de-DE',
248
+ 'el-GR',
249
+ 'en-AU',
250
+ 'en-CA',
251
+ 'en-GB',
252
+ 'en-IE',
253
+ 'en-IN',
254
+ 'en-NZ',
255
+ 'en-PH',
256
+ 'en-SG',
257
+ 'en-US',
258
+ 'en-ZA',
259
+ 'es-AR',
260
+ 'es-BO',
261
+ 'es-CL',
262
+ 'es-CO',
263
+ 'es-CR',
264
+ 'es-DO',
265
+ 'es-EC',
266
+ 'es-ES',
267
+ 'es-GT',
268
+ 'es-HN',
269
+ 'es-MX',
270
+ 'es-NI',
271
+ 'es-PA',
272
+ 'es-PE',
273
+ 'es-PR',
274
+ 'es-PY',
275
+ 'es-SV',
276
+ 'es-US',
277
+ 'es-UY',
278
+ 'es-VE',
279
+ 'et-EE',
280
+ 'eu-ES',
281
+ 'fa-IR',
282
+ 'fi-FI',
283
+ 'fil-PH',
284
+ 'fr-BE',
285
+ 'fr-CA',
286
+ 'fr-CH',
287
+ 'fr-FR',
288
+ 'ga-IE',
289
+ 'gl-ES',
290
+ 'gu-IN',
291
+ 'he-IL',
292
+ 'hi-IN',
293
+ 'hr-HR',
294
+ 'hu-HU',
295
+ 'hy-AM',
296
+ 'id-ID',
297
+ 'is-IS',
298
+ 'it-CH',
299
+ 'it-IT',
300
+ 'ja-JP',
301
+ 'ka-GE',
302
+ 'kk-KZ',
303
+ 'km-KH',
304
+ 'kn-IN',
305
+ 'ko-KR',
306
+ 'ky-KG',
307
+ 'lt-LT',
308
+ 'lv-LV',
309
+ 'mk-MK',
310
+ 'ml-IN',
311
+ 'mn-MN',
312
+ 'mr-IN',
313
+ 'ms-MY',
314
+ 'mt-MT',
315
+ 'nb-NO',
316
+ 'ne-NP',
317
+ 'nl-BE',
318
+ 'nl-NL',
319
+ 'pl-PL',
320
+ 'pt-BR',
321
+ 'pt-PT',
322
+ 'ro-RO',
323
+ 'ru-RU',
324
+ 'sk-SK',
325
+ 'sl-SI',
326
+ 'sq-AL',
327
+ 'sr-Latn',
328
+ 'sv-SE',
329
+ 'sw-KE',
330
+ 'ta-IN',
331
+ 'te-IN',
332
+ 'th-TH',
333
+ 'tr-TR',
334
+ 'uk-UA',
335
+ 'ur-PK',
336
+ 'uz-UZ',
337
+ 'vi-VN',
338
+ 'zh-CN',
339
+ 'zh-HK',
340
+ 'zh-TW',
341
+ ];
342
+ /** Mapping of CurrencyCodes to LocaleCodes */
343
+ export const CURRENCY_LOCALES = {
344
+ AED: 'ar-AE', // United Arab Emirates Dirham
345
+ AFN: 'fa-IR', // Afghan Afghani
346
+ ALL: 'sq-AL', // Albanian Lek
347
+ AMD: 'hy-AM', // Armenian Dram
348
+ ANG: 'nl-NL', // Netherlands Antillean Guilder
349
+ AOA: 'pt-AO', // Angolan Kwanza
350
+ ARS: 'es-AR', // Argentine Peso
351
+ AUD: 'en-AU', // Australian Dollar
352
+ AWG: 'nl-AW', // Aruban Florin
353
+ AZN: 'az-AZ', // Azerbaijani Manat
354
+ BAM: 'bs-BA', // Bosnia and Herzegovina Convertible Mark
355
+ BBD: 'en-BB', // Barbadian Dollar
356
+ BDT: 'bn-BD', // Bangladeshi Taka
357
+ BGN: 'bg-BG', // Bulgarian Lev
358
+ BHD: 'ar-BH', // Bahraini Dinar
359
+ BIF: 'fr-BI', // Burundian Franc
360
+ BMD: 'en-BM', // Bermudian Dollar
361
+ BND: 'ms-BN', // Brunei Dollar
362
+ BOB: 'es-BO', // Bolivian Boliviano
363
+ BRL: 'pt-BR', // Brazilian Real
364
+ BSD: 'en-BS', // Bahamian Dollar
365
+ BTN: 'dz-BT', // Bhutanese Ngultrum
366
+ BWP: 'en-BW', // Botswanan Pula
367
+ BYN: 'be-BY', // Belarusian Ruble
368
+ BZD: 'es-BZ', // Belize Dollar
369
+ CAD: 'fr-CA', // Canadian Dollar
370
+ CDF: 'fr-CD', // Congolese Franc
371
+ CHF: 'fr-CH', // Swiss Franc
372
+ CLP: 'es-CL', // Chilean Peso
373
+ CNY: 'zh-CN', // Chinese Yuan
374
+ COP: 'es-CO', // Colombian Peso
375
+ CRC: 'es-CR', // Costa Rican Colón
376
+ CUP: 'es-CU', // Cuban Peso
377
+ CVE: 'pt-CV', // Cape Verdean Escudo
378
+ CZK: 'cs-CZ', // Czech Koruna
379
+ DJF: 'fr-DJ', // Djiboutian Franc
380
+ DKK: 'da-DK', // Danish Krone
381
+ DOP: 'es-DO', // Dominican Peso
382
+ DZD: 'ar-DZ', // Algerian Dinar
383
+ EGP: 'ar-EG', // Egyptian Pound
384
+ ERN: 'ti-ER', // Eritrean Nakfa
385
+ ETB: 'am-ET', // Ethiopian Birr
386
+ EUR: 'de-DE', // Euro
387
+ FJD: 'en-FJ', // Fijian Dollar
388
+ FKP: 'en-FK', // Falkland Islands Pound
389
+ FOK: 'fo-FO', // Faroese Króna
390
+ GBP: 'en-GB', // British Pound Sterling
391
+ GEL: 'ka-GE', // Georgian Lari
392
+ GGP: 'en-GG', // Guernsey Pound
393
+ GHS: 'ak-GH', // Ghanaian Cedi
394
+ GIP: 'en-GI', // Gibraltar Pound
395
+ GMD: 'en-GM', // Gambian Dalasi
396
+ GNF: 'fr-GN', // Guinean Franc
397
+ GTQ: 'es-GT', // Guatemalan Quetzal
398
+ GYD: 'en-GY', // Guyanaese Dollar
399
+ HKD: 'zh-HK', // Hong Kong Dollar
400
+ HNL: 'es-HN', // Honduran Lempira
401
+ HRK: 'hr-HR', // Croatian Kuna
402
+ HTG: 'ht-HT', // Haitian Gourde
403
+ HUF: 'hu-HU', // Hungarian Forint
404
+ IDR: 'id-ID', // Indonesian Rupiah
405
+ ILS: 'he-IL', // Israeli New Shekel
406
+ IMP: 'en-IM', // Isle of Man Pound
407
+ INR: 'hi-IN', // Indian Rupee
408
+ IQD: 'ar-IQ', // Iraqi Dinar
409
+ IRR: 'fa-IR', // Iranian Rial
410
+ ISK: 'is-IS', // Icelandic Króna
411
+ JEP: 'en-JE', // Jersey Pound
412
+ JMD: 'en-JM', // Jamaican Dollar
413
+ JOD: 'ar-JO', // Jordanian Dinar
414
+ JPY: 'ja-JP', // Japanese Yen
415
+ KES: 'sw-KE', // Kenyan Shilling
416
+ KGS: 'ky-KG', // Kyrgyzstani Som
417
+ KHR: 'km-KH', // Cambodian Riel
418
+ KID: 'en-KI', // Kiribati Dollar
419
+ KMF: 'fr-KM', // Comorian Franc
420
+ KRW: 'ko-KR', // South Korean Won
421
+ KWD: 'ar-KW', // Kuwaiti Dinar
422
+ KYD: 'en-KY', // Cayman Islands Dollar
423
+ KZT: 'kk-KZ', // Kazakhstani Tenge
424
+ LAK: 'lo-LA', // Laotian Kip
425
+ LBP: 'ar-LB', // Lebanese Pound
426
+ LKR: 'si-LK', // Sri Lankan Rupee
427
+ LRD: 'en-LR', // Liberian Dollar
428
+ LSL: 'st-LS', // Lesotho Loti
429
+ LYD: 'ar-LY', // Libyan Dinar
430
+ MAD: 'ar-MA', // Moroccan Dirham
431
+ MDL: 'ro-RO', // Moldovan Leu
432
+ MGA: 'mg-MG', // Malagasy Ariary
433
+ MKD: 'mk-MK', // Macedonian Denar
434
+ MMK: 'my-MM', // Burmese Kyat
435
+ MNT: 'mn-MN', // Mongolian Tugrik
436
+ MOP: 'pt-MO', // Macanese Pataca
437
+ MRU: 'ar-MA', // Mauritanian Ouguiya
438
+ MUR: 'en-MU', // Mauritian Rupee
439
+ MVR: 'dv-MV', // Maldivian Rufiyaa
440
+ MWK: 'ny-MW', // Malawian Kwacha
441
+ MXN: 'es-MX', // Mexican Peso
442
+ MYR: 'ms-MY', // Malaysian Ringgit
443
+ MZN: 'pt-MZ', // Mozambican Metical
444
+ NAD: 'en-NA', // Namibian Dollar
445
+ NGN: 'en-NG', // Nigerian Naira
446
+ NIO: 'es-NI', // Nicaraguan Córdoba
447
+ NOK: 'no-NO', // Norwegian Krone
448
+ NPR: 'ne-NP', // Nepalese Rupee
449
+ NZD: 'en-NZ', // New Zealand Dollar
450
+ OMR: 'ar-OM', // Omani Rial
451
+ PAB: 'es-PA', // Panamanian Balboa
452
+ PEN: 'es-PE', // Peruvian Nuevo Sol
453
+ PGK: 'en-PG', // Papua New Guinean Kina
454
+ PHP: 'fil-PH', // Philippine Peso
455
+ PKR: 'ur-PK', // Pakistani Rupee
456
+ PLN: 'pl-PL', // Polish Zloty
457
+ PYG: 'es-PY', // Paraguayan Guarani
458
+ QAR: 'ar-QA', // Qatari Rial
459
+ RON: 'ro-RO', // Romanian Leu
460
+ RSD: 'sr-RS', // Serbian Dinar
461
+ RUB: 'ru-RU', // Russian Ruble
462
+ RWF: 'rw-RW', // Rwandan Franc
463
+ SAR: 'ar-SA', // Saudi Riyal
464
+ SBD: 'en-SB', // Solomon Islands Dollar
465
+ SCR: 'en-SC', // Seychellois Rupee
466
+ SDG: 'ar-SD', // Sudanese Pound
467
+ SEK: 'sv-SE', // Swedish Krona
468
+ SGD: 'en-SG', // Singapore Dollar
469
+ SHP: 'en-SH', // Saint Helena Pound
470
+ SLE: 'en-SL', // Sierra Leonean Leone
471
+ SOS: 'so-SO', // Somali Shilling
472
+ SRD: 'nl-SR', // Surinamese Dollar
473
+ SSP: 'en-SS', // South Sudanese Pound
474
+ STN: 'st-ST', // São Tomé and Príncipe Dobra
475
+ SYP: 'ar-SY', // Syrian Pound
476
+ SZL: 'en-SZ', // Swazi Lilangeni
477
+ THB: 'th-TH', // Thai Baht
478
+ TJS: 'tg-TJ', // Tajikistani Somoni
479
+ TMT: 'tk-TM', // Turkmenistan Manat
480
+ TND: 'ar-TN', // Tunisian Dinar
481
+ TOP: 'to-TO', // Tongan Paʻanga
482
+ TRY: 'tr-TR', // Turkish Lira
483
+ TTD: 'en-TT', // Trinidad and Tobago Dollar
484
+ TVD: 'en-TV', // Tuvaluan Dollar
485
+ TWD: 'zh-TW', // New Taiwan Dollar
486
+ TZS: 'sw-TZ', // Tanzanian Shilling
487
+ UAH: 'uk-UA', // Ukrainian Hryvnia
488
+ UGX: 'sw-UG', // Ugandan Shilling
489
+ USD: 'en-US', // United States Dollar
490
+ UYU: 'es-UY', // Uruguayan Peso
491
+ UZS: 'uz-UZ', // Uzbekistani Som
492
+ VES: 've-VE', // Venezuelan Bolívar
493
+ VND: 'vi-VN', // Vietnamese Dong
494
+ VUV: 'en-VU', // Vanuatu Vatu
495
+ WST: 'en-WS', // Samoan Tala
496
+ XAF: 'fr-XAF', // Central African CFA Franc
497
+ XCD: 'en-XCD', // East Caribbean Dollar
498
+ XOF: 'fr-XOF', // West African CFA Franc
499
+ XPF: 'fr-XPF', // CFP Franc
500
+ YER: 'ar-YE', // Yemeni Rial
501
+ ZAR: 'en-ZA', // South African Rand
502
+ ZMW: 'en-ZM', // Zambian Kwacha
503
+ ZWL: 'en-ZW', // Zimbabwean Dollar
504
+ };
@@ -4,4 +4,11 @@
4
4
  * @returns The number converted in words.
5
5
  */
6
6
  export declare function numberToWords(number: number): string;
7
+ /**
8
+ * * Converts a number to a Roman numeral.
9
+ * @param num - The number to convert.
10
+ * @returns The Roman numeral representation.
11
+ * @example convertToRomanNumerals(29) → "XXIX"
12
+ */
13
+ export declare const convertToRomanNumerals: (num: number) => string;
7
14
  //# sourceMappingURL=convert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/number/convert.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA0BpD"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/number/convert.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA0BpD;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAAS,MAAM,KAAG,MA4BpD,CAAC"}
@@ -24,3 +24,36 @@ export function numberToWords(number) {
24
24
  const finalResult = result.trim().replace(/\s+/g, ' ');
25
25
  return isNegative ? `minus ${finalResult}` : finalResult;
26
26
  }
27
+ /**
28
+ * * Converts a number to a Roman numeral.
29
+ * @param num - The number to convert.
30
+ * @returns The Roman numeral representation.
31
+ * @example convertToRomanNumerals(29) → "XXIX"
32
+ */
33
+ export const convertToRomanNumerals = (num) => {
34
+ if (num <= 0 || num >= 4000)
35
+ throw new RangeError('Number must be between 1 and 3999');
36
+ const romanMap = [
37
+ [1000, 'M'],
38
+ [900, 'CM'],
39
+ [500, 'D'],
40
+ [400, 'CD'],
41
+ [100, 'C'],
42
+ [90, 'XC'],
43
+ [50, 'L'],
44
+ [40, 'XL'],
45
+ [10, 'X'],
46
+ [9, 'IX'],
47
+ [5, 'V'],
48
+ [4, 'IV'],
49
+ [1, 'I'],
50
+ ];
51
+ let result = '';
52
+ for (const [value, numeral] of romanMap) {
53
+ while (num >= value) {
54
+ result += numeral;
55
+ num -= value;
56
+ }
57
+ }
58
+ return result;
59
+ };
@@ -12,7 +12,7 @@ import { isPrime } from './prime';
12
12
  * @returns Either a string or an array of numbers.
13
13
  */
14
14
  export function getNumbersInRange(type = 'any', options) {
15
- const { getAs = 'array', min = 0, max = 100, includeMin = true, includeMax = true, separator = ',', multiples, } = options || {};
15
+ const { getAs = 'array', min = 0, max = 100, includeMin = true, includeMax = true, separator = ',', multiplesOf: multiples, } = options || {};
16
16
  let output = [];
17
17
  /**
18
18
  * Helper function to apply range and get array of numbers in that range.
@@ -1,3 +1,4 @@
1
+ import type { CURRENCY_CODES, CURRENCY_LOCALES, LOCALE_CODES } from './constants';
1
2
  /** - Options for random number generator */
2
3
  export interface RandomNumberOptions {
3
4
  /** Minimum number to start with. */
@@ -27,10 +28,14 @@ export interface RangeOptions<T extends GetAs> extends RandomNumberOptions {
27
28
  /** Separator for the string format if `getAs` is `'string'`. Defaults to `,`. */
28
29
  separator?: string;
29
30
  /** The multiples of which number to consider in the result. */
30
- multiples?: number;
31
+ multiplesOf?: number;
31
32
  /** The format for the result - either `'array'` or `'string'`. Default is `array` */
32
33
  getAs?: T;
33
34
  }
34
35
  /** - The return type of the `getNumbersInRange` function */
35
36
  export type RangedNumbers<T extends GetAs> = T extends 'array' ? number[] : string;
37
+ /** List of ISO 4217 currency codes. */
38
+ export type CurrencyCode = keyof typeof CURRENCY_LOCALES | (typeof CURRENCY_CODES)[number];
39
+ /** - List of all supported BCP 47 locales */
40
+ export type LocaleCode = (typeof CURRENCY_LOCALES)[keyof typeof CURRENCY_LOCALES] | (typeof LOCALE_CODES)[number];
36
41
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/number/types.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IACnC,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK;IACpE,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,CAAC;CACb;AAED,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnE,oCAAoC;AACpC,MAAM,MAAM,UAAU,GACnB,KAAK,GACL,SAAS,GACT,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,CAAC;AAEZ,gDAAgD;AAChD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvC,kDAAkD;AAClD,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,KAAK,CAAE,SAAQ,mBAAmB;IACzE,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,KAAK,CAAC,EAAE,CAAC,CAAC;CACV;AAED,4DAA4D;AAC5D,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,IACxC,CAAC,SAAS,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/number/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,MAAM,aAAa,CAAC;AAErB,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IACnC,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK;IACpE,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,CAAC;CACb;AAED,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnE,oCAAoC;AACpC,MAAM,MAAM,UAAU,GACnB,KAAK,GACL,SAAS,GACT,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,CAAC;AAEZ,gDAAgD;AAChD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvC,kDAAkD;AAClD,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,KAAK,CAAE,SAAQ,mBAAmB;IACzE,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,KAAK,CAAC,EAAE,CAAC,CAAC;CACV;AAED,4DAA4D;AAC5D,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,IACxC,CAAC,SAAS,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAEvC,uCAAuC;AACvC,MAAM,MAAM,YAAY,GACrB,MAAM,OAAO,gBAAgB,GAC7B,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnC,6CAA6C;AAC7C,MAAM,MAAM,UAAU,GACnB,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,GACxD,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { CurrencyCode, LocaleCode } from './types';
2
+ /**
3
+ * * Rounds a number to the nearest specified interval.
4
+ * @param value - The number to round.
5
+ * @param interval - The interval to round to. Defaults to `5`.
6
+ * @returns The number rounded to the nearest interval.
7
+ * @example roundToNearest(27, 5) → 25
8
+ */
9
+ export declare const roundToNearest: (value: number, interval?: number) => number;
10
+ /**
11
+ * * Formats a number as a currency string.
12
+ * @param value - The number to format.
13
+ * @param currency - The currency code (default: `USD`).
14
+ * @param locale - The locale for formatting (default: matching currency locale).
15
+ * @returns A formatted currency string.
16
+ * @example formatCurrency(1234.56) → "$1,234.56"
17
+ * @example formatCurrency(1234.56, "USD") → "$1,234.56"
18
+ * @example formatCurrency(1234.56, "USD", "en-US") → "$1,234.56"
19
+ */
20
+ export declare const formatCurrency: (value: number, currency?: CurrencyCode, locale?: LocaleCode) => string;
21
+ /**
22
+ * * Clamps a number within a specified range.
23
+ * @param value - The number to clamp.
24
+ * @param min - The minimum allowed value.
25
+ * @param max - The maximum allowed value.
26
+ * @returns The clamped number.
27
+ * @example clampNumber(15, 10, 20) → 15
28
+ * @example clampNumber(5, 10, 20) → 10
29
+ * @example clampNumber(25, 10, 20) → 20
30
+ */
31
+ export declare const clampNumber: (value: number, min: number, max: number) => number;
32
+ /**
33
+ * * Generates a random floating-point number within a range.
34
+ * @param min - The minimum value.
35
+ * @param max - The maximum value.
36
+ * @returns A random floating-point number between min and max.
37
+ * @example randomFloat(1.5, 3.5) → 2.84623
38
+ */
39
+ export declare const getRandomFloat: (min: number, max: number) => number;
40
+ //# sourceMappingURL=utilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/number/utilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAAW,MAAM,wBAAiB,MACrB,CAAC;AAEzC;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,UACnB,MAAM,aACH,YAAY,WACb,UAAU,KACjB,MAQF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,MAClC,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,QAAS,MAAM,OAAO,MAAM,KAAG,MAEzD,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { CURRENCY_LOCALES } from './constants';
2
+ /**
3
+ * * Rounds a number to the nearest specified interval.
4
+ * @param value - The number to round.
5
+ * @param interval - The interval to round to. Defaults to `5`.
6
+ * @returns The number rounded to the nearest interval.
7
+ * @example roundToNearest(27, 5) → 25
8
+ */
9
+ export const roundToNearest = (value, interval = 5) => Math.round(value / interval) * interval;
10
+ /**
11
+ * * Formats a number as a currency string.
12
+ * @param value - The number to format.
13
+ * @param currency - The currency code (default: `USD`).
14
+ * @param locale - The locale for formatting (default: matching currency locale).
15
+ * @returns A formatted currency string.
16
+ * @example formatCurrency(1234.56) → "$1,234.56"
17
+ * @example formatCurrency(1234.56, "USD") → "$1,234.56"
18
+ * @example formatCurrency(1234.56, "USD", "en-US") → "$1,234.56"
19
+ */
20
+ export const formatCurrency = (value, currency = 'USD', locale) => {
21
+ const selectedLocale = locale ? locale : CURRENCY_LOCALES[currency];
22
+ return new Intl.NumberFormat(selectedLocale, {
23
+ style: 'currency',
24
+ currency,
25
+ }).format(value);
26
+ };
27
+ /**
28
+ * * Clamps a number within a specified range.
29
+ * @param value - The number to clamp.
30
+ * @param min - The minimum allowed value.
31
+ * @param max - The maximum allowed value.
32
+ * @returns The clamped number.
33
+ * @example clampNumber(15, 10, 20) → 15
34
+ * @example clampNumber(5, 10, 20) → 10
35
+ * @example clampNumber(25, 10, 20) → 20
36
+ */
37
+ export const clampNumber = (value, min, max) => Math.max(min, Math.min(value, max));
38
+ /**
39
+ * * Generates a random floating-point number within a range.
40
+ * @param min - The minimum value.
41
+ * @param max - The maximum value.
42
+ * @returns A random floating-point number between min and max.
43
+ * @example randomFloat(1.5, 3.5) → 2.84623
44
+ */
45
+ export const getRandomFloat = (min, max) => {
46
+ return Math.random() * (max - min) + min;
47
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nhb-toolbox",
3
- "version": "2.8.5",
3
+ "version": "2.8.6",
4
4
  "description": "A versatile collection of smart, efficient, and reusable utility functions for everyday development needs.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",