nhb-toolbox 4.0.60 → 4.0.70

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,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Unit = void 0;
4
+ /**
5
+ * @class Represents a measurable unit and supports conversions between various types of units.
6
+ *
7
+ * Includes static methods for:
8
+ * - Length: meters, feet, kilometers, miles
9
+ * - Mass: kilograms, pounds, grams, ounces
10
+ * - Temperature: Celsius, Fahrenheit, Kelvin
11
+ * - Volume: liters, gallons
12
+ * - Area: square meters, square feet
13
+ * - Speed: km/h, mph
14
+ * - Time: hours, minutes, seconds, days
15
+ * - Digital Storage: kilobytes, megabytes, gigabytes
16
+ * - Energy: joules, calories
17
+ * - Pressure: atm, pascals
18
+ * - Frequency: Hz, kHz
19
+ */
20
+ class Unit {
21
+ #value;
22
+ #unit;
23
+ /**
24
+ * * Creates an instance of the Unit class.
25
+ * @param value The numeric value to work with.
26
+ * @param unit The unit type of the value (e.g., 'kg', 'm', 'kb').
27
+ */
28
+ constructor(value, unit) {
29
+ this.#value = value;
30
+ this.#unit = unit;
31
+ }
32
+ /**
33
+ * @instance Returns the original value with unit (if passed in the constructor).
34
+ * @returns A string in the format "value unit".
35
+ */
36
+ toString() {
37
+ return `${this.#value} ${this.#unit ?? ''}`.trim();
38
+ }
39
+ /**
40
+ * @instance Converts the value using a static method name from the Unit class.
41
+ *
42
+ * *Provides IntelliSense and type safety for method selection.*
43
+ *
44
+ * @param methodName - A key of Unit class static method accepting a number and returning a number.
45
+ * @returns The converted numeric value.
46
+ */
47
+ convert(methodName) {
48
+ const method = Unit[methodName];
49
+ if (typeof method !== 'function') {
50
+ throw new Error(`Method ${methodName} is not a valid method!`);
51
+ }
52
+ // @ts-expect-error -_-
53
+ return method(this.#value);
54
+ }
55
+ // ----- Static Conversion Methods -----
56
+ /** Converts meters to feet. */
57
+ static metersToFeet(m) {
58
+ return m * 3.28084;
59
+ }
60
+ /** Converts feet to meters. */
61
+ static feetToMeters(ft) {
62
+ return ft / 3.28084;
63
+ }
64
+ /** Converts kilometers to miles. */
65
+ static kmToMiles(km) {
66
+ return km * 0.621371;
67
+ }
68
+ /** Converts miles to kilometers. */
69
+ static milesToKm(mi) {
70
+ return mi / 0.621371;
71
+ }
72
+ /** Converts kilograms to pounds. */
73
+ static kgToLbs(kg) {
74
+ return kg * 2.20462;
75
+ }
76
+ /** Converts pounds to kilograms. */
77
+ static lbsToKg(lbs) {
78
+ return lbs / 2.20462;
79
+ }
80
+ /** Converts grams to ounces. */
81
+ static gramsToOunces(g) {
82
+ return g * 0.035274;
83
+ }
84
+ /** Converts ounces to grams. */
85
+ static ouncesToGrams(oz) {
86
+ return oz / 0.035274;
87
+ }
88
+ /** Converts Celsius to Fahrenheit. */
89
+ static celsiusToFahrenheit(c) {
90
+ return (c * 9) / 5 + 32;
91
+ }
92
+ /** Converts Fahrenheit to Celsius. */
93
+ static fahrenheitToCelsius(f) {
94
+ return ((f - 32) * 5) / 9;
95
+ }
96
+ /** Converts Celsius to Kelvin. */
97
+ static celsiusToKelvin(c) {
98
+ return c + 273.15;
99
+ }
100
+ /** Converts Kelvin to Celsius. */
101
+ static kelvinToCelsius(k) {
102
+ return k - 273.15;
103
+ }
104
+ /** Converts liters to gallons. */
105
+ static litersToGallons(l) {
106
+ return l * 0.264172;
107
+ }
108
+ /** Converts gallons to liters. */
109
+ static gallonsToLiters(gal) {
110
+ return gal / 0.264172;
111
+ }
112
+ /** Converts square meters to square feet. */
113
+ static sqmToSqft(sqm) {
114
+ return sqm * 10.7639;
115
+ }
116
+ /** Converts square feet to square meters. */
117
+ static sqftToSqm(sqft) {
118
+ return sqft / 10.7639;
119
+ }
120
+ /** Converts kilometers per hour to miles per hour. */
121
+ static kmphToMph(kmph) {
122
+ return kmph * 0.621371;
123
+ }
124
+ /** Converts miles per hour to kilometers per hour. */
125
+ static mphToKmph(mph) {
126
+ return mph / 0.621371;
127
+ }
128
+ /** Converts hours to minutes. */
129
+ static hoursToMinutes(h) {
130
+ return h * 60;
131
+ }
132
+ /** Converts minutes to seconds. */
133
+ static minutesToSeconds(m) {
134
+ return m * 60;
135
+ }
136
+ /** Converts days to hours. */
137
+ static daysToHours(d) {
138
+ return d * 24;
139
+ }
140
+ /** Converts megabytes to gigabytes. */
141
+ static mbToGb(mb) {
142
+ return mb / 1024;
143
+ }
144
+ /** Converts gigabytes to megabytes. */
145
+ static gbToMb(gb) {
146
+ return gb * 1024;
147
+ }
148
+ /** Converts kilobytes to megabytes. */
149
+ static kbToMb(kb) {
150
+ return kb / 1024;
151
+ }
152
+ /** Converts joules to calories. */
153
+ static joulesToCalories(j) {
154
+ return j * 0.239006;
155
+ }
156
+ /** Converts calories to joules. */
157
+ static caloriesToJoules(cal) {
158
+ return cal / 0.239006;
159
+ }
160
+ /** Converts atmospheres to pascals. */
161
+ static atmToPascal(atm) {
162
+ return atm * 101325;
163
+ }
164
+ /** Converts pascals to atmospheres. */
165
+ static pascalToAtm(pa) {
166
+ return pa / 101325;
167
+ }
168
+ /** Converts hertz to kilohertz. */
169
+ static hzToKHz(hz) {
170
+ return hz / 1000;
171
+ }
172
+ /** Converts kilohertz to hertz. */
173
+ static kHzToHz(khz) {
174
+ return khz * 1000;
175
+ }
176
+ }
177
+ 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.UNIT_LABELS = 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,49 @@ exports.SUPPORTED_CURRENCIES = [
539
539
  'USD',
540
540
  'ZAR',
541
541
  ];
542
+ /**
543
+ * @constant Unit names and their full readable labels.
544
+ */
545
+ exports.UNIT_LABELS = {
546
+ // Length
547
+ m: 'Meter',
548
+ km: 'Kilometer',
549
+ mi: 'Mile',
550
+ ft: 'Foot',
551
+ // Mass / Weight
552
+ kg: 'Kilogram',
553
+ lbs: 'Pound',
554
+ g: 'Gram',
555
+ oz: 'Ounce',
556
+ // Temperature
557
+ C: 'Celsius',
558
+ F: 'Fahrenheit',
559
+ K: 'Kelvin',
560
+ // Volume
561
+ l: 'Liter',
562
+ gal: 'Gallon',
563
+ // Area
564
+ sqm: 'Square Meter',
565
+ sqft: 'Square Foot',
566
+ // Speed
567
+ kmph: 'Kilometer per Hour',
568
+ mph: 'Miles per Hour',
569
+ // Time
570
+ h: 'Hour',
571
+ min: 'Minute',
572
+ sec: 'Second',
573
+ d: 'Day',
574
+ // Digital Storage
575
+ kb: 'Kilobyte',
576
+ mb: 'Megabyte',
577
+ gb: 'Gigabyte',
578
+ // Energy
579
+ j: 'Joule',
580
+ cal: 'Calorie',
581
+ // Pressure
582
+ atm: 'Atmosphere',
583
+ pa: 'Pascal',
584
+ // Frequency
585
+ hz: 'Hertz',
586
+ khz: 'Kilohertz',
587
+ };
@@ -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,101 @@
1
+ import type { UnitKey } 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 the value using a static method name from the Unit class.
33
+ *
34
+ * *Provides IntelliSense and type safety for method selection.*
35
+ *
36
+ * @param methodName - A key of Unit class static method accepting a number and returning a number.
37
+ * @returns The converted numeric value.
38
+ */
39
+ convert<T extends keyof typeof Unit>(methodName: T): (typeof Unit)[T] extends (value: number) => number ? number : never;
40
+ /** Converts meters to feet. */
41
+ static metersToFeet(m: number): number;
42
+ /** Converts feet to meters. */
43
+ static feetToMeters(ft: number): number;
44
+ /** Converts kilometers to miles. */
45
+ static kmToMiles(km: number): number;
46
+ /** Converts miles to kilometers. */
47
+ static milesToKm(mi: number): number;
48
+ /** Converts kilograms to pounds. */
49
+ static kgToLbs(kg: number): number;
50
+ /** Converts pounds to kilograms. */
51
+ static lbsToKg(lbs: number): number;
52
+ /** Converts grams to ounces. */
53
+ static gramsToOunces(g: number): number;
54
+ /** Converts ounces to grams. */
55
+ static ouncesToGrams(oz: number): number;
56
+ /** Converts Celsius to Fahrenheit. */
57
+ static celsiusToFahrenheit(c: number): number;
58
+ /** Converts Fahrenheit to Celsius. */
59
+ static fahrenheitToCelsius(f: number): number;
60
+ /** Converts Celsius to Kelvin. */
61
+ static celsiusToKelvin(c: number): number;
62
+ /** Converts Kelvin to Celsius. */
63
+ static kelvinToCelsius(k: number): number;
64
+ /** Converts liters to gallons. */
65
+ static litersToGallons(l: number): number;
66
+ /** Converts gallons to liters. */
67
+ static gallonsToLiters(gal: number): number;
68
+ /** Converts square meters to square feet. */
69
+ static sqmToSqft(sqm: number): number;
70
+ /** Converts square feet to square meters. */
71
+ static sqftToSqm(sqft: number): number;
72
+ /** Converts kilometers per hour to miles per hour. */
73
+ static kmphToMph(kmph: number): number;
74
+ /** Converts miles per hour to kilometers per hour. */
75
+ static mphToKmph(mph: number): number;
76
+ /** Converts hours to minutes. */
77
+ static hoursToMinutes(h: number): number;
78
+ /** Converts minutes to seconds. */
79
+ static minutesToSeconds(m: number): number;
80
+ /** Converts days to hours. */
81
+ static daysToHours(d: number): number;
82
+ /** Converts megabytes to gigabytes. */
83
+ static mbToGb(mb: number): number;
84
+ /** Converts gigabytes to megabytes. */
85
+ static gbToMb(gb: number): number;
86
+ /** Converts kilobytes to megabytes. */
87
+ static kbToMb(kb: number): number;
88
+ /** Converts joules to calories. */
89
+ static joulesToCalories(j: number): number;
90
+ /** Converts calories to joules. */
91
+ static caloriesToJoules(cal: number): number;
92
+ /** Converts atmospheres to pascals. */
93
+ static atmToPascal(atm: number): number;
94
+ /** Converts pascals to atmospheres. */
95
+ static pascalToAtm(pa: number): number;
96
+ /** Converts hertz to kilohertz. */
97
+ static hzToKHz(hz: number): number;
98
+ /** Converts kilohertz to hertz. */
99
+ static kHzToHz(khz: number): number;
100
+ }
101
+ //# 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,39 @@ 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
+ /**
175
+ * @constant Unit names and their full readable labels.
176
+ */
177
+ export declare const UNIT_LABELS: {
178
+ readonly m: "Meter";
179
+ readonly km: "Kilometer";
180
+ readonly mi: "Mile";
181
+ readonly ft: "Foot";
182
+ readonly kg: "Kilogram";
183
+ readonly lbs: "Pound";
184
+ readonly g: "Gram";
185
+ readonly oz: "Ounce";
186
+ readonly C: "Celsius";
187
+ readonly F: "Fahrenheit";
188
+ readonly K: "Kelvin";
189
+ readonly l: "Liter";
190
+ readonly gal: "Gallon";
191
+ readonly sqm: "Square Meter";
192
+ readonly sqft: "Square Foot";
193
+ readonly kmph: "Kilometer per Hour";
194
+ readonly mph: "Miles per Hour";
195
+ readonly h: "Hour";
196
+ readonly min: "Minute";
197
+ readonly sec: "Second";
198
+ readonly d: "Day";
199
+ readonly kb: "Kilobyte";
200
+ readonly mb: "Megabyte";
201
+ readonly gb: "Gigabyte";
202
+ readonly j: "Joule";
203
+ readonly cal: "Calorie";
204
+ readonly atm: "Atmosphere";
205
+ readonly pa: "Pascal";
206
+ readonly hz: "Hertz";
207
+ readonly khz: "Kilohertz";
208
+ };
174
209
  //# 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;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDd,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CURRENCY_CODES, CURRENCY_LOCALES, LOCALE_CODES, SUPPORTED_CURRENCIES } from './constants';
1
+ import type { CURRENCY_CODES, CURRENCY_LOCALES, LOCALE_CODES, SUPPORTED_CURRENCIES, UNIT_LABELS } from './constants';
2
2
  /** - Options for random number generator */
3
3
  export interface RandomNumberOptions {
4
4
  /** Minimum number to start with. */
@@ -118,4 +118,8 @@ export interface InversePercentageOptions {
118
118
  }
119
119
  /** * Options for calculating percentages and related values. */
120
120
  export type PercentageOptions = GetPercentOptions | GetValueOptions | GetOriginalOptions | GetChangeOptions | ApplyChangeOptions | GetDifferenceOptions | InversePercentageOptions;
121
+ /** * Short forms of units */
122
+ export type UnitKey = keyof typeof UNIT_LABELS;
123
+ /** Labels for the units */
124
+ export type UnitLabel = (typeof UNIT_LABELS)[UnitKey];
121
125
  //# 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,173 @@
1
+ /**
2
+ * @class Represents a measurable unit and supports conversions between various types of units.
3
+ *
4
+ * Includes static methods for:
5
+ * - Length: meters, feet, kilometers, miles
6
+ * - Mass: kilograms, pounds, grams, ounces
7
+ * - Temperature: Celsius, Fahrenheit, Kelvin
8
+ * - Volume: liters, gallons
9
+ * - Area: square meters, square feet
10
+ * - Speed: km/h, mph
11
+ * - Time: hours, minutes, seconds, days
12
+ * - Digital Storage: kilobytes, megabytes, gigabytes
13
+ * - Energy: joules, calories
14
+ * - Pressure: atm, pascals
15
+ * - Frequency: Hz, kHz
16
+ */
17
+ export class Unit {
18
+ #value;
19
+ #unit;
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, unit) {
26
+ this.#value = value;
27
+ this.#unit = unit;
28
+ }
29
+ /**
30
+ * @instance Returns the original value with unit (if passed in the constructor).
31
+ * @returns A string in the format "value unit".
32
+ */
33
+ toString() {
34
+ return `${this.#value} ${this.#unit ?? ''}`.trim();
35
+ }
36
+ /**
37
+ * @instance Converts the value using a static method name from the Unit class.
38
+ *
39
+ * *Provides IntelliSense and type safety for method selection.*
40
+ *
41
+ * @param methodName - A key of Unit class static method accepting a number and returning a number.
42
+ * @returns The converted numeric value.
43
+ */
44
+ convert(methodName) {
45
+ const method = Unit[methodName];
46
+ if (typeof method !== 'function') {
47
+ throw new Error(`Method ${methodName} is not a valid method!`);
48
+ }
49
+ // @ts-expect-error -_-
50
+ return method(this.#value);
51
+ }
52
+ // ----- Static Conversion Methods -----
53
+ /** Converts meters to feet. */
54
+ static metersToFeet(m) {
55
+ return m * 3.28084;
56
+ }
57
+ /** Converts feet to meters. */
58
+ static feetToMeters(ft) {
59
+ return ft / 3.28084;
60
+ }
61
+ /** Converts kilometers to miles. */
62
+ static kmToMiles(km) {
63
+ return km * 0.621371;
64
+ }
65
+ /** Converts miles to kilometers. */
66
+ static milesToKm(mi) {
67
+ return mi / 0.621371;
68
+ }
69
+ /** Converts kilograms to pounds. */
70
+ static kgToLbs(kg) {
71
+ return kg * 2.20462;
72
+ }
73
+ /** Converts pounds to kilograms. */
74
+ static lbsToKg(lbs) {
75
+ return lbs / 2.20462;
76
+ }
77
+ /** Converts grams to ounces. */
78
+ static gramsToOunces(g) {
79
+ return g * 0.035274;
80
+ }
81
+ /** Converts ounces to grams. */
82
+ static ouncesToGrams(oz) {
83
+ return oz / 0.035274;
84
+ }
85
+ /** Converts Celsius to Fahrenheit. */
86
+ static celsiusToFahrenheit(c) {
87
+ return (c * 9) / 5 + 32;
88
+ }
89
+ /** Converts Fahrenheit to Celsius. */
90
+ static fahrenheitToCelsius(f) {
91
+ return ((f - 32) * 5) / 9;
92
+ }
93
+ /** Converts Celsius to Kelvin. */
94
+ static celsiusToKelvin(c) {
95
+ return c + 273.15;
96
+ }
97
+ /** Converts Kelvin to Celsius. */
98
+ static kelvinToCelsius(k) {
99
+ return k - 273.15;
100
+ }
101
+ /** Converts liters to gallons. */
102
+ static litersToGallons(l) {
103
+ return l * 0.264172;
104
+ }
105
+ /** Converts gallons to liters. */
106
+ static gallonsToLiters(gal) {
107
+ return gal / 0.264172;
108
+ }
109
+ /** Converts square meters to square feet. */
110
+ static sqmToSqft(sqm) {
111
+ return sqm * 10.7639;
112
+ }
113
+ /** Converts square feet to square meters. */
114
+ static sqftToSqm(sqft) {
115
+ return sqft / 10.7639;
116
+ }
117
+ /** Converts kilometers per hour to miles per hour. */
118
+ static kmphToMph(kmph) {
119
+ return kmph * 0.621371;
120
+ }
121
+ /** Converts miles per hour to kilometers per hour. */
122
+ static mphToKmph(mph) {
123
+ return mph / 0.621371;
124
+ }
125
+ /** Converts hours to minutes. */
126
+ static hoursToMinutes(h) {
127
+ return h * 60;
128
+ }
129
+ /** Converts minutes to seconds. */
130
+ static minutesToSeconds(m) {
131
+ return m * 60;
132
+ }
133
+ /** Converts days to hours. */
134
+ static daysToHours(d) {
135
+ return d * 24;
136
+ }
137
+ /** Converts megabytes to gigabytes. */
138
+ static mbToGb(mb) {
139
+ return mb / 1024;
140
+ }
141
+ /** Converts gigabytes to megabytes. */
142
+ static gbToMb(gb) {
143
+ return gb * 1024;
144
+ }
145
+ /** Converts kilobytes to megabytes. */
146
+ static kbToMb(kb) {
147
+ return kb / 1024;
148
+ }
149
+ /** Converts joules to calories. */
150
+ static joulesToCalories(j) {
151
+ return j * 0.239006;
152
+ }
153
+ /** Converts calories to joules. */
154
+ static caloriesToJoules(cal) {
155
+ return cal / 0.239006;
156
+ }
157
+ /** Converts atmospheres to pascals. */
158
+ static atmToPascal(atm) {
159
+ return atm * 101325;
160
+ }
161
+ /** Converts pascals to atmospheres. */
162
+ static pascalToAtm(pa) {
163
+ return pa / 101325;
164
+ }
165
+ /** Converts hertz to kilohertz. */
166
+ static hzToKHz(hz) {
167
+ return hz / 1000;
168
+ }
169
+ /** Converts kilohertz to hertz. */
170
+ static kHzToHz(khz) {
171
+ return khz * 1000;
172
+ }
173
+ }
@@ -536,3 +536,49 @@ export const SUPPORTED_CURRENCIES = [
536
536
  'USD',
537
537
  'ZAR',
538
538
  ];
539
+ /**
540
+ * @constant Unit names and their full readable labels.
541
+ */
542
+ export const UNIT_LABELS = {
543
+ // Length
544
+ m: 'Meter',
545
+ km: 'Kilometer',
546
+ mi: 'Mile',
547
+ ft: 'Foot',
548
+ // Mass / Weight
549
+ kg: 'Kilogram',
550
+ lbs: 'Pound',
551
+ g: 'Gram',
552
+ oz: 'Ounce',
553
+ // Temperature
554
+ C: 'Celsius',
555
+ F: 'Fahrenheit',
556
+ K: 'Kelvin',
557
+ // Volume
558
+ l: 'Liter',
559
+ gal: 'Gallon',
560
+ // Area
561
+ sqm: 'Square Meter',
562
+ sqft: 'Square Foot',
563
+ // Speed
564
+ kmph: 'Kilometer per Hour',
565
+ mph: 'Miles per Hour',
566
+ // Time
567
+ h: 'Hour',
568
+ min: 'Minute',
569
+ sec: 'Second',
570
+ d: 'Day',
571
+ // Digital Storage
572
+ kb: 'Kilobyte',
573
+ mb: 'Megabyte',
574
+ gb: 'Gigabyte',
575
+ // Energy
576
+ j: 'Joule',
577
+ cal: 'Calorie',
578
+ // Pressure
579
+ atm: 'Atmosphere',
580
+ pa: 'Pascal',
581
+ // Frequency
582
+ hz: 'Hertz',
583
+ khz: 'Kilohertz',
584
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nhb-toolbox",
3
- "version": "4.0.60",
3
+ "version": "4.0.70",
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",