@thi.ng/units
Version:
Extensible SI unit creation, conversions, quantities & calculations (incl. ~170 predefined units & constants)
42 lines (41 loc) • 1.25 kB
JavaScript
import { coherent, defUnit, mul, prefix } from "../unit.js";
const m = defUnit("m", "meter", coherent(1));
const km = defUnit("km", "kilometer", prefix("k", m));
const cm = defUnit("cm", "centimeter", prefix("c", m));
const mm = defUnit("mm", "millimeter", prefix("m", m));
const \u00B5m = defUnit("\xB5m", "micrometer", prefix("\xB5", m));
const nm = defUnit("nm", "nanometer", prefix("n", m));
const angstrom = defUnit("\xC5", "angstrom", mul(m, 1e-10));
const au = defUnit("au", "astronomical unit", mul(m, 149597870700));
const ly = defUnit("ly", "light year", mul(m, 9460730472580800));
const pc = defUnit("pc", "parsec", mul(au, 180 * 60 * 60 / Math.PI));
const inch = defUnit("in", "inch", mul(m, 0.0254));
const mil = defUnit("mil", "mil", mul(inch, 1e-3));
const thou = mil;
const ft = defUnit("ft", "foot", mul(inch, 12));
const yd = defUnit("yd", "yard", mul(ft, 3));
const mi = defUnit("mi", "mile", mul(yd, 1760));
const nmi = defUnit("nmi", "nautical mile", mul(m, 1852));
const pica = defUnit("pica", "pica", mul(inch, 1 / 6));
const point = defUnit("point", "point", mul(inch, 1 / 72));
export {
angstrom,
au,
cm,
ft,
inch,
km,
ly,
m,
mi,
mil,
mm,
nm,
nmi,
pc,
pica,
point,
thou,
yd,
\u00B5m
};