UNPKG

@atomic-ehr/ucum

Version:

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

46 lines 1.74 kB
import { parseUnit } from './parser'; import { toCanonicalForm } from './canonical-form'; import type { DimensionObject } from './dimension'; import type { CanonicalForm } from './canonical-form'; import type { ValidationResult } from './validation'; import type { Quantity } from './quantity'; import type { ParseResult } from './parser/types'; export interface UnitInfo { type: 'base' | 'derived' | 'special' | 'arbitrary' | 'dimensionless'; code: string; name: string; printSymbol?: string; isMetric: boolean; isSpecial: boolean; isArbitrary: boolean; isBase: boolean; class?: string; property?: string; dimension: DimensionObject; canonical: CanonicalForm; definition?: string; } export interface DisplayOptions { locale?: string; format?: 'symbol' | 'name' | 'long'; } export interface UCUM { validate(unit: string): ValidationResult; convert(value: number, from: string, to: string): number; isConvertible(from: string, to: string): boolean; quantity(value: number, unit: string): Quantity; add(q1: Quantity, q2: Quantity): Quantity; subtract(q1: Quantity, q2: Quantity): Quantity; multiply(q1: Quantity, q2: Quantity | number): Quantity; divide(q1: Quantity, q2: Quantity | number): Quantity; pow(q: Quantity, exponent: number): Quantity; info(unit: string): UnitInfo; display(unit: string, options?: DisplayOptions): string; isSpecialUnit(unit: string): boolean; isArbitraryUnit(unit: string): boolean; } export declare const ucum: UCUM; export default ucum; export type { Quantity, ValidationResult, CanonicalForm, DimensionObject, ParseResult }; export { parseUnit, toCanonicalForm }; //# sourceMappingURL=index.d.ts.map