Constrain BusEvent.define to ZodObject instead of ZodType so TS knows
event properties are always a record. Type GlobalBus payload as
{ type: string; properties: Record<string, unknown> } instead of any.
Refactor watcher test to use Bus.subscribe instead of raw GlobalBus
listener, removing hand-rolled event types and unnecessary casts.
10 lines
210 B
TypeScript
10 lines
210 B
TypeScript
import { EventEmitter } from "events"
|
|
|
|
export const GlobalBus = new EventEmitter<{
|
|
event: [
|
|
{
|
|
directory?: string
|
|
payload: { type: string; properties: Record<string, unknown> }
|
|
},
|
|
]
|
|
}>()
|