UNPKG

is-vegan

Version:

Is-Vegan is a library which helps you to find out which ingridiends are not vegan

45 lines (37 loc) 1.72 kB
import { getNonVeganList } from './IngredientsListProvider'; /** * This functions takes the given ingredient * and checks it against the non-vegan list of ingredients * @param ingredientToCheck - the ingredient to check * @return if ingredient is in nonVeganList or if all ingredient words are in nonVeganList. Otherwise true */ export function isVeganIngredient (ingredientToCheck: string): boolean { // true if empty if (ingredientToCheck.length === 0) return true; const formattedIngredientToCheck = ingredientToCheck.trim().toLowerCase(); const nonVeganListIncludesIngredient = getNonVeganList().includes(formattedIngredientToCheck); if (nonVeganListIncludesIngredient === true) return false; const ingredientWords = formattedIngredientToCheck.split(' '); if (ingredientWords.length > 1 && ingredientWords.every(word => !isVeganIngredient(word))) return false; return true; } /** * This functions takes a given list of ingredients * and checks them against the non-vegan list of ingredients * @param ingredientsToCheck - the lit of ingredients to check * @return if ingredients are not in nonVeganList */ export function isVeganIngredientList (ingredientsToCheck: string[]): boolean { return !ingredientsToCheck.some(ingredient => !isVeganIngredient(ingredient)); } /** * This functions takes a given list of ingredients * and checks them against the non-vegan list of ingredients * @param ingredientsToCheck - the lit of ingredients to check * @return Array of ingredients that are non-vegan */ export function containsNonVeganIngredients (ingredientsToCheck: string[]): string[] { return ingredientsToCheck.filter( ingredient => !isVeganIngredient(ingredient) ); }