Package Exports
- conversion
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (conversion) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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 3600Usage 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]