4.0.2 • Published 7 years ago
js-cqrs v4.0.2
Usage
js-cqrs is a lightweight and easy to use implementation of the cqrs pattern. It allows for quick integration due to simplified API.
export class SaveUserRequest extends Command{
data: any;
constructor(data: any){
this.data = data;
}
}
export class SaveUserRequestHandler extends CommandHandler {
handle(command: SaveUserRequest){
var event = new UserSaved({firstName: command.data.firstName});
Cqrs.Instance.Publish(event);
}
}
export class UserSaved extends Event {
data: any;
constructor(data: any) {
this.data = data;
}
}
class EventListener1 extends EventListener {
static processed: boolean = false;
static firstName: string = "";
handle(event: UserSaved) {
EventListener1.processed = true;
EventListener1.firstName = event.data.firstName;
}
}
class EventListener2 extends EventListener {
static processed: boolean = false;
handle(event: UserSaved): void {
EventListener2.processed = true;
}
}
Cqrs.Instance.AddCommandHandler(SaveUserRequest, SaveUserRequestHandler, null);
Cqrs.Instance.AddEventListener(UserSaved, EventListener1, null);
Cqrs.Instance.AddEventListener(UserSaved, EventListener2, null);
let newSaveUserCommand = new SaveUserRequest({ id: '1', firstName: 'Sebastian' });
Cqrs.Instance.Send(newSaveUserCommand);
expect(EventListener1.processed).toBe(true);
expect(EventListener2.processed).toBe(true);
expect(EventListener1.firstName).toBe("Sebastian");
4.0.2
7 years ago
4.0.0
7 years ago
3.0.5
8 years ago
3.0.4
8 years ago
3.0.3
8 years ago
3.0.2
8 years ago
3.0.1
8 years ago
3.0.0
8 years ago
2.0.14
8 years ago
2.0.13
8 years ago
2.0.12
8 years ago
2.0.11
8 years ago
2.0.10
8 years ago
2.0.9
8 years ago
2.0.8
8 years ago
2.0.7
8 years ago
2.0.6
8 years ago
2.0.5
8 years ago
2.0.4
8 years ago
2.0.3
8 years ago
2.0.2
8 years ago
2.0.1
8 years ago
2.0.0
8 years ago
1.0.1
8 years ago
1.0.0
8 years ago