UNPKG

sendrly

Version:

Official Sendrly TypeScript/JavaScript SDK - Simple, type-safe email automation for developers

61 lines (60 loc) 1.94 kB
import { z } from 'zod'; import type { ValidatedEventPayload } from './types'; /** * Event payload schema that matches the Edge Function payload structure */ export declare const eventPayloadSchema: z.ZodObject<{ contact: z.ZodObject<{ email: z.ZodPipeline<z.ZodEffects<z.ZodString, string, string>, z.ZodString>; marketing_opt_out: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; properties: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>; }, "strip", z.ZodTypeAny, { email: string; marketing_opt_out: boolean; properties: Record<string, unknown>; }, { email: string; marketing_opt_out?: boolean | undefined; properties?: Record<string, unknown> | undefined; }>; event: z.ZodObject<{ name: z.ZodString; properties: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>; }, "strip", z.ZodTypeAny, { properties: Record<string, unknown>; name: string; }, { name: string; properties?: Record<string, unknown> | undefined; }>; }, "strict", z.ZodTypeAny, { contact: { email: string; marketing_opt_out: boolean; properties: Record<string, unknown>; }; event: { properties: Record<string, unknown>; name: string; }; }, { contact: { email: string; marketing_opt_out?: boolean | undefined; properties?: Record<string, unknown> | undefined; }; event: { name: string; properties?: Record<string, unknown> | undefined; }; }>; /** * Validate the user-provided payload * This is the main validation function used by the SDK */ export declare function validatePayload(payload: unknown): ValidatedEventPayload; /** * Format validation errors into a readable string * @internal */ export declare const formatValidationError: (error: z.ZodError) => string;