ChemPare Documentation - v0.0.0
    Preparing search index...
    • Type guard to validate if an unknown object is a valid SearchResponseItem from WooCommerce. Checks for the presence and correct types of all required properties including nested price information.

      Parameters

      • item: unknown

        Object to validate

      Returns item is WooCommerceSearchResponseItem

      Type predicate indicating if the object is a valid SearchResponseItem

      // Valid search response item
      const validItem = {
      id: 123,
      name: "Sodium Chloride",
      type: "simple",
      description: "High purity NaCl",
      short_description: "NaCl",
      permalink: "/product/sodium-chloride",
      is_in_stock: true,
      sold_individually: false,
      sku: "NACL-500",
      prices: {
      price: "29.99",
      regular_price: "34.99",
      sale_price: "29.99",
      currency_code: "USD",
      currency_symbol: "$",
      currency_minor_unit: 2,
      currency_decimal_separator: ".",
      currency_thousand_separator: ",",
      currency_prefix: "$",
      currency_suffix: ""
      }
      };

      if (isSearchResponseItem(validItem)) {
      console.log('Valid item:', validItem.name);
      console.log('Price:', validItem.prices.price);
      }

      // Invalid search response item (missing properties)
      const invalidItem = {
      id: 123,
      name: "Sodium Chloride"
      // Missing required properties
      };
      if (!isSearchResponseItem(invalidItem)) {
      console.log('Invalid item - missing required properties');
      }

      // Invalid search response item (wrong types)
      const wrongTypes = {
      id: "123", // Should be number
      name: 456, // Should be string
      prices: "invalid" // Should be object
      };
      if (!isSearchResponseItem(wrongTypes)) {
      console.log('Invalid item - wrong property types');
      }