Skip to content

Commit

Permalink
fix: minor fix to MessageBus typings
Browse files Browse the repository at this point in the history
Signed-off-by: Saulo Vallory <[email protected]>
  • Loading branch information
svallory committed Jan 17, 2025
1 parent ddc9edd commit 6e21aef
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions packages/message-bus/src/MessageBus.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
import type { CommandRegistry } from './commands';
import { type EventRegistry, isFigmaEvent } from './events';
import {
type EventRegistry,
type FigmaEventDefinition,
type FigmaEventRegistry,
isFigmaEvent,
} from './events';
import * as evtHandler from './handler';
import type { CommandHandlers, DeregisterFn, EventListeners } from './types';

Expand Down Expand Up @@ -79,9 +84,17 @@ export class MessageBusSingleton<TCommands = unknown, TEvents = unknown> {
});
}

public publishEvent<Id extends keyof EventRegistry<TEvents>>(
public publishEvent<
Id extends keyof EventRegistry<TEvents> | keyof FigmaEventRegistry,
>(
event: Id,
data: EventRegistry<TEvents>[Id]['message'],
data: Id extends keyof EventRegistry<TEvents>
? EventRegistry<TEvents>[Id]['message']
: Id extends keyof FigmaEventRegistry
? FigmaEventRegistry[Id] extends FigmaEventDefinition<infer T, infer U>
? U
: never
: never,
): void {
evtHandler.emit(String(event), data);
}
Expand Down

0 comments on commit 6e21aef

Please sign in to comment.