import type { ProductFilterParams, ProductListItemFragment } from '@graphcommerce/magento-product' import { nonNullable } from '@graphcommerce/next-ui' import type { GoogleDatalayerItem } from '../productToDatalayerItem/productToDatalayerItem' import { productToDatalayerItem } from '../productToDatalayerItem/productToDatalayerItem' export type ViewItemList = { item_list_id: string item_list_name: string items: GoogleDatalayerItem[] filter_params?: ProductFilterParams | null } export type SelectItem = { item_list_id: string item_list_name: string items: GoogleDatalayerItem[] filter_params?: ProductFilterParams | null } export function productItemsToViewItemList
( item_list_id: string, item_list_name: string, items: Array
| null | undefined,
filter_params: ProductFilterParams | null | undefined,
): ViewItemList {
return {
item_list_id,
item_list_name,
items: (items ?? [])?.filter(nonNullable)?.map(productToDatalayerItem),
filter_params,
}
}
export function viewItemListToSelectItem(
viewItemList: ReturnType