Units helper for Harvest Profit javascript applications


stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
11May 31, 2021Dec 2, 2017Minified + gzip package size for @harvest-profit/units in KB


Harvest Profit

npm Build Status codecov npm


To add this package to your project

yarn add @harvest-profit/units

To use, try the following:

import UnitsHelper from '@harvest-profit/units'

const isCompatibleUnit = UnitsHelper.isCompatibleUnit('lbs', 'tons');
console.log(isCompatibleUnit); // true

More commonly, you will use the line item/product functions or to generate units for select boxes

UnitsHelper.perAcreCost(product, item, acres) // 3.50
UnitsHelper.listAvailableUnits(product) // ['gallons', 'floz', 'milliliters', ...]

All of this is build off of the Units object and a set of definitions declared in this repo. You can use this object to handle any conversions or any other interaction with those units.

import { Units } from '@harvest-profit/units';

const amount = new Units(1, 'gallon');
amount.to('pints').toNumber() // 8 pints

amount.isCompatible('lbs') // false

// Can use any different name. If a name is missing, just add it to the aliases in the definition in a PR
const gal = new Units(1, 'gal');
const gallon = new Units(1, 'gallon');
const gallons = new Units(1, 'gallons');

Units.selectableUnits('liquid') // ['gallons', 'floz', 'milliliters', ...]

Units.isCompatible('g', 'lb') // true
Units.isCompatible(gallon, 'lb') // false
Units.isCompatible(gal, gallon) // true


To deploy a new version to NPM, bump the version number, commit/merge to master, and run the following:

yarn run clean
yarn run build

# Either NPM
npm publish --access public
# Or Yarn, they do the same thing
yarn publish --access public


This project is MIT licensed

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.