---
url: https://node-ts.github.io/bus/api/bus-core.md
---
[API reference](../index.md) / @node-ts/bus-core

# @node-ts/bus-core

## Enumerations

* [BusState](enumerations/BusState.md)
* [WorkflowStatus](enumerations/WorkflowStatus.md)

## Classes

* [Bus](classes/Bus.md)
* [BusAlreadyInitialized](classes/BusAlreadyInitialized.md)
* [BusConfiguration](classes/BusConfiguration.md)
* [BusInstance](classes/BusInstance.md)
* [ClassHandlerNotResolved](classes/ClassHandlerNotResolved.md)
* [ContainerNotRegistered](classes/ContainerNotRegistered.md)
* [DebugLogger](classes/DebugLogger.md)
* [DefaultHandlerRegistry](classes/DefaultHandlerRegistry.md)
* [DefaultInMemoryQueueConfiguration](classes/DefaultInMemoryQueueConfiguration.md)
* [DefaultRetryStrategy](classes/DefaultRetryStrategy.md)
* [FailMessageOutsideHandlingContext](classes/FailMessageOutsideHandlingContext.md)
* [HandlerAlreadyRegistered](classes/HandlerAlreadyRegistered.md)
* [HandlerDispatchRejected](classes/HandlerDispatchRejected.md)
* [InMemoryPersistence](classes/InMemoryPersistence.md)
* [InMemoryQueue](classes/InMemoryQueue.md)
* [InvalidBusState](classes/InvalidBusState.md)
* [InvalidOperation](classes/InvalidOperation.md)
* [JsonSerializer](classes/JsonSerializer.md)
* [MessageNameInherited](classes/MessageNameInherited.md)
* [MessageNameMissing](classes/MessageNameMissing.md)
* [MessageSerializer](classes/MessageSerializer.md)
* [MessageTypesMissing](classes/MessageTypesMissing.md)
* [MiddlewareDispatcher](classes/MiddlewareDispatcher.md)
* [PersistenceNotConfigured](classes/PersistenceNotConfigured.md)
* [ReceivedMessageReturnedToQueue](classes/ReceivedMessageReturnedToQueue.md)
* [ReturnMessageOutsideHandlingContext](classes/ReturnMessageOutsideHandlingContext.md)
* [TransportAlreadyInUse](classes/TransportAlreadyInUse.md)
* [TypedEmitter](classes/TypedEmitter.md)
* [Workflow](classes/Workflow.md)
* [WorkflowAlreadyHandlesMessage](classes/WorkflowAlreadyHandlesMessage.md)
* [WorkflowAlreadyInitialized](classes/WorkflowAlreadyInitialized.md)
* [WorkflowAlreadyStartedByMessage](classes/WorkflowAlreadyStartedByMessage.md)
* [WorkflowDoesNotHandleMessage](classes/WorkflowDoesNotHandleMessage.md)
* [WorkflowMapper](classes/WorkflowMapper.md)
* [WorkflowNameAlreadyRegistered](classes/WorkflowNameAlreadyRegistered.md)
* [WorkflowNotRecognized](classes/WorkflowNotRecognized.md)
* [WorkflowRegisteredAfterInitialization](classes/WorkflowRegisteredAfterInitialization.md)
* [WorkflowState](classes/WorkflowState.md)
* [WorkflowStateNotInitialized](classes/WorkflowStateNotInitialized.md)
* [WorkflowStateNotProvided](classes/WorkflowStateNotProvided.md)
* [WorkflowStateVersionConflict](classes/WorkflowStateVersionConflict.md)

## Interfaces

* [AfterDispatch](interfaces/AfterDispatch.md)
* [AfterPublish](interfaces/AfterPublish.md)
* [AfterReceive](interfaces/AfterReceive.md)
* [AfterSend](interfaces/AfterSend.md)
* [BeforeDispatch](interfaces/BeforeDispatch.md)
* [BeforePublish](interfaces/BeforePublish.md)
* [BeforeSend](interfaces/BeforeSend.md)
* [BusInitializeOptions](interfaces/BusInitializeOptions.md)
* [BusSender](interfaces/BusSender.md)
* [ContainerAdapter](interfaces/ContainerAdapter.md)
* [CoreDependencies](interfaces/CoreDependencies.md)
* [CustomHandler](interfaces/CustomHandler.md)
* [CustomResolver](interfaces/CustomResolver.md)
* [FunctionWorkflow](interfaces/FunctionWorkflow.md)
* [Handler](interfaces/Handler.md)
* [HandlerContext](interfaces/HandlerContext.md)
* [HandlerFor](interfaces/HandlerFor.md)
* [HandlerRegistrations](interfaces/HandlerRegistrations.md)
* [HandlerRegistry](interfaces/HandlerRegistry.md)
* [HandlerResolver](interfaces/HandlerResolver.md)
* [InMemoryMessage](interfaces/InMemoryMessage.md)
* [InMemoryQueueConfiguration](interfaces/InMemoryQueueConfiguration.md)
* [Listener](interfaces/Listener.md)
* [Logger](interfaces/Logger.md)
* [MessageWorkflowMapping](interfaces/MessageWorkflowMapping.md)
* [OnError](interfaces/OnError.md)
* [Persistence](interfaces/Persistence.md)
* [ReceivedMessageFailure](interfaces/ReceivedMessageFailure.md)
* [Receiver](interfaces/Receiver.md)
* [RetryStrategy](interfaces/RetryStrategy.md)
* [Serializer](interfaces/Serializer.md)
* [Transport](interfaces/Transport.md)
* [TransportConfiguration](interfaces/TransportConfiguration.md)
* [TransportConnectionOptions](interfaces/TransportConnectionOptions.md)
* [TransportInitializationOptions](interfaces/TransportInitializationOptions.md)
* [TransportMessage](interfaces/TransportMessage.md)
* [WorkflowContext](interfaces/WorkflowContext.md)

## Type Aliases

* [CheckedWorkflowHandler](type-aliases/CheckedWorkflowHandler.md)
* [ClassConstructor](type-aliases/ClassConstructor.md)
* [FunctionHandler](type-aliases/FunctionHandler.md)
* [HandlerDefinition](type-aliases/HandlerDefinition.md)
* [ListenerRejectedHandler](type-aliases/ListenerRejectedHandler.md)
* [LoggerFactory](type-aliases/LoggerFactory.md)
* [MessageBase](type-aliases/MessageBase.md)
* [MessageName](type-aliases/MessageName.md)
* [Middleware](type-aliases/Middleware.md)
* [Milliseconds](type-aliases/Milliseconds.md)
* [Next](type-aliases/Next.md)
* [OnWhenHandler](type-aliases/OnWhenHandler.md)
* [UnknownWorkflowStateFields](type-aliases/UnknownWorkflowStateFields.md)
* [Unsubscribe](type-aliases/Unsubscribe.md)
* [WhenHandler](type-aliases/WhenHandler.md)
* [WorkflowHandler](type-aliases/WorkflowHandler.md)
* [WorkflowHandlerCall](type-aliases/WorkflowHandlerCall.md)
* [WorkflowHandlerFunction](type-aliases/WorkflowHandlerFunction.md)
* [WorkflowHandlerResult](type-aliases/WorkflowHandlerResult.md)
* [WorkflowStateChange](type-aliases/WorkflowStateChange.md)
* [WorkflowStateConstructor](type-aliases/WorkflowStateConstructor.md)

## Variables

* [DEFAULT_DEAD_LETTER_QUEUE_NAME](variables/DEFAULT_DEAD_LETTER_QUEUE_NAME.md)

## Functions

* [assertUnreachable](functions/assertUnreachable.md)
* [createDefaultLoggerFactory](functions/createDefaultLoggerFactory.md)
* [defineWorkflow](functions/defineWorkflow.md)
* [handlerFor](functions/handlerFor.md)
* [isClassHandler](functions/isClassHandler.md)
* [sleep](functions/sleep.md)
* [workflowContext](functions/workflowContext.md)
