Object to validate
Type predicate indicating if the response is a valid and complete WooCommerceProductVariant
// Valid complete product variant
const completeVariant = {
id: 123,
name: "Sodium Chloride 500g",
type: "variation",
variation: "500g",
sku: "NACL-500",
description: "High purity sodium chloride, 500g",
variations: ["250g", "500g", "1000g"],
// ... other required SearchResponseItem properties
};
if (isValidProductVariant(completeVariant)) {
console.log('Valid complete variant:', completeVariant.variation);
console.log('Available variations:', completeVariant.variations);
}
export function isValidProductVariant(response: unknown): response is WooCommerceProductVariant {
if (!isProductVariant(response)) {
return false;
}
return validProductVariantSchema.safeParse(response).success;
}
Type guard to validate if a product response contains all required variant information. Extends the basic WooCommerceProductVariant validation with additional required properties for complete variant data.