UNPKG

@thi.ng/units

Version:

Extensible SI unit creation, conversions, quantities & calculations (incl. ~170 predefined units & constants)

101 lines 1.86 kB
export interface Unit { /** * SI base dimension vector ({@link Dimensions}) */ dim: Dimensions; /** * Scaling factor relative to the coherent unit */ scale: number; /** * Zero offset value */ offset: number; /** * True, if this unit is coherent. * * @remarks * Reference: * - https://en.wikipedia.org/wiki/Coherence_(units_of_measurement) */ coherent: boolean; } export interface NamedUnit extends Unit { /** * Symbol under which this unit can be looked up with via {@link asUnit} and * others. */ sym: string; /** * This unit's human readable description/name. */ name: string; } export type MaybeUnit = Unit | string; /** * Vector of the 7 basic SI unit dimensions. * * @remarks * In order: * * - 0 = mass * - 1 = length * - 2 = time * - 3 = current * - 4 = temperature * - 5 = amount of substance * - 6 = luminous intensity * * Note: For dimensionless units, all dimensions are zero. * * Reference: * https://en.wikipedia.org/wiki/SI_base_unit */ export type Dimensions = [ number, number, number, number, number, number, number ]; /** * A known metric prefix. */ export type Prefix = keyof typeof PREFIXES; /** * @remarks * Reference: * https://en.wikipedia.org/wiki/Metric_prefix */ export declare const PREFIXES: { Q: number; R: number; Y: number; Z: number; E: number; P: number; T: number; G: number; M: number; k: number; h: number; d: number; c: number; m: number; µ: number; n: number; p: number; f: number; a: number; z: number; y: number; r: number; q: number; }; /** * Dimensionless unit preset. */ export declare const NONE: Unit; //# sourceMappingURL=api.d.ts.map