uc

units-converter

A simple utility library to measure and convert between units

Showing:

Popularity

Downloads/wk

555

GitHub Stars

36

Maintenance

Last Commit

1yr ago

Contributors

2

Package

Dependencies

0

Size (min+gzip)

4.3KB

License

MIT

Type Definitions

Tree-Shakeable

Yes?

Categories

Readme

Units Converter

A simple library to convert units. Heavily based on convert-units.

CircleCI Codacy Badge Codacy Badge

An example implementation of the library.

Key Features

  • Tree shakable.
  • No dependencies.
  • Build for es6, cmj and umd.
  • Tested to 4 significant figures.

Installation

npm install units-converter --save

Usage

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'
    }
  ] */

Units

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

Road map

  • 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.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100