UNPKG

@atomic-ehr/ucum

Version:

TypeScript implementation of UCUM (Unified Code for Units of Measure)

32 lines 1.81 kB
import type { DimensionObject } from './dimension'; import type { CanonicalForm } from './canonical-form'; export interface Quantity { value: number; unit: string; _canonicalForm?: CanonicalForm; } export declare class SpecialUnitArithmeticError extends Error { constructor(unit: string, operation: string); } export declare class ArbitraryUnitConversionError extends Error { constructor(from: string, to: string); } export declare function isSpecialUnit(unit: string): boolean; export declare function isArbitraryUnit(unit: string): boolean; export declare function areUnitsCompatible(unit1: string, unit2: string): boolean; export declare function quantity(value: number, unit: string): Quantity; export declare function add(q1: Quantity, q2: Quantity): Quantity; export declare function subtract(q1: Quantity, q2: Quantity): Quantity; export declare function multiply(q1: Quantity, q2: Quantity | number): Quantity; export declare function divide(q1: Quantity, q2: Quantity | number): Quantity; export declare function pow(q: Quantity, exponent: number): Quantity; export declare function equals(q1: Quantity, q2: Quantity, tolerance?: number): boolean; export declare function lessThan(q1: Quantity, q2: Quantity): boolean; export declare function greaterThan(q1: Quantity, q2: Quantity): boolean; export declare function lessThanOrEqual(q1: Quantity, q2: Quantity): boolean; export declare function greaterThanOrEqual(q1: Quantity, q2: Quantity): boolean; export declare function toUnit(q: Quantity, targetUnit: string): Quantity; export declare function getValue(q: Quantity, inUnit?: string): number; export declare function areCompatible(q1: Quantity, q2: Quantity): boolean; export declare function getDimension(q: Quantity): DimensionObject; //# sourceMappingURL=quantity.d.ts.map