UNPKG

measure-convert

Version:

JS/TS package for managing units of measurement. Convert, add, subtract, multiply, divide, and compare units of measurement.

48 lines (47 loc) 2.62 kB
import { Unit } from "./units/Unit"; export interface SerializedMeasurement { value: number; unit: { name: string; symbol: string; description: string; baseUnitConversionFactor: number; coefficient?: number; constant?: number; baseUnitForConversion?: number; }; } export declare class Measurement<U extends Unit> { value: number; unit: U; constructor(value: number, unit: U); converted<V extends Unit>(targetUnit: V): Measurement<V>; add(other: Measurement<U>): Measurement<U>; static add<U extends Unit>(measurement1: Measurement<U>, measurement2: Measurement<U>): Measurement<U>; subtract(other: Measurement<U>): Measurement<U>; static subtract<U extends Unit>(measurement1: Measurement<U>, measurement2: Measurement<U>): Measurement<U>; equals(other: Measurement<U>): boolean; static equals<U extends Unit>(measurement1: Measurement<U>, measurement2: Measurement<U>): boolean; closeTo(other: Measurement<U>, tolerance: number): boolean; static closeTo<U extends Unit>(measurement1: Measurement<U>, measurement2: Measurement<U>, tolerance: number): boolean; greaterThan(other: Measurement<U>): boolean; static greaterThan<U extends Unit>(measurement1: Measurement<U>, measurement2: Measurement<U>): boolean; lessThan(other: Measurement<U>): boolean; static lessThan<U extends Unit>(measurement1: Measurement<U>, measurement2: Measurement<U>): boolean; greaterThanOrEqual(other: Measurement<U>): boolean; static greaterThanOrEqual<U extends Unit>(measurement1: Measurement<U>, measurement2: Measurement<U>): boolean; lessThanOrEqual(other: Measurement<U>): boolean; static lessThanOrEqual<U extends Unit>(measurement1: Measurement<U>, measurement2: Measurement<U>): boolean; ratioTo(other: Measurement<U>): number; static ratioTo<U extends Unit>(measurement1: Measurement<U>, measurement2: Measurement<U>): number; scaledBy(factor: number): Measurement<U>; static scaledBy<U extends Unit>(measurement: Measurement<U>, factor: number): Measurement<U>; private formatValue; get shortLabel(): string; getShortLabel(decimalPlaces?: number, showApprox?: boolean): string; get longLabel(): string; getLongLabel(decimalPlaces?: number, showApprox?: boolean): string; static hydrate<T extends typeof Unit, U extends InstanceType<T>>(UnitClass: T, data: SerializedMeasurement): Measurement<U>; static hydrateAuto(data: SerializedMeasurement): Measurement<any>; static detectUnitType(data: SerializedMeasurement): string | null; }