The parent-plus-variants list, deduplicated, in display order.
resolveDisplayedVariants({ title: "NaCl", quantity: 1, uom: "kg" } as Product);
// => [the product] (no variants)
export function resolveDisplayedVariants(
product: Product,
variants: readonly Variant[] = product.variants ?? [],
): Variant[] {
const parentAlreadyListed = variants.some((v) => isParentPurchasableUnit(product, v));
return parentAlreadyListed ? [...variants] : [product, ...variants];
}
Resolves the distinct purchasable units to show for a product: its variants, with the parent product prepended unless a variant already represents the same unit (see isParentPurchasableUnit), avoiding a duplicate row.