Message

Type parameters

▪ T: SuperConstructor

▪ T: SuperConstructor

Hierarchy

↳ Serializable

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

+ new Message(props?: Props): Message

Overrides Serializable.constructor

Creates an instance of Message. Creates an instance of Message.

remarks Since were dealing with special cases, mixins and limits of TypeScript, we use of "invoking multiple base constructors" from polytype to pass props to Struct's constructor: https://www.npmjs.com/package/polytype#invoking-multiple-base-constructors

remarks Since were dealing with special cases, mixins and limits of TypeScript, we use of "invoking multiple base constructors" from polytype to pass props to Struct's constructor: https://www.npmjs.com/package/polytype#invoking-multiple-base-constructors

Parameters:

NameTypeDescription
props?PropsProperties of the type required for construction.

Returns: Message

Properties

Optional metadata

• metadata? : Record‹string, any›

Implementation of Message.metadata

remarks Since Command & Event are frozen after construction, metadata property must be assigning on construction. This ensures that content of message is immutable; however metadata as an object will be unaffected by Object.freeze - thus allowing for additional data to be assigned later on. Exposed as optional - but always assigned with use of Message.prototype.processProps for easier interaction.


Optional schemaVersion

• schemaVersion? : number

Inherited from Serializable.schemaVersion

Overrides VersionableMixin.schemaVersion


Optional timestamp

• timestamp? : Date

Implementation of Message.timestamp

remarks Exposed as optional - but always assigned with use of Message.prototype.processProps for easier interaction.

Methods

assignMetadata

▸ assignMetadata(props: Record‹string, any›): void

Implementation of Message

Assigns metadata to message.

Parameters:

NameTypeDescription
propsRecord‹string, any›Metadata properties object with all information related to Message.

Returns: void


equals

▸ equals(other: any): boolean

Implementation of Message

Inherited from DefinableMixin.equals

Overrides CreateEmployee.equals

Parameters:

NameType
otherany

Returns: boolean


getActions

▸ getActions(): Actions

Implementation of Hookable

Inherited from HookableMixin.getActions

Overrides CreateEmployee.getActions

Returns: Actions


getCorrelationId

▸ getCorrelationId(key: string): string | undefined

Implementation of Message

Returns metadata correlation id for message.

Parameters:

NameTypeDescription
keystringKey under which correlation is set with support of dotted notation for nested objects.

Returns: string | undefined

String identifier of correlating element.


getHook

▸ getHook(action: string, id: string): Hook | undefined

Implementation of Hookable

Inherited from HookableMixin.getHook

Overrides CreateEmployee.getHook

Parameters:

NameType
actionstring
idstring

Returns: Hook | undefined


getHookOrThrow

▸ getHookOrThrow(action: string, id: string): Hook

Implementation of Hookable

Inherited from HookableMixin.getHookOrThrow

Overrides CreateEmployee.getHookOrThrow

Parameters:

NameType
actionstring
idstring

Returns: Hook


getHooks

▸ getHooks(action: string): Mappings

Implementation of Hookable

Inherited from HookableMixin.getHooks

Overrides CreateEmployee.getHooks

Parameters:

NameType
actionstring

Returns: Mappings


getLegacyTransformer

▸ getLegacyTransformer(schemaVersion: number): Hook

Implementation of Message

Inherited from VersionableMixin.getLegacyTransformer

Overrides CreateEmployee.getLegacyTransformer

Parameters:

NameType
schemaVersionnumber

Returns: Hook


getLegacyTransformers

▸ getLegacyTransformers(): LegacyTransformers

Implementation of Message

Inherited from VersionableMixin.getLegacyTransformers

Overrides CreateEmployee.getLegacyTransformers

Returns: LegacyTransformers


getMetadata

▸ getMetadata(): Record‹string, any›

Implementation of Message

Returns metadata assigned to the message.

Returns: Record‹string, any›

Returns metadata assigned to the message as an object.


getPropTypes

▸ getPropTypes(): Props

Implementation of Message

Inherited from DefinableMixin.getPropTypes

Overrides CreateEmployee.getPropTypes

Returns: Props


getPropertyInitializers

▸ getPropertyInitializers(): Props

Implementation of Message

Inherited from DefinableMixin.getPropertyInitializers

Overrides CreateEmployee.getPropertyInitializers

Returns: Props


getSchemaVersion

▸ getSchemaVersion(): number | undefined

Implementation of Message

Inherited from VersionableMixin.getSchemaVersion

Overrides CreateEmployee.getSchemaVersion

Returns: number | undefined


getTimestamp

▸ getTimestamp(): Date

Implementation of Message

Returns time when message was created.

Returns: Date

Returns instance of Date.


getTypeName

▸ getTypeName(): TypeName

Implementation of Message

Inherited from SerializableMixin.getTypeName

Overrides CreateEmployee.getTypeName

Returns: TypeName


hasAction

▸ hasAction(action: string): boolean

Implementation of Hookable

Inherited from HookableMixin.hasAction

Overrides CreateEmployee.hasAction

Parameters:

NameType
actionstring

Returns: boolean


hasCorrelationId

▸ hasCorrelationId(key: string): boolean

Implementation of Message

Evaluates if message contains correlation id on metadata.

Parameters:

NameTypeDescription
keystringKey under which correlation is set with support of dotted notation for nested objects.

Returns: boolean

Returns true if metadata contains correlated element, else false.


hasHook

▸ hasHook(action: string, id: string): boolean

Implementation of Hookable

Inherited from HookableMixin.hasHook

Overrides CreateEmployee.hasHook

Parameters:

NameType
actionstring
idstring

Returns: boolean


hasLegacyTransformer

▸ hasLegacyTransformer(schemaVersion: number): boolean

Implementation of Message

Inherited from VersionableMixin.hasLegacyTransformer

Overrides CreateEmployee.hasLegacyTransformer

Parameters:

NameType
schemaVersionnumber

Returns: boolean


hasMetadata

▸ hasMetadata(): boolean

Implementation of Message

Evaluates if there is assigned metadata to message.

Returns: boolean

Returns true if message has assigned metadata, else false.


in

▸ in‹T›(listName: string): List‹T›

Inherited from Serializable.in

Overrides CreateEmployee.in

Type parameters:

▪ T

Parameters:

NameType
listNamestring

Returns: List‹T›


overrideHook

▸ overrideHook(action: string, id: string, hook: Hook): void

Implementation of Hookable

Inherited from HookableMixin.overrideHook

Overrides CreateEmployee.overrideHook

Parameters:

NameType
actionstring
idstring
hookHook

Returns: void


overrideLegacyTransformer

▸ overrideLegacyTransformer(schemaVersion: number, transformer: Hook): void

Implementation of Message

Inherited from VersionableMixin.overrideLegacyTransformer

Overrides CreateEmployee.overrideLegacyTransformer

Parameters:

NameType
schemaVersionnumber
transformerHook

Returns: void


processSerializableList

▸ processSerializableList(props?: Props): Props

Inherited from Serializable.processSerializableList

Overrides CreateEmployee.processSerializableList

Parameters:

NameType
props?Props

Returns: Props


registerHook

▸ registerHook(action: string, id: string, hook: Hook, shouldOverride?: boolean): void

Implementation of Hookable

Inherited from HookableMixin.registerHook

Overrides CreateEmployee.registerHook

Parameters:

NameType
actionstring
idstring
hookHook
shouldOverride?boolean

Returns: void


registerLegacyTransformer

▸ registerLegacyTransformer(schemaVersion: number, transformer: Hook, shouldOverride?: boolean): void

Implementation of Message

Inherited from VersionableMixin.registerLegacyTransformer

Overrides CreateEmployee.registerLegacyTransformer

Parameters:

NameType
schemaVersionnumber
transformerHook
shouldOverride?boolean

Returns: void


removeHook

▸ removeHook(action: string, id: string): void

Implementation of Hookable

Inherited from HookableMixin.removeHook

Overrides CreateEmployee.removeHook

Parameters:

NameType
actionstring
idstring

Returns: void


setCorrelationId

▸ setCorrelationId(key: string, id: Stringifiable): void

Implementation of Message

Sets correlation id metadata on message.

remarks Databases like MongoDB does not support object keys with dots like: my.nested.key Since for correlation key - namespaced 'type name' like MyNamespace.MyMessage can be used we utilize lodash'es 'set' method to construct nested object from such notation.

Parameters:

NameTypeDescription
keystringKey under which correlation is set with support of dotted notation for nested objects.
idStringifiableIdentifier of correlating element.

Returns: void


toJSONValue

▸ toJSONValue(): Record‹string, any›

Implementation of Ejsonable

Inherited from SerializableMixin.toJSONValue

Overrides CreateEmployee.toJSONValue

Returns: Record‹string, any›


toPlainObject

▸ toPlainObject(): Props

Implementation of Message

Inherited from DefinableMixin.toPlainObject

Overrides CreateEmployee.toPlainObject

Returns: Props


toString

▸ toString(): TypeName

Implementation of Message

Inherited from SerializableMixin.toString

Overrides CreateEmployee.toString

Returns: TypeName


transformLegacyProps

▸ transformLegacyProps(props: Props): Props

Implementation of Message

Inherited from VersionableMixin.transformLegacyProps

Overrides CreateEmployee.transformLegacyProps

Parameters:

NameType
propsProps

Returns: Props


typeName

▸ typeName(): TypeName

Implementation of Ejsonable

Inherited from EjsonableMixin.typeName

Overrides CreateEmployee.typeName

Returns: TypeName


validateProps

▸ validateProps(props: Record‹string | number | symbol, any› | undefined, propTypes: PropTypes, isStrict?: boolean): boolean

Inherited from DefinableMixin.validateProps

Overrides CreateEmployee.validateProps

Parameters:

NameType
propsRecord‹string | number | symbol, any› | undefined
propTypesPropTypes
isStrict?boolean

Returns: boolean


Static disableSerializableLists

▸ disableSerializableLists(): void

Inherited from Serializable.disableSerializableLists

Overrides CreateEmployee.disableSerializableLists

Returns: void


Static enableSerializableLists

▸ enableSerializableLists(): void

Inherited from Serializable.enableSerializableLists

Overrides CreateEmployee.enableSerializableLists

Returns: void


Static from

▸ from(...sources: Record‹string, any›[]): any

Inherited from Serializable.from

Overrides CreateEmployee.from

Parameters:

NameType
...sourcesRecord‹string, any›[]

Returns: any


Static getPropTypes

▸ getPropTypes(): Props

Inherited from DefinableMixin.getPropTypes

Overrides CreateEmployee.getPropTypes

Returns: Props


Static getPropertyInitializers

▸ getPropertyInitializers(): Props

Inherited from DefinableMixin.getPropertyInitializers

Overrides CreateEmployee.getPropertyInitializers

Returns: Props


Static getTypeName

▸ getTypeName(): TypeName

Inherited from SerializableMixin.getTypeName

Overrides CreateEmployee.getTypeName

Returns: TypeName


Static toString

▸ toString(): TypeName

Inherited from SerializableMixin.toString

Overrides CreateEmployee.toString

Returns: TypeName


Static typeName

▸ typeName(): TypeName

Inherited from EjsonableMixin.typeName

Overrides CreateEmployee.typeName

Returns: TypeName