Class: EventBusService
Can keep track of multiple subscribers to different events and run the subscribers when events happen. Events will run asynchronously.
Hierarchy
TransactionBaseService
Copy to Clipboard↳
EventBusService
Copy to Clipboard
Implements
IEventBusService
Copy to Clipboard
Constructors
constructor
• new EventBusService(__namedParameters
Copy to Clipboard, config
Copy to Clipboard, isSingleton?
Copy to Clipboard)
Parameters
Name | Type | Default value |
---|---|---|
__namedParameters Copy to Clipboard | InjectedDependencies Copy to Clipboard | undefined Copy to Clipboard |
config Copy to Clipboard | any Copy to Clipboard | undefined Copy to Clipboard |
isSingleton Copy to Clipboard | boolean Copy to Clipboard | true Copy to Clipboard |
Overrides
TransactionBaseService.constructor
Defined in
medusa/src/services/event-bus.ts:32
Properties
__configModule__
• Protected
Copy to Clipboard Optional
Copy to Clipboard Readonly
Copy to Clipboard __configModule__: Record
Copy to Clipboard<string
Copy to Clipboard, unknown
Copy to Clipboard>
Inherited from
TransactionBaseService.__configModule__
Defined in
medusa/src/interfaces/transaction-base-service.ts:14
__container__
• Protected
Copy to Clipboard Readonly
Copy to Clipboard __container__: any
Copy to Clipboard
Inherited from
TransactionBaseService.__container__
Defined in
medusa/src/interfaces/transaction-base-service.ts:13
__moduleDeclaration__
• Protected
Copy to Clipboard Optional
Copy to Clipboard Readonly
Copy to Clipboard __moduleDeclaration__: Record
Copy to Clipboard<string
Copy to Clipboard, unknown
Copy to Clipboard>
Inherited from
TransactionBaseService.__moduleDeclaration__
Defined in
medusa/src/interfaces/transaction-base-service.ts:15
config_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard config_: ConfigModule
Copy to Clipboard
Defined in
medusa/src/services/event-bus.ts:24
enqueue_
• Protected
Copy to Clipboard enqueue_: Promise
Copy to Clipboard<void
Copy to Clipboard>
Defined in
medusa/src/services/event-bus.ts:30
eventBusModuleService_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard eventBusModuleService_: IEventBusModuleService
Copy to Clipboard
Defined in
medusa/src/services/event-bus.ts:27
manager_
• Protected
Copy to Clipboard manager_: EntityManager
Copy to Clipboard
Inherited from
TransactionBaseService.manager_
Defined in
medusa/src/interfaces/transaction-base-service.ts:5
shouldEnqueuerRun
• Protected
Copy to Clipboard shouldEnqueuerRun: boolean
Copy to Clipboard
Defined in
medusa/src/services/event-bus.ts:29
stagedJobService_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard stagedJobService_: StagedJobService
Copy to Clipboard
Defined in
medusa/src/services/event-bus.ts:25
transactionManager_
• Protected
Copy to Clipboard transactionManager_: undefined
Copy to Clipboard | EntityManager
Copy to Clipboard
Inherited from
TransactionBaseService.transactionManager_
Defined in
medusa/src/interfaces/transaction-base-service.ts:6
Accessors
activeManager_
• Protected
Copy to Clipboard get
Copy to Clipboard activeManager_(): EntityManager
Copy to Clipboard
Returns
EntityManager
Copy to Clipboard
Inherited from
TransactionBaseService.activeManager_
Defined in
medusa/src/interfaces/transaction-base-service.ts:8
Methods
atomicPhase_
▸ Protected
Copy to Clipboard atomicPhase_<TResult
Copy to Clipboard, TError
Copy to Clipboard>(work
Copy to Clipboard, isolationOrErrorHandler?
Copy to Clipboard, maybeErrorHandlerOrDontFail?
Copy to Clipboard): Promise
Copy to Clipboard<TResult
Copy to Clipboard>
Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created.
Type parameters
Name |
---|
TResult Copy to Clipboard |
TError Copy to Clipboard |
Parameters
Name | Type | Description |
---|---|---|
work Copy to Clipboard | (transactionManager Copy to Clipboard: EntityManager Copy to Clipboard) => Promise Copy to Clipboard<TResult Copy to Clipboard> | the transactional work to be done |
isolationOrErrorHandler? Copy to Clipboard | IsolationLevel Copy to Clipboard | (error Copy to Clipboard: TError Copy to Clipboard) => Promise Copy to Clipboard<void Copy to Clipboard | TResult Copy to Clipboard> | the isolation level to be used for the work. |
maybeErrorHandlerOrDontFail? Copy to Clipboard | (error Copy to Clipboard: TError Copy to Clipboard) => Promise Copy to Clipboard<void Copy to Clipboard | TResult Copy to Clipboard> | Potential error handler |
Returns
Promise
Copy to Clipboard<TResult
Copy to Clipboard>
the result of the transactional work
Inherited from
TransactionBaseService.atomicPhase_
Defined in
medusa/src/interfaces/transaction-base-service.ts:56
emit
▸ emit<T
Copy to Clipboard>(data
Copy to Clipboard): Promise
Copy to Clipboard<void
Copy to Clipboard | StagedJob
Copy to Clipboard[]>
Calls all subscribers when an event occurs.
Type parameters
Name |
---|
T Copy to Clipboard |
Parameters
Name | Type | Description |
---|---|---|
data Copy to Clipboard | EmitData Copy to Clipboard<T Copy to Clipboard>[] | The data to use to process the events |
Returns
Promise
Copy to Clipboard<void
Copy to Clipboard | StagedJob
Copy to Clipboard[]>
the jobs from our queue
Implementation of
EventBusTypes.IEventBusService.emit
Defined in
medusa/src/services/event-bus.ts:112
▸ emit<T
Copy to Clipboard>(eventName
Copy to Clipboard, data
Copy to Clipboard, options?
Copy to Clipboard): Promise
Copy to Clipboard<void
Copy to Clipboard | StagedJob
Copy to Clipboard>
Calls all subscribers when an event occurs.
Type parameters
Name |
---|
T Copy to Clipboard |
Parameters
Name | Type | Description |
---|---|---|
eventName Copy to Clipboard | string Copy to Clipboard | the name of the event to be process. |
data Copy to Clipboard | T Copy to Clipboard | the data to send to the subscriber. |
options? Copy to Clipboard | Record Copy to Clipboard<string Copy to Clipboard, unknown Copy to Clipboard> | options to add the job with |
Returns
Promise
Copy to Clipboard<void
Copy to Clipboard | StagedJob
Copy to Clipboard>
the job from our queue
Implementation of
EventBusTypes.IEventBusService.emit
Defined in
medusa/src/services/event-bus.ts:121
enqueuer_
▸ enqueuer_(): Promise
Copy to Clipboard<void
Copy to Clipboard>
Returns
Promise
Copy to Clipboard<void
Copy to Clipboard>
Defined in
medusa/src/services/event-bus.ts:185
shouldRetryTransaction_
▸ Protected
Copy to Clipboard shouldRetryTransaction_(err
Copy to Clipboard): boolean
Copy to Clipboard
Parameters
Name | Type |
---|---|
err Copy to Clipboard | Record Copy to Clipboard<string Copy to Clipboard, unknown Copy to Clipboard> | { code Copy to Clipboard: string Copy to Clipboard } |
Returns
boolean
Copy to Clipboard
Inherited from
TransactionBaseService.shouldRetryTransaction_
Defined in
medusa/src/interfaces/transaction-base-service.ts:37
startEnqueuer
▸ startEnqueuer(): void
Copy to Clipboard
Returns
void
Copy to Clipboard
Defined in
medusa/src/services/event-bus.ts:175
stopEnqueuer
▸ stopEnqueuer(): Promise
Copy to Clipboard<void
Copy to Clipboard>
Returns
Promise
Copy to Clipboard<void
Copy to Clipboard>
Defined in
medusa/src/services/event-bus.ts:180
subscribe
▸ subscribe(event
Copy to Clipboard, subscriber
Copy to Clipboard, context?
Copy to Clipboard): EventBusService
Copy to Clipboard
Adds a function to a list of event subscribers.
Parameters
Name | Type | Description |
---|---|---|
event Copy to Clipboard | string Copy to Clipboard | symbol Copy to Clipboard | the event that the subscriber will listen for. |
subscriber Copy to Clipboard | Subscriber Copy to Clipboard<unknown Copy to Clipboard> | the function to be called when a certain event happens. Subscribers must return a Promise. |
context? Copy to Clipboard | SubscriberContext Copy to Clipboard | subscriber context |
Returns
EventBusService
Copy to Clipboard
this
Implementation of
EventBusTypes.IEventBusService.subscribe
Defined in
medusa/src/services/event-bus.ts:78
unsubscribe
▸ unsubscribe(event
Copy to Clipboard, subscriber
Copy to Clipboard, context
Copy to Clipboard): EventBusService
Copy to Clipboard
Removes function from the list of event subscribers.
Parameters
Name | Type | Description |
---|---|---|
event Copy to Clipboard | string Copy to Clipboard | symbol Copy to Clipboard | the event of the subcriber. |
subscriber Copy to Clipboard | Subscriber Copy to Clipboard<unknown Copy to Clipboard> | the function to be removed |
context Copy to Clipboard | SubscriberContext Copy to Clipboard | subscriber context |
Returns
EventBusService
Copy to Clipboard
this
Implementation of
EventBusTypes.IEventBusService.unsubscribe
Defined in
medusa/src/services/event-bus.ts:98
withTransaction
▸ withTransaction(transactionManager?
Copy to Clipboard): EventBusService
Copy to Clipboard
Parameters
Name | Type |
---|---|
transactionManager? Copy to Clipboard | EntityManager Copy to Clipboard |
Returns
EventBusService
Copy to Clipboard
Implementation of
EventBusTypes.IEventBusService.withTransaction
Overrides
TransactionBaseService.withTransaction