From 010e637d0425106f85163955b5d1e826f194f178 Mon Sep 17 00:00:00 2001 From: "dr.dimitru" Date: Mon, 4 Jun 2018 01:11:26 +0300 Subject: [PATCH] v1.0.4 - NPM dependencies update - Minor codebase enhancements - Fix an issue when `id` filed in node's properties replaced with `id` from metadata (*generated by Neo4j*) --- lib/driver.js | 8 +++++++- lib/helpers.js | 21 +++++++++++++++++++-- lib/node.js | 20 +++++++++----------- lib/relationship.js | 14 ++++++-------- package.json | 10 +++++----- 5 files changed, 46 insertions(+), 27 deletions(-) diff --git a/lib/driver.js b/lib/driver.js index b7d6be3..bb979a0 100644 --- a/lib/driver.js +++ b/lib/driver.js @@ -344,7 +344,13 @@ Neo4jDB.prototype.__parseNode = function (currentNode) { } } - var nodeData = _.extend(currentNode.data, currentNode.metadata); + var nodeData; + if (_.has(currentNode.data, 'id')) { + nodeData = _.extend(currentNode.data, _.omit(currentNode.metadata, 'id')); + } else { + nodeData = _.extend(currentNode.data, currentNode.metadata); + } + var paths; nodeData.metadata = currentNode.metadata; diff --git a/lib/helpers.js b/lib/helpers.js index 4d3899f..800fd43 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -1,5 +1,6 @@ -var _ = require('underscore'); -var colorize = function (args, color) { +var _ = require('underscore'); +var __hasProp = {}.hasOwnProperty; +var colorize = function (args, color) { var messages = ['\x1b[1m', '\x1b[' + color + 'm']; for (var i = 0; i < args.length; i++) { @@ -45,5 +46,21 @@ module.exports = { var fut = new Future(); cb(fut); return fut.wait(); + }, + __extends: function (child, parent) { + for (var key in parent) { + if (__hasProp.call(parent, key)) { + child[key] = parent[key]; + } + } + + function ctor () { + this.constructor = child; + } + + ctor.prototype = parent.prototype; + child.prototype = new ctor(); + child.__super__ = parent.prototype; + return child; } }; diff --git a/lib/node.js b/lib/node.js index 4f62ee1..a92c4c9 100644 --- a/lib/node.js +++ b/lib/node.js @@ -1,11 +1,9 @@ -var __hasProp = {}.hasOwnProperty; -var __extends = function (child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) {child[key] = parent[key];} } function ctor () { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; - -var _helpers = require('./helpers'); -var _ = _helpers._; -var events = _helpers.events; -var __wait = _helpers.__wait; -var __error = _helpers.__error; +var _helpers = require('./helpers'); +var _ = _helpers._; +var events = _helpers.events; +var __wait = _helpers.__wait; +var __error = _helpers.__error; +var __extends = _helpers.__extends; var _check = require('./check'); var check = _check.check; @@ -131,7 +129,7 @@ Neo4jNode.prototype.__properties = function (self) { return self.__return(function (fut) { self.update(); if (!name) { - return fut.return(_.omit(self._node, ['_service', 'id', 'labels', 'metadata'])); + return fut.return(_.omit(self._node, ['_service', 'labels', 'metadata'])); } fut.return(self._node[name]); }); @@ -221,7 +219,7 @@ Neo4jNode.prototype.__properties = function (self) { }); } } else { - for (var n in _.omit(self._node, ['_service', 'id', 'labels', 'metadata'])) { + for (var n in _.omit(self._node, ['_service', 'labels', 'metadata'])) { delete self._node[n]; } self._db.__batch({ @@ -246,7 +244,7 @@ Neo4jNode.prototype.__properties = function (self) { check(nameValue, Object); return self.__return(function (fut) { var n; - for (n in _.omit(self._node, ['_service', 'id', 'labels', 'metadata'])) { + for (n in _.omit(self._node, ['_service', 'labels', 'metadata'])) { delete self._node[n]; } diff --git a/lib/relationship.js b/lib/relationship.js index 984961e..568b6c2 100644 --- a/lib/relationship.js +++ b/lib/relationship.js @@ -1,11 +1,9 @@ -var __hasProp = {}.hasOwnProperty; -var __extends = function (child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) {child[key] = parent[key];} } function ctor () { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; - -var _helpers = require('./helpers'); -var _ = _helpers._; -var events = _helpers.events; -var __wait = _helpers.__wait; -var __error = _helpers.__error; +var _helpers = require('./helpers'); +var _ = _helpers._; +var events = _helpers.events; +var __wait = _helpers.__wait; +var __error = _helpers.__error; +var __extends = _helpers.__extends; var _check = require('./check'); var check = _check.check; diff --git a/package.json b/package.json index c819905..02fc9c4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "neo4j-fiber", - "version": "1.0.3", + "version": "1.0.4", "description": "Most advanced and efficient Neo4j REST API Driver, with support of https and GrapheneDB", "main": "./lib/index.js", "scripts": { @@ -40,11 +40,11 @@ "author": "Dmitriy A. (http://veliovgroup.com)", "license": "BSD 3-Clause", "dependencies": { - "needle": "^1.4.5", - "fibers": "^1.0.15", - "underscore": "^1.8.3" + "needle": "^2.2.1", + "fibers": "^2.0.2", + "underscore": "^1.9.1" }, "engines": { - "node": ">= 0.10.x" + "node": ">= 8.9.x" } }