UNPKG

nhb-toolbox

Version:

A versatile collection of smart, efficient, and reusable utility functions, classes and types for everyday development needs.

205 lines (204 loc) 8.57 kB
import type { SIPrefix, UnitKey, UnitNumberMethods } from './types'; /** * @class Class to handle conversions between various types of units. * * Includes static methods for: * - Length: meters, feet, kilometers, miles * - Mass: kilograms, pounds, grams, ounces * - Temperature: Celsius, Fahrenheit, Kelvin * - Volume: liters, gallons * - Area: square meters, square feet * - Speed: km/h, mph * - Time: hours, minutes, seconds, days * - Digital Storage: kilobytes, megabytes, gigabytes * - Energy: joules, calories * - Pressure: atm, pascals * - Frequency: Hz, kHz * * @remarks For more robust unit conversion, please use the `Converter` function which provides category-specific conversion classes. */ export declare class Unit { #private; /** * * Creates an instance of the Unit class. * @param value The numeric value to work with. * @param unit The unit type of the value (e.g., 'kg', 'm', 'kb'). */ constructor(value: number, unit?: UnitKey); /** * @instance Returns the original value with unit (if passed in the constructor). * @returns A string in the format "value unit". */ toString(): string; /** * @instance Converts using scientific prefixes (e.g., kB to MB, mg to g). * * @param fromPrefix The SI prefix of the source unit. * @param toPrefix The SI prefix of the target unit. * @returns The converted numeric value. */ convertByPrefix(fromPrefix: SIPrefix, toPrefix: SIPrefix): number; /** * @instance Converts from prefixed unit string to another (e.g., kB to MB, mg to g). * * @param from Prefixed unit string (e.g., 'kB', 'mg'). * @param to Target prefixed unit string (e.g., 'MB', 'g'). * @returns The converted numeric value. */ convertFromTo(from: string, to: string): number; /** * @instance Converts the value using a static method name from the `Unit` class. * * - **N.B.** *Provides IntelliSense and type safety for method selection.* * * @param methodName - A static `Unit` method that accepts a number and returns a number. * @returns The converted numeric value. */ convert(methodName: UnitNumberMethods): number; /** * @static Converts a value using scientific prefixes (e.g., kB to MB, mg to g). * * @param value The value to convert. * @param fromPrefix The SI prefix of the source unit. * @param toPrefix The SI prefix of the target unit. * @returns The converted numeric value. */ static convertByPrefix(value: number, fromPrefix: SIPrefix, toPrefix: SIPrefix): number; /** * @static Converts from prefixed unit string to another (e.g., kB to MB, mg to g). * * @param value The numeric value. * @param from Prefixed unit string (e.g., 'kB', 'mg'). * @param to Target prefixed unit string (e.g., 'MB', 'g'). * @returns The converted numeric value. */ static convertFromTo(value: number, from: string, to: string): number; /** Converts meters to feet. */ static metersToFeet(m: number): number; /** Converts feet to meters. */ static feetToMeters(ft: number): number; /** Converts kilometers to miles. */ static kmToMiles(km: number): number; /** Converts miles to kilometers. */ static milesToKm(mi: number): number; /** Converts kilograms to pounds. */ static kgToLbs(kg: number): number; /** Converts pounds to kilograms. */ static lbsToKg(lbs: number): number; /** Converts grams to ounces. */ static gramsToOunces(g: number): number; /** Converts ounces to grams. */ static ouncesToGrams(oz: number): number; /** Converts Celsius to Fahrenheit. */ static celsiusToFahrenheit(c: number): number; /** Converts Fahrenheit to Celsius. */ static fahrenheitToCelsius(f: number): number; /** Converts Celsius to Kelvin. */ static celsiusToKelvin(c: number): number; /** Converts Kelvin to Celsius. */ static kelvinToCelsius(k: number): number; /** Converts Fahrenheit to Kelvin. */ static fahrenheitToKelvin(f: number): number; /** Converts Kelvin to Fahrenheit. */ static kelvinToFahrenheit(k: number): number; /** Converts milliliters to liters. */ static mlToLiters(ml: number): number; /** Converts liters to milliliters. */ static litersToMl(l: number): number; /** Converts gallons to milliliters. */ static gallonsToMl(gal: number): number; /** Converts milliliters to gallons. */ static mlToGallons(ml: number): number; /** Converts liters to gallons. */ static litersToGallons(l: number): number; /** Converts gallons to liters. */ static gallonsToLiters(gal: number): number; /** Converts square meters to square feet. */ static sqmToSqft(sqm: number): number; /** Converts square feet to square meters. */ static sqftToSqm(sqft: number): number; /** Converts kilometers per hour to miles per hour. */ static kmphToMph(kmph: number): number; /** Converts miles per hour to kilometers per hour. */ static mphToKmph(mph: number): number; /** Converts minutes to hours. */ static minutesToHours(min: number): number; /** Converts seconds to minutes. */ static secondsToMinutes(sec: number): number; /** Converts hours to days. */ static hoursToDays(hr: number): number; /** Converts hours to minutes. */ static hoursToMinutes(h: number): number; /** Converts minutes to seconds. */ static minutesToSeconds(m: number): number; /** Converts days to hours. */ static daysToHours(d: number): number; /** Converts megabytes to gigabytes. */ static mbToGb(mb: number): number; /** Converts gigabytes to megabytes. */ static gbToMb(gb: number): number; /** Converts kilobytes to megabytes. */ static kbToMb(kb: number): number; /** Converts kilobytes to gigabytes. */ static kbToGb(kb: number): number; /** Converts gigabytes to kilobytes. */ static gbToKb(gb: number): number; /** Converts bytes to kilobytes. */ static bytesToKb(bytes: number): number; /** Converts kilobytes to bytes. */ static kbToBytes(kb: number): number; /** Converts megabytes to kilobytes. */ static mbToKb(mb: number): number; /** Converts gigabytes to terabytes. */ static gbToTb(gb: number): number; /** Converts terabytes to gigabytes. */ static tbToGb(tb: number): number; /** Converts joules to calories. */ static joulesToCalories(j: number): number; /** Converts calories to joules. */ static caloriesToJoules(cal: number): number; /** Converts calories to kilojoules. */ static caloriesToKJoules(cal: number): number; /** Converts kilojoules to calories. */ static kJoulesToCalories(kj: number): number; /** Converts atmospheres to pascals. */ static atmToPascal(atm: number): number; /** Converts pascals to atmospheres. */ static pascalToAtm(pa: number): number; /** Converts bar to pascals. */ static barToPascal(bar: number): number; /** Converts pascals to bar. */ static pascalToBar(pa: number): number; /** Converts hertz to kilohertz. */ static hzToKHz(hz: number): number; /** Converts kilohertz to hertz. */ static kHzToHz(khz: number): number; /** Converts hertz to megahertz. */ static hzToMHz(hz: number): number; /** Converts megahertz to hertz. */ static mHzToHz(mhz: number): number; /** Converts kilohertz to megahertz. */ static kHzToMHz(khz: number): number; /** Converts megahertz to kilohertz. */ static mHzToKHz(mhz: number): number; /** Converts centimeters to meters. */ static cmToMeters(cm: number): number; /** Converts meters to centimeters. */ static metersToCm(m: number): number; /** Converts millimeters to meters. */ static mmToMeters(mm: number): number; /** Converts meters to millimeters. */ static metersToMm(m: number): number; /** Converts square kilometers to square meters. */ static sqkmToSqm(sqkm: number): number; /** Converts square meters to square kilometers. */ static sqmToSqkm(sqm: number): number; /** Converts square feet to square inches. */ static sqftToSqin(sqft: number): number; /** Converts square inches to square feet. */ static sqinToSqft(sqin: number): number; /** Converts watts to kilowatts. */ static wattsToKw(w: number): number; /** Converts kilowatts to watts. */ static kwToWatts(kw: number): number; }