Skip to content

Commit aa9feb7

Browse files
committed
Remove optionals from DomainEventClass
1 parent 6b96379 commit aa9feb7

File tree

4 files changed

+7
-7
lines changed

4 files changed

+7
-7
lines changed

src/Contexts/Shared/domain/DomainEvent.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ export abstract class DomainEvent {
1818
abstract toPrimitive(): Object;
1919
}
2020

21-
export type DomainEventClass = Partial<typeof DomainEvent>;
21+
export type DomainEventClass = { EVENT_NAME: string, fromPrimitives(...args: any[]): DomainEvent; };

src/Contexts/Shared/infrastructure/EventBus/DomainEventJsonDeserializer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export class DomainEventJsonDeserializer {
1717
throw new Error(`The event ${eventName} doesn't exist or has no subscribers`);
1818
}
1919

20-
return eventClass.fromPrimitives!(
20+
return eventClass.fromPrimitives(
2121
eventData.attributes.id,
2222
eventData.attributes,
2323
eventData.id,

src/Contexts/Shared/infrastructure/EventBus/DomainEventMapping.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
import { DomainEventClass } from '../../domain/DomainEvent';
1+
import { DomainEventClass, DomainEvent } from '../../domain/DomainEvent';
22
import { DomainEventSubscriber } from '../../domain/DomainEventSubscriber';
33

44
type Mapping = Map<string, DomainEventClass>;
55

66
export class DomainEventMapping {
77
mapping: Mapping;
88

9-
constructor(mapping: DomainEventSubscriber<any>[]) {
9+
constructor(mapping: DomainEventSubscriber<DomainEvent>[]) {
1010
this.mapping = mapping.reduce(this.eventsExtractor(), new Map<string, DomainEventClass>());
1111
}
1212

1313
private eventsExtractor() {
14-
return (map: Mapping, subscriber: DomainEventSubscriber<any>) => {
14+
return (map: Mapping, subscriber: DomainEventSubscriber<DomainEvent>) => {
1515
subscriber.subscribedTo().forEach(this.eventNameExtractor(map));
1616
return map;
1717
};
1818
}
1919

2020
private eventNameExtractor(map: Mapping): (domainEvent: DomainEventClass) => void {
2121
return domainEvent => {
22-
const eventName = domainEvent.EVENT_NAME!;
22+
const eventName = domainEvent.EVENT_NAME;
2323
map.set(eventName, domainEvent);
2424
};
2525
}

src/Contexts/Shared/infrastructure/EventBus/EventEmitterBus.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export class EventEmitterBus extends EventEmitter {
1717

1818
private registerSubscriber(subscriber: DomainEventSubscriber<DomainEvent>) {
1919
subscriber.subscribedTo().map(event => {
20-
this.on(event.EVENT_NAME!, subscriber.on);
20+
this.on(event.EVENT_NAME, subscriber.on);
2121
});
2222
}
2323

0 commit comments

Comments
 (0)