unitify-ts
Version:
A TypeScript library for converting between various units of measurement, including length, weight, volume, temperature, speed, area, energy, pressure, power, data, angle, luminance and computation time.
212 lines (211 loc) • 5.6 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.conversionFactors = void 0;
exports.conversionFactors = {
length: {
meters: 1,
kilometers: 0.001,
miles: 0.000621371,
feet: 3.28084,
inches: 39.3701,
centimeters: 100,
millimeters: 1000,
yards: 1.09361,
nauticalMiles: 0.000539957,
micrometers: 1e6,
nanometers: 1e9,
angstroms: 1e10,
lightYears: 1.057e-16,
astronomicalUnits: 6.6846e-12,
parsecs: 3.24078e-17,
},
weight: {
grams: 1,
kilograms: 0.001,
pounds: 0.00220462,
ounces: 0.035274,
tons: 0.000001,
milligrams: 1000,
stones: 0.000157473,
micrograms: 1e6,
nanograms: 1e9,
picograms: 1e12,
carats: 5,
grains: 15.4324,
longTons: 9.8421e-7,
shortTons: 0.00000110231,
},
volume: {
liters: 1,
milliliters: 1000,
gallons: 0.264172,
pints: 2.11338,
cups: 4.22675,
tablespoons: 67.628,
teaspoons: 202.884,
cubicMeters: 0.001,
cubicCentimeters: 1000,
cubicInches: 61.0237,
cubicFeet: 0.0353147,
cubicYards: 0.00130795,
cubicMillimeters: 1e6,
cubicDecimeters: 1,
fluidOunces: 33.814,
quarts: 1.05669,
barrels: 0.00838641,
bushels: 0.0283776,
pecks: 0.11352,
},
temperature: {
celsius: (value) => value,
fahrenheit: (value) => (value * 9) / 5 + 32,
kelvin: (value) => value + 273.15,
rankine: (value) => ((value + 273.15) * 9) / 5,
delisle: (value) => (100 - value) * 1.5,
newton: (value) => value * 0.33,
reaumur: (value) => value * 0.8,
romer: (value) => (value * 21) / 40 + 7.5,
},
speed: {
'km/h': 1,
'miles/h': 0.621371,
'm/s': 0.277778,
knots: 0.539957,
'ft/s': 0.911344,
'cm/s': 27.7778,
'mm/s': 277.778,
'in/s': 10.9361,
mach: 0.000816327,
speedOfLight: 9.2657e-10,
},
area: {
squareMeters: 1,
squareKilometers: 0.000001,
squareMiles: 3.861e-7,
squareYards: 1.19599,
squareFeet: 10.7639,
squareInches: 1550,
hectares: 0.0001,
acres: 0.000247105,
squareCentimeters: 10000,
squareMillimeters: 1e6,
squareMicrometers: 1e12,
squareNanometers: 1e18,
squareDecimeters: 100,
squareDecameters: 0.01,
squareHectometers: 0.0001,
squareGigameters: 1e-18,
},
time: {
nanoseconds: 1e9,
microseconds: 1e6,
milliseconds: 1e3,
seconds: 1,
minutes: 1 / 60,
hours: 1 / 3600,
days: 1 / 86400,
weeks: 1 / 604800,
months: 1 / 2.628e6,
years: 1 / 3.154e7,
decades: 1 / 3.154e8,
centuries: 1 / 3.154e9,
millennia: 1 / 3.154e10,
},
energy: {
joules: 1,
kilojoules: 0.001,
calories: 0.239006,
kilocalories: 0.000239006,
wattHours: 0.000277778,
kilowattHours: 2.7778e-7,
electronVolts: 6.242e18,
britishThermalUnits: 0.000947817,
therms: 9.4804e-9,
footPounds: 0.737562,
ergs: 1e7,
horsepowerHours: 3.725e-7,
},
pressure: {
pascals: 1,
kilopascals: 0.001,
bar: 1e-5,
psi: 0.000145038,
atmospheres: 9.8692e-6,
millibars: 0.01,
torr: 0.00750062,
inchesOfMercury: 0.0002953,
centimetersOfWater: 0.0101972,
kilogramsPerSquareCentimeter: 1.0197e-5,
poundsPerSquareFoot: 0.0208854,
},
power: {
watts: 1,
kilowatts: 0.001,
horsepower: 0.00134102,
megawatts: 1e-6,
gigawatts: 1e-9,
milliwatts: 1000,
microwatts: 1e6,
nanowatts: 1e9,
picowatts: 1e12,
femtowatts: 1e15,
attowatts: 1e18,
deciwatts: 10,
decawatts: 0.1,
hectowatts: 0.01,
kilocaloriesPerHour: 0.859845,
footPoundsPerMinute: 44.2537,
BTUsPerHour: 3.41214,
},
data: {
bits: 1,
bytes: 0.125,
kilobits: 0.001,
kilobytes: 0.000125,
megabits: 1e-6,
megabytes: 1.25e-7,
gigabits: 1e-9,
gigabytes: 1.25e-10,
terabits: 1e-12,
terabytes: 1.25e-13,
},
angle: {
degrees: 1,
radians: Math.PI / 180,
gradians: 1.11111,
arcminutes: 60,
arcseconds: 3600,
milliradians: 1000 * (Math.PI / 180),
microradians: 1e6 * (Math.PI / 180),
nanoradians: 1e9 * (Math.PI / 180),
turns: 1 / 360,
quadrants: 1 / 90,
sextants: 1 / 60,
},
luminance: {
candelasPerSquareMeter: 1,
nits: 1,
footLamberts: 0.2919,
stilbs: 0.0001,
lumensPerSquareMeter: 1,
lumensPerSquareCentimeter: 0.0001,
lumensPerSquareMillimeter: 1e-6,
phot: 0.0001,
nox: 1000,
lamberts: 0.31831,
millilamberts: 318.31,
},
computationTime: {
seconds: 1,
minutes: 1 / 60,
hours: 1 / 3600,
days: 1 / 86400,
weeks: 1 / 604800,
months: 1 / 2.628e6,
years: 1 / 3.154e7,
decades: 1 / 3.154e8,
centuries: 1 / 3.154e9,
millennia: 1 / 3.154e10,
cpuCycles: 1 / 3.154e13,
},
};