@eveble/eveble
Index
Namespaces
Enumerations
Classes
- AbilityAssertion
 - AcceptTask
 - AddedClosedEmployeeTaskList
 - AddingCommitFailedError
 - AddingSnapshotError
 - AgendaClient
 - AgendaCommandScheduler
 - AgendaCommandSchedulerModule
 - AgendaScheduledJobTransformer
 - Aggregate
 - App
 - AppConfig
 - AppError
 - AppMissingError
 - Asserter
 - Assertion
 - AssertionApiAlreadyExistsError
 - AssertionError
 - AssignTaskList
 - AssignTaskListToEmployee
 - Assignment
 - BaseApp
 - BoundedContext
 - CancelEmployment
 - CancelingEmployment
 - CancelingEmploymentCompleted
 - CancelingEmploymentFailed
 - CancelingEmploymentInitiated
 - CancelingEmploymentUnavailableForEmployee
 - CannotRouteMessageError
 - ChangeTaskPriority
 - Client
 - ClientError
 - CloseTaskList
 - ClosingEmployeeTaskListsCompleted
 - ClosingEmployeeTaskListsInitiated
 - Command
 - CommandBus
 - CommandHandlingMixin
 - CommandSchedulingError
 - CommandSchedulingService
 - CommandUnschedulingError
 - Commit
 - CommitConcurrencyError
 - CommitMongoDBObserver
 - CommitMongoDBStorage
 - CommitPublisher
 - CommitReceiver
 - CommitSerializer
 - CommitStore
 - CompleteTask
 - Config
 - ConsoleTransport
 - CreateEmployee
 - CreateTask
 - CreateTaskList
 - DeclineTask
 - DefinableMixin
 - DetailedLogFormatter
 - DomainError
 - DomainException
 - EJSONSerializerAdapter
 - EjsonableMixin
 - ElementAlreadyExistsError
 - ElementNotFoundError
 - Employee
 - EmployeeAlreadyTerminatedError
 - EmployeeCreated
 - EmployeeProductivityEstimated
 - EmployeeTerminated
 - EmployeeTerminatedError
 - EmployeeTerminationCompleted
 - EmployeeTerminationInitiated
 - Entity
 - EntityError
 - EstimateEmployeeProductivity
 - Eveble
 - EvebleConfig
 - Event
 - EventBus
 - EventHandlingMixin
 - EventIdMismatchError
 - EventSourceable
 - EventSourceableError
 - EventSourceableRepository
 - EventsNotFoundError
 - ExpireTask
 - ExpiringTaskCompletionPolicy
 - Guid
 - HandlerExistError
 - HandlerNotFoundError
 - HandlingError
 - HandlingMixin
 - History
 - HoldTask
 - HookAlreadyExistsError
 - HookError
 - HookNotFoundError
 - HookableMixin
 - IdentifiableAlreadyExistsError
 - InactiveClientError
 - InappropriateTaskListTitleError
 - InfiniteTaskCompletionPolicy
 - InfrastructureError
 - InitializingIdentifierAlreadyExistsError
 - InitializingMessageAlreadyExistsError
 - Injector
 - InjectorError
 - InjectorMissingError
 - InvalidAppConfigError
 - InvalidConfigError
 - InvalidControllerError
 - InvalidEnvironmentError
 - InvalidEventError
 - InvalidEventSourceableError
 - InvalidGuidValueError
 - InvalidHandlerError
 - InvalidHookActionError
 - InvalidHookIdError
 - InvalidInitializingMessageError
 - InvalidLegacyTransformerError
 - InvalidListError
 - InvalidMessageableType
 - InvalidModuleError
 - InvalidSchemaVersionError
 - InvalidStateError
 - InvalidStateTransitionError
 - InvalidStatusError
 - InvalidStatusTransitionError
 - InvalidTransportIdError
 - LegacyTransformerAlreadyExistsError
 - LegacyTransformerNotFoundError
 - List
 - ListError
 - Log
 - LogMetadata
 - LogTransport
 - LogTransportConfig
 - Logger
 - LoggingConfig
 - LoggingError
 - Message
 - MissingEventSourceableError
 - MissingInitializingMessageError
 - Module
 - ModuleError
 - MongoDBClient
 - MongoDBCollectionConfig
 - MongoDBCommitStorageModule
 - MongoDBDatabaseConfig
 - MongoDBSnapshotStorageModule
 - NoQuittingFoolError
 - NotVersionableError
 - OneToManyHandlingMixin
 - OneToOneHandlingMixin
 - OpenTaskList
 - PostponeTask
 - Process
 - ProductivityEstimation
 - ProductivityEstimationCompleted
 - ProductivityEstimationFailed
 - ProductivityEstimationInitiated
 - ProductivityEstimationUnavailableForEmployeeError
 - Projection
 - ProjectionAlreadyRebuildingError
 - ProjectionNotRebuildingError
 - ProjectionRebuilder
 - ProjectionRebuildingError
 - QuitTask
 - RFC5424LoggingMixin
 - RebuildingResult
 - Router
 - RouterError
 - SavedStateNotFoundError
 - ScheduleCommand
 - ScheduledJob
 - SchedulerError
 - Serializable
 - SerializableError
 - SerializableMixin
 - SerializationError
 - Service
 - SimpleLogFormatter
 - SnapshotMongoDBStorage
 - SnapshotSerializer
 - Snapshotter
 - SnapshotterError
 - StartTask
 - StateError
 - StatefulAssertion
 - StatefulMixin
 - StatusError
 - StatusfulAssertion
 - StatusfulMixin
 - StorageNotFoundError
 - StringifingConverter
 - Struct
 - Task
 - TaskAccepted
 - TaskAlreadyCompletedError
 - TaskCompleted
 - TaskCreated
 - TaskDeclined
 - TaskExpired
 - TaskHold
 - TaskList
 - TaskListAlreadyAssignedError
 - TaskListAssigned
 - TaskListAssignedToEmployee
 - TaskListClosed
 - TaskListClosedError
 - TaskListCreated
 - TaskListOpened
 - TaskPostponed
 - TaskPriorityChanged
 - TaskQuitted
 - TaskStarted
 - TerminateEmployee
 - TransportExistsError
 - UndefinedActionError
 - UndefinedLoggableTargetError
 - UndefinedSnapshotterError
 - UndefinedSnapshotterFrequencyError
 - UndefinedStatesError
 - UndefinedStatusesError
 - UnhandleableTypeError
 - UnparsableValueError
 - UnresolvableIdentifierFromMessageError
 - UnscheduleCommand
 - UnsupportedExecutionTypeError
 - UpdatingCommitError
 - UpdatingSnapshotError
 - ValueObject
 - ValueObjectError
 - VersionableError
 - VersionableMixin
 
Type aliases
Variables
- COMMANDS_KEY
 - COMMAND_HANDLERS_CONTAINER_KEY
 - CommandBus_base
 - CommitReceiver_base
 - DEFAULT_PROPS_KEY
 - DELEGATED_KEY
 - EVENTS_KEY
 - EVENT_HANDLERS_CONTAINER_KEY
 - Entity_base
 - EventBus_base
 - EventSourceable_base
 - HANDLEABLE_TYPES
 - HANDLERS
 - HANDLER_KEY
 - HOOKABLE_KEY
 - HOOKS_CONTAINER_KEY
 - INITIALIZING_MESSAGE_KEY
 - LEGACY_TRANSFORMERS_CONTAINER_KEY
 - LIST_KEY
 - Logger_base
 - Module_base
 - Projection_base
 - ROLLBACK_STATE_METHOD_KEY
 - ROUTED_COMMANDS_CONTAINER_KEY
 - ROUTED_EVENTS_CONTAINER_KEY
 - SAVED_STATE_KEY
 - SAVE_STATE_METHOD_KEY
 - SERIALIZABLE_LIST_PROPS_KEY
 - SERIALIZABLE_TYPE_KEY
 - SOURCE_KEY
 - SUBSCRIBER_KEY
 - ScheduledJob_base
 - SerializableError_base
 - Serializable_base
 - Service_base
 - Struct_base
 - TYPE_KEY
 - VERSIONABLE_KEY
 - env
 - envFile
 
Functions
- bindExternalDependencies
 - bindLoggerDependencies
 - convertObjectToCollection
 - createConsoleTransport
 - createEJSON
 - createLogger
 - delegate
 - executePostConstruct
 - executePostConstructAsync
 - getCollectionName
 - getDatabaseName
 - getUrl
 - handle
 - hasPostConstruct
 - initial
 - isDefinable
 - isEventSourceableType
 - isPlainRecord
 - isRecord
 - isSSL
 - loadENV
 - loggerLoader
 - route
 - setupCommitStoreMongo
 - setupInjector
 - setupSchedulerMongo
 - setupSnapshotterMongo
 - sleep
 - subscribe
 - toPlainObject
 - version
 
Object literals
Type aliases
ConstructorType
Ƭ ConstructorType: ConstructorType‹T›
EntityType
Ƭ EntityType: EntityType‹T›
Mappings
Ƭ Mappings: Record‹keyof any, inversifyTypes.Metadata[]›
Stringifiable
Ƭ Stringifiable: Stringifiable
Variables
Const COMMANDS_KEY
• COMMANDS_KEY: keyof symbol = Symbol('eveble:commands')
Const COMMAND_HANDLERS_CONTAINER_KEY
• COMMAND_HANDLERS_CONTAINER_KEY: keyof symbol = Symbol( 'eveble:container:command-handlers' )
Const CommandBus_base
• CommandBus_base: object & SuperConstructorSelector‹HookableMixin | OneToOneHandlingMixin› & object & object & object
Const CommitReceiver_base
• CommitReceiver_base: object & SuperConstructorSelector‹StatefulMixin | Serializable› & object & object & object
Const DEFAULT_PROPS_KEY
• DEFAULT_PROPS_KEY: symbol = CORE_METADATA_KEYS.DEFAULT_PROPS_KEY
Const DELEGATED_KEY
• DELEGATED_KEY: keyof symbol = Symbol('eveble🎏delegated')
Const EVENTS_KEY
• EVENTS_KEY: keyof symbol = Symbol('eveble:events')
Const EVENT_HANDLERS_CONTAINER_KEY
• EVENT_HANDLERS_CONTAINER_KEY: keyof symbol = Symbol( 'eveble:container:event-handlers' )
Const Entity_base
• Entity_base: object & SuperConstructorSelector‹StatefulMixin | Serializable | StatusfulMixin› & object & object & object & object
Const EventBus_base
• EventBus_base: object & SuperConstructorSelector‹HookableMixin | OneToManyHandlingMixin› & object & object & object
Const EventSourceable_base
• EventSourceable_base: object & SuperConstructorSelector‹Entity | OneToOneHandlingMixin› & object & object & object
Const HANDLEABLE_TYPES
• HANDLEABLE_TYPES: keyof symbol = Symbol( 'eveble:handleable-types' )
Const HANDLERS
• HANDLERS: keyof symbol = Symbol('eveble:handlers')
Const HANDLER_KEY
• HANDLER_KEY: keyof symbol = Symbol('eveble:controller:handler')
Const HOOKABLE_KEY
• HOOKABLE_KEY: keyof symbol = Symbol('eveble🎏hookable')
Const HOOKS_CONTAINER_KEY
• HOOKS_CONTAINER_KEY: keyof symbol = Symbol( 'eveble:containers:hooks' )
Const INITIALIZING_MESSAGE_KEY
• INITIALIZING_MESSAGE_KEY: keyof symbol = Symbol( 'eveble:controller:initializing-message' )
Const LEGACY_TRANSFORMERS_CONTAINER_KEY
• LEGACY_TRANSFORMERS_CONTAINER_KEY: keyof symbol = Symbol( 'eveble:container:legacy-transformers' )
Const LIST_KEY
• LIST_KEY: keyof symbol = Symbol('eveble:list-key')
Const Logger_base
• Logger_base: object & SuperConstructorSelector‹StatefulMixin | RFC5424LoggingMixin› & object & object & object
Const Module_base
• Module_base: object & SuperConstructorSelector‹StatefulMixin› & object & object
Const Projection_base
• Projection_base: object & SuperConstructorSelector‹StatefulMixin | EventHandlingMixin› & object & object & object
Const ROLLBACK_STATE_METHOD_KEY
• ROLLBACK_STATE_METHOD_KEY: keyof symbol = Symbol( 'eveble:rollback-state' )
Const ROUTED_COMMANDS_CONTAINER_KEY
• ROUTED_COMMANDS_CONTAINER_KEY: keyof symbol = Symbol( 'eveble:container:routed-commands' )
Const ROUTED_EVENTS_CONTAINER_KEY
• ROUTED_EVENTS_CONTAINER_KEY: keyof symbol = Symbol( 'eveble:container:routed-events' )
Const SAVED_STATE_KEY
• SAVED_STATE_KEY: keyof symbol = Symbol('eveble:saved-state')
Const SAVE_STATE_METHOD_KEY
• SAVE_STATE_METHOD_KEY: keyof symbol = Symbol('eveble:save-state')
Const SERIALIZABLE_LIST_PROPS_KEY
• SERIALIZABLE_LIST_PROPS_KEY: symbol = CORE_METADATA_KEYS.SERIALIZABLE_LIST_PROPS_KEY
Const SERIALIZABLE_TYPE_KEY
• SERIALIZABLE_TYPE_KEY: keyof symbol = Symbol( 'eveble:serializable-type' )
Const SOURCE_KEY
• SOURCE_KEY: keyof symbol = Symbol('eveble:source')
Const SUBSCRIBER_KEY
• SUBSCRIBER_KEY: keyof symbol = Symbol( 'eveble:controller:subscriber' )
Const ScheduledJob_base
• ScheduledJob_base: object & SuperConstructorSelector‹StatefulMixin | Struct› & object & object & object
Const SerializableError_base
• SerializableError_base: object & SuperConstructorSelector‹ExtendableError | DefinableMixin | HookableMixin | EjsonableMixin | VersionableMixin› & object & object & object & object & object & object
Const Serializable_base
• Serializable_base: object & SuperConstructorSelector‹Struct | EjsonableMixin | VersionableMixin› & object & object & object & object
Const Service_base
• Service_base: object & SuperConstructorSelector‹CommandHandlingMixin | EventHandlingMixin› & object & object & object
Const Struct_base
• Struct_base: object & SuperConstructorSelector‹DefinableMixin | HookableMixin› & object & object & object
Const TYPE_KEY
• TYPE_KEY: "_type" = "_type"
Const VERSIONABLE_KEY
• VERSIONABLE_KEY: keyof symbol = Symbol('eveble:versionable')
Const env
• env: string = process.env.NODE_ENV
Const envFile
• envFile: string = process.env.NODE_ENV ? .env.${env} : '.env'
Functions
bindExternalDependencies
▸ bindExternalDependencies(injector: Injector): void
Binds external dependencies to Injector.
Parameters:
| Name | Type | Description | 
|---|---|---|
injector | Injector | IoC container implementing Injector interface. | 
Returns: void
bindLoggerDependencies
▸ bindLoggerDependencies(injector: Injector): void
Binds logger dependencies to Injector.
Parameters:
| Name | Type | Description | 
|---|---|---|
injector | Injector | IoC container implementing Injector interface. | 
Returns: void
convertObjectToCollection
▸ convertObjectToCollection(obj: any): Record‹keyof any, any›
Converts root-level objects to collection.
Parameters:
| Name | Type | Description | 
|---|---|---|
obj | any | Object that should be converted. | 
Returns: Record‹keyof any, any›
Instance of Collection pattern with properties from object.
createConsoleTransport
▸ createConsoleTransport(level: LogLevel, transportConfig: LogTransportConfig): ConsoleTransport
Creates a ConsoleTransport.
Parameters:
| Name | Type | Default | Description | 
|---|---|---|---|
level | LogLevel | - | Level for which priority logging will only be done(less than or equal to this level) on ConsoleTransport. | 
transportConfig | LogTransportConfig | new LogTransportConfig() | - | 
Returns: ConsoleTransport
Const createEJSON
▸ createEJSON(): any
Creates instance of EJSON.
remarks
By default, EJSON module stores types in variable that is not referenced on the EJSON object
itself. This creates issue when running tests in watch modes(like Mocha's --watch) since the state of EJSON is cached.
Returns: any
De-cached version of EJSON module.
createLogger
▸ createLogger(levels?: LogLevels): Logger
Creates an instance of Logger.
Parameters:
| Name | Type | Description | 
|---|---|---|
levels? | LogLevels | Optional logging levels for logger. | 
Returns: Logger
delegate
▸ delegate(): function
Returns: function
▸ (target: Record‹string, any›): void
Parameters:
| Name | Type | 
|---|---|
target | Record‹string, any› | 
executePostConstruct
▸ executePostConstruct(target: any): void
Executes annotated by @postConstruct post construction method on target.
Parameters:
| Name | Type | Description | 
|---|---|---|
target | any | Instance that has @postConstruct annotation applied to method. | 
Returns: void
executePostConstructAsync
▸ executePostConstructAsync(target: any): Promise‹void›
Executes annotated by @postConstruct post construction method on target.
async 
Parameters:
| Name | Type | Description | 
|---|---|---|
target | any | Instance that has @postConstruct annotation applied to method. | 
Returns: Promise‹void›
Const getCollectionName
▸ getCollectionName(targetName: string): string
Parameters:
| Name | Type | 
|---|---|
targetName | string | 
Returns: string
Const getDatabaseName
▸ getDatabaseName(targetName: string): string
Parameters:
| Name | Type | 
|---|---|
targetName | string | 
Returns: string
Const getUrl
▸ getUrl(targetName: string): string
Parameters:
| Name | Type | 
|---|---|
targetName | string | 
Returns: string
handle
▸ handle(target: Record‹string, any›, methodName: string, index: number): void
Annotates method parameter as a handler for Command type(or other) - type that is
used as first method parameter(i.e. for example below MyCommandHandlingMethod with
parameter MyCommand).
remarks
Since decorator is executed before class instance is ever created, we need to
solve the issue of registered handlers leaking in between multiple classes
when inheritance is involved.
To solve that - we create a container on metadata that holds all registered
types and handlers. Then, whenever a class is instantiated - we resolve that
container through Reflect.getOwnMetadata to ensure that only metadata assigned
to class is resolved and then - iterate through that container on construction
and register all the assigned types and handlers.
Implementation of this can be seen on OneToOneHandlingMixin or OneToManyHandlingMixin constructors.
example 
Parameters:
| Name | Type | Description | 
|---|---|---|
target | Record‹string, any› | Target which method parameter is being decorated. | 
methodName | string | Method name which parameter is being decorated. | 
index | number | Index number of the parameter that is being decorated. | 
Returns: void
hasPostConstruct
▸ hasPostConstruct(target: any): boolean
Evaluates if @postConstruct(from Inversify) annotation is applied to target's method.
Parameters:
| Name | Type | Description | 
|---|---|---|
target | any | Instance of evaluated argument. | 
Returns: boolean
Returns true if target's constructor has @postConstruct annotation applied, else false.
initial
▸ initial(target: Record‹string, any›, methodName: string, index: number): void
Annotates method parameter as a handler for initial Command or Event type(or other) - type that is
used as first method parameter.
remarks
Since decorator is executed before class instance is ever created, we need to
solve the issue of registered handlers leaking in between multiple classes
when inheritance is involved.
To solve that - we create a container on metadata that holds all registered
types and handlers. Then, whenever a class is instantiated - we resolve that
container through Reflect.getOwnMetadata to ensure that only metadata assigned
to class is resolved and then - iterate through that container on construction
and register all the assigned types and handlers.
Implementation of this can be seen on OneToOneHandlingMixin or OneToManyHandlingMixin constructors.
example 
example 
Parameters:
| Name | Type | Description | 
|---|---|---|
target | Record‹string, any› | Target which method parameter is being decorated. | 
methodName | string | Method name which parameter is being decorated. | 
index | number | Index number of the parameter that is being decorated. | 
Returns: void
isDefinable
▸ isDefinable(arg: any): boolean
Evaluates if provided argument is a Definable implementation.
Parameters:
| Name | Type | Description | 
|---|---|---|
arg | any | Instance of evaluated argument. | 
Returns: boolean
Returns true if provided argument is implementing Definable interface, else false.
isEventSourceableType
▸ isEventSourceableType(arg: any): boolean
Evaluates if provided argument is a EventSourceable type constructor implementation.
Parameters:
| Name | Type | Description | 
|---|---|---|
arg | any | Constructor of evaluated argument. | 
Returns: boolean
Returns true if provided argument is implementing EventSourceableType interface, else false.
isPlainRecord
▸ isPlainRecord(arg: any): boolean
Evaluates if provided argument is a plain record(plain object or Collection).
Parameters:
| Name | Type | Description | 
|---|---|---|
arg | any | Evaluated argument. | 
Returns: boolean
Returns true if argument is an record(literal object or Collection instance), else false.
isRecord
▸ isRecord(arg: any): boolean
Evaluates if provided argument is a record.
Parameters:
| Name | Type | Description | 
|---|---|---|
arg | any | Evaluated argument. | 
Returns: boolean
Returns true if argument is an record(literal object, class instance or Collection instance), else false.
Const isSSL
▸ isSSL(targetName: string): boolean
Parameters:
| Name | Type | 
|---|---|
targetName | string | 
Returns: boolean
loadENV
▸ loadENV(envFilePath: string): void
Assigns environment variables based on environment.
Parameters:
| Name | Type | Description | 
|---|---|---|
envFilePath | string | Path to env file. | 
Returns: void
loggerLoader
▸ loggerLoader(injector: Injector, level: LogLevel, consoleTransportConfig?: LogTransportConfig, levels?: LogLevels): Logger
Bootstraps creation of Logger instance.
Parameters:
| Name | Type | Description | 
|---|---|---|
injector | Injector | IoC container implementing Injector interface | 
level | LogLevel | Level for which priority logging will only be done(less than or equal to this level) on ConsoleTransport. | 
consoleTransportConfig? | LogTransportConfig | Optional LogTransportConfig instance. | 
levels? | LogLevels | Optional logging levels for logger. | 
Returns: Logger
Logger instance.
route
▸ route(target: Record‹string, any›, methodName: string, index: number): void
Annotates method parameter as a handler for routed Command or Event type(or other) - type that is
used as first method parameter.
remarks
Since decorator is executed before class instance is ever created, we need to
solve the issue of registered handlers leaking in between multiple classes
when inheritance is involved.
To solve that - we create a container on metadata that holds all registered
types and handlers. Then, whenever a class is instantiated - we resolve that
container through Reflect.getOwnMetadata to ensure that only metadata assigned
to class is resolved and then - iterate through that container on construction
and register all the assigned types and handlers.
Implementation of this can be seen on OneToOneHandlingMixin or OneToManyHandlingMixin constructors.
example 
example 
Parameters:
| Name | Type | Description | 
|---|---|---|
target | Record‹string, any› | Target which method parameter is being decorated. | 
methodName | string | Method name which parameter is being decorated. | 
index | number | Index number of the parameter that is being decorated. | 
Returns: void
Const setupCommitStoreMongo
▸ setupCommitStoreMongo(injector: Injector, clients: Record‹string, Client›, collections: Record‹string, Collection›): Promise‹object›
Parameters:
| Name | Type | 
|---|---|
injector | Injector | 
clients | Record‹string, Client› | 
collections | Record‹string, Collection› | 
Returns: Promise‹object›
setupInjector
▸ setupInjector(): object
Returns: object
config: any
injector: Injector
log: any
Const setupSchedulerMongo
▸ setupSchedulerMongo(injector: Injector, clients: Record‹string, Client›, collections: Record‹string, Collection›): Promise‹object›
Parameters:
| Name | Type | 
|---|---|
injector | Injector | 
clients | Record‹string, Client› | 
collections | Record‹string, Collection› | 
Returns: Promise‹object›
Const setupSnapshotterMongo
▸ setupSnapshotterMongo(injector: Injector, clients: Record‹string, Client›, collections: Record‹string, Collection›): Promise‹object›
Parameters:
| Name | Type | 
|---|---|
injector | Injector | 
clients | Record‹string, Client› | 
collections | Record‹string, Collection› | 
Returns: Promise‹object›
sleep
▸ sleep(ms: number): Promise‹any›
Parameters:
| Name | Type | 
|---|---|
ms | number | 
Returns: Promise‹any›
subscribe
▸ subscribe(target: Record‹string, any›, propertyName: string, index: number): void
Annotates method as a handler for type(Event or other)- type that is used as first method parameter(i.e. for example below MyEvent).
remarks
Since decorator is executed before class instance is ever created, we need to
solve the issue of registered handlers leaking in between multiple classes
when inheritance is involved.
To solve that - we create a container on metadata that holds all registered
types and handlers. Then, whenever a class is instantiated - we resolve that
container through Reflect.getOwnMetadata to ensure that only metadata assigned
to class is resolved and then - iterate through that container on construction
and register all the assigned types and handlers.
Implementation of this can be seen on OneToOneHandlingMixin or OneToManyHandlingMixin constructors.
example 
Parameters:
| Name | Type | Description | 
|---|---|---|
target | Record‹string, any› | Target which method parameter is being decorated. | 
propertyName | string | - | 
index | number | Index number of the parameter that is being decorated. | 
Returns: void
toPlainObject
▸ toPlainObject(arg: Record‹keyof any, any›): Record‹keyof any, any›
Converts object and all nested records implementing DefinableMixin to plain object.
Parameters:
| Name | Type | Description | 
|---|---|---|
arg | Record‹keyof any, any› | Object or instance of a class for conversion. | 
Returns: Record‹keyof any, any›
Plain object representation of provided argument.
version
▸ version‹T›(schemaVersion: number): any
Annotates legacy schema transformer method on a class that will used for processing legacy properties(data).
example 
Type parameters:
▪ T
Parameters:
| Name | Type | Description | 
|---|---|---|
schemaVersion | number | Schema version for which legacy transformation will be done. | 
Returns: any
Object literals
Const BINDINGS
▪ BINDINGS: object
App
• App: symbol = Symbol.for('App')
Asserter
• Asserter: symbol = Symbol.for('Asserter')
CommandBus
• CommandBus: symbol = Symbol.for('CommandBus')
CommandScheduler
• CommandScheduler: symbol = Symbol.for('CommandScheduler')
CommandSchedulingService
• CommandSchedulingService: symbol = Symbol.for('CommandSchedulingService')
CommitObserver
• CommitObserver: symbol = Symbol.for('CommitObserver')
CommitPublisher
• CommitPublisher: symbol = Symbol.for('CommitPublisher')
CommitSerializer
• CommitSerializer: symbol = Symbol.for('CommitSerializer')
CommitStorage
• CommitStorage: symbol = Symbol.for('CommitStorage')
CommitStore
• CommitStore: symbol = Symbol.for('CommitStore')
Config
• Config: symbol = Symbol.for('Config')
Converter
• Converter: symbol = Symbol.for('Converter')
Describer
• Describer: symbol = Symbol.for('Describer')
DetailedLogFormatter
• DetailedLogFormatter: symbol = Symbol.for('DetailedLogFormatter')
EJSON
• EJSON: symbol = Symbol.for('EJSON')
EventBus
• EventBus: symbol = Symbol.for('EventBus')
EventSourceableRepository
• EventSourceableRepository: symbol = Symbol.for('EventSourceableRepository')
Injector
• Injector: symbol = Symbol.for('Injector')
Library
• Library: symbol = Symbol.for('Library')
LogConverter
• LogConverter: symbol = Symbol.for('LogConverter')
Router
• Router: symbol = Symbol.for('Router')
Serializer
• Serializer: symbol = Symbol.for('Serializer')
SimpleLogFormatter
• SimpleLogFormatter: symbol = Symbol.for('SimpleLogFormatter')
SnapshotSerializer
• SnapshotSerializer: symbol = Symbol.for('SnapshotSerializer')
SnapshotStorage
• SnapshotStorage: symbol = Symbol.for('SnapshotStorage')
Snapshotter
• Snapshotter: symbol = Symbol.for('Snapshotter')
Validator
• Validator: symbol = Symbol.for('Validator')
chalk
• chalk: symbol = Symbol.for('chalk')
console
• console: string = "console"
log
• log: symbol = Symbol.for('Logger')
winston
• winston: symbol = Symbol.for('winston')
▪ Agenda: object
jobTransformer: symbol = Symbol.for('Agenda.jobTransformer')
library: symbol = Symbol.for('Agenda.library')
clients: object
- CommandScheduler: symbol = Symbol.for('Agenda.clients.CommandScheduler')
 
▪ MongoDB: object
library: symbol = Symbol.for('MongoDB.library')
clients: object
CommandScheduler: symbol = Symbol.for('MongoDB.clients.CommandScheduler')
CommitStore: symbol = Symbol.for('MongoDB.clients.CommitStore')
Snapshotter: symbol = Symbol.for('MongoDB.clients.Snapshotter')
collections: object
Commits: symbol = Symbol.for('MongoDB.collections.Commits')
ScheduledCommands: symbol = Symbol.for('MongoDB.collections.ScheduledCommands')
Snapshots: symbol = Symbol.for('MongoDB.collections.Snapshots')
Const DEFAULTS
▪ DEFAULTS: object
LOGGING_LEVELS
• LOGGING_LEVELS: object
Type declaration:
alert: number = 1
crit: number = 2
debug: number = 7
emerg: number = 0
error: number = 3
info: number = 6
notice: number = 5
warning: number = 4
Const LITERAL_KEYS
▪ LITERAL_KEYS: object
COMMANDS_KEY
• COMMANDS_KEY: symbol
EVENTS_KEY
• EVENTS_KEY: symbol
HANDLEABLE_TYPES
• HANDLEABLE_TYPES: symbol
HANDLERS
• HANDLERS: symbol
LIST_KEY
• LIST_KEY: symbol
ROLLBACK_STATE_METHOD_KEY
• ROLLBACK_STATE_METHOD_KEY: symbol
SAVED_STATE_KEY
• SAVED_STATE_KEY: symbol
SAVE_STATE_METHOD_KEY
• SAVE_STATE_METHOD_KEY: symbol
SERIALIZABLE_TYPE_KEY
• SERIALIZABLE_TYPE_KEY: symbol
SOURCE_KEY
• SOURCE_KEY: symbol
TYPE_KEY
• TYPE_KEY: string
Const LOGGING_LEVELS
▪ LOGGING_LEVELS: object
alert
• alert: number = 1
crit
• crit: number = 2
debug
• debug: number = 7
emerg
• emerg: number = 0
error
• error: number = 3
info
• info: number = 6
notice
• notice: number = 5
warning
• warning: number = 4
Const METADATA_KEYS
▪ METADATA_KEYS: object
COMMAND_HANDLERS_CONTAINER_KEY
• COMMAND_HANDLERS_CONTAINER_KEY: symbol
DEFAULT_PROPS_KEY
• DEFAULT_PROPS_KEY: symbol
DELEGATED_KEY
• DELEGATED_KEY: symbol
EVENT_HANDLERS_CONTAINER_KEY
• EVENT_HANDLERS_CONTAINER_KEY: symbol
HANDLER_KEY
• HANDLER_KEY: symbol
HOOKABLE_KEY
• HOOKABLE_KEY: symbol
HOOKS_CONTAINER_KEY
• HOOKS_CONTAINER_KEY: symbol
INITIALIZING_MESSAGE_KEY
• INITIALIZING_MESSAGE_KEY: symbol
LEGACY_TRANSFORMERS_CONTAINER_KEY
• LEGACY_TRANSFORMERS_CONTAINER_KEY: symbol
ROUTED_COMMANDS_CONTAINER_KEY
• ROUTED_COMMANDS_CONTAINER_KEY: symbol
ROUTED_EVENTS_CONTAINER_KEY
• ROUTED_EVENTS_CONTAINER_KEY: symbol
SERIALIZABLE_LIST_PROPS_KEY
• SERIALIZABLE_LIST_PROPS_KEY: symbol
SUBSCRIBER_KEY
• SUBSCRIBER_KEY: symbol
VERSIONABLE_KEY
• VERSIONABLE_KEY: symbol
Const RFC5424
▪ RFC5424: object
alert
• alert: number = 1
crit
• crit: number = 2
debug
• debug: number = 7
emerg
• emerg: number = 0
error
• error: number = 3
info
• info: number = 6
notice
• notice: number = 5
warning
• warning: number = 4
Const SPECIFICATIONS
▪ SPECIFICATIONS: object
RFC5424
• RFC5424: object
Type declaration:
alert: number = 1
crit: number = 2
debug: number = 7
emerg: number = 0
error: number = 3
info: number = 6
notice: number = 5
warning: number = 4