@glowlabs-org/events-sdk
Version:
Typed event SDK for Glow, powered by RabbitMQ and Zod.
20 lines (19 loc) • 813 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.baseEventZ = void 0;
const zod_1 = require("zod");
const zones_1 = require("./zones");
const event_types_1 = require("./event-types");
const zoneIdNumbers = Object.keys(zones_1.zoneMap).map(Number);
const zoneNames = Object.values(zones_1.zoneMap);
exports.baseEventZ = zod_1.z.object({
id: zod_1.z.string().uuid(),
zoneId: zod_1.z.number().refine((id) => zoneIdNumbers.includes(id), {
message: "Invalid zoneId",
}),
zoneName: zod_1.z.enum(zoneNames),
schemaVersion: zod_1.z.enum(["v1", "v2", "v2-alpha"]),
eventType: zod_1.z.enum(Object.values(event_types_1.eventTypes)),
timeStamp: zod_1.z.number().int(),
environment: zod_1.z.enum(["staging", "production"]).default("production"),
});