From 79a6772667e665fada810a3c1e14768859c442a3 Mon Sep 17 00:00:00 2001 From: Lucas Dohmen Date: Fri, 28 Jun 2013 18:14:04 +0200 Subject: [PATCH] Code Review: Common Graph Module --- .../modules/org/arangodb/graph-common.js | 97 ++++++++++++------- 1 file changed, 62 insertions(+), 35 deletions(-) diff --git a/js/common/modules/org/arangodb/graph-common.js b/js/common/modules/org/arangodb/graph-common.js index 66941f5060..2372af2799 100644 --- a/js/common/modules/org/arangodb/graph-common.js +++ b/js/common/modules/org/arangodb/graph-common.js @@ -1,4 +1,4 @@ -/*jslint indent: 2, nomen: true, maxlen: 100, sloppy: true, vars: true, white: true, plusplus: true */ +/*jslint indent: 2, nomen: true, maxlen: 100, sloppy: true, plusplus: true */ /*global require, exports */ //////////////////////////////////////////////////////////////////////////////// @@ -40,6 +40,10 @@ var arangodb = require("org/arangodb"), // --SECTION-- module "org/arangodb/graph" // ----------------------------------------------------------------------------- +//////////////////////////////////////////////////////////////////////////////// +/// @brief constructs an iterator for a given cursor, wrapping each result +//////////////////////////////////////////////////////////////////////////////// + Iterator = function (wrapper, cursor, stringRepresentation) { this.next = function next() { if (cursor.hasNext()) { @@ -102,14 +106,15 @@ GraphArray.prototype = new Array(0); //////////////////////////////////////////////////////////////////////////////// GraphArray.prototype.map = function (fun, thisp) { - var len = this.length; - var i; + var len = this.length, + i, + res; if (typeof fun !== "function") { throw new TypeError(); } - - var res = new GraphArray(len); + + res = new GraphArray(len); for (i = 0; i < len; i++) { if (this.hasOwnProperty(i)) { @@ -125,7 +130,9 @@ GraphArray.prototype.map = function (fun, thisp) { //////////////////////////////////////////////////////////////////////////////// GraphArray.prototype.getInVertex = function () { - return this.map(function(a) {return a.getInVertex();}); + return this.map(function (a) { + return a.getInVertex(); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -133,7 +140,9 @@ GraphArray.prototype.getInVertex = function () { //////////////////////////////////////////////////////////////////////////////// GraphArray.prototype.getOutVertex = function () { - return this.map(function(a) {return a.getOutVertex();}); + return this.map(function (a) { + return a.getOutVertex(); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -141,7 +150,9 @@ GraphArray.prototype.getOutVertex = function () { //////////////////////////////////////////////////////////////////////////////// GraphArray.prototype.getPeerVertex = function (vertex) { - return this.map(function(a) {return a.getPeerVertex(vertex);}); + return this.map(function (a) { + return a.getPeerVertex(vertex); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -149,7 +160,9 @@ GraphArray.prototype.getPeerVertex = function (vertex) { //////////////////////////////////////////////////////////////////////////////// GraphArray.prototype.setProperty = function (name, value) { - return this.map(function(a) {return a.setProperty(name, value);}); + return this.map(function (a) { + return a.setProperty(name, value); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -157,7 +170,9 @@ GraphArray.prototype.setProperty = function (name, value) { //////////////////////////////////////////////////////////////////////////////// GraphArray.prototype.edges = function () { - return this.map(function(a) {return a.edges();}); + return this.map(function (a) { + return a.edges(); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -165,7 +180,9 @@ GraphArray.prototype.edges = function () { //////////////////////////////////////////////////////////////////////////////// GraphArray.prototype.outbound = function () { - return this.map(function(a) {return a.outbound();}); + return this.map(function (a) { + return a.outbound(); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -173,7 +190,9 @@ GraphArray.prototype.outbound = function () { //////////////////////////////////////////////////////////////////////////////// GraphArray.prototype.inbound = function () { - return this.map(function(a) {return a.inbound();}); + return this.map(function (a) { + return a.inbound(); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -182,7 +201,9 @@ GraphArray.prototype.inbound = function () { GraphArray.prototype.getInEdges = function () { var args = arguments; - return this.map(function(a) {return a.getInEdges.apply(a, args);}); + return this.map(function (a) { + return a.getInEdges.apply(a, args); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -191,7 +212,9 @@ GraphArray.prototype.getInEdges = function () { GraphArray.prototype.getOutEdges = function () { var args = arguments; - return this.map(function(a) {return a.getOutEdges.apply(a, args);}); + return this.map(function (a) { + return a.getOutEdges.apply(a, args); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -200,7 +223,9 @@ GraphArray.prototype.getOutEdges = function () { GraphArray.prototype.getEdges = function () { var args = arguments; - return this.map(function(a) {return a.getEdges.apply(a, args);}); + return this.map(function (a) { + return a.getEdges.apply(a, args); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -208,7 +233,9 @@ GraphArray.prototype.getEdges = function () { //////////////////////////////////////////////////////////////////////////////// GraphArray.prototype.degree = function () { - return this.map(function(a) {return a.degree();}); + return this.map(function (a) { + return a.degree(); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -216,15 +243,19 @@ GraphArray.prototype.degree = function () { //////////////////////////////////////////////////////////////////////////////// GraphArray.prototype.inDegree = function () { - return this.map(function(a) {return a.inDegree();}); + return this.map(function (a) { + return a.inDegree(); + }); }; //////////////////////////////////////////////////////////////////////////////// /// @brief returns the number of out-edges //////////////////////////////////////////////////////////////////////////////// -GraphArray.prototype.inDegree = function () { - return this.map(function(a) {return a.outDegree();}); +GraphArray.prototype.outDegree = function () { + return this.map(function (a) { + return a.outDegree(); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -232,7 +263,9 @@ GraphArray.prototype.inDegree = function () { //////////////////////////////////////////////////////////////////////////////// GraphArray.prototype.properties = function () { - return this.map(function(a) {return a.properties();}); + return this.map(function (a) { + return a.properties(); + }); }; //////////////////////////////////////////////////////////////////////////////// @@ -426,16 +459,13 @@ Edge.prototype.getPeerVertex = function (vertex) { Edge.prototype._PRINT = function (context) { if (!this._properties._id) { context.output += "[deleted Edge]"; - } - else if (this._properties._key !== undefined) { + } else if (this._properties._key !== undefined) { if (typeof this._properties._key === "string") { context.output += "Edge(\"" + this._properties._key + "\")"; - } - else { + } else { context.output += "Edge(" + this._properties._key + ")"; } - } - else { + } else { context.output += "Edge(<" + this._id + ">)"; } }; @@ -608,16 +638,13 @@ Vertex.prototype.properties = function () { Vertex.prototype._PRINT = function (context) { if (! this._properties._id) { context.output += "[deleted Vertex]"; - } - else if (this._properties._key !== undefined) { + } else if (this._properties._key !== undefined) { if (typeof this._properties._key === "string") { context.output += "Vertex(\"" + this._properties._key + "\")"; - } - else { + } else { context.output += "Vertex(" + this._properties._key + ")"; } - } - else { + } else { context.output += "Vertex(<" + this._id + ">)"; } }; @@ -650,7 +677,7 @@ Graph.prototype._prepareEdgeData = function (data, label) { label = data.$label; } - if (is.notExisty(data) || is.noObject(data)) { + if (is.object(data)) { edgeData = {}; } else { edgeData = data._shallowCopy || {}; @@ -664,7 +691,7 @@ Graph.prototype._prepareEdgeData = function (data, label) { Graph.prototype._prepareVertexData = function (data) { var vertexData; - if (is.notExisty(data) || is.noObject(data)) { + if (is.object(data)) { vertexData = {}; } else { vertexData = data._shallowCopy || {}; @@ -690,7 +717,7 @@ Graph.prototype._prepareVertexData = function (data) { Graph.prototype.getOrAddVertex = function (id) { var v = this.getVertex(id); - if (v === null) { + if (is.notExisty(v)) { v = this.addVertex(id); }