expeditaet
Version:
Advent of Code Solutions
19 lines (15 loc) • 592 B
text/typescript
import { split, stringPair } from '@alexaegis/advent-of-code-lib';
export interface AllergenicProduct {
ingredients: string[];
allergens: string[];
}
export const parse = (input: string): AllergenicProduct[] => {
const entries: AllergenicProduct[] = [];
for (const line of split(input)) {
const [rawIngredients, rawAllergens] = stringPair.assert(line.split(' (contains '));
const ingredients = rawIngredients.split(' ');
const allergens = rawAllergens.slice(0, Math.max(0, rawAllergens.length - 1)).split(', ');
entries.push({ ingredients, allergens });
}
return entries;
};