{"_id":"dynamo-as-promised","_rev":"27-3ab2620418f3384367f9d178821810a2","name":"dynamo-as-promised","description":"A promise-based client for Amazon's DynamoDB.","dist-tags":{"latest":"0.4.3"},"versions":{"0.1.0":{"name":"dynamo-as-promised","description":"A promise-based client for Amazon's DynamoDB.","version":"0.1.0","author":{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"},"repository":{"type":"git","url":"git://github.com/domenic/dynamo-as-promised.git"},"bugs":{"url":"http://github.com/domenic/dynamo-as-promised/issues"},"main":"dynamo-as-promised.js","scripts":{"test":"mocha","lint":"jshint dynamo-as-promised.js --show-non-errors"},"dependencies":{"q":">= 0.8.4","dynode":">= 0.5.0"},"devDependencies":{"mocha":">= 1.0.3","chai":"*","sinon":">= 1.3.4","sinon-chai":">= 1.3.1","chai-as-promised":">= 2.2.0","sandboxed-module":">= 0.1.3","jshint":">= 0.7.0","npm":"*","coffee-script":">= 1.3.1"},"engines":{"node":"*"},"_npmUser":{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"},"_id":"dynamo-as-promised@0.1.0","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"176f9e803ca98d847fdca6b3beb5e6ea5e7c41e6","tarball":"https://registry.npmjs.org/dynamo-as-promised/-/dynamo-as-promised-0.1.0.tgz","integrity":"sha512-O0I+mEkkmQ6HJG3ebQ1PFyybv2eFLOW5QQt6+u1d9FyK3scKRqlyRHC0DQ2yk1tpOewrGtZez/486EMMB4ShAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm2Od5t0rVSM4L0ElPn+uA8MkVN+KRp0tVbgU14GiiiwIhAIm2qJgVT+gaQVwCUtvEZNlgIIjDs9j0BqCWpwhkY2dD"}]},"maintainers":[{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"}],"directories":{}},"0.1.1":{"name":"dynamo-as-promised","description":"A promise-based client for Amazon's DynamoDB.","version":"0.1.1","author":{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"},"license":"WTFPL","repository":{"type":"git","url":"git://github.com/domenic/dynamo-as-promised.git"},"bugs":{"url":"http://github.com/domenic/dynamo-as-promised/issues"},"main":"dynamo-as-promised.js","scripts":{"test":"mocha","lint":"jshint dynamo-as-promised.js --show-non-errors"},"dependencies":{"q":">= 0.8.4","dynode":">= 0.5.0"},"devDependencies":{"mocha":">= 1.0.3","chai":"*","sinon":">= 1.3.4","sinon-chai":">= 1.3.1","chai-as-promised":">= 2.2.0","sandboxed-module":">= 0.1.3","jshint":">= 0.7.0","npm":"*","coffee-script":">= 1.3.1"},"engines":{"node":"*"},"_npmUser":{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"},"_id":"dynamo-as-promised@0.1.1","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.16","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"087d2591c463906d8a4fe0116aaed206e228be1c","tarball":"https://registry.npmjs.org/dynamo-as-promised/-/dynamo-as-promised-0.1.1.tgz","integrity":"sha512-BMJW2b4xMVb4pi/8XSeGfoTJMIuspuji5bmEgsvBoaN9LKV9xDSkZM1kGJL+sorRGyjhs/WgZNHGumFvfnNfYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGGa40ar9onzpSfJCV6QEzRbmMbgT1aO2QVwC9Z5a0VRAiEAuFXr1RC2+NGCL/CR174BgTGTZ4a0f+sg0Bc6olhGmv4="}]},"maintainers":[{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"}],"directories":{}},"0.1.2":{"name":"dynamo-as-promised","description":"A promise-based client for Amazon's DynamoDB.","version":"0.1.2","author":{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"},"license":"WTFPL","repository":{"type":"git","url":"git://github.com/domenic/dynamo-as-promised.git"},"bugs":{"url":"http://github.com/domenic/dynamo-as-promised/issues"},"main":"dynamo-as-promised.js","scripts":{"test":"mocha","lint":"jshint dynamo-as-promised.js --show-non-errors"},"dependencies":{"q":">= 0.8.4","dynode":">= 0.5.0"},"devDependencies":{"mocha":">= 1.0.3","chai":"*","sinon":">= 1.3.4","sinon-chai":">= 1.3.1","chai-as-promised":">= 2.2.0","sandboxed-module":">= 0.1.3","jshint":">= 0.7.0","npm":"*","coffee-script":">= 1.3.1"},"engines":{"node":"*"},"_npmUser":{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"},"_id":"dynamo-as-promised@0.1.2","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.16","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"9e7e94e445f71a60406f13d889379ffe7d545d24","tarball":"https://registry.npmjs.org/dynamo-as-promised/-/dynamo-as-promised-0.1.2.tgz","integrity":"sha512-Q8DsdkQUwVB0xx62pzmc3zvP338thuCUFbslJaBvhzO4yCMejrdUzyuMdZzdlb8oNtwpiFkfhudHtuYLaqXfmA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBGBXRWfL7fZffLAV0lDdh3poGmmT+11wTjaeRxxJ5YJAiBOBeZlxmlssj06LOOdJA9SsDNgwTdOn3IXqmrkujn5PA=="}]},"maintainers":[{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"}],"directories":{}},"0.2.0":{"name":"dynamo-as-promised","description":"A promise-based client for Amazon's DynamoDB.","version":"0.2.0","author":{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"},"license":"WTFPL","repository":{"type":"git","url":"git://github.com/domenic/dynamo-as-promised.git"},"bugs":{"url":"http://github.com/domenic/dynamo-as-promised/issues"},"main":"dynamo-as-promised.js","scripts":{"test":"mocha","lint":"jshint dynamo-as-promised.js --show-non-errors"},"dependencies":{"q":">= 0.8.5","dynode":">= 0.5.0"},"devDependencies":{"mocha":">= 1.2.0","chai":">= 1.0.4","sinon":">= 1.3.4","sinon-chai":">= 2.1.2","chai-as-promised":">= 3.2.1","sandboxed-module":">= 0.1.3","jshint":">= 0.7.1","npm":"*","coffee-script":">= 1.3.3"},"engines":{"node":"*"},"_npmUser":{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"},"_id":"dynamo-as-promised@0.2.0","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"02a44aebd1563312bda61ac2e831b48f75c990dc","tarball":"https://registry.npmjs.org/dynamo-as-promised/-/dynamo-as-promised-0.2.0.tgz","integrity":"sha512-3619uAXHJar04rO9bIAWMuX4d1DZzl0lznEBX+AZ0lfpwwiiw412Xf8gHPZ7NDBB6Dbzx7NcxgkUvrMEbciEQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHV6zh3l1ble9JWgYgNn2Xy/WwXEvEdsCJC4mWC5uwHiAiB+lbmmj+9NNPTeYhNw3E+tUQU7eJ2LjAIGtfTjeqodlw=="}]},"maintainers":[{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"}],"directories":{}},"0.3.0":{"name":"dynamo-as-promised","description":"A promise-based client for Amazon's DynamoDB.","version":"0.3.0","author":{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"},"license":"WTFPL","repository":{"type":"git","url":"git://github.com/domenic/dynamo-as-promised.git"},"bugs":{"url":"http://github.com/domenic/dynamo-as-promised/issues"},"main":"dynamo-as-promised.js","scripts":{"test":"mocha","lint":"jshint dynamo-as-promised.js --show-non-errors"},"dependencies":{"q":">= 0.8.5","dynode":">= 0.5.0"},"devDependencies":{"mocha":">= 1.2.0","chai":">= 1.0.4","sinon":">= 1.3.4","sinon-chai":">= 2.1.2","chai-as-promised":">= 3.2.1","sandboxed-module":">= 0.1.3","jshint":">= 0.7.1","npm":"*","coffee-script":">= 1.3.3"},"engines":{"node":"*"},"_npmUser":{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"},"_id":"dynamo-as-promised@0.3.0","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"0bf11ba7efa6f34cd972fb3f920b937762c03a8a","tarball":"https://registry.npmjs.org/dynamo-as-promised/-/dynamo-as-promised-0.3.0.tgz","integrity":"sha512-zsmUiJv0C07R7wKhXN/dzbvzMIAFtpyFD1I5GkgddAKD6yXqVAwlH1hql7dCDBCRYCp9P3N+iqyC77XOHQ+tdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBbG718ev3N5ZXMqlaf3E+NvRDwjFQgBmTGnMJGuo3mhAiBi7AEo2SxUHn62o5MU28h3J+gp/59i/xr7i5y/OsyPpA=="}]},"maintainers":[{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"}],"directories":{}},"0.4.0":{"name":"dynamo-as-promised","description":"A promise-based client for Amazon's DynamoDB.","version":"0.4.0","author":{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"},"license":"WTFPL","repository":{"type":"git","url":"git://github.com/domenic/dynamo-as-promised.git"},"bugs":{"url":"http://github.com/domenic/dynamo-as-promised/issues"},"main":"dynamo-as-promised.js","scripts":{"test":"mocha","lint":"jshint dynamo-as-promised.js --show-non-errors"},"dependencies":{"q":">= 0.8.5","dynode":">= 0.5.0","underscore":">= 1.3.3"},"devDependencies":{"mocha":">= 1.2.1","chai":">= 1.1.0","sinon":">= 1.3.4","sinon-chai":">= 2.1.2","chai-as-promised":">= 3.2.1","sandboxed-module":">= 0.1.3","jshint":">= 0.7.1","npm":"*","coffee-script":">= 1.3.3"},"engines":{"node":"*"},"_npmUser":{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"},"_id":"dynamo-as-promised@0.4.0","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"59de7fd4ab65c9477fac4fa1d7719a62d101eb8f","tarball":"https://registry.npmjs.org/dynamo-as-promised/-/dynamo-as-promised-0.4.0.tgz","integrity":"sha512-UmdjY+OzI20WaEuwzpbAGEJG9x4sGzAclsFQRbQKh6bDUktYi/2AeR0zCMo+smeM+Ml3arEjoOAAbqS9BPH8sQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDrDND1rmQtL8d+bqm+Vj0HWVkPStofAkOTKwkvcdiIQIhAPer1yuPEHHThCDD8qzHv3/RkzstczCoVqgOVzslfwSP"}]},"maintainers":[{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"}],"directories":{}},"0.4.1":{"name":"dynamo-as-promised","description":"A promise-based client for Amazon's DynamoDB.","version":"0.4.1","author":{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"},"license":"WTFPL","repository":{"type":"git","url":"git://github.com/domenic/dynamo-as-promised.git"},"bugs":{"url":"http://github.com/domenic/dynamo-as-promised/issues"},"main":"dynamo-as-promised.js","scripts":{"test":"mocha","lint":"jshint dynamo-as-promised.js --show-non-errors"},"dependencies":{"q":">= 0.8.5","dynode":">= 0.5.0","underscore":">= 1.3.3"},"devDependencies":{"mocha":">= 1.2.1","chai":">= 1.1.0","sinon":">= 1.3.4","sinon-chai":">= 2.1.2","chai-as-promised":">= 3.2.1","sandboxed-module":">= 0.1.3","jshint":">= 0.7.1","npm":"*","coffee-script":">= 1.3.3"},"engines":{"node":"*"},"_npmUser":{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"},"_id":"dynamo-as-promised@0.4.1","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"1c501fcc6c41fee05b6ee8807291b445b23aac58","tarball":"https://registry.npmjs.org/dynamo-as-promised/-/dynamo-as-promised-0.4.1.tgz","integrity":"sha512-wudZyC6aZOhr9udJg3MOWUveu1lPIvD50K5/nqVJ0akz3+IG8WWHKibBMlyCN94GE5x8eI5vEng1sg4was6pSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHIqYj6L67DvscZ8KhP9F1NW2fq4HkcP5Vx1WalL2cFQAiBCnVAsp1q2nBxxjj+cZI9pg+BmTIl5OvknHd0DeDf0uQ=="}]},"maintainers":[{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"}],"directories":{}},"0.4.2":{"name":"dynamo-as-promised","description":"A promise-based client for Amazon's DynamoDB.","version":"0.4.2","author":{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"},"license":"WTFPL","repository":{"type":"git","url":"https://github.com/domenic/dynamo-as-promised"},"bugs":{"url":"http://github.com/domenic/dynamo-as-promised/issues"},"main":"dynamo-as-promised.js","scripts":{"test":"mocha","lint":"jshint dynamo-as-promised.js --show-non-errors"},"dependencies":{"q":">= 0.8.5","dynode":">= 0.5.0","underscore":">= 1.3.3"},"devDependencies":{"mocha":">= 1.3.0","chai":">= 1.1.1","sinon":">= 1.4.2","sinon-chai":">= 2.1.2","chai-as-promised":">= 3.2.1","sandboxed-module":">= 0.1.3","jshint":">= 0.7.1","npm":"*","coffee-script":">= 1.3.3"},"engines":{"node":"*"},"readme":"# A Promise-Based DynamoDB Client\r\n\r\n**Dynamo as Promised** is a client for Amazon's [DynamoDB] that returns [promises][promises-presentation] to represent\r\nits asynchronous operations. It is primarily a thin adapter around [dynode][] to transform its Node-style\r\ncallback-accepting methods into ones returning [Q][] promises.\r\n\r\nThis is very much an alpha release: it only supports the small subset of the DynamoDB API that I have found necessary\r\nfor other projects. Pull requests and fixes welcome!\r\n\r\n## Usage\r\n\r\nFirst, get a client:\r\n\r\n```js\r\nvar Client = require(\"dynode-as-promised\").Client;\r\nvar client = new Client({ accessKeyId: \"AWSAccessKey\", secretAccessKey: \"SecretAccessKey\" });\r\n```\r\n\r\nOptionally, get a table:\r\n\r\n```js\r\nvar table = client.table(\"TableName\");\r\n```\r\n\r\nThen you have the following methods available, either on the table as documented below, or directly on the client by\r\npassing the table name in as an additional first parameter:\r\n\r\n### `table.get(key)`\r\n\r\nCorresponds to DynamoDB's [GetItem][] command. Fulfills with a hash representing the returned item.\r\n\r\n### `table.query(hash)`\r\n\r\nCorresponds to DynamoDB's [Query][] command. Fulfills with an array of hashes representing the returned items.\r\n\r\n### `table.scan(scanOptions)`\r\n\r\nCorresponds to DynamoDB's [Scan][] command. Fulfills with an array of hashes representing the returned items.\r\n\r\n### `table.put(values)`\r\n\r\nCorresponds to DynamoDB's [PutItem][] command.\r\n\r\n### `table.update(key, values[, options])`\r\n\r\nCorresponds to DynamoDB's [UpdateItem][] command.\r\n\r\nThe option `onlyIfExists` can be supplied in order to do conditional updates. It takes a key name (or object mapping\r\nkey types to key names), which is used to build the appropriate `\"Expected\"` parameters to send to DynamoDB. Example:\r\n\r\n```js\r\ncustomerTable.update(\"a1b2c3d\", { lastName: \"Denicola\" }, { onlyIfExists: \"customerId\" });\r\ncustomerPurchasesTable.update(\r\n    { hash: \"a1b2c3d\", range: \"x1y2z3\" },\r\n    { isSatisfied: \"true\" },\r\n    { onlyIfExists: { hash: \"customerId\", range: \"purchaseId\" } }\r\n);\r\n```\r\n\r\n### `table.updateAndGet(key, values[, options])`\r\n\r\nCorresponds to DynamoDB's [UpdateItem][] command with the `ReturnValues` parameter set to `ALL_NEW`, so that\r\nit can fulfill with a hash representing the updated item. As with `update`, you can supply `options.onlyIfExists` to\r\ndo conditional updates.\r\n\r\n### `table.delete(key)`\r\n\r\nCorresponds to DynamoDB's [DeleteItem][] command.\r\n\r\n### `table.deleteMultiple(keys)`\r\n\r\nActs as a wrapper around DynamoDB's [BatchWriteItem][] command, taking an array of keys (of any size) and\r\nusing them to perform an appropriate number of delete operations, in batches of 25 at a time (DynamoDB's maximum).\r\n\r\n\r\n\r\n[DynamoDB]: docs.amazonwebservices.com/amazondynamodb/latest/developerguide/Introduction.html?r=5378\r\n[promises-presentation]: http://www.slideshare.net/domenicdenicola/callbacks-promises-and-coroutines-oh-my-the-evolution-of-asynchronicity-in-javascript\r\n[dynode]: https://github.com/Wantworthy/dynode\r\n[Q]: https://github.com/kriskowal/q\r\n\r\n[GetItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_GetItem.html\r\n[PutItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_PutItem.html\r\n[UpdateItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_UpdateItem.html\r\n[DeleteItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_DeleteItem.html\r\n[Query]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_Query.html\r\n[Scan]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_Scan.html\r\n[BatchWriteItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_BatchWriteItem.html\r\n","_id":"dynamo-as-promised@0.4.2","dist":{"shasum":"2ce1dcc58d0d89024473a4e0aca1de01d5cff664","tarball":"https://registry.npmjs.org/dynamo-as-promised/-/dynamo-as-promised-0.4.2.tgz","integrity":"sha512-/tnk84zpXVmgtzWhaiBd+cO+OLk0d1AI2gao3pTa+xlu0m4BE2u3W+ir4N826lybFZKD4X1FQpwxQWj12Co4PQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCX+UfzIJhesn9GkzfaEX0X1m1uLBuuwQCI/Y+mkEgK0QIhANq4iUA+iRwg+HbnQpB/mVI1ivxt6ZBgXwbFZtcuqHsA"}]},"maintainers":[{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"}]},"0.4.3":{"name":"dynamo-as-promised","description":"A promise-based client for Amazon's DynamoDB.","version":"0.4.3","author":{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"},"license":"WTFPL","repository":{"type":"git","url":"https://github.com/domenic/dynamo-as-promised"},"bugs":{"url":"http://github.com/domenic/dynamo-as-promised/issues"},"main":"dynamo-as-promised.js","scripts":{"test":"mocha","lint":"jshint dynamo-as-promised.js --show-non-errors"},"dependencies":{"q":">= 0.8.5","dynode":">= 0.5.1","underscore":">= 1.3.3"},"devDependencies":{"mocha":">= 1.3.0","chai":">= 1.1.1","sinon":">= 1.4.2","sinon-chai":">= 2.1.2","chai-as-promised":">= 3.2.1","sandboxed-module":">= 0.1.3","jshint":">= 0.7.1","npm":"*","coffee-script":">= 1.3.3"},"engines":{"node":"*"},"readme":"# A Promise-Based DynamoDB Client\r\n\r\n**Dynamo as Promised** is a client for Amazon's [DynamoDB] that returns [promises][promises-presentation] to represent\r\nits asynchronous operations. It is primarily a thin adapter around [dynode][] to transform its Node-style\r\ncallback-accepting methods into ones returning [Q][] promises.\r\n\r\nThis is very much an alpha release: it only supports the small subset of the DynamoDB API that I have found necessary\r\nfor other projects. Pull requests and fixes welcome!\r\n\r\n## Usage\r\n\r\nFirst, get a client:\r\n\r\n```js\r\nvar Client = require(\"dynode-as-promised\").Client;\r\nvar client = new Client({ accessKeyId: \"AWSAccessKey\", secretAccessKey: \"SecretAccessKey\" });\r\n```\r\n\r\nOptionally, get a table:\r\n\r\n```js\r\nvar table = client.table(\"TableName\");\r\n```\r\n\r\nThen you have the following methods available, either on the table as documented below, or directly on the client by\r\npassing the table name in as an additional first parameter:\r\n\r\n### `table.get(key)`\r\n\r\nCorresponds to DynamoDB's [GetItem][] command. Fulfills with a hash representing the returned item.\r\n\r\n### `table.query(hash)`\r\n\r\nCorresponds to DynamoDB's [Query][] command. Fulfills with an array of hashes representing the returned items.\r\n\r\n### `table.scan(scanOptions)`\r\n\r\nCorresponds to DynamoDB's [Scan][] command. Fulfills with an array of hashes representing the returned items.\r\n\r\n### `table.put(values)`\r\n\r\nCorresponds to DynamoDB's [PutItem][] command.\r\n\r\n### `table.update(key, values[, options])`\r\n\r\nCorresponds to DynamoDB's [UpdateItem][] command.\r\n\r\nThe option `onlyIfExists` can be supplied in order to do conditional updates. It takes a key name (or object mapping\r\nkey types to key names), which is used to build the appropriate `\"Expected\"` parameters to send to DynamoDB. Example:\r\n\r\n```js\r\ncustomerTable.update(\"a1b2c3d\", { lastName: \"Denicola\" }, { onlyIfExists: \"customerId\" });\r\ncustomerPurchasesTable.update(\r\n    { hash: \"a1b2c3d\", range: \"x1y2z3\" },\r\n    { isSatisfied: \"true\" },\r\n    { onlyIfExists: { hash: \"customerId\", range: \"purchaseId\" } }\r\n);\r\n```\r\n\r\n### `table.updateAndGet(key, values[, options])`\r\n\r\nCorresponds to DynamoDB's [UpdateItem][] command with the `ReturnValues` parameter set to `ALL_NEW`, so that\r\nit can fulfill with a hash representing the updated item. As with `update`, you can supply `options.onlyIfExists` to\r\ndo conditional updates.\r\n\r\n### `table.delete(key)`\r\n\r\nCorresponds to DynamoDB's [DeleteItem][] command.\r\n\r\n### `table.deleteMultiple(keys)`\r\n\r\nActs as a wrapper around DynamoDB's [BatchWriteItem][] command, taking an array of keys (of any size) and\r\nusing them to perform an appropriate number of delete operations, in batches of 25 at a time (DynamoDB's maximum).\r\n\r\n\r\n\r\n[DynamoDB]: docs.amazonwebservices.com/amazondynamodb/latest/developerguide/Introduction.html?r=5378\r\n[promises-presentation]: http://www.slideshare.net/domenicdenicola/callbacks-promises-and-coroutines-oh-my-the-evolution-of-asynchronicity-in-javascript\r\n[dynode]: https://github.com/Wantworthy/dynode\r\n[Q]: https://github.com/kriskowal/q\r\n\r\n[GetItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_GetItem.html\r\n[PutItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_PutItem.html\r\n[UpdateItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_UpdateItem.html\r\n[DeleteItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_DeleteItem.html\r\n[Query]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_Query.html\r\n[Scan]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_Scan.html\r\n[BatchWriteItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_BatchWriteItem.html\r\n","_id":"dynamo-as-promised@0.4.3","dist":{"shasum":"c5499a3815cbcb6c1d9adaf2ea217ecb056a8bdb","tarball":"https://registry.npmjs.org/dynamo-as-promised/-/dynamo-as-promised-0.4.3.tgz","integrity":"sha512-funuMnNcWS24z+v7hI1vt1on3fCuR8W0qECdQ4g07daUwT85Rvf8SFQpj95zbiIK7bCCfVvvN3nJ44W9OCuwMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIExmjEJpWKE/06AqE9AsCP+mv6HUoRWYJXQ4IIysYpfFAiEAzna6resLNE2sbpZrfoh7LLPYWZn+hM1o4/YBruR1DGI="}]},"maintainers":[{"name":"domenicdenicola","email":"domenic@domenicdenicola.com"}]}},"readme":"# A Promise-Based DynamoDB Client\r\n\r\n**Dynamo as Promised** is a client for Amazon's [DynamoDB] that returns [promises][promises-presentation] to represent\r\nits asynchronous operations. It is primarily a thin adapter around [dynode][dynode] to transform its Node-style\r\ncallback-accepting methods into ones returning [Q][Q] promises.\r\n\r\nThis is very much an alpha release: it only supports the small subset of the DynamoDB API that I have found necessary\r\nfor other projects. Pull requests and fixes welcome!\r\n\r\n## Usage\r\n\r\nFirst, get a client:\r\n\r\n```js\r\nvar Client = require(\"dynode-as-promised\").Client;\r\nvar client = new Client({accessKeyId: \"AWSAccessKey\", secretAccessKey: \"SecretAccessKey\"});\r\n```\r\n\r\nThen you have the following methods available:\r\n\r\n### `client.getAsync(table, key)`\r\n\r\nCorresponds to DynamoDB's [GetItem][GetItem] command. Fulfills with a hash representing the returned item.\r\n\r\n### `client.scanAsync(table, query)`\r\n\r\nCorresponds to DynamoDB's [Scan][Scan] command. Fulfills with an array of hashes representing the returned items.\r\n\r\n### `client.putAsync(table, values)`\r\n\r\nCorresponds to DynamoDB's [PutItem][PutItem] command.\r\n\r\n### `client.updateAsync(table, key, values)`\r\n\r\nCorresponds to DynamoDB's [UpdateItem][UpdateItem] command.\r\n\r\n### `client.deleteAsync(table, key)`\r\n\r\nCorresponds to DynamoDB's [DeleteItem][DeleteItem] command.\r\n\r\n### `client.deleteMultipleAsync(table, keys)`\r\n\r\nActs as a wrapper around DynamoDB's [BatchWriteItem][BatchWriteItem] command, taking an array of keys (of any size) and\r\nusing them to perform an appropriate number of delete operations, in batches of 25 at a time (DynamoDB's maximum).\r\n\r\n---\r\n\r\nWondering about the `Async` suffix? It's a convention I'm borrowing [from the Windows Runtime API][winrt-async], as a\r\nway of differentiating promise-returning functions from synchronous functions or functions that use Node-style\r\ncallbacks. To be honest, I'm not sure if I like it, so that might go away in the future.\r\n\r\n\r\n\r\n[DynamoDB]: docs.amazonwebservices.com/amazondynamodb/latest/developerguide/Introduction.html?r=5378\r\n[promises-presentation]: http://www.slideshare.net/domenicdenicola/callbacks-promises-and-coroutines-oh-my-the-evolution-of-asynchronicity-in-javascript\r\n[dynode]: https://github.com/Wantworthy/dynode\r\n[Q]: https://github.com/kriskowal/q\r\n\r\n[GetItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_GetItem.html\r\n[PutItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_PutItem.html\r\n[UpdateItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_UpdateItem.html\r\n[DeleteItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_DeleteItem.html\r\n[Scan]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_Scan.html\r\n[BatchWriteItem]: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_BatchWriteItem.html\r\n[winrt-async]: http://msdn.microsoft.com/en-us/library/windows/apps/hh464924.aspx\r\n","maintainers":[{"name":"domenic","email":"domenic@domenicdenicola.com"}],"time":{"modified":"2022-06-16T02:40:40.979Z","created":"2012-05-11T16:08:35.831Z","0.1.0":"2012-05-11T16:08:37.387Z","0.1.1":"2012-06-14T18:16:28.793Z","0.1.2":"2012-06-14T19:23:11.110Z","0.2.0":"2012-06-19T00:22:55.047Z","0.3.0":"2012-06-19T22:07:39.431Z","0.4.0":"2012-06-26T21:20:08.333Z","0.4.1":"2012-06-26T22:41:03.215Z","0.5.0":"2012-07-11T20:39:28.212Z","0.4.2":"2012-07-12T19:57:48.509Z","0.4.3":"2012-07-16T23:17:47.586Z"},"author":{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"},"repository":{"type":"git","url":"https://github.com/domenic/dynamo-as-promised"}}