Object to validate
Type predicate indicating if the object is a valid WooCommerceProductVariant
// Valid product variant
const validVariant = {
id: 123,
name: "Sodium Chloride 500g",
type: "variation",
variation: "500g",
// Other required SearchResponseItem properties would go here
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 (isProductVariant(validVariant)) {
console.log('Valid variant:', validVariant.variation);
}
// Invalid product variant (missing variation)
const invalidVariant = {
id: 123,
name: "Sodium Chloride",
type: "variation"
// Missing variation property
};
if (!isProductVariant(invalidVariant)) {
console.log('Invalid variant - missing variation property');
}
// Invalid product variant (wrong type)
const wrongType = {
id: 123,
name: "Sodium Chloride",
type: "variation",
variation: 500 // Should be string
};
if (!isProductVariant(wrongType)) {
console.log('Invalid variant - wrong variation type');
}
Type guard to validate if an unknown object is a valid WooCommerce WooCommerceProductVariant. Checks if the object is a valid SearchResponseItem and has the required variant properties.