ChemPal Documentation - v0.0.13-beta.5
    Preparing search index...

    Function toBaseQuantity

    • Converts a quantity from its current unit to a common unit of mass or volume. This is to make it easier to compare quantities of different units.

      Parameters

      • quantity: number

        The quantity to convert

      • unit: UOM

        The unit of measure of the quantity

      Returns number

      The converted quantity in its base unit

      toBaseQuantity(1, UOM.KG) // Returns 1000 (kilograms)
      toBaseQuantity(1, UOM.LB) // Returns 453.592 (grams)
      toBaseQuantity(1, UOM.G) // Returns 1 (no conversion needed)
      export function toBaseQuantity(quantity: number, unit: UOM): number {
      if (typeof quantity !== "number") return quantity;

      switch (unit) {
      // Solids, convert all to milligrams
      case UOM.MG:
      return quantity;
      case UOM.G:
      return quantity * 1000;
      case UOM.KG:
      return quantity * 1000000;
      case UOM.LB:
      return quantity * 453592;
      case UOM.OZ:
      return quantity * 28349.5; // Weight ounce, not fluid

      // Liquids, convert all to milliliters
      case UOM.ML:
      return quantity;
      case UOM.L:
      return quantity * 1000;
      case UOM.QT:
      return quantity * 946.353;
      case UOM.GAL:
      return quantity * 3785.41;
      case UOM.FLOZ:
      return quantity * 29.5735;

      // Countable units, no conversion
      case UOM.PCS:
      case UOM.EA:
      return quantity;

      default:
      console.debug(`${quantity} ${unit} -> ${quantity} ${unit} (no conversion found)`);
      return quantity;
      }
      }