conversion

1.2.3 • Public • Published

conversion

a javascript library for unit conversions and organizations

usage

.organize(units, options)(value)

import { organize } from 'conversion';
 
const myCustomOrganizer = organize([60, 60, 24, 7]);
const output = myCustomOrganizer(24 * 60 * 60);
// output is [1, 0, 0, 0], which means, 1 day, 0 hours, 0 minutes and 0 seconds
 
const output = myCustomOrganizer(14 * 24 * 60 * 60 + 1);
// output is [2, 0, 0, 0, 1], which means, 2 weeks and 1 second
 
// if strict is set to true, the output array length will fill unreached higher units with 0
const myStrictOrganizer = organize([60, 60, 24, 7], {strict: true});
const output = myStrictOrganizer(24 * 60 * 60);
// output is [0, 1, 0, 0, 0], which means, 0 weeks, 1 day, 0 hours, 0 minutes and 0 seconds

.length(fromUnit, toUnit)(value)

available units:

  • 'm' / 'meter'
  • 'in' / 'inch'
  • 'ft' / 'feet'

.si(fromUnit, toUnit)(value)

available units are listed in https://physics.nist.gov/cuu/Units/prefixes.html

.combine(units)(value)

combine() is the opposite of organize()

import { combine } from 'conversion';
 
let output;
 
// you can do
output = combine([60,60])('00:01:30'.split(':').map(Number))
// which returns 90
 
// or you can simply do
output = combine([60,60])([1, 0, 0])
// which returns 3600

Usage Examples

Metric Height to Imperial Height

import { length, organize }  from 'conversion'
 
const ftIn = length('ft', 'in')(1) // equals 12
const meterToInch = length('meter', 'inch') // returns a function
 
const metricHeightToImperial = height => organize([ftIn])(meterToInch(height))
 
metricHeightToImperial(1.85) // equals [6, 0.8346456692913584]

Package Sidebar

Install

npm i conversion

Weekly Downloads

6

Version

1.2.3

License

MIT

Unpacked Size

13 kB

Total Files

20

Last publish

Collaborators

  • dariush-alipour