npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

length.js

v1.1.1

Published

JavaScript library for length units conversion

Downloads

78

Readme


The original author of the library is appalaszynski, the library was no longer available so I republished it, all credit goes to him.

Table of Contents


Installation

Length.js was designed to work both in the browser and in Node.js.

Browser

<script src="length.js"></script>

Length.js is available on unpkg CDN in compressed and uncompressed version.

Node.js

$ npm install length.js
var length = require("length.js")
// or using ES6 import
import length from "length.js"

Usage

Length.js creates an object which contains value and unit. To get this object, simply call length() with two supported arguments. Then you can call available methods.

The Length prototype is exposed through length.fn (if you want to add your own functions).

length(value, unit)

Creates an object which contains value and unit.

Arguments

  • value (Number): Number of units.

  • unit (String): Unit type.

    Available unit types:

    • pm: picometre: (1 / 1 000 000 000 000) m,
    • nm: nanometre: (1 / 1 000 000 000) m,
    • um: micrometre: (1 / 1 000 000) m,
    • mm: millimetre: (1 / 1 000) m,
    • cm: centimetre: (1 / 100) m,
    • dm: decimetre: (1 / 10) m,
    • m: metre,
    • dam: decametre: 10 m,
    • hm: hectoametre: 100 m,
    • km: kilometre: 1 000 m,
    • nmi: nautical mile: 1 852 m,
    • ft: foot: 0.3048 m,
    • in: inch: 0.0254 m,
    • yd: yard: 0.9144 m,
    • fm: fathom: 1.8288 m,
    • mi: mile: 1 609.344 m,
    • ld: lunar distance: 384 402 000 m,
    • au: astronomical unit: 149 597 870 700 m,
    • ly: light year: 9 460 730 472 580 800 m,
    • pc: parsec: ((648 000 / π) * 149 597 870 700) m.

Returns

  • (Object): New Length object.

Example

length(12, "cm")
// => { value: 12, unit: 'cm }

Methods

.to(unit)

Arguments

  • unit (String): Unit type.

Returns

  • (Object): New Length object with value converted to passed unit.

Example

length(100, "cm").to("m")
// => { value: 1, unit: 'm' }

.add(value, [unit])

Arguments

  • value (Number): The number to increment value.
  • [unit] (String): Unit type in which the value was given.

Returns

  • (Object): New Length object with incremented value.

Example

length(100, "cm").add(2)
// => { value: 102, unit: 'cm' }
length(100, "cm").add(2, "dm")
// => { value: 120, unit: 'cm' }

.toPrecision([digits])

Arguments

  • [digits] (Number): The number of digits to appear after the decimal point.

Returns

  • (Object): New Length object with fixed value.

Example

length(100, "cm").toPrecision()
// => { value: 100, unit: 'cm' }
length(100, "cm").toPrecision(2)
// => { value: 100, unit: 'cm' }
length(0.97982, "cm").toPrecision(2)
// => { value: 0.98, unit: 'cm' }

.getValue()

Returns

  • (Number): Current value.

Example

length(100, "cm").getValue()
// => 100

.getUnit()

Returns

  • (String): Current unit type.

Example

length(100, "cm").getUnit()
// => cm

.getString(), .toString()

Returns

  • (String): String containing value and unit type.

Example

length(100, "cm").getString()
length(100, "cm").toString()
// => 100cm
console.log(length(10, "m") + "")
// => 10m

Contributing

All contributions and suggestions are welcome! For suggested improvements, please create an issue. For direct contributions, please fork the repository, create your feature branch, commit your changes, push commits to the branch and create a new pull request.


License

The code is open source and available under the MIT License.