sendrly
Version:
Official Sendrly TypeScript/JavaScript SDK - Simple, type-safe email automation for developers
61 lines (60 loc) • 1.94 kB
TypeScript
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;