-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathclient.js
More file actions
34 lines (26 loc) · 978 Bytes
/
client.js
File metadata and controls
34 lines (26 loc) · 978 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
'use strict';
const { EventEmitter } = require('node:events');
const eventBus = new EventEmitter();
const { BankWrite } = require('./writer.js');
const { BankRead } = require('./reader.js');
const writeApi = new BankWrite(eventBus);
const readApi1 = new BankRead(eventBus);
const readApi2 = new BankRead(eventBus);
const readApi3 = new BankRead(eventBus);
const marcus = 'Marcus Aurelius';
writeApi.createAccount(marcus);
writeApi.operation(marcus, 1000);
writeApi.operation(marcus, -50);
const pius = 'Antoninus Pius';
writeApi.createAccount(pius);
writeApi.operation(pius, 500);
writeApi.operation(pius, -100);
writeApi.operation(pius, 150);
const res1 = readApi1.select({ account: marcus });
console.table(res1);
const marcusBalance1 = readApi1.getAccount(marcus);
console.dir({ marcusBalance1 });
const res2 = readApi2.select({ account: pius, operation: 'income' });
console.table(res2);
const res3 = readApi3.select({ operation: 'withdraw' });
console.table(res3);