Package detail

wool-model

wooljs28Apache-2.02.5.0

common class model for wool project

model

readme

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 emission
  • o number an order number for command issued at the same time
  • name string the name of the required command
  • param 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 a success
  • I: the event is invalid (not validated by rule conditions)
  • E: the event is an error (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 storage
  • o number an order number for events issued at the same time
  • name string the name of the command that trigger the event
  • data object the data of the event (derived from command parameters)
  • status EventStatus the status of the event
  • message (string | Error)? for status invalid or error 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

  • cmd Command the original command
  • data object the actual data after command execution

Returns Event an event derivative from given Command

invalidFromCommand

A static method to create EventStatus.invalid Event

Parameters

  • cmd Command the original command
  • message 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 command
  • message 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