Skip to content
Snippets Groups Projects
SensorQuantities.ts 2.62 KiB
Newer Older
import { Quantities, Units } from '../enums/standard';

/**
 * Standard sensor quantities utility class
 */
export class SensorQuantities {

	/**
	 * Get unit by quantity
	 * @param {Quantities} quantity Quantity type
	 * @return {string | null} Quantity unit if it exists
	 */
	public static getQuantityUnit(quantity: Quantities): string | null {
		switch (quantity) {
			case Quantities.Temperature:
				return Units.Temperature;
			case Quantities.Carbon_Dioxide:
				return Units.Carbon_Dioxide;
			case Quantities.Volatile_Organic_Compounds:
				return Units.Volatile_Organic_Compounds;
			case Quantities.Extra_Low_Voltage:
				return Units.Extra_Low_Voltage;
			case Quantities.Earths_Magnetic_Field:
				return Units.Earths_Magnetic_Field;
			case Quantities.Low_Voltage:
				return Units.Low_Voltage;
			case Quantities.Current:
				return Units.Current;
			case Quantities.Power:
				return Units.Power;
			case Quantities.Mains_Frequency:
				return Units.Mains_Frequency;
			case Quantities.Timespan:
				return Units.Timespan;
			case Quantities.Illuminance:
				return Units.Illuminance;
			case Quantities.Nitrogen_Dioxide:
				return Units.Nitrogen_Dioxide;
			case Quantities.Sulfur_Dioxide:
				return Units.Sulfur_Dioxide;
			case Quantities.Ozone:
				return Units.Ozone;
			case Quantities.Atmospheric_Pressure:
				return Units.Atmospheric_Pressure;
			case Quantities.Color_Temperature:
				return Units.Color_Temperature;
			case Quantities.Particulates_PM2_5:
				return Units.Particulates_PM2_5;
			case Quantities.Sound_Pressure_Level:
				return Units.Sound_Pressure_Level;
			case Quantities.Altitude:
				return Units.Altitude;
			case Quantities.Acceleration:
				return Units.Acceleration;
			case Quantities.Ammonia:
				return Units.Ammonia;
			case Quantities.Methane:
				return Units.Methane;
			case Quantities.Short_Length:
				return Units.Short_Length;
			case Quantities.Particulates_PM1:
				return Units.Particulates_PM1;
			case Quantities.Particulates_PM4:
				return Units.Particulates_PM4;
			case Quantities.Particulates_PM10:
				return Units.Particulates_PM10;
			case Quantities.Total_Volatile_Organic_Compound:
				return Units.Total_Volatile_Organic_Compound;
			case Quantities.Relative_Humidity:
				return Units.Relative_Humidity;
			case Quantities.Rssi:
				return Units.Rssi;
			case Quantities.Consumption:
				return Units.Consumption;
			case Quantities.Datetime:
				return Units.Datetime;
			case Quantities.Timespan_Long:
				return Units.Timespan_Long;
			case Quantities.Temperature_Float:
				return Units.Temperature_Float;
			case Quantities.Length:
				return Units.Length;
			default:
				return null;
		}
	}
}