@glowlabs-org/events-sdk
Version:
Typed event SDK for Glow, powered by RabbitMQ and Zod.
37 lines (36 loc) • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEventSchema = getEventSchema;
const audit_pushed_v1_1 = require("./schemas/audit-pushed.v1");
const audit_slashed_v1_1 = require("./schemas/audit-slashed.v1");
const audit_pfees_paid_v1_1 = require("./schemas/audit-pfees-paid.v1");
const audit_pfees_paid_v2_1 = require("./schemas/audit-pfees-paid.v2");
const base_event_1 = require("./base-event");
const application_created_v1_1 = require("./schemas/application-created.v1");
const event_types_1 = require("./event-types");
const audit_pushed_v2_1 = require("./schemas/audit-pushed.v2");
const eventTypeRegistry = {
[`${event_types_1.eventTypes.auditPushed}:v1`]: base_event_1.baseEventZ.extend({
payload: audit_pushed_v1_1.auditPushedV1PayloadZ,
}),
[`${event_types_1.eventTypes.auditSlashed}:v1`]: base_event_1.baseEventZ.extend({
payload: audit_slashed_v1_1.auditSlashedV1PayloadZ,
}),
[`${event_types_1.eventTypes.auditPfeesPaid}:v1`]: base_event_1.baseEventZ.extend({
payload: audit_pfees_paid_v1_1.auditPfeesPaidV1PayloadZ,
}),
[`${event_types_1.eventTypes.auditPfeesPaid}:v2`]: base_event_1.baseEventZ.extend({
payload: audit_pfees_paid_v2_1.auditPfeesPaidV2PayloadZ,
}),
[`${event_types_1.eventTypes.applicationCreated}:v1`]: base_event_1.baseEventZ.extend({
payload: application_created_v1_1.applicationCreatedV1PayloadZ,
}),
[`${event_types_1.eventTypes.auditPushed}:v2`]: base_event_1.baseEventZ.extend({
payload: audit_pushed_v2_1.auditPushedV2PayloadZ,
}),
// Add more event types/versions here
};
function getEventSchema(eventType, version) {
const key = `${eventType}:${version}`;
return eventTypeRegistry[key];
}