"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.urlSchema = exports.customerNumberSchema = exports.salesforceIdSchema = exports.requiredStringSchema = exports.uuidSchema = void 0; exports.normalizeAndValidateEmail = normalizeAndValidateEmail; exports.validateUuidV4OrThrow = validateUuidV4OrThrow; exports.isValidEmail = isValidEmail; exports.isValidUuid = isValidUuid; exports.validateUrlOrThrow = validateUrlOrThrow; exports.validateUrl = validateUrl; exports.isValidUrl = isValidUrl; const zod_1 = require("zod"); exports.uuidSchema = zod_1.z.string().uuid(); exports.requiredStringSchema = zod_1.z.string().min(1, "This field is required").trim(); exports.salesforceIdSchema = zod_1.z .string() .length(18, "Salesforce ID must be 18 characters") .regex(/^[A-Za-z0-9]+$/, "Salesforce ID must be alphanumeric") .trim(); exports.customerNumberSchema = zod_1.z.string().min(1, "Customer number is required").trim(); function normalizeAndValidateEmail(email) { const emailValidationSchema = zod_1.z.string().email().transform(e => e.toLowerCase().trim()); return emailValidationSchema.parse(email); } function validateUuidV4OrThrow(id) { try { return exports.uuidSchema.parse(id); } catch { throw new Error("Invalid user ID format"); } } function isValidEmail(email) { return zod_1.z.string().email().safeParse(email).success; } function isValidUuid(id) { return exports.uuidSchema.safeParse(id).success; } exports.urlSchema = zod_1.z.string().url(); function validateUrlOrThrow(url) { try { return exports.urlSchema.parse(url); } catch { throw new Error("Invalid URL format"); } } function validateUrl(url) { const result = exports.urlSchema.safeParse(url); return { isValid: result.success, errors: result.success ? [] : result.error.issues.map(i => i.message), }; } function isValidUrl(url) { return exports.urlSchema.safeParse(url).success; } //# sourceMappingURL=validation.js.map