nhb-toolbox 4.0.60 → 4.0.75

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/cjs/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFibonacciSeriesMemo = exports.getFibonacciSeries = exports.getFibonacciNumbers = exports.getFibonacci = exports.generateFibonacci = exports.fibonacciGenerator = exports.calculatePercentage = exports.Currency = exports.sumOfNumbers = exports.sumNumbers = exports.sumDigits = exports.reverseNumber = exports.getSumOfNumbers = exports.getRandomNumber = exports.getAverageOfNumbers = exports.getAverage = exports.convertToDecimal = exports.calculateLCM = exports.calculateLCD = exports.calculateHCF = exports.calculateGCD = exports.calculateAverage = exports.wordCount = exports.levenshteinDistance = exports.getLevenshteinDistance = exports.extractNumbersFromString = exports.countWordsInString = exports.countWords = exports.slugifyString = exports.reverseString = exports.replaceAllInString = exports.normalizeString = exports.maskString = exports.formatWithPlural = exports.formatUnitWithPlural = exports.formatNumberWithPluralUnit = exports.extractURLs = exports.extractEmails = exports.convertStringCase = exports.isSnakeCase = exports.isPascalCase = exports.isPalindrome = exports.isKebabCase = exports.isEmojiOnly = exports.isCamelCase = exports.generateAnagrams = exports.truncateString = exports.trimString = exports.generateRandomID = exports.capitalizeString = void 0;
4
- exports.convertRgbaToHex8 = exports.convertHslToRgb = exports.convertHslToHex = exports.convertHslaToRgba = exports.convertHslaToHex8 = exports.convertHexToRgb = exports.convertHexToHsl = exports.convertHex8ToRgba = exports.convertHex8ToHsla = exports.convertColorCode = exports.generateRandomHSLColor = exports.generateRandomColorInHexRGB = exports.getColorForInitial = exports.getNumbersInRange = exports.roundToNearestInterval = exports.roundToNearest = exports.roundNumberToNearestInterval = exports.roundNumber = exports.numberToOrdinal = exports.getRandomFloat = exports.getRandomDecimal = exports.getOrdinalNumber = exports.getOrdinal = exports.formatCurrency = exports.convertToOrdinal = exports.convertNumberToOrdinal = exports.convertNumberToCurrency = exports.clampNumber = exports.cardinalToOrdinal = exports.isPrimeNumber = exports.isPrime = exports.getPrimeNumbers = exports.findPrimeNumbers = exports.numberToWords = exports.convertToRomanNumerals = exports.convertNumberToWords = exports.isPerfectSquare = exports.isParOfFibonacciSeries = exports.isParOfFibonacci = exports.isOddNumber = exports.isOdd = exports.isMultiple = exports.isInvalidNumbers = exports.isFibonacci = exports.isEvenNumber = exports.isEven = exports.areInvalidNumbers = exports.getNthFibonacci = exports.getMemoizedFibonacciSeries = exports.getMemoizedFibonacci = void 0;
5
- exports.getDuplicates = exports.findMissingElements = exports.extractMissingElements = exports.extractDuplicatesFromArray = exports.extractDuplicates = exports.createOptionsArray = exports.sortAnArray = exports.shuffleArray = exports.isValidEmptyArray = exports.isInvalidOrEmptyArray = exports.getLastArrayElement = exports.flattenArray = exports.filterArrayOfObjects = exports.minutesToUTCOffset = exports.getTotalMinutesFromUTC = exports.getTotalMinutesFromTime = exports.getTotalMinutes = exports.getTimeStringFromUTC = exports.getMinutesFromUTC = exports.getCurrentTime = exports.getCurrentDateTime = exports.formatUTCOffset = exports.extractTotalMinutesFromTime = exports.extractTimeStringFromUTC = exports.extractTimeFromUTC = exports.extractMinutesFromUTC = exports.extractHourMinute = exports.convertMinutesToUTCOffset = exports.chronusts = exports.chronusjs = exports.chronus = exports.chronosts = exports.chronosjs = exports.chronos = exports.Chronus = exports.Chronos = exports.isValidUTCOffSet = exports.isValidUTC = exports.isValidTimeString = exports.isValidTime = exports.isLeapYear = exports.greet = exports.getGreeting = exports.generateGreeting = exports.Colour = exports.Color = exports.convertRgbToRgba = exports.convertRgbToHsl = exports.convertRgbToHex = exports.convertRgbaToHsla = void 0;
6
- exports.generateQueryParams = exports.formatQueryParams = exports.createQueryParams = exports.remapObjectFields = exports.remapFields = exports.pickObjectFieldsByCondition = exports.pickObjectFields = exports.pickFieldsByCondition = exports.pickFields = exports.convertObjectValues = exports.sanitizeData = exports.parseStringifiedValues = exports.parseStringifiedPrimitives = exports.parseStringifiedObjectValues = exports.parsePrimitives = exports.parsePrimitiveData = exports.parseObjectValues = exports.parseJsonToObject = exports.mergeObjects = exports.mergeAndFlattenObjects = exports.flattenObjectKeyValue = exports.flattenObjectDotNotation = exports.extractUpdatedFields = exports.extractUpdatedAndNewFields = exports.extractNewFields = exports.countObjectFields = exports.cloneObject = exports.isValidFormData = exports.isOriginFileObj = exports.isFileUpload = exports.isFileList = exports.isFileArray = exports.isCustomFileArray = exports.isCustomFile = exports.serializeForm = exports.parseFormData = exports.createFormData = exports.createControlledFormData = exports.convertIntoFormData = exports.naturalSortForString = exports.naturalSort = exports.compareSorter = exports.compareNaturally = exports.splitArray = exports.rotateArray = exports.removeDuplicatesFromArray = exports.removeDuplicates = exports.moveArrayElement = exports.getMissingElements = exports.getDuplicatesFromArray = void 0;
7
- exports.isError = exports.isEmptyObjectGuard = exports.isEmptyObject = exports.isDate = exports.isBigInt = exports.isArrayWithLength = exports.isArrayOfType = exports.isArray = exports.doesReturnPromise = exports.isUndefined = exports.isTruthy = exports.isSymbol = exports.isString = exports.isPrimitive = exports.isPositiveInteger = exports.isNumber = exports.isNull = exports.isNonEmptyString = exports.isInteger = exports.isFalsy = exports.isBoolean = exports.throttleAction = exports.parsePrimitivesDeep = exports.parseJsonDeep = exports.parseJSON = exports.isDeepEqual = exports.getStaticMethodsCount = exports.getStaticMethodNames = exports.getInstanceMethodsCount = exports.getInstanceMethodNames = exports.getClassDetails = exports.deepParsePrimitives = exports.debounceAction = exports.countStaticMethods = exports.countInstanceMethods = exports.convertArrayToString = exports.saveToSessionStorage = exports.saveToLocalStorage = exports.removeFromSessionStorage = exports.removeFromLocalStorage = exports.getFromSessionStorage = exports.getFromLocalStorage = exports.toggleFullScreen = exports.smoothScrollTo = exports.copyToClipboard = exports.updateQueryParam = exports.getQueryStringAsObject = exports.queryStringToObject = exports.parseQueryString = exports.getQueryParams = void 0;
8
- exports.isValidURL = exports.isValidEmail = exports.isUUID = exports.isURL = exports.isPhoneNumber = exports.isNumericString = exports.isNodeEnvironment = exports.isNodeENV = exports.isNode = exports.isIPAddress = exports.isExpectedNodeENV = exports.isEnvironment = exports.isEmailArray = exports.isEmail = exports.isDateString = exports.isBrowser = exports.isBase64 = exports.isValidSet = exports.isValidObject = exports.isValidMap = exports.isValidJSON = exports.isValidArray = exports.isSet = exports.isReturningPromise = exports.isRegularExpression = exports.isRegExp = exports.isPromise = exports.isObjectWithKeys = exports.isObjectEmpty = exports.isObject = exports.isNotEmptyObject = exports.isMethodDescriptor = exports.isMethod = exports.isMap = exports.isJSONObject = exports.isJSON = exports.isFunction = void 0;
3
+ exports.getFibonacciSeries = exports.getFibonacciNumbers = exports.getFibonacci = exports.generateFibonacci = exports.fibonacciGenerator = exports.calculatePercentage = exports.Unit = exports.Currency = exports.sumOfNumbers = exports.sumNumbers = exports.sumDigits = exports.reverseNumber = exports.getSumOfNumbers = exports.getRandomNumber = exports.getAverageOfNumbers = exports.getAverage = exports.convertToDecimal = exports.calculateLCM = exports.calculateLCD = exports.calculateHCF = exports.calculateGCD = exports.calculateAverage = exports.wordCount = exports.levenshteinDistance = exports.getLevenshteinDistance = exports.extractNumbersFromString = exports.countWordsInString = exports.countWords = exports.slugifyString = exports.reverseString = exports.replaceAllInString = exports.normalizeString = exports.maskString = exports.formatWithPlural = exports.formatUnitWithPlural = exports.formatNumberWithPluralUnit = exports.extractURLs = exports.extractEmails = exports.convertStringCase = exports.isSnakeCase = exports.isPascalCase = exports.isPalindrome = exports.isKebabCase = exports.isEmojiOnly = exports.isCamelCase = exports.generateAnagrams = exports.truncateString = exports.trimString = exports.generateRandomID = exports.capitalizeString = void 0;
4
+ exports.convertHslToRgb = exports.convertHslToHex = exports.convertHslaToRgba = exports.convertHslaToHex8 = exports.convertHexToRgb = exports.convertHexToHsl = exports.convertHex8ToRgba = exports.convertHex8ToHsla = exports.convertColorCode = exports.generateRandomHSLColor = exports.generateRandomColorInHexRGB = exports.getColorForInitial = exports.getNumbersInRange = exports.roundToNearestInterval = exports.roundToNearest = exports.roundNumberToNearestInterval = exports.roundNumber = exports.numberToOrdinal = exports.getRandomFloat = exports.getRandomDecimal = exports.getOrdinalNumber = exports.getOrdinal = exports.formatCurrency = exports.convertToOrdinal = exports.convertNumberToOrdinal = exports.convertNumberToCurrency = exports.clampNumber = exports.cardinalToOrdinal = exports.isPrimeNumber = exports.isPrime = exports.getPrimeNumbers = exports.findPrimeNumbers = exports.numberToWords = exports.convertToRomanNumerals = exports.convertNumberToWords = exports.isPerfectSquare = exports.isParOfFibonacciSeries = exports.isParOfFibonacci = exports.isOddNumber = exports.isOdd = exports.isMultiple = exports.isInvalidNumbers = exports.isFibonacci = exports.isEvenNumber = exports.isEven = exports.areInvalidNumbers = exports.getNthFibonacci = exports.getMemoizedFibonacciSeries = exports.getMemoizedFibonacci = exports.getFibonacciSeriesMemo = void 0;
5
+ exports.findMissingElements = exports.extractMissingElements = exports.extractDuplicatesFromArray = exports.extractDuplicates = exports.createOptionsArray = exports.sortAnArray = exports.shuffleArray = exports.isValidEmptyArray = exports.isInvalidOrEmptyArray = exports.getLastArrayElement = exports.flattenArray = exports.filterArrayOfObjects = exports.minutesToUTCOffset = exports.getTotalMinutesFromUTC = exports.getTotalMinutesFromTime = exports.getTotalMinutes = exports.getTimeStringFromUTC = exports.getMinutesFromUTC = exports.getCurrentTime = exports.getCurrentDateTime = exports.formatUTCOffset = exports.extractTotalMinutesFromTime = exports.extractTimeStringFromUTC = exports.extractTimeFromUTC = exports.extractMinutesFromUTC = exports.extractHourMinute = exports.convertMinutesToUTCOffset = exports.chronusts = exports.chronusjs = exports.chronus = exports.chronosts = exports.chronosjs = exports.chronos = exports.Chronus = exports.Chronos = exports.isValidUTCOffSet = exports.isValidUTC = exports.isValidTimeString = exports.isValidTime = exports.isLeapYear = exports.greet = exports.getGreeting = exports.generateGreeting = exports.Colour = exports.Color = exports.convertRgbToRgba = exports.convertRgbToHsl = exports.convertRgbToHex = exports.convertRgbaToHsla = exports.convertRgbaToHex8 = void 0;
6
+ exports.formatQueryParams = exports.createQueryParams = exports.remapObjectFields = exports.remapFields = exports.pickObjectFieldsByCondition = exports.pickObjectFields = exports.pickFieldsByCondition = exports.pickFields = exports.convertObjectValues = exports.sanitizeData = exports.parseStringifiedValues = exports.parseStringifiedPrimitives = exports.parseStringifiedObjectValues = exports.parsePrimitives = exports.parsePrimitiveData = exports.parseObjectValues = exports.parseJsonToObject = exports.mergeObjects = exports.mergeAndFlattenObjects = exports.flattenObjectKeyValue = exports.flattenObjectDotNotation = exports.extractUpdatedFields = exports.extractUpdatedAndNewFields = exports.extractNewFields = exports.countObjectFields = exports.cloneObject = exports.isValidFormData = exports.isOriginFileObj = exports.isFileUpload = exports.isFileList = exports.isFileArray = exports.isCustomFileArray = exports.isCustomFile = exports.serializeForm = exports.parseFormData = exports.createFormData = exports.createControlledFormData = exports.convertIntoFormData = exports.naturalSortForString = exports.naturalSort = exports.compareSorter = exports.compareNaturally = exports.splitArray = exports.rotateArray = exports.removeDuplicatesFromArray = exports.removeDuplicates = exports.moveArrayElement = exports.getMissingElements = exports.getDuplicatesFromArray = exports.getDuplicates = void 0;
7
+ exports.isEmptyObjectGuard = exports.isEmptyObject = exports.isDate = exports.isBigInt = exports.isArrayWithLength = exports.isArrayOfType = exports.isArray = exports.doesReturnPromise = exports.isUndefined = exports.isTruthy = exports.isSymbol = exports.isString = exports.isPrimitive = exports.isPositiveInteger = exports.isNumber = exports.isNull = exports.isNonEmptyString = exports.isInteger = exports.isFalsy = exports.isBoolean = exports.throttleAction = exports.parsePrimitivesDeep = exports.parseJsonDeep = exports.parseJSON = exports.isDeepEqual = exports.getStaticMethodsCount = exports.getStaticMethodNames = exports.getInstanceMethodsCount = exports.getInstanceMethodNames = exports.getClassDetails = exports.deepParsePrimitives = exports.debounceAction = exports.countStaticMethods = exports.countInstanceMethods = exports.convertArrayToString = exports.saveToSessionStorage = exports.saveToLocalStorage = exports.removeFromSessionStorage = exports.removeFromLocalStorage = exports.getFromSessionStorage = exports.getFromLocalStorage = exports.toggleFullScreen = exports.smoothScrollTo = exports.copyToClipboard = exports.updateQueryParam = exports.getQueryStringAsObject = exports.queryStringToObject = exports.parseQueryString = exports.getQueryParams = exports.generateQueryParams = void 0;
8
+ exports.isValidURL = exports.isValidEmail = exports.isUUID = exports.isURL = exports.isPhoneNumber = exports.isNumericString = exports.isNodeEnvironment = exports.isNodeENV = exports.isNode = exports.isIPAddress = exports.isExpectedNodeENV = exports.isEnvironment = exports.isEmailArray = exports.isEmail = exports.isDateString = exports.isBrowser = exports.isBase64 = exports.isValidSet = exports.isValidObject = exports.isValidMap = exports.isValidJSON = exports.isValidArray = exports.isSet = exports.isReturningPromise = exports.isRegularExpression = exports.isRegExp = exports.isPromise = exports.isObjectWithKeys = exports.isObjectEmpty = exports.isObject = exports.isNotEmptyObject = exports.isMethodDescriptor = exports.isMethod = exports.isMap = exports.isJSONObject = exports.isJSON = exports.isFunction = exports.isError = void 0;
9
9
  // ! String Utilities
10
10
  var basics_1 = require("./string/basics");
11
11
  Object.defineProperty(exports, "capitalizeString", { enumerable: true, get: function () { return basics_1.capitalizeString; } });
@@ -58,6 +58,8 @@ Object.defineProperty(exports, "sumNumbers", { enumerable: true, get: function (
58
58
  Object.defineProperty(exports, "sumOfNumbers", { enumerable: true, get: function () { return basics_2.sumNumbers; } });
59
59
  var Currency_1 = require("./number/Currency");
60
60
  Object.defineProperty(exports, "Currency", { enumerable: true, get: function () { return Currency_1.Currency; } });
61
+ var Unit_1 = require("./number/Unit");
62
+ Object.defineProperty(exports, "Unit", { enumerable: true, get: function () { return Unit_1.Unit; } });
61
63
  var percent_1 = require("./number/percent");
62
64
  Object.defineProperty(exports, "calculatePercentage", { enumerable: true, get: function () { return percent_1.calculatePercentage; } });
63
65
  var fibonacci_1 = require("./number/fibonacci");
@@ -0,0 +1,368 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Unit = void 0;
4
+ const constants_1 = require("./constants");
5
+ /**
6
+ * @class Represents a measurable unit and supports conversions between various types of units.
7
+ *
8
+ * Includes static methods for:
9
+ * - Length: meters, feet, kilometers, miles
10
+ * - Mass: kilograms, pounds, grams, ounces
11
+ * - Temperature: Celsius, Fahrenheit, Kelvin
12
+ * - Volume: liters, gallons
13
+ * - Area: square meters, square feet
14
+ * - Speed: km/h, mph
15
+ * - Time: hours, minutes, seconds, days
16
+ * - Digital Storage: kilobytes, megabytes, gigabytes
17
+ * - Energy: joules, calories
18
+ * - Pressure: atm, pascals
19
+ * - Frequency: Hz, kHz
20
+ */
21
+ class Unit {
22
+ #value;
23
+ #unit;
24
+ /**
25
+ * * Creates an instance of the Unit class.
26
+ * @param value The numeric value to work with.
27
+ * @param unit The unit type of the value (e.g., 'kg', 'm', 'kb').
28
+ */
29
+ constructor(value, unit) {
30
+ this.#value = value;
31
+ this.#unit = unit;
32
+ }
33
+ /**
34
+ * @instance Returns the original value with unit (if passed in the constructor).
35
+ * @returns A string in the format "value unit".
36
+ */
37
+ toString() {
38
+ return `${this.#value} ${this.#unit ?? ''}`.trim();
39
+ }
40
+ /**
41
+ * @instance Converts using scientific prefixes (e.g., kB to MB, mg to g).
42
+ *
43
+ * @param fromPrefix The SI prefix of the source unit.
44
+ * @param toPrefix The SI prefix of the target unit.
45
+ * @returns The converted numeric value.
46
+ */
47
+ convertByPrefix(fromPrefix, toPrefix) {
48
+ return Unit.convertByPrefix(this.#value, fromPrefix, toPrefix);
49
+ }
50
+ /**
51
+ * @instance Converts from prefixed unit string to another (e.g., kB to MB, mg to g).
52
+ *
53
+ * @param from Prefixed unit string (e.g., 'kB', 'mg').
54
+ * @param to Target prefixed unit string (e.g., 'MB', 'g').
55
+ * @returns The converted numeric value.
56
+ */
57
+ convertFromTo(from, to) {
58
+ return Unit.convertFromTo(this.#value, from, to);
59
+ }
60
+ /**
61
+ * @instance Converts the value using a static method name from the `Unit` class.
62
+ *
63
+ * - **N.B.** *Provides IntelliSense and type safety for method selection.*
64
+ *
65
+ * @param methodName - A static `Unit` method that accepts a number and returns a number.
66
+ * @returns The converted numeric value.
67
+ */
68
+ convert(methodName) {
69
+ const method = Unit[methodName];
70
+ if (typeof method !== 'function') {
71
+ throw new Error(`Method ${methodName} is not a valid method!`);
72
+ }
73
+ return method(this.#value);
74
+ }
75
+ // ! ----- Static Conversion Methods ----- ! //
76
+ /**
77
+ * @static Converts a value using scientific prefixes (e.g., kB to MB, mg to g).
78
+ *
79
+ * @param value The value to convert.
80
+ * @param fromPrefix The SI prefix of the source unit.
81
+ * @param toPrefix The SI prefix of the target unit.
82
+ * @returns The converted numeric value.
83
+ */
84
+ static convertByPrefix(value, fromPrefix, toPrefix) {
85
+ const fromMultiplier = constants_1.PREFIX_MULTIPLIERS[fromPrefix];
86
+ const toMultiplier = constants_1.PREFIX_MULTIPLIERS[toPrefix];
87
+ return (value * fromMultiplier) / toMultiplier;
88
+ }
89
+ /**
90
+ * @static Converts from prefixed unit string to another (e.g., kB to MB, mg to g).
91
+ *
92
+ * @param value The numeric value.
93
+ * @param from Prefixed unit string (e.g., 'kB', 'mg').
94
+ * @param to Target prefixed unit string (e.g., 'MB', 'g').
95
+ * @returns The converted numeric value.
96
+ */
97
+ static convertFromTo(value, from, to) {
98
+ const extractPrefix = (str) => {
99
+ const match = str.match(/^(da|[yzafpnμumcdhkMGTPEZY]?)(.+)$/);
100
+ if (!match)
101
+ throw new Error(`Invalid unit format: ${str}`);
102
+ return [match[1], match[2]];
103
+ };
104
+ const [fromPrefix, fromUnit] = extractPrefix(from);
105
+ const [toPrefix, toUnit] = extractPrefix(to);
106
+ if (fromUnit !== toUnit) {
107
+ throw new Error(`Mismatched units: ${fromUnit} vs ${toUnit}`);
108
+ }
109
+ return Unit.convertByPrefix(value, fromPrefix, toPrefix);
110
+ }
111
+ /** Converts meters to feet. */
112
+ static metersToFeet(m) {
113
+ return m * 3.28084;
114
+ }
115
+ /** Converts feet to meters. */
116
+ static feetToMeters(ft) {
117
+ return ft / 3.28084;
118
+ }
119
+ /** Converts kilometers to miles. */
120
+ static kmToMiles(km) {
121
+ return km * 0.621371;
122
+ }
123
+ /** Converts miles to kilometers. */
124
+ static milesToKm(mi) {
125
+ return mi / 0.621371;
126
+ }
127
+ /** Converts kilograms to pounds. */
128
+ static kgToLbs(kg) {
129
+ return kg * 2.20462;
130
+ }
131
+ /** Converts pounds to kilograms. */
132
+ static lbsToKg(lbs) {
133
+ return lbs / 2.20462;
134
+ }
135
+ /** Converts grams to ounces. */
136
+ static gramsToOunces(g) {
137
+ return g * 0.035274;
138
+ }
139
+ /** Converts ounces to grams. */
140
+ static ouncesToGrams(oz) {
141
+ return oz / 0.035274;
142
+ }
143
+ /** Converts Celsius to Fahrenheit. */
144
+ static celsiusToFahrenheit(c) {
145
+ return (c * 9) / 5 + 32;
146
+ }
147
+ /** Converts Fahrenheit to Celsius. */
148
+ static fahrenheitToCelsius(f) {
149
+ return ((f - 32) * 5) / 9;
150
+ }
151
+ /** Converts Celsius to Kelvin. */
152
+ static celsiusToKelvin(c) {
153
+ return c + 273.15;
154
+ }
155
+ /** Converts Kelvin to Celsius. */
156
+ static kelvinToCelsius(k) {
157
+ return k - 273.15;
158
+ }
159
+ /** Converts Fahrenheit to Kelvin. */
160
+ static fahrenheitToKelvin(f) {
161
+ return ((f - 32) * 5) / 9 + 273.15;
162
+ }
163
+ /** Converts Kelvin to Fahrenheit. */
164
+ static kelvinToFahrenheit(k) {
165
+ return ((k - 273.15) * 9) / 5 + 32;
166
+ }
167
+ /** Converts milliliters to liters. */
168
+ static mlToLiters(ml) {
169
+ return ml / 1000;
170
+ }
171
+ /** Converts liters to milliliters. */
172
+ static litersToMl(l) {
173
+ return l * 1000;
174
+ }
175
+ /** Converts gallons to milliliters. */
176
+ static gallonsToMl(gal) {
177
+ return gal * 3785.41;
178
+ }
179
+ /** Converts milliliters to gallons. */
180
+ static mlToGallons(ml) {
181
+ return ml / 3785.41;
182
+ }
183
+ /** Converts liters to gallons. */
184
+ static litersToGallons(l) {
185
+ return l * 0.264172;
186
+ }
187
+ /** Converts gallons to liters. */
188
+ static gallonsToLiters(gal) {
189
+ return gal / 0.264172;
190
+ }
191
+ /** Converts square meters to square feet. */
192
+ static sqmToSqft(sqm) {
193
+ return sqm * 10.7639;
194
+ }
195
+ /** Converts square feet to square meters. */
196
+ static sqftToSqm(sqft) {
197
+ return sqft / 10.7639;
198
+ }
199
+ /** Converts kilometers per hour to miles per hour. */
200
+ static kmphToMph(kmph) {
201
+ return kmph * 0.621371;
202
+ }
203
+ /** Converts miles per hour to kilometers per hour. */
204
+ static mphToKmph(mph) {
205
+ return mph / 0.621371;
206
+ }
207
+ /** Converts minutes to hours. */
208
+ static minutesToHours(min) {
209
+ return min / 60;
210
+ }
211
+ /** Converts seconds to minutes. */
212
+ static secondsToMinutes(sec) {
213
+ return sec / 60;
214
+ }
215
+ /** Converts hours to days. */
216
+ static hoursToDays(hr) {
217
+ return hr / 24;
218
+ }
219
+ /** Converts hours to minutes. */
220
+ static hoursToMinutes(h) {
221
+ return h * 60;
222
+ }
223
+ /** Converts minutes to seconds. */
224
+ static minutesToSeconds(m) {
225
+ return m * 60;
226
+ }
227
+ /** Converts days to hours. */
228
+ static daysToHours(d) {
229
+ return d * 24;
230
+ }
231
+ /** Converts megabytes to gigabytes. */
232
+ static mbToGb(mb) {
233
+ return mb / 1024;
234
+ }
235
+ /** Converts gigabytes to megabytes. */
236
+ static gbToMb(gb) {
237
+ return gb * 1024;
238
+ }
239
+ /** Converts kilobytes to megabytes. */
240
+ static kbToMb(kb) {
241
+ return kb / 1024;
242
+ }
243
+ /** Converts kilobytes to gigabytes. */
244
+ static kbToGb(kb) {
245
+ return kb / (1024 * 1024);
246
+ }
247
+ /** Converts gigabytes to kilobytes. */
248
+ static gbToKb(gb) {
249
+ return gb * 1024 * 1024;
250
+ }
251
+ /** Converts bytes to kilobytes. */
252
+ static bytesToKb(bytes) {
253
+ return bytes / 1024;
254
+ }
255
+ /** Converts kilobytes to bytes. */
256
+ static kbToBytes(kb) {
257
+ return kb * 1024;
258
+ }
259
+ /** Converts megabytes to kilobytes. */
260
+ static mbToKb(mb) {
261
+ return mb * 1024;
262
+ }
263
+ /** Converts gigabytes to terabytes. */
264
+ static gbToTb(gb) {
265
+ return gb / 1024;
266
+ }
267
+ /** Converts terabytes to gigabytes. */
268
+ static tbToGb(tb) {
269
+ return tb * 1024;
270
+ }
271
+ /** Converts joules to calories. */
272
+ static joulesToCalories(j) {
273
+ return j * 0.239006;
274
+ }
275
+ /** Converts calories to joules. */
276
+ static caloriesToJoules(cal) {
277
+ return cal / 0.239006;
278
+ }
279
+ /** Converts calories to kilojoules. */
280
+ static caloriesToKJoules(cal) {
281
+ return cal / 0.239006 / 1000;
282
+ }
283
+ /** Converts kilojoules to calories. */
284
+ static kJoulesToCalories(kj) {
285
+ return kj * 1000 * 0.239006;
286
+ }
287
+ /** Converts atmospheres to pascals. */
288
+ static atmToPascal(atm) {
289
+ return atm * 101325;
290
+ }
291
+ /** Converts pascals to atmospheres. */
292
+ static pascalToAtm(pa) {
293
+ return pa / 101325;
294
+ }
295
+ /** Converts bar to pascals. */
296
+ static barToPascal(bar) {
297
+ return bar * 100000;
298
+ }
299
+ /** Converts pascals to bar. */
300
+ static pascalToBar(pa) {
301
+ return pa / 100000;
302
+ }
303
+ /** Converts hertz to kilohertz. */
304
+ static hzToKHz(hz) {
305
+ return hz / 1000;
306
+ }
307
+ /** Converts kilohertz to hertz. */
308
+ static kHzToHz(khz) {
309
+ return khz * 1000;
310
+ }
311
+ /** Converts hertz to megahertz. */
312
+ static hzToMHz(hz) {
313
+ return hz / 1_000_000;
314
+ }
315
+ /** Converts megahertz to hertz. */
316
+ static mHzToHz(mhz) {
317
+ return mhz * 1_000_000;
318
+ }
319
+ /** Converts kilohertz to megahertz. */
320
+ static kHzToMHz(khz) {
321
+ return khz / 1000;
322
+ }
323
+ /** Converts megahertz to kilohertz. */
324
+ static mHzToKHz(mhz) {
325
+ return mhz * 1000;
326
+ }
327
+ /** Converts centimeters to meters. */
328
+ static cmToMeters(cm) {
329
+ return cm / 100;
330
+ }
331
+ /** Converts meters to centimeters. */
332
+ static metersToCm(m) {
333
+ return m * 100;
334
+ }
335
+ /** Converts millimeters to meters. */
336
+ static mmToMeters(mm) {
337
+ return mm / 1000;
338
+ }
339
+ /** Converts meters to millimeters. */
340
+ static metersToMm(m) {
341
+ return m * 1000;
342
+ }
343
+ /** Converts square kilometers to square meters. */
344
+ static sqkmToSqm(sqkm) {
345
+ return sqkm * 1_000_000;
346
+ }
347
+ /** Converts square meters to square kilometers. */
348
+ static sqmToSqkm(sqm) {
349
+ return sqm / 1_000_000;
350
+ }
351
+ /** Converts square feet to square inches. */
352
+ static sqftToSqin(sqft) {
353
+ return sqft * 144;
354
+ }
355
+ /** Converts square inches to square feet. */
356
+ static sqinToSqft(sqin) {
357
+ return sqin / 144;
358
+ }
359
+ /** Converts watts to kilowatts. */
360
+ static wattsToKw(w) {
361
+ return w / 1000;
362
+ }
363
+ /** Converts kilowatts to watts. */
364
+ static kwToWatts(kw) {
365
+ return kw * 1000;
366
+ }
367
+ }
368
+ exports.Unit = Unit;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SUPPORTED_CURRENCIES = exports.CURRENCY_LOCALES = exports.LOCALE_CODES = exports.CURRENCY_CODES = exports.thousands = exports.tens = exports.teens = exports.ones = void 0;
3
+ exports.PREFIX_MULTIPLIERS = exports.UNITS = exports.SUPPORTED_CURRENCIES = exports.CURRENCY_LOCALES = exports.LOCALE_CODES = exports.CURRENCY_CODES = exports.thousands = exports.tens = exports.teens = exports.ones = void 0;
4
4
  exports.ones = [
5
5
  '',
6
6
  'one',
@@ -539,3 +539,72 @@ exports.SUPPORTED_CURRENCIES = [
539
539
  'USD',
540
540
  'ZAR',
541
541
  ];
542
+ /** * @constant Unit names and their full readable labels. */
543
+ exports.UNITS = {
544
+ // Length
545
+ m: 'Meter',
546
+ km: 'Kilometer',
547
+ mi: 'Mile',
548
+ ft: 'Foot',
549
+ // Mass / Weight
550
+ kg: 'Kilogram',
551
+ lbs: 'Pound',
552
+ g: 'Gram',
553
+ oz: 'Ounce',
554
+ // Temperature
555
+ C: 'Celsius',
556
+ F: 'Fahrenheit',
557
+ K: 'Kelvin',
558
+ // Volume
559
+ l: 'Liter',
560
+ gal: 'Gallon',
561
+ // Area
562
+ sqm: 'Square Meter',
563
+ sqft: 'Square Foot',
564
+ // Speed
565
+ kmph: 'Kilometer per Hour',
566
+ mph: 'Miles per Hour',
567
+ // Time
568
+ h: 'Hour',
569
+ min: 'Minute',
570
+ sec: 'Second',
571
+ d: 'Day',
572
+ // Digital Storage
573
+ kb: 'Kilobyte',
574
+ mb: 'Megabyte',
575
+ gb: 'Gigabyte',
576
+ // Energy
577
+ j: 'Joule',
578
+ cal: 'Calorie',
579
+ // Pressure
580
+ atm: 'Atmosphere',
581
+ pa: 'Pascal',
582
+ // Frequency
583
+ hz: 'Hertz',
584
+ khz: 'Kilohertz',
585
+ };
586
+ /** * Scientific SI Unit prefix multipliers. */
587
+ exports.PREFIX_MULTIPLIERS = {
588
+ y: 1e-24,
589
+ z: 1e-21,
590
+ a: 1e-18,
591
+ f: 1e-15,
592
+ p: 1e-12,
593
+ n: 1e-9,
594
+ μ: 1e-6,
595
+ u: 1e-6,
596
+ m: 1e-3,
597
+ c: 1e-2,
598
+ d: 1e-1,
599
+ da: 1e1,
600
+ h: 1e2,
601
+ k: 1e3,
602
+ M: 1e6,
603
+ G: 1e9,
604
+ T: 1e12,
605
+ P: 1e15,
606
+ E: 1e18,
607
+ Z: 1e21,
608
+ Y: 1e24,
609
+ '': 1, // base unit, like meter, gram, byte etc.
610
+ };
@@ -11,7 +11,7 @@ export declare const MINUTE_FORMATS: readonly ["mm", "m"];
11
11
  export declare const SECOND_FORMATS: readonly ["ss", "s"];
12
12
  export declare const MILLISECOND_FORMATS: readonly ["ms", "mss"];
13
13
  export declare const TIME_FORMATS: readonly ["a", "A"];
14
- export declare const sortedFormats: ("a" | "M" | "D" | "h" | "s" | "A" | "YYYY" | "YY" | "yyyy" | "yy" | "MM" | "mmm" | "mmmm" | "DD" | "Do" | "d" | "dd" | "ddd" | "H" | "HH" | "hh" | "mm" | "m" | "ss" | "ms" | "mss")[];
14
+ export declare const sortedFormats: ("a" | "m" | "h" | "d" | "M" | "D" | "s" | "A" | "YYYY" | "YY" | "yyyy" | "yy" | "MM" | "mmm" | "mmmm" | "DD" | "Do" | "dd" | "ddd" | "H" | "HH" | "hh" | "mm" | "ss" | "ms" | "mss")[];
15
15
  export declare const TIME_ZONES: {
16
16
  /** International Date Line West (Baker Island, Howland Island) */
17
17
  readonly IDLW: number;
@@ -5,6 +5,7 @@ export { convertStringCase, extractEmails, extractURLs, formatUnitWithPlural as
5
5
  export { countWords, countWords as countWordsInString, extractNumbersFromString, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, countWords as wordCount, } from './string/utilities';
6
6
  export { getAverage as calculateAverage, calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getAverage, getAverage as getAverageOfNumbers, getRandomNumber, sumNumbers as getSumOfNumbers, reverseNumber, sumDigits, sumNumbers, sumNumbers as sumOfNumbers, } from './number/basics';
7
7
  export { Currency } from './number/Currency';
8
+ export { Unit } from './number/Unit';
8
9
  export { calculatePercentage } from './number/percent';
9
10
  export { fibonacciGenerator, fibonacciGenerator as generateFibonacci, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getFibonacciSeriesMemo, getFibonacciSeriesMemo as getMemoizedFibonacci, getFibonacciSeriesMemo as getMemoizedFibonacciSeries, getNthFibonacci, } from './number/fibonacci';
10
11
  export { areInvalidNumbers, isEven, isEven as isEvenNumber, isFibonacci, areInvalidNumbers as isInvalidNumbers, isMultiple, isOdd, isOdd as isOddNumber, isFibonacci as isParOfFibonacci, isFibonacci as isParOfFibonacciSeries, isPerfectSquare, } from './number/guards';
@@ -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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"}
@@ -0,0 +1,203 @@
1
+ import type { SIPrefix, UnitKey, UnitNumberMethods } from './types';
2
+ /**
3
+ * @class Represents a measurable unit and supports conversions between various types of units.
4
+ *
5
+ * Includes static methods for:
6
+ * - Length: meters, feet, kilometers, miles
7
+ * - Mass: kilograms, pounds, grams, ounces
8
+ * - Temperature: Celsius, Fahrenheit, Kelvin
9
+ * - Volume: liters, gallons
10
+ * - Area: square meters, square feet
11
+ * - Speed: km/h, mph
12
+ * - Time: hours, minutes, seconds, days
13
+ * - Digital Storage: kilobytes, megabytes, gigabytes
14
+ * - Energy: joules, calories
15
+ * - Pressure: atm, pascals
16
+ * - Frequency: Hz, kHz
17
+ */
18
+ export declare class Unit {
19
+ #private;
20
+ /**
21
+ * * Creates an instance of the Unit class.
22
+ * @param value The numeric value to work with.
23
+ * @param unit The unit type of the value (e.g., 'kg', 'm', 'kb').
24
+ */
25
+ constructor(value: number, unit?: UnitKey);
26
+ /**
27
+ * @instance Returns the original value with unit (if passed in the constructor).
28
+ * @returns A string in the format "value unit".
29
+ */
30
+ toString(): string;
31
+ /**
32
+ * @instance Converts using scientific prefixes (e.g., kB to MB, mg to g).
33
+ *
34
+ * @param fromPrefix The SI prefix of the source unit.
35
+ * @param toPrefix The SI prefix of the target unit.
36
+ * @returns The converted numeric value.
37
+ */
38
+ convertByPrefix(fromPrefix: SIPrefix, toPrefix: SIPrefix): number;
39
+ /**
40
+ * @instance Converts from prefixed unit string to another (e.g., kB to MB, mg to g).
41
+ *
42
+ * @param from Prefixed unit string (e.g., 'kB', 'mg').
43
+ * @param to Target prefixed unit string (e.g., 'MB', 'g').
44
+ * @returns The converted numeric value.
45
+ */
46
+ convertFromTo(from: string, to: string): number;
47
+ /**
48
+ * @instance Converts the value using a static method name from the `Unit` class.
49
+ *
50
+ * - **N.B.** *Provides IntelliSense and type safety for method selection.*
51
+ *
52
+ * @param methodName - A static `Unit` method that accepts a number and returns a number.
53
+ * @returns The converted numeric value.
54
+ */
55
+ convert(methodName: UnitNumberMethods): number;
56
+ /**
57
+ * @static Converts a value using scientific prefixes (e.g., kB to MB, mg to g).
58
+ *
59
+ * @param value The value to convert.
60
+ * @param fromPrefix The SI prefix of the source unit.
61
+ * @param toPrefix The SI prefix of the target unit.
62
+ * @returns The converted numeric value.
63
+ */
64
+ static convertByPrefix(value: number, fromPrefix: SIPrefix, toPrefix: SIPrefix): number;
65
+ /**
66
+ * @static Converts from prefixed unit string to another (e.g., kB to MB, mg to g).
67
+ *
68
+ * @param value The numeric value.
69
+ * @param from Prefixed unit string (e.g., 'kB', 'mg').
70
+ * @param to Target prefixed unit string (e.g., 'MB', 'g').
71
+ * @returns The converted numeric value.
72
+ */
73
+ static convertFromTo(value: number, from: string, to: string): number;
74
+ /** Converts meters to feet. */
75
+ static metersToFeet(m: number): number;
76
+ /** Converts feet to meters. */
77
+ static feetToMeters(ft: number): number;
78
+ /** Converts kilometers to miles. */
79
+ static kmToMiles(km: number): number;
80
+ /** Converts miles to kilometers. */
81
+ static milesToKm(mi: number): number;
82
+ /** Converts kilograms to pounds. */
83
+ static kgToLbs(kg: number): number;
84
+ /** Converts pounds to kilograms. */
85
+ static lbsToKg(lbs: number): number;
86
+ /** Converts grams to ounces. */
87
+ static gramsToOunces(g: number): number;
88
+ /** Converts ounces to grams. */
89
+ static ouncesToGrams(oz: number): number;
90
+ /** Converts Celsius to Fahrenheit. */
91
+ static celsiusToFahrenheit(c: number): number;
92
+ /** Converts Fahrenheit to Celsius. */
93
+ static fahrenheitToCelsius(f: number): number;
94
+ /** Converts Celsius to Kelvin. */
95
+ static celsiusToKelvin(c: number): number;
96
+ /** Converts Kelvin to Celsius. */
97
+ static kelvinToCelsius(k: number): number;
98
+ /** Converts Fahrenheit to Kelvin. */
99
+ static fahrenheitToKelvin(f: number): number;
100
+ /** Converts Kelvin to Fahrenheit. */
101
+ static kelvinToFahrenheit(k: number): number;
102
+ /** Converts milliliters to liters. */
103
+ static mlToLiters(ml: number): number;
104
+ /** Converts liters to milliliters. */
105
+ static litersToMl(l: number): number;
106
+ /** Converts gallons to milliliters. */
107
+ static gallonsToMl(gal: number): number;
108
+ /** Converts milliliters to gallons. */
109
+ static mlToGallons(ml: number): number;
110
+ /** Converts liters to gallons. */
111
+ static litersToGallons(l: number): number;
112
+ /** Converts gallons to liters. */
113
+ static gallonsToLiters(gal: number): number;
114
+ /** Converts square meters to square feet. */
115
+ static sqmToSqft(sqm: number): number;
116
+ /** Converts square feet to square meters. */
117
+ static sqftToSqm(sqft: number): number;
118
+ /** Converts kilometers per hour to miles per hour. */
119
+ static kmphToMph(kmph: number): number;
120
+ /** Converts miles per hour to kilometers per hour. */
121
+ static mphToKmph(mph: number): number;
122
+ /** Converts minutes to hours. */
123
+ static minutesToHours(min: number): number;
124
+ /** Converts seconds to minutes. */
125
+ static secondsToMinutes(sec: number): number;
126
+ /** Converts hours to days. */
127
+ static hoursToDays(hr: number): number;
128
+ /** Converts hours to minutes. */
129
+ static hoursToMinutes(h: number): number;
130
+ /** Converts minutes to seconds. */
131
+ static minutesToSeconds(m: number): number;
132
+ /** Converts days to hours. */
133
+ static daysToHours(d: number): number;
134
+ /** Converts megabytes to gigabytes. */
135
+ static mbToGb(mb: number): number;
136
+ /** Converts gigabytes to megabytes. */
137
+ static gbToMb(gb: number): number;
138
+ /** Converts kilobytes to megabytes. */
139
+ static kbToMb(kb: number): number;
140
+ /** Converts kilobytes to gigabytes. */
141
+ static kbToGb(kb: number): number;
142
+ /** Converts gigabytes to kilobytes. */
143
+ static gbToKb(gb: number): number;
144
+ /** Converts bytes to kilobytes. */
145
+ static bytesToKb(bytes: number): number;
146
+ /** Converts kilobytes to bytes. */
147
+ static kbToBytes(kb: number): number;
148
+ /** Converts megabytes to kilobytes. */
149
+ static mbToKb(mb: number): number;
150
+ /** Converts gigabytes to terabytes. */
151
+ static gbToTb(gb: number): number;
152
+ /** Converts terabytes to gigabytes. */
153
+ static tbToGb(tb: number): number;
154
+ /** Converts joules to calories. */
155
+ static joulesToCalories(j: number): number;
156
+ /** Converts calories to joules. */
157
+ static caloriesToJoules(cal: number): number;
158
+ /** Converts calories to kilojoules. */
159
+ static caloriesToKJoules(cal: number): number;
160
+ /** Converts kilojoules to calories. */
161
+ static kJoulesToCalories(kj: number): number;
162
+ /** Converts atmospheres to pascals. */
163
+ static atmToPascal(atm: number): number;
164
+ /** Converts pascals to atmospheres. */
165
+ static pascalToAtm(pa: number): number;
166
+ /** Converts bar to pascals. */
167
+ static barToPascal(bar: number): number;
168
+ /** Converts pascals to bar. */
169
+ static pascalToBar(pa: number): number;
170
+ /** Converts hertz to kilohertz. */
171
+ static hzToKHz(hz: number): number;
172
+ /** Converts kilohertz to hertz. */
173
+ static kHzToHz(khz: number): number;
174
+ /** Converts hertz to megahertz. */
175
+ static hzToMHz(hz: number): number;
176
+ /** Converts megahertz to hertz. */
177
+ static mHzToHz(mhz: number): number;
178
+ /** Converts kilohertz to megahertz. */
179
+ static kHzToMHz(khz: number): number;
180
+ /** Converts megahertz to kilohertz. */
181
+ static mHzToKHz(mhz: number): number;
182
+ /** Converts centimeters to meters. */
183
+ static cmToMeters(cm: number): number;
184
+ /** Converts meters to centimeters. */
185
+ static metersToCm(m: number): number;
186
+ /** Converts millimeters to meters. */
187
+ static mmToMeters(mm: number): number;
188
+ /** Converts meters to millimeters. */
189
+ static metersToMm(m: number): number;
190
+ /** Converts square kilometers to square meters. */
191
+ static sqkmToSqm(sqkm: number): number;
192
+ /** Converts square meters to square kilometers. */
193
+ static sqmToSqkm(sqm: number): number;
194
+ /** Converts square feet to square inches. */
195
+ static sqftToSqin(sqft: number): number;
196
+ /** Converts square inches to square feet. */
197
+ static sqinToSqft(sqin: number): number;
198
+ /** Converts watts to kilowatts. */
199
+ static wattsToKw(w: number): number;
200
+ /** Converts kilowatts to watts. */
201
+ static kwToWatts(kw: number): number;
202
+ }
203
+ //# sourceMappingURL=Unit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Unit.d.ts","sourceRoot":"","sources":["../../../src/number/Unit.ts"],"names":[],"mappings":"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"}
@@ -171,4 +171,62 @@ export declare const CURRENCY_LOCALES: {
171
171
  };
172
172
  /** * Fiat currencies supported by Frankfurter API */
173
173
  export declare const SUPPORTED_CURRENCIES: readonly ["AUD", "BGN", "BRL", "CAD", "CHF", "CNY", "CZK", "DKK", "EUR", "GBP", "HKD", "HUF", "IDR", "ILS", "INR", "ISK", "JPY", "KRW", "MXN", "MYR", "NOK", "NZD", "PHP", "PLN", "RON", "SEK", "SGD", "THB", "TRY", "USD", "ZAR"];
174
+ /** * @constant Unit names and their full readable labels. */
175
+ export declare const UNITS: {
176
+ readonly m: "Meter";
177
+ readonly km: "Kilometer";
178
+ readonly mi: "Mile";
179
+ readonly ft: "Foot";
180
+ readonly kg: "Kilogram";
181
+ readonly lbs: "Pound";
182
+ readonly g: "Gram";
183
+ readonly oz: "Ounce";
184
+ readonly C: "Celsius";
185
+ readonly F: "Fahrenheit";
186
+ readonly K: "Kelvin";
187
+ readonly l: "Liter";
188
+ readonly gal: "Gallon";
189
+ readonly sqm: "Square Meter";
190
+ readonly sqft: "Square Foot";
191
+ readonly kmph: "Kilometer per Hour";
192
+ readonly mph: "Miles per Hour";
193
+ readonly h: "Hour";
194
+ readonly min: "Minute";
195
+ readonly sec: "Second";
196
+ readonly d: "Day";
197
+ readonly kb: "Kilobyte";
198
+ readonly mb: "Megabyte";
199
+ readonly gb: "Gigabyte";
200
+ readonly j: "Joule";
201
+ readonly cal: "Calorie";
202
+ readonly atm: "Atmosphere";
203
+ readonly pa: "Pascal";
204
+ readonly hz: "Hertz";
205
+ readonly khz: "Kilohertz";
206
+ };
207
+ /** * Scientific SI Unit prefix multipliers. */
208
+ export declare const PREFIX_MULTIPLIERS: {
209
+ readonly y: 1e-24;
210
+ readonly z: 1e-21;
211
+ readonly a: 1e-18;
212
+ readonly f: 1e-15;
213
+ readonly p: 1e-12;
214
+ readonly n: 1e-9;
215
+ readonly μ: 0.000001;
216
+ readonly u: 0.000001;
217
+ readonly m: 0.001;
218
+ readonly c: 0.01;
219
+ readonly d: 0.1;
220
+ readonly da: 10;
221
+ readonly h: 100;
222
+ readonly k: 1000;
223
+ readonly M: 1000000;
224
+ readonly G: 1000000000;
225
+ readonly T: 1000000000000;
226
+ readonly P: 1000000000000000;
227
+ readonly E: 1000000000000000000;
228
+ readonly Z: 1e+21;
229
+ readonly Y: 1e+24;
230
+ readonly '': 1;
231
+ };
174
232
  //# 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;AAEX,sCAAsC;AACtC,eAAO,MAAM,cAAc,2mCAiKjB,CAAC;AAEX,2CAA2C;AAC3C,eAAO,MAAM,YAAY,mnCA8Hf,CAAC;AAEX,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiKnB,CAAC;AAEX,qDAAqD;AACrD,eAAO,MAAM,oBAAoB,oOAgCvB,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;AAEX,qDAAqD;AACrD,eAAO,MAAM,oBAAoB,oOAgCvB,CAAC;AAEX,6DAA6D;AAC7D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDR,CAAC;AAEX,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;CAuBrB,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { CURRENCY_CODES, CURRENCY_LOCALES, LOCALE_CODES, SUPPORTED_CURRENCIES } from './constants';
1
+ import type { CURRENCY_CODES, CURRENCY_LOCALES, LOCALE_CODES, PREFIX_MULTIPLIERS, SUPPORTED_CURRENCIES, UNITS } from './constants';
2
+ import type { Unit } from './Unit';
2
3
  /** - Options for random number generator */
3
4
  export interface RandomNumberOptions {
4
5
  /** Minimum number to start with. */
@@ -118,4 +119,14 @@ export interface InversePercentageOptions {
118
119
  }
119
120
  /** * Options for calculating percentages and related values. */
120
121
  export type PercentageOptions = GetPercentOptions | GetValueOptions | GetOriginalOptions | GetChangeOptions | ApplyChangeOptions | GetDifferenceOptions | InversePercentageOptions;
122
+ /** * Static methods from `Unit` class that accept a single number argument and return a number. */
123
+ export type UnitNumberMethods = {
124
+ [K in keyof typeof Unit]: (typeof Unit)[K] extends ((value: number) => number) ? K : never;
125
+ }[keyof typeof Unit];
126
+ /** - Short forms of units */
127
+ export type UnitKey = keyof typeof UNITS;
128
+ /** - Labels for the units */
129
+ export type UnitLabel = (typeof UNITS)[UnitKey];
130
+ /** - Prefixes for SI units */
131
+ export type SIPrefix = keyof typeof PREFIX_MULTIPLIERS;
121
132
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/number/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/number/types.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -7,6 +7,7 @@ export { countWords, countWords as countWordsInString, extractNumbersFromString,
7
7
  // ! Number Utilities
8
8
  export { getAverage as calculateAverage, calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getAverage, getAverage as getAverageOfNumbers, getRandomNumber, sumNumbers as getSumOfNumbers, reverseNumber, sumDigits, sumNumbers, sumNumbers as sumOfNumbers, } from './number/basics';
9
9
  export { Currency } from './number/Currency';
10
+ export { Unit } from './number/Unit';
10
11
  export { calculatePercentage } from './number/percent';
11
12
  export { fibonacciGenerator, fibonacciGenerator as generateFibonacci, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getFibonacciSeriesMemo, getFibonacciSeriesMemo as getMemoizedFibonacci, getFibonacciSeriesMemo as getMemoizedFibonacciSeries, getNthFibonacci, } from './number/fibonacci';
12
13
  export { areInvalidNumbers, isEven, isEven as isEvenNumber, isFibonacci, areInvalidNumbers as isInvalidNumbers, isMultiple, isOdd, isOdd as isOddNumber, isFibonacci as isParOfFibonacci, isFibonacci as isParOfFibonacciSeries, isPerfectSquare, } from './number/guards';
@@ -0,0 +1,364 @@
1
+ import { PREFIX_MULTIPLIERS } from './constants';
2
+ /**
3
+ * @class Represents a measurable unit and supports conversions between various types of units.
4
+ *
5
+ * Includes static methods for:
6
+ * - Length: meters, feet, kilometers, miles
7
+ * - Mass: kilograms, pounds, grams, ounces
8
+ * - Temperature: Celsius, Fahrenheit, Kelvin
9
+ * - Volume: liters, gallons
10
+ * - Area: square meters, square feet
11
+ * - Speed: km/h, mph
12
+ * - Time: hours, minutes, seconds, days
13
+ * - Digital Storage: kilobytes, megabytes, gigabytes
14
+ * - Energy: joules, calories
15
+ * - Pressure: atm, pascals
16
+ * - Frequency: Hz, kHz
17
+ */
18
+ export class Unit {
19
+ #value;
20
+ #unit;
21
+ /**
22
+ * * Creates an instance of the Unit class.
23
+ * @param value The numeric value to work with.
24
+ * @param unit The unit type of the value (e.g., 'kg', 'm', 'kb').
25
+ */
26
+ constructor(value, unit) {
27
+ this.#value = value;
28
+ this.#unit = unit;
29
+ }
30
+ /**
31
+ * @instance Returns the original value with unit (if passed in the constructor).
32
+ * @returns A string in the format "value unit".
33
+ */
34
+ toString() {
35
+ return `${this.#value} ${this.#unit ?? ''}`.trim();
36
+ }
37
+ /**
38
+ * @instance Converts using scientific prefixes (e.g., kB to MB, mg to g).
39
+ *
40
+ * @param fromPrefix The SI prefix of the source unit.
41
+ * @param toPrefix The SI prefix of the target unit.
42
+ * @returns The converted numeric value.
43
+ */
44
+ convertByPrefix(fromPrefix, toPrefix) {
45
+ return Unit.convertByPrefix(this.#value, fromPrefix, toPrefix);
46
+ }
47
+ /**
48
+ * @instance Converts from prefixed unit string to another (e.g., kB to MB, mg to g).
49
+ *
50
+ * @param from Prefixed unit string (e.g., 'kB', 'mg').
51
+ * @param to Target prefixed unit string (e.g., 'MB', 'g').
52
+ * @returns The converted numeric value.
53
+ */
54
+ convertFromTo(from, to) {
55
+ return Unit.convertFromTo(this.#value, from, to);
56
+ }
57
+ /**
58
+ * @instance Converts the value using a static method name from the `Unit` class.
59
+ *
60
+ * - **N.B.** *Provides IntelliSense and type safety for method selection.*
61
+ *
62
+ * @param methodName - A static `Unit` method that accepts a number and returns a number.
63
+ * @returns The converted numeric value.
64
+ */
65
+ convert(methodName) {
66
+ const method = Unit[methodName];
67
+ if (typeof method !== 'function') {
68
+ throw new Error(`Method ${methodName} is not a valid method!`);
69
+ }
70
+ return method(this.#value);
71
+ }
72
+ // ! ----- Static Conversion Methods ----- ! //
73
+ /**
74
+ * @static Converts a value using scientific prefixes (e.g., kB to MB, mg to g).
75
+ *
76
+ * @param value The value to convert.
77
+ * @param fromPrefix The SI prefix of the source unit.
78
+ * @param toPrefix The SI prefix of the target unit.
79
+ * @returns The converted numeric value.
80
+ */
81
+ static convertByPrefix(value, fromPrefix, toPrefix) {
82
+ const fromMultiplier = PREFIX_MULTIPLIERS[fromPrefix];
83
+ const toMultiplier = PREFIX_MULTIPLIERS[toPrefix];
84
+ return (value * fromMultiplier) / toMultiplier;
85
+ }
86
+ /**
87
+ * @static Converts from prefixed unit string to another (e.g., kB to MB, mg to g).
88
+ *
89
+ * @param value The numeric value.
90
+ * @param from Prefixed unit string (e.g., 'kB', 'mg').
91
+ * @param to Target prefixed unit string (e.g., 'MB', 'g').
92
+ * @returns The converted numeric value.
93
+ */
94
+ static convertFromTo(value, from, to) {
95
+ const extractPrefix = (str) => {
96
+ const match = str.match(/^(da|[yzafpnμumcdhkMGTPEZY]?)(.+)$/);
97
+ if (!match)
98
+ throw new Error(`Invalid unit format: ${str}`);
99
+ return [match[1], match[2]];
100
+ };
101
+ const [fromPrefix, fromUnit] = extractPrefix(from);
102
+ const [toPrefix, toUnit] = extractPrefix(to);
103
+ if (fromUnit !== toUnit) {
104
+ throw new Error(`Mismatched units: ${fromUnit} vs ${toUnit}`);
105
+ }
106
+ return Unit.convertByPrefix(value, fromPrefix, toPrefix);
107
+ }
108
+ /** Converts meters to feet. */
109
+ static metersToFeet(m) {
110
+ return m * 3.28084;
111
+ }
112
+ /** Converts feet to meters. */
113
+ static feetToMeters(ft) {
114
+ return ft / 3.28084;
115
+ }
116
+ /** Converts kilometers to miles. */
117
+ static kmToMiles(km) {
118
+ return km * 0.621371;
119
+ }
120
+ /** Converts miles to kilometers. */
121
+ static milesToKm(mi) {
122
+ return mi / 0.621371;
123
+ }
124
+ /** Converts kilograms to pounds. */
125
+ static kgToLbs(kg) {
126
+ return kg * 2.20462;
127
+ }
128
+ /** Converts pounds to kilograms. */
129
+ static lbsToKg(lbs) {
130
+ return lbs / 2.20462;
131
+ }
132
+ /** Converts grams to ounces. */
133
+ static gramsToOunces(g) {
134
+ return g * 0.035274;
135
+ }
136
+ /** Converts ounces to grams. */
137
+ static ouncesToGrams(oz) {
138
+ return oz / 0.035274;
139
+ }
140
+ /** Converts Celsius to Fahrenheit. */
141
+ static celsiusToFahrenheit(c) {
142
+ return (c * 9) / 5 + 32;
143
+ }
144
+ /** Converts Fahrenheit to Celsius. */
145
+ static fahrenheitToCelsius(f) {
146
+ return ((f - 32) * 5) / 9;
147
+ }
148
+ /** Converts Celsius to Kelvin. */
149
+ static celsiusToKelvin(c) {
150
+ return c + 273.15;
151
+ }
152
+ /** Converts Kelvin to Celsius. */
153
+ static kelvinToCelsius(k) {
154
+ return k - 273.15;
155
+ }
156
+ /** Converts Fahrenheit to Kelvin. */
157
+ static fahrenheitToKelvin(f) {
158
+ return ((f - 32) * 5) / 9 + 273.15;
159
+ }
160
+ /** Converts Kelvin to Fahrenheit. */
161
+ static kelvinToFahrenheit(k) {
162
+ return ((k - 273.15) * 9) / 5 + 32;
163
+ }
164
+ /** Converts milliliters to liters. */
165
+ static mlToLiters(ml) {
166
+ return ml / 1000;
167
+ }
168
+ /** Converts liters to milliliters. */
169
+ static litersToMl(l) {
170
+ return l * 1000;
171
+ }
172
+ /** Converts gallons to milliliters. */
173
+ static gallonsToMl(gal) {
174
+ return gal * 3785.41;
175
+ }
176
+ /** Converts milliliters to gallons. */
177
+ static mlToGallons(ml) {
178
+ return ml / 3785.41;
179
+ }
180
+ /** Converts liters to gallons. */
181
+ static litersToGallons(l) {
182
+ return l * 0.264172;
183
+ }
184
+ /** Converts gallons to liters. */
185
+ static gallonsToLiters(gal) {
186
+ return gal / 0.264172;
187
+ }
188
+ /** Converts square meters to square feet. */
189
+ static sqmToSqft(sqm) {
190
+ return sqm * 10.7639;
191
+ }
192
+ /** Converts square feet to square meters. */
193
+ static sqftToSqm(sqft) {
194
+ return sqft / 10.7639;
195
+ }
196
+ /** Converts kilometers per hour to miles per hour. */
197
+ static kmphToMph(kmph) {
198
+ return kmph * 0.621371;
199
+ }
200
+ /** Converts miles per hour to kilometers per hour. */
201
+ static mphToKmph(mph) {
202
+ return mph / 0.621371;
203
+ }
204
+ /** Converts minutes to hours. */
205
+ static minutesToHours(min) {
206
+ return min / 60;
207
+ }
208
+ /** Converts seconds to minutes. */
209
+ static secondsToMinutes(sec) {
210
+ return sec / 60;
211
+ }
212
+ /** Converts hours to days. */
213
+ static hoursToDays(hr) {
214
+ return hr / 24;
215
+ }
216
+ /** Converts hours to minutes. */
217
+ static hoursToMinutes(h) {
218
+ return h * 60;
219
+ }
220
+ /** Converts minutes to seconds. */
221
+ static minutesToSeconds(m) {
222
+ return m * 60;
223
+ }
224
+ /** Converts days to hours. */
225
+ static daysToHours(d) {
226
+ return d * 24;
227
+ }
228
+ /** Converts megabytes to gigabytes. */
229
+ static mbToGb(mb) {
230
+ return mb / 1024;
231
+ }
232
+ /** Converts gigabytes to megabytes. */
233
+ static gbToMb(gb) {
234
+ return gb * 1024;
235
+ }
236
+ /** Converts kilobytes to megabytes. */
237
+ static kbToMb(kb) {
238
+ return kb / 1024;
239
+ }
240
+ /** Converts kilobytes to gigabytes. */
241
+ static kbToGb(kb) {
242
+ return kb / (1024 * 1024);
243
+ }
244
+ /** Converts gigabytes to kilobytes. */
245
+ static gbToKb(gb) {
246
+ return gb * 1024 * 1024;
247
+ }
248
+ /** Converts bytes to kilobytes. */
249
+ static bytesToKb(bytes) {
250
+ return bytes / 1024;
251
+ }
252
+ /** Converts kilobytes to bytes. */
253
+ static kbToBytes(kb) {
254
+ return kb * 1024;
255
+ }
256
+ /** Converts megabytes to kilobytes. */
257
+ static mbToKb(mb) {
258
+ return mb * 1024;
259
+ }
260
+ /** Converts gigabytes to terabytes. */
261
+ static gbToTb(gb) {
262
+ return gb / 1024;
263
+ }
264
+ /** Converts terabytes to gigabytes. */
265
+ static tbToGb(tb) {
266
+ return tb * 1024;
267
+ }
268
+ /** Converts joules to calories. */
269
+ static joulesToCalories(j) {
270
+ return j * 0.239006;
271
+ }
272
+ /** Converts calories to joules. */
273
+ static caloriesToJoules(cal) {
274
+ return cal / 0.239006;
275
+ }
276
+ /** Converts calories to kilojoules. */
277
+ static caloriesToKJoules(cal) {
278
+ return cal / 0.239006 / 1000;
279
+ }
280
+ /** Converts kilojoules to calories. */
281
+ static kJoulesToCalories(kj) {
282
+ return kj * 1000 * 0.239006;
283
+ }
284
+ /** Converts atmospheres to pascals. */
285
+ static atmToPascal(atm) {
286
+ return atm * 101325;
287
+ }
288
+ /** Converts pascals to atmospheres. */
289
+ static pascalToAtm(pa) {
290
+ return pa / 101325;
291
+ }
292
+ /** Converts bar to pascals. */
293
+ static barToPascal(bar) {
294
+ return bar * 100000;
295
+ }
296
+ /** Converts pascals to bar. */
297
+ static pascalToBar(pa) {
298
+ return pa / 100000;
299
+ }
300
+ /** Converts hertz to kilohertz. */
301
+ static hzToKHz(hz) {
302
+ return hz / 1000;
303
+ }
304
+ /** Converts kilohertz to hertz. */
305
+ static kHzToHz(khz) {
306
+ return khz * 1000;
307
+ }
308
+ /** Converts hertz to megahertz. */
309
+ static hzToMHz(hz) {
310
+ return hz / 1_000_000;
311
+ }
312
+ /** Converts megahertz to hertz. */
313
+ static mHzToHz(mhz) {
314
+ return mhz * 1_000_000;
315
+ }
316
+ /** Converts kilohertz to megahertz. */
317
+ static kHzToMHz(khz) {
318
+ return khz / 1000;
319
+ }
320
+ /** Converts megahertz to kilohertz. */
321
+ static mHzToKHz(mhz) {
322
+ return mhz * 1000;
323
+ }
324
+ /** Converts centimeters to meters. */
325
+ static cmToMeters(cm) {
326
+ return cm / 100;
327
+ }
328
+ /** Converts meters to centimeters. */
329
+ static metersToCm(m) {
330
+ return m * 100;
331
+ }
332
+ /** Converts millimeters to meters. */
333
+ static mmToMeters(mm) {
334
+ return mm / 1000;
335
+ }
336
+ /** Converts meters to millimeters. */
337
+ static metersToMm(m) {
338
+ return m * 1000;
339
+ }
340
+ /** Converts square kilometers to square meters. */
341
+ static sqkmToSqm(sqkm) {
342
+ return sqkm * 1_000_000;
343
+ }
344
+ /** Converts square meters to square kilometers. */
345
+ static sqmToSqkm(sqm) {
346
+ return sqm / 1_000_000;
347
+ }
348
+ /** Converts square feet to square inches. */
349
+ static sqftToSqin(sqft) {
350
+ return sqft * 144;
351
+ }
352
+ /** Converts square inches to square feet. */
353
+ static sqinToSqft(sqin) {
354
+ return sqin / 144;
355
+ }
356
+ /** Converts watts to kilowatts. */
357
+ static wattsToKw(w) {
358
+ return w / 1000;
359
+ }
360
+ /** Converts kilowatts to watts. */
361
+ static kwToWatts(kw) {
362
+ return kw * 1000;
363
+ }
364
+ }
@@ -536,3 +536,72 @@ export const SUPPORTED_CURRENCIES = [
536
536
  'USD',
537
537
  'ZAR',
538
538
  ];
539
+ /** * @constant Unit names and their full readable labels. */
540
+ export const UNITS = {
541
+ // Length
542
+ m: 'Meter',
543
+ km: 'Kilometer',
544
+ mi: 'Mile',
545
+ ft: 'Foot',
546
+ // Mass / Weight
547
+ kg: 'Kilogram',
548
+ lbs: 'Pound',
549
+ g: 'Gram',
550
+ oz: 'Ounce',
551
+ // Temperature
552
+ C: 'Celsius',
553
+ F: 'Fahrenheit',
554
+ K: 'Kelvin',
555
+ // Volume
556
+ l: 'Liter',
557
+ gal: 'Gallon',
558
+ // Area
559
+ sqm: 'Square Meter',
560
+ sqft: 'Square Foot',
561
+ // Speed
562
+ kmph: 'Kilometer per Hour',
563
+ mph: 'Miles per Hour',
564
+ // Time
565
+ h: 'Hour',
566
+ min: 'Minute',
567
+ sec: 'Second',
568
+ d: 'Day',
569
+ // Digital Storage
570
+ kb: 'Kilobyte',
571
+ mb: 'Megabyte',
572
+ gb: 'Gigabyte',
573
+ // Energy
574
+ j: 'Joule',
575
+ cal: 'Calorie',
576
+ // Pressure
577
+ atm: 'Atmosphere',
578
+ pa: 'Pascal',
579
+ // Frequency
580
+ hz: 'Hertz',
581
+ khz: 'Kilohertz',
582
+ };
583
+ /** * Scientific SI Unit prefix multipliers. */
584
+ export const PREFIX_MULTIPLIERS = {
585
+ y: 1e-24,
586
+ z: 1e-21,
587
+ a: 1e-18,
588
+ f: 1e-15,
589
+ p: 1e-12,
590
+ n: 1e-9,
591
+ μ: 1e-6,
592
+ u: 1e-6,
593
+ m: 1e-3,
594
+ c: 1e-2,
595
+ d: 1e-1,
596
+ da: 1e1,
597
+ h: 1e2,
598
+ k: 1e3,
599
+ M: 1e6,
600
+ G: 1e9,
601
+ T: 1e12,
602
+ P: 1e15,
603
+ E: 1e18,
604
+ Z: 1e21,
605
+ Y: 1e24,
606
+ '': 1, // base unit, like meter, gram, byte etc.
607
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nhb-toolbox",
3
- "version": "4.0.60",
3
+ "version": "4.0.75",
4
4
  "description": "A versatile collection of smart, efficient, and reusable utility functions and classes for everyday development needs.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",