import { EXCLUSIONS } from '../constants'; import { Day, MenuItem, MenuResponse } from '../types/types'; export const isNotExcluded = (name: string) => EXCLUSIONS.filter((pattern) => new RegExp(pattern).test(name)).length === 0; export const mapDaysToItemList = (days: Day[]) => days .map(({ menu_items: menuItems }: Day) => menuItems?.length ?? 0 > 0 ? menuItems : null ) .filter((menuItems: MenuItem[] | null) => menuItems) .flat() .map((item: MenuItem | null) => { const name = item?.food?.name; return name && isNotExcluded(name) ? name : null; }) .filter((name: string | null) => name); export const processResponse = ({ data: { days } }: MenuResponse) => { return mapDaysToItemList(days); }; export const processRejection = (error: any) => { console.error(error); return null; }; export default { isNotExcluded, mapDaysToItemList, processResponse, processRejection, };