The unit of measure to standardize
The standardized UOM, or undefined if not recognized
standardizeUom('qt') // Returns 'quart'
standardizeUom('kg') // Returns 'kilogram'
standardizeUom('kilograms') // Returns 'kilogram'
standardizeUom('lb') // Returns 'pound'
standardizeUom('Grams') // Returns 'gram'
export function standardizeUom(uom: string): UOM | void {
const uomMap: Record<string, string> = { [uom]: uom };
for (const [canonical, aliases] of Object.entries(UOM_ALIASES)) {
for (const alias of aliases) {
uomMap[alias] = canonical;
}
}
const normalized = uom.toLowerCase();
if (normalized in uomMap) return uomMap[normalized] satisfies string as UOM;
}
Standardizes a unit of measure (UOM) to its canonical form. Uses the uomAliases mapping to convert various representations to standard forms.