function parseGephi(gephiJSON, options) { var edges = []; var nodes = []; this.options = { edges: { inheritColor: 'from' }, nodes: { allowedToMove: false, parseColor: false } }; if (options !== undefined) { this.options.edges['inheritColor'] = options.inheritColor | 'from'; this.options.nodes['allowedToMove'] = options.allowedToMove | false; this.options.nodes['parseColor'] = options.parseColor | false; } var gEdges = gephiJSON.edges; var gNodes = gephiJSON.nodes; for (var i = 0; i < gEdges.length; i++) { var edge = {}; edge['id'] = gEdges.id; edge['from'] = gEdges.source; edge['to'] = gEdges.target; edge['attributes'] = gEdges.attributes; edge['value'] = gEdges.attributes !== undefined ? gEdges.attributes.Weight : undefined; edge['width'] = gEdges.size; edge['color'] = gEdges.color; edge['inheritColor'] = edge['color'] !== undefined ? false : this.options.inheritColor; edges.push(edge); } for (var i = 0; i < gNodes.length; i++) { var node = {}; node['id'] = gNodes.id; node['attributes'] = gNodes.attributes; node['x'] = gNodes.x; node['y'] = gNodes.y; node['label'] = gNodes.label; if (this.options.parseColor == true) { node['color'] = gNodes.color; } else { node['color'] = gNodes.color !== undefined ? {background:gNodes.color, border:gNodes.color} : undefined; } node['radius'] = gNodes.size; node['allowedToMoveX'] = this.options.allowedToMove; node['allowedToMoveY'] = this.options.allowedToMove; node['shape'] = 'dot' nodes.push(node); } return {nodes:nodes, edges:edges}; } exports.parseGephi = parseGephi;