The quantity object to normalize
The normalized quantity object
normalizeQuantity({ quantity: 1000, uom: "g" }) // Returns { quantity: 1, uom: "kg" }
normalizeQuantity({ quantity: 1000, uom: "mg" }) // Returns { quantity: 1, uom: "g" }
normalizeQuantity({ quantity: 1000, uom: "kg" }) // Returns { quantity: 1, uom: "t" }
normalizeQuantity({ quantity: 1000, uom: "ml" }) // Returns { quantity: 1, uom: "l" }
normalizeQuantity({ quantity: 1000, uom: "cm" }) // Returns { quantity: 1, uom: "m" }
export function normalizeQuantity(input: QuantityObject): QuantityObject {
const conversion = unitConversions.find((c) => c.from === input.uom.toLowerCase());
if (!conversion || input.quantity < conversion.threshold) return input;
return {
quantity: Math.round((input.quantity / conversion.factor) * 100) / 100,
uom: conversion.to,
};
}
Normalizes a quantity object to its base unit of measure.