@atomic-ehr/ucum
Version:
TypeScript implementation of UCUM (Unified Code for Units of Measure)
32 lines • 1.81 kB
TypeScript
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