Wocart

@wocart/storefront v3.1.0


@wocart/storefront / index / ProductSchema

Variable: ProductSchema

const ProductSchema: z.ZodObject<{ category: z.ZodNullable<z.ZodObject<{ createdAt: z.ZodString; description: z.ZodNullable<z.ZodString>; id: z.ZodString; image: z.ZodNullable<z.ZodObject<{ height: z.ZodNullable<z.ZodNumber>; key: z.ZodString; url: z.ZodString; width: z.ZodNullable<z.ZodNumber>; }, z.core.$strip>>; metaDescription: z.ZodNullable<z.ZodString>; metaKeywords: z.ZodNullable<z.ZodString>; metaTitle: z.ZodNullable<z.ZodString>; name: z.ZodString; parentId: z.ZodNullable<z.ZodString>; position: z.ZodNumber; slug: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>>; categoryId: z.ZodNullable<z.ZodString>; compareAtPrice: z.ZodNullable<z.ZodNumber>; currency: z.ZodString; description: z.ZodNullable<z.ZodString>; descriptionFormat: z.ZodEnum<{ html: "html"; text: "text"; }>; descriptionPlain: z.ZodNullable<z.ZodString>; handle: z.ZodString; hasVariants: z.ZodBoolean; id: z.ZodString; images: z.ZodArray<z.ZodObject<{ altText: z.ZodNullable<z.ZodString>; height: z.ZodNullable<z.ZodNumber>; id: z.ZodString; key: z.ZodString; position: z.ZodNumber; url: z.ZodString; width: z.ZodNullable<z.ZodNumber>; }, z.core.$strip>>; inventory: z.ZodNumber; lowStockThreshold: z.ZodNumber; metaDescription: z.ZodNullable<z.ZodString>; metaTitle: z.ZodNullable<z.ZodString>; name: z.ZodString; offers: z.ZodArray<z.ZodObject<{ discountType: z.ZodEnum<{ free: "free"; free_shipping: "free_shipping"; }>; id: z.ZodString; name: z.ZodString; rewardProductId: z.ZodNullable<z.ZodString>; rewardProductName: z.ZodString; rewardQuantity: z.ZodNumber; rewardUnitPrice: z.ZodNullable<z.ZodNumber>; rewardVariantId: z.ZodNullable<z.ZodString>; rewardVariantLabel: z.ZodNullable<z.ZodString>; triggerQuantity: z.ZodNumber; triggerVariantId: z.ZodNullable<z.ZodString>; }, z.core.$strip>>; price: z.ZodNumber; quantityPricing: z.ZodNullable<z.ZodObject<{ name: z.ZodString; offerId: z.ZodString; tiers: z.ZodArray<z.ZodObject<{ freeShipping: z.ZodBoolean; price: z.ZodNumber; quantity: z.ZodNumber; }, z.core.$strip>>; triggerVariantId: z.ZodNullable<z.ZodString>; }, z.core.$strip>>; reviewStats: z.ZodNullable<z.ZodObject<{ avgRating: z.ZodNumber; reviewCount: z.ZodNumber; }, z.core.$strip>>; sku: z.ZodNullable<z.ZodString>; tags: z.ZodArray<z.ZodString>; trackInventory: z.ZodBoolean; type: z.ZodEnum<{ DIGITAL: "DIGITAL"; PHYSICAL: "PHYSICAL"; }>; variantOptions: z.ZodNullable<z.ZodArray<z.ZodObject<{ name: z.ZodString; values: z.ZodArray<z.ZodObject<{ hexColor: z.ZodDefault<z.ZodNullable<...>>; value: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>>>; variants: z.ZodArray<z.ZodObject<{ compareAtPrice: z.ZodNullable<z.ZodNumber>; id: z.ZodString; imageId: z.ZodNullable<z.ZodString>; inventory: z.ZodNumber; isDefault: z.ZodBoolean; lowStockThreshold: z.ZodNumber; price: z.ZodNumber; sku: z.ZodNullable<z.ZodString>; variations: z.ZodRecord<z.ZodString, z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>

A product's page: every photo, variant and offer, and its category.