GraphBasic constructor

GraphBasic({
  1. required List<NodeInput> list,
})

Implementation

GraphBasic({required List<NodeInput> list}) {
  this.list = list;
  this.nodesMap = this.list.fold(Map(), (m, node) {
    if (m.containsKey(node.id)) {
      throw 'Duplicate node ${node.id}';
    }
    m[node.id] = node;
    return m;
  });

  this.detectIncomesAndOutcomes();
}