ChemPare Documentation - v0.0.0
    Preparing search index...
    • Type guard to validate if an object is a valid Carolina search result item. Checks for the presence and correct types of all required product properties including product ID, name, description, price, and URL.

      Parameters

      • result: unknown

        Object to validate as SearchResult

      Returns result is CarolinaSearchResult

      Type predicate indicating if result is a valid SearchResult

      // Valid search result item
      const validResult = {
      "product.productId": "12345",
      "product.productName": "Sodium Chloride",
      "product.shortDescription": "High purity NaCl",
      itemPrice: "29.99",
      "product.seoName": "sodium-chloride",
      productUrl: "/products/sodium-chloride",
      productName: "Sodium Chloride 500g",
      qtyDiscountAvailable: false
      };

      if (isSearchResultItem(validResult)) {
      console.log("Valid search result:", validResult["product.productName"]);
      console.log("Price:", validResult.itemPrice);
      console.log("URL:", validResult.productUrl);
      }

      // Invalid search result (missing required properties)
      const missingProps = {
      "product.productId": "12345",
      "product.productName": "Sodium Chloride"
      // Missing other required properties
      };
      if (!isSearchResultItem(missingProps)) {
      console.error("Invalid result - missing required properties");
      }

      // Invalid search result (wrong types)
      const wrongTypes = {
      "product.productId": 12345, // Should be string
      "product.productName": 123, // Should be string
      "product.shortDescription": 123, // Should be string
      itemPrice: 29.99, // Should be string
      "product.seoName": 123, // Should be string
      productUrl: 123, // Should be string
      productName: 123, // Should be string
      qtyDiscountAvailable: "false" // Should be boolean
      };
      if (!isSearchResultItem(wrongTypes)) {
      console.error("Invalid result - wrong property types");
      }