JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9
  • Score
    100M100P100Q47597F
  • License MIT

a javascript library for unit conversions and organizations

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 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]