A simple library to convert units. Heavily based on convert-units.
An example implementation of the library.
- Tree shakable.
- No dependencies.
- Build for es6, cmj and umd.
- Tested to 4 significant figures.
npm install units-converter --save
The library provide a simple chained API to transform units of the same type. The units are broken down to modules, so it is possible and recommended, to load only the unite types that you are using.
import { voltage } from 'units-converter';
voltage(1).from('V').to('mV').value;
//1000
or
import * as converter from 'units-converter';
converter.voltage(1).from('V').to('mV').value;
//1000
converter.mass(1).from('lb').to('oz').value;
//16
- Convert unit will return an object of the unit specifed in the "to" function
import { length } from 'units-converter';
length(1200).from('mm').to('m');
/* {
value: 1.2,
unit: 'm',
system: 'metric',
singular: 'Meter',
plural: 'Meters'
} */
- Convert unit to Best
import { length } from 'units-converter';
// the smallest unit with a value above 1
length(12000).from('mm').toBest();
/* {
value: 1.2,
unit: 'm',
system: 'metric',
singular: 'Meter',
plural: 'Meters'
} */
// the smallest unit excluding meters
length(12000).from('mm').toBest({ exclude: ['m'] });
/* {
value: 1200,
unit: 'cm',
system: 'metric',
singular: 'Centimeter',
plural: 'Centimeters'
} */
// the smallest unit with a value equal to or above 10
length(900).from('mm').toBest({ cutOffNumber: 10 });
/* {
value: 90,
unit: 'cm',
system: 'metric',
singular: 'Centimeter',
plural: 'Centimeters'
} */
// the smallest unit with a value equal to or above 10
length(1000).from('mm').toBest({ cutOffNumber: 10 });
/* {
value: 100,
unit: 'cm',
system: 'metric',
singular: 'Centimeter',
plural: 'Centimeters'
} */
- Possibilities will return an array with the abbreviations of the available units
import { voltage } from 'units-converter';
voltage().from('V').possibilities();
// [ 'V', 'mV', 'kV' ]
- Describe will return an object with all the details of the unit
import { voltage } from 'units-converter';
voltage().describe('V');
/* {
unit: 'V',
system: 'metric',
singular: 'Volt',
plural: 'Volts'
} */
- List will return and array with the description of all the available units
import { voltage } from 'units-converter';
voltage().list();
/* [
{
unit: 'V',
system: 'metric',
singular: 'Volt',
plural: 'Volts'
},
{
unit: 'mV',
system: 'metric',
singular: 'Millivolt',
plural: 'Millivolts'
},
{
unit: 'kV',
system: 'metric',
singular: 'Kilovolt',
plural: 'Kilovolts'
}
] */
Length
- mm
- cm
- m
- in
- ft-us
- ft
- fathom
- mi
- nMi
Area
- mm2
- cm2
- m2
- ha
- km2
- in2
- ft2
- ac
- mi2
Mass
- mcg
- mg
- g
- kg
- oz
- lb
- mt
- t
Volume
- mm3
- cm3
- ml
- l
- kl
- m3
- km3
- tsp
- Tbs
- in3
- fl-oz
- cup
- pnt
- qt
- gal
- ft3
- yd3
Volume Flow Rate
- mm3/s
- cm3/s
- ml/s
- cl/s
- dl/s
- l/s
- l/min
- l/h
- kl/s
- kl/min
- kl/h
- m3/s
- m3/min
- m3/h
- km3/s
- tsp/s
- Tbs/s
- in3/s
- in3/min
- in3/h
- fl-oz/s
- fl-oz/min
- fl-oz/h
- cup/s
- pnt/s
- pnt/min
- pnt/h
- qt/s
- gal/s
- gal/min
- gal/h
- ft3/s
- ft3/min
- ft3/h
- yd3/s
- yd3/min
- yd3/h'
Temperature
- C
- F
- K
- R
Time
- ns
- mu
- ms
- s
- min
- h
- d
- week
- month
- year
Frequency
- Hz
- mHz
- kHz
- MHz
- GHz
- THz
- rpm
- deg/s
- rad/s
Speed
- m/s
- km/h
- m/h
- knot
- ft/s
Pace
- s/m
- min/km
- s/ft
- min/km
Pressure
- Pa
- hPa
- kPa
- MPa
- bar
- torr
- psi
- ksi
Digital
- b
- Kb
- Mb
- Gb
- Tb
- B
- KB
- MB
- GB
- TB
Illuminance
- lx
- ft-cd
Parts-Per
- ppm
- ppb
- ppt
- ppq
Voltage
- V
- mV
- kV
Current
- A
- mA
- kA
Power
- W
- mW
- kW
- MW
- GW
Apparent Power
- VA
- mVA
- kVA
- MVA
- GVA
Reactive Power
- VAR
- mVAR
- kVAR
- MVAR
- GVAR
Energy
- Wh
- mWh
- kWh
- MWh
- GWh
- J
- kJ
Reactive Energy
- VARh
- mVARh
- kVARh
- MVARh
- GVARh
Angle
- deg
- rad
- grad
- arcmin
- arcsec
Charge
- c
- mC
- μC
- nC
- pC
Force
- N
- kN
- lbf
Acceleration
- g (g-force)
- m/s2
-
Add types to support better integration with typescript using projects.
-
Add functionality for the addition of custom units.
-
Add more units, the goal is to approach the amount of units provided by matlab.
-
Rewrite the project with typescript.