From a7448f078a86b25ce64f015b7061fd42e2fb2039 Mon Sep 17 00:00:00 2001 From: mohiit1502 Date: Sun, 21 Dec 2025 17:18:29 +0530 Subject: [PATCH] fixed bug with telemetry config loader --- package.json | 2 +- src/utils/validation.ts | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index a99ed83..9ac98a0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@armco/analytics", - "version": "0.3.0", + "version": "0.3.1", "description": "Universal Analytics Library for Browser and Node.js", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/src/utils/validation.ts b/src/utils/validation.ts index 54a3c85..9714c27 100644 --- a/src/utils/validation.ts +++ b/src/utils/validation.ts @@ -17,9 +17,11 @@ import type { /** * Configuration schema */ +const endpointConfigSchema = z.record(z.string(), z.string().url()); + const configSchema = z.object({ apiKey: z.string().optional(), - endpoint: z.string().url().optional(), + endpoint: z.union([z.string().url(), endpointConfigSchema]).optional(), hostProjectName: z.string().optional(), trackEvents: z.array(z.string()).optional(), submissionStrategy: z.enum(["ONEVENT", "DEFER"]).optional(), @@ -91,7 +93,7 @@ const errorEventSchema = z.object({ */ export function validateConfig(config: unknown): AnalyticsConfig { try { - return configSchema.parse(config); + return configSchema.parse(config) as AnalyticsConfig; } catch (error) { if (error instanceof z.ZodError) { const messages = error.issues.map((err) => `${err.path.join(".")}: ${err.message}`);