The string to extract the grade from (e.g. a product title)
The grade label (e.g. "ACS Grade"), or "Ungraded" if none is found
parseGrade("SODIUM, REAGENT (ACS) - 500 G") // Returns "ACS Grade"
parseGrade("SODIUM CHLORITE, 80% TECHNICAL") // Returns "Technical Grade"
parseGrade("Citric acid, BP/USP") // Returns "USP Grade"
parseGrade("Grade: Technical") // Returns "Technical Grade"
parseGrade("Sodium, Reagent (NF) - 500 G") // Returns "NF Grade"
parseGrade("SODIUM NITRATE, 99.999% - 50 G") // Returns "Ungraded"
export const parseGrade = (value: string): string => {
return matchGrade(value) ?? 'Ungraded';
};
Extracts a chemical grade from a string. Recognizes the grade written inline in a product title ("SODIUM, REAGENT (ACS) - 500 G") as well as written as a labeled field ("Grade: Technical"). Falls back to
"Ungraded"rather thanundefined, so the Purity column always has something to show.