ChemPal Documentation - v0.0.13-beta.5
    Preparing search index...
    • Type guard to validate if an object has the correct structure for a Laboratorium Discounter search response product. Checks for the presence and correct types of all required product properties including basic info, availability, and a valid price object.

      Parameters

      • product: unknown

        Object to validate as SearchResponseProduct

      Returns product is LaboratoriumDiscounterSearchResponseProduct

      Type predicate indicating if product is a valid SearchResponseProduct

      // Valid search response product
      const validProduct = {
      id: 12345,
      vid: 67890,
      image: 1,
      brand: false,
      code: "CHEM-001",
      ean: "1234567890123",
      sku: "SKU-001",
      score: 1.0,
      available: true,
      unit: true,
      url: "/products/chemical-1",
      title: "Sodium Chloride",
      fulltitle: "Sodium Chloride 500g",
      variant: "500g",
      description: "High purity sodium chloride",
      data_01: "Additional info",
      price: {
      price: 29.99,
      price_incl: 29.99,
      price_excl: 24.79,
      price_old: 39.99,
      price_old_incl: 39.99,
      price_old_excl: 33.05
      }
      };

      if (isSearchResponseProduct(validProduct)) {
      console.log("Valid product:", validProduct.title);
      console.log("Price:", validProduct.price.price);
      console.log("Available:", validProduct.available);
      }
      export function isSearchResponseProduct(product: unknown): product is SearchResponseProduct {
      return searchResponseProductSchema.safeParse(product).success;
      }