UNPKG

@chordcommerce/analytics

Version:

Chord Commerce event tracking

129 lines (128 loc) 5.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cartSchema = exports.checkoutSchema = exports.orderSchema = exports.lineItemSchema = exports.productSchema = exports.identifyTraitsSchema = void 0; // Generated by ts-to-zod var zod_1 = require("zod"); exports.identifyTraitsSchema = zod_1.z.record(zod_1.z.any()).and(zod_1.z.object({ address: zod_1.z .record(zod_1.z.any()) .and(zod_1.z.object({ city: zod_1.z.string().optional(), country: zod_1.z.string().optional(), postalCode: zod_1.z.string().optional(), state: zod_1.z.string().optional(), street: zod_1.z.string().optional(), })) .optional(), age: zod_1.z.number().optional(), avatar: zod_1.z.string().optional(), birthday: zod_1.z.string().optional(), company: zod_1.z .record(zod_1.z.any()) .and(zod_1.z.object({ name: zod_1.z.string().optional(), id: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(), industry: zod_1.z.string().optional(), employeeCount: zod_1.z.number().optional(), plan: zod_1.z.string().optional(), })) .optional(), createdAt: zod_1.z.string().optional(), description: zod_1.z.string().optional(), email: zod_1.z.string().optional(), firstName: zod_1.z.string().optional(), gender: zod_1.z.string().optional(), id: zod_1.z.string().optional(), lastName: zod_1.z.string().optional(), name: zod_1.z.string().optional(), phone: zod_1.z.string().optional(), title: zod_1.z.string().optional(), username: zod_1.z.string().optional(), website: zod_1.z.string().optional(), })); exports.productSchema = zod_1.z.object({ affiliation: zod_1.z.string().optional(), brand: zod_1.z.string().optional(), bundle: zod_1.z.boolean().optional(), category: zod_1.z.string().optional(), description: zod_1.z.string().optional(), image_url: zod_1.z.string().optional(), name: zod_1.z.string(), option_values: zod_1.z.array(zod_1.z.string()).optional(), position: zod_1.z.number().optional(), price: zod_1.z.number(), product_id: zod_1.z.string(), sku: zod_1.z.string(), slug: zod_1.z.string().optional(), url: zod_1.z.string().optional(), variant: zod_1.z.string().optional(), }); exports.lineItemSchema = exports.productSchema.extend({ coupon: zod_1.z.string().optional(), line_item_id: zod_1.z.string().optional(), quantity: zod_1.z.number(), }); exports.orderSchema = zod_1.z.object({ affiliation: zod_1.z.string().optional(), campaign_id: zod_1.z.number().optional(), channel: zod_1.z.string().optional(), checkout_type: zod_1.z.string().optional(), coupon: zod_1.z.string().optional(), currency: zod_1.z.string().optional(), discount: zod_1.z.number().optional(), email: zod_1.z.string().optional(), first_name: zod_1.z.string().optional(), has_subscription: zod_1.z.boolean().optional(), is_recurring: zod_1.z.boolean().optional(), last_name: zod_1.z.string().optional(), metadata: zod_1.z.record(zod_1.z.unknown()).optional(), order_date: zod_1.z.string().optional(), order_id: zod_1.z.string().optional(), phone: zod_1.z.string().optional(), products: zod_1.z .array(exports.lineItemSchema.and(zod_1.z.object({ bundle_size: zod_1.z.number().optional(), cross_sold_quantity: zod_1.z.number().optional(), variant_metadata: zod_1.z.record(zod_1.z.unknown()).optional(), }))) .optional(), purl_link: zod_1.z.string().optional(), referral_identifier_id: zod_1.z.string().optional(), revenue: zod_1.z.number().optional(), shipping: zod_1.z.number().optional(), shipping_city: zod_1.z.string().optional(), shipping_country: zod_1.z.string().optional(), shipping_method_details: zod_1.z .object({ shipping_code: zod_1.z.string().optional(), shipping_method: zod_1.z.string().optional(), }) .optional(), shipping_state: zod_1.z.string().optional(), shipping_zipcode: zod_1.z.string().optional(), tax: zod_1.z.number().optional(), template_id: zod_1.z.number().optional(), total: zod_1.z.number().optional(), tracking_ids: zod_1.z.record(zod_1.z.unknown()).optional(), }); exports.checkoutSchema = zod_1.z.object({ affiliation: zod_1.z.string().optional(), checkout_type: zod_1.z.string().optional(), coupon: zod_1.z.string().optional(), currency: zod_1.z.string().optional(), discount: zod_1.z.number().optional(), order_id: zod_1.z.string().optional(), order_name: zod_1.z.string().optional(), products: zod_1.z.array(exports.lineItemSchema), revenue: zod_1.z.number().optional(), shipping: zod_1.z.number().optional(), tax: zod_1.z.number().optional(), value: zod_1.z.number().optional(), step: zod_1.z.number().optional(), }); exports.cartSchema = zod_1.z.object({ cart_id: zod_1.z.string().optional(), currency: zod_1.z.string().optional(), products: zod_1.z.array(exports.lineItemSchema), value: zod_1.z.number().optional(), });