diff --git a/forum-network/src/classes/action.js b/forum-network/src/classes/action.js
index 4eb9a61..ad2e628 100644
--- a/forum-network/src/classes/action.js
+++ b/forum-network/src/classes/action.js
@@ -6,10 +6,12 @@ export class Action {
async log(src, dest, msg, obj, symbol = '->>') {
const logObj = false;
- await this.scene.sequence.log(
- `${src.name} ${symbol} ${dest.name} : ${this.name} ${msg ?? ''} ${
- logObj && obj ? JSON.stringify(obj) : ''
- }`,
- );
+ if (this.scene.sequence) {
+ await this.scene.sequence.log(
+ `${src.name} ${symbol} ${dest.name} : ${this.name} ${msg ?? ''} ${
+ logObj && obj ? JSON.stringify(obj) : ''
+ }`,
+ );
+ }
}
}
diff --git a/forum-network/src/classes/graph.js b/forum-network/src/classes/graph.js
index 6136d4e..075b933 100644
--- a/forum-network/src/classes/graph.js
+++ b/forum-network/src/classes/graph.js
@@ -44,7 +44,7 @@ export class Graph {
}
const vertex = new Vertex(data);
this.vertices.set(id, vertex);
- if (this.scene.flowchart) {
+ if (this.scene && this.scene.flowchart) {
this.scene.flowchart.log(`${id}[${label ?? id}]`);
}
return this;
diff --git a/forum-network/src/classes/scene.js b/forum-network/src/classes/scene.js
index 4d71e48..e6c0ce0 100644
--- a/forum-network/src/classes/scene.js
+++ b/forum-network/src/classes/scene.js
@@ -89,7 +89,7 @@ export class Scene {
async addActor(name) {
const actor = new Actor(name, this);
if (this.sequence) {
- await this.scene.sequence.log(`participant ${name}`);
+ await this.sequence.log(`participant ${name}`);
}
return actor;
}
diff --git a/forum-network/src/index.html b/forum-network/src/index.html
index a583987..bb90cf3 100644
--- a/forum-network/src/index.html
+++ b/forum-network/src/index.html
@@ -18,7 +18,6 @@
Tertiary
- Basic
- - Mermaid
- Graph
- Debounce
- Flowchart
diff --git a/forum-network/src/tests/basic.html b/forum-network/src/tests/basic.html
index 9bb8cfa..8bd95c1 100644
--- a/forum-network/src/tests/basic.html
+++ b/forum-network/src/tests/basic.html
@@ -26,14 +26,14 @@
}
if (true) {
- const scene = new Scene('Scene 1', rootBox);
+ const scene = new Scene('Scene 1', rootBox).withSequenceDiagram();
const webClientStatus = scene.addDisplayValue('WebClient Status');
const node1Status = scene.addDisplayValue('Node 1 Status');
const blockchainStatus = scene.addDisplayValue('Blockchain Status');
- const webClient = scene.addActor('web client');
- const node1 = scene.addActor('node 1');
- const blockchain = scene.addActor('blockchain');
+ const webClient = await scene.addActor('web client');
+ const node1 = await scene.addActor('node 1');
+ const blockchain = await scene.addActor('blockchain');
const requestForumPage = scene.addAction('requestForumPage');
const readBlockchainData = scene.addAction('readBlockchainData');
const blockchainData = scene.addAction('blockchainData');
@@ -76,19 +76,19 @@
}
(async function run() {
- const scene = new Scene('Scene 2', rootBox);
+ const scene = new Scene('Scene 2', rootBox).withSequenceDiagram();
- const webClient = scene.addActor('webClient');
+ const webClient = await scene.addActor('webClient');
const nodes = [];
const memories = [];
const storages = [];
- function addNode() {
+ async function addNode() {
const idx = nodes.length;
- const node = scene.addActor(`node${idx}`);
- const memory = scene.addActor(`memory${idx}`);
- const storage = scene.addActor(`storage${idx}`);
+ const node = await scene.addActor(`node${idx}`);
+ const memory = await scene.addActor(`memory${idx}`);
+ const storage = await scene.addActor(`storage${idx}`);
node.memory = memory;
node.storage = storage;
nodes.push(node);
@@ -103,8 +103,8 @@
return peers[idx];
}
- addNode();
- addNode();
+ await addNode();
+ await addNode();
const [
seekTruth,
diff --git a/forum-network/src/tests/forum-network.html b/forum-network/src/tests/forum-network.html
index 25e61c0..307aead 100644
--- a/forum-network/src/tests/forum-network.html
+++ b/forum-network/src/tests/forum-network.html
@@ -19,9 +19,7 @@
const rootElement = document.getElementById('forum-network');
const rootBox = new Box('rootBox', rootElement).flex();
- window.scene = new Scene('Forum Network test', rootBox).log(
- 'sequenceDiagram',
-);
+ window.scene = new Scene('Forum Network test', rootBox).withSequenceDiagram();
window.author1 = await new Expert('author1', window.scene).initialize();
window.author2 = await new Expert('author2', window.scene).initialize();