4.0.2 • Published 9 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
9 years ago
4.0.0
9 years ago
3.0.5
9 years ago
3.0.4
9 years ago
3.0.3
9 years ago
3.0.2
9 years ago
3.0.1
9 years ago
3.0.0
9 years ago
2.0.14
9 years ago
2.0.13
9 years ago
2.0.12
9 years ago
2.0.11
9 years ago
2.0.10
9 years ago
2.0.9
9 years ago
2.0.8
9 years ago
2.0.7
10 years ago
2.0.6
10 years ago
2.0.5
10 years ago
2.0.4
10 years ago
2.0.3
10 years ago
2.0.2
10 years ago
2.0.1
10 years ago
2.0.0
10 years ago
1.0.1
10 years ago
1.0.0
10 years ago