ChemPal Documentation - v1.6.0
    Preparing search index...

    Function resolveDisplayedVariants

    • 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.

      Parameters

      • product: Product

        The parent product.

      • variants: readonly Variant[] = ...

        The variant list to consider, defaulting to product.variants. Callers with an active filter pass the filtered sub-row set instead.

      Returns Variant[]

      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];
      }