wool-model
A module to provide class to model Command and Event, the building blocks of Wool project Rule engine, CQRS / Event storage approach.
API Doc
Table of Contents
Command
A class to model Command sent to Wool
Parameters
t
Date a timestamp of the command emissiono
number an order number for command issued at the same timename
string the name of the required commandparam
object the parameters key-value
Examples
const cmd = new Command(new Date(), 0, 'walk', {to: 'library', speed: 'normal'})
EventStatus
An Enum of string, with following valid values :
S
: the event is asuccess
I
: the event isinvalid
(not validated by rule conditions)E
: the event is anerror
(an unexpected error happened during event treatment)
Type: string
Examples
if (t === EventStatus.succes) {
...
}
Event
A class to model Event validated, executed and stored by Wool
Parameters
t
Date a timestamp of the event storageo
number an order number for events issued at the same timename
string the name of the command that trigger the eventdata
object the data of the event (derived from command parameters)status
EventStatus the status of the eventmessage
(string | Error)? for statusinvalid
orerror
a message detailing the reason of being unsuccessful
isSuccess
Check if event is a EventStatus.succes
Returns boolean
isInvalid
Check if event is EventStatus.invalid
Returns boolean
isError
Check if event is an EventStatus.error
Returns boolean
stringify
A method to make and Event stringify itself
Returns string a stringified Event
toString
A string representation of an Event
Returns string a string representation of an Event
successFromCommand
A static method to create EventStatus.succes Event
Parameters
Returns Event an event derivative from given Command
invalidFromCommand
A static method to create EventStatus.invalid Event
Parameters
cmd
Command the original commandmessage
string the explanation message for invalidity of the command
Returns Event an event derivative from given Command
errorFromCommand
A static method to create EventStatus.error Event
Parameters
cmd
Command the original commandmessage
string the explanation message for error during the command execution
Returns Event an event derivative from given Command
parse
A static method to create Event from stringified Event
Parameters
s
string a stringified Event
Returns Event the event
stringify
A static method to stringify Event
Parameters
e
Event a genuine event
Returns string a stringified Event