AggregateRoot

  
abstract class AggregateRoot<EventBase extends IEvent = IEvent> {
  autoCommit: boolean
  publish<T extends EventBase = EventBase>(event: T)
  publishAll<T extends EventBase = EventBase>(event: T[])
  commit()
  uncommit()
  getUncommittedEvents(): EventBase[]
  loadFromHistory(history: EventBase[])
  apply<T extends EventBase = EventBase>(event: T, isFromHistory: boolean = false)
  protected getEventHandler<T extends EventBase = EventBase>(event: T): Type<IEventHandler> | undefined
  protected getEventName(event: any): string
}

Properties

Property Description
autoCommit: boolean

Methods

publish()


publish<T extends EventBase = EventBase>(event: T)

Parameters

Option Type Description
event T

publishAll()


publishAll<T extends EventBase = EventBase>(event: T[])

Parameters

Option Type Description
event T[]

commit()


commit()

Parameters

There are no parameters.

uncommit()


uncommit()

Parameters

There are no parameters.

getUncommittedEvents()


getUncommittedEvents(): EventBase[]

Parameters

There are no parameters.

Returns

EventBase[]

loadFromHistory()


loadFromHistory(history: EventBase[])

Parameters

Option Type Description
history EventBase[]

apply()


apply<T extends EventBase = EventBase>(event: T, isFromHistory: boolean = false)

Parameters

Option Type Description
event T
isFromHistory boolean

Optional. Default is false.

getEventHandler()


protected getEventHandler<T extends EventBase = EventBase>(event: T): Type<IEventHandler> | undefined

Parameters

Option Type Description
event T

Returns

Type<IEventHandler> | undefined

getEventName()


protected getEventName(event: any): string

Parameters

Option Type Description
event any

Returns

string