The value to validate
Type predicate indicating if the value is a valid UOM
// Valid UOM
const validUOM = "g";
if (isUOM(validUOM)) {
console.log('Valid UOM:', validUOM);
}
// Invalid UOM
const invalidUOM = 123; // Number instead of string
if (!isUOM(invalidUOM)) {
console.log('Invalid UOM:', invalidUOM);
}
export function isUOM(uom: unknown): uom is Uom {
// Widen the enum-value array to string[] so includes() accepts an arbitrary string.
return typeof uom === 'string' && (Object.values(UOM) as string[]).includes(uom);
}
Type guard to validate if a value is a valid UOM. Checks if the value is a string and if it is in the UOM array.