showcases/graph/graph-layer/adaptor/graph-basic.js (26 lines of code) (raw):
export default class GraphAdaptor {
constructor(data) {
this._processData(data);
}
update(data) {
this._processData(data);
}
getTopology() {
const {nodes, links} = this;
return {
nodes,
links
};
}
getNode(id) {
return this.nodeMap[id];
}
// pass through as-is
_processData(data) {
this.nodes = data.nodes;
this.links = data.links;
this.nodeMap = this.nodes.reduce((acc, n) => {
acc[n.id] = n;
return acc;
}, {});
}
}