diff --git a/lib/query.js b/lib/query.js index 9c627fb..53b66ca 100644 --- a/lib/query.js +++ b/lib/query.js @@ -2,7 +2,8 @@ var _ = require('lodash'), expressions = require('./expressions'), - utils = require('./utils'); + utils = require('./utils') + promise = require('promise'); var internals = {}; @@ -227,6 +228,18 @@ Query.prototype.filter = function (keyName) { }; Query.prototype.exec = function(callback) { + if (!callback) { + return new Promise((resolve, reject) => { + this.exec((error, result) => { + if (error) { + reject(error); + } else { + resolve(result); + } + }); + }); + } + var self = this; this.addKeyCondition(this.buildKey()); diff --git a/package-lock.json b/package-lock.json index 2b72724..434695b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9 +1,14 @@ { "name": "dynamodb", - "version": "1.0.0", + "version": "1.1.1", "lockfileVersion": 1, "requires": true, "dependencies": { + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, "async": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", @@ -264,7 +269,7 @@ }, "coffee-script": { "version": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.5.tgz", - "integrity": "sha1-gJ9FhUGRErv+RqBzrXVDrxjCc0Y=", + "integrity": "sha512-jEZAYpY8DrgMvs5hq2RJCVSxMLnOMvgw1VwdRxlOZPvX1R8lZK5LZp4FW7W5OyBBtR3+Enn7wJSirfSIWVgfYQ==", "dev": true }, "events": { @@ -1475,6 +1480,14 @@ "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" }, + "promise": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.1.tgz", + "integrity": "sha1-5F1osAoXZHttpxG/he1u1HII9FA=", + "requires": { + "asap": "2.0.6" + } + }, "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", diff --git a/package.json b/package.json index 2b0c7d1..33edfc5 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,8 @@ "bunyan": "1.5.x", "joi": "10.x.x", "lodash": "4.x.x", - "node-uuid": "1.4.x" + "node-uuid": "1.4.x", + "promise": "^8.0.1" }, "devDependencies": { "chai": "1.x.x",