{"_id":"@dynamo-dot-subscribe/observable-dynamo","_rev":"1-a7046982893efa432b1bd6abbcf810bf","name":"@dynamo-dot-subscribe/observable-dynamo","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@dynamo-dot-subscribe/observable-dynamo","author":{"name":"Joshua Hull","email":"josh.hull.w@gmail.com","url":"https://github.com/JoshuaHull"},"version":"1.0.0","main":"lib/index.js","scripts":{"build":"rimraf ./lib/ && tsc"},"dependencies":{"@aws-sdk/client-dynamodb":"^3.12.0","rxjs":"^6.6.7"},"devDependencies":{"@aws-sdk/types":"^3.12.0","@types/node":"^14.14.37","rimraf":"^3.0.2","typescript":"^4.1.3"},"description":"A very thin wrapper around the [AWS SDK v3 DynamoDB client](https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-dynamodb) which converts all of their commands to [Observables](https://rxjs-dev.firebaseapp.com/guide/observable). The API to use th","directories":{"lib":"lib"},"repository":{"type":"git","url":"git+https://github.com/JoshuaHull/dynamo-dot-subscribe.git"},"keywords":["DynamoDB","AWS","RXJS","Observable","Dynamo","Subscribe"],"license":"GPL-3.0","bugs":{"url":"https://github.com/JoshuaHull/dynamo-dot-subscribe/issues"},"homepage":"https://github.com/JoshuaHull/dynamo-dot-subscribe#readme","_id":"@dynamo-dot-subscribe/observable-dynamo@1.0.0","_nodeVersion":"15.2.0","_npmVersion":"7.0.8","dist":{"integrity":"sha512-EOj4Rq2wXNioYZ/1rS9V6jaKlEGr/dnubauwO7GF4y6vxbJAKEDqPGoDXY17+iegXyy1DFpOAdKHoalJC8pfeA==","shasum":"694f14f4f1cf2780e4fc1d23132145b57d0195ed","tarball":"https://registry.npmjs.org/@dynamo-dot-subscribe/observable-dynamo/-/observable-dynamo-1.0.0.tgz","fileCount":23,"unpackedSize":138174,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdtarCRA9TVsSAnZWagAA3S8P/0dM8uOcFQHTUqEsEk9R\n1VFV5XrJzSm9xk6W+NEyKk19rDPPfgSKe9KkCbm6Tpz/gfoGUnaYQ/uXSV1W\ny4b6PFvNx9ftFXZx2ApnrIb6lCUSoEtNA8IfGMhu9OQ4WlvwLYrbv6IihSGW\n+TltT9G/2PO3ksyM5JCOdYhtapBndWvg/wM9BGBN/zrnWXvkSTajxd10TDP3\ntO3yd4G7en6s/yeLqkvP90saliACICTiqXsEjnbo9utPq6Hsy6nYIa15UtlS\nHmiyIFhGDlRUD/0hBwVFbrAsxqAQ4QS/qzoT8Koaf/yVQXeMe08Ot+m/V07L\nPjxj6rUSB0aMc1N0fdtmWXucus3cCoHJQI/XaEaik0XiHYOLErwmW/d4iv/A\nuBOnqt5nq5kbulLobUNmu19U8bOiJyXr+B/69SIlRP0SBtmjDc3+YD+ZDOPx\njkEMtxPxEJvqgoZA/Q+VQ2iGh9ry/KInYcj21fxWdPkIkMbThRqf58f/imci\nbZRGx6eB2wEaLaRb8w11nio4osrlBXSDwxcihziaNnknpdFirX1bpQ9lcGI3\nvzn+owonuwrG7Gm3U+9qyaaOxniD+4TSv/ovpPF42gLxdAUFrvlLRU7IpfwV\nG3SRIkzKFyIHxJVo2Y2zC+s1B8h83sNlbGgRhiT+rXUlcooTf0OiInTRj/A9\ns97P\r\n=lBKn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaByQJFGMLLv5S/ufznOAOD4Da1aPORtPVXCCTjgH5RQIhAKYELG8jjx1y1ScTcT8YlhTuDSICWMo47RMVTRuNePAT"}]},"_npmUser":{"name":"joshuahull","email":"josh.hull.w@gmail.com"},"maintainers":[{"name":"joshuahull","email":"josh.hull.w@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/observable-dynamo_1.0.0_1618400939133_0.10593992839419863"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-14T11:48:58.871Z","1.0.0":"2021-04-14T11:48:59.365Z","modified":"2022-04-05T06:18:30.247Z"},"maintainers":[{"name":"joshuahull","email":"josh.hull.w@gmail.com"}],"description":"A very thin wrapper around the [AWS SDK v3 DynamoDB client](https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-dynamodb) which converts all of their commands to [Observables](https://rxjs-dev.firebaseapp.com/guide/observable). The API to use th","homepage":"https://github.com/JoshuaHull/dynamo-dot-subscribe#readme","keywords":["DynamoDB","AWS","RXJS","Observable","Dynamo","Subscribe"],"repository":{"type":"git","url":"git+https://github.com/JoshuaHull/dynamo-dot-subscribe.git"},"author":{"name":"Joshua Hull","email":"josh.hull.w@gmail.com","url":"https://github.com/JoshuaHull"},"bugs":{"url":"https://github.com/JoshuaHull/dynamo-dot-subscribe/issues"},"license":"GPL-3.0","readme":"# @dot-subscribe/observable-dynamo\r\n\r\nA very thin wrapper around the [AWS SDK v3 DynamoDB client](https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-dynamodb) which converts all of their commands to [Observables](https://rxjs-dev.firebaseapp.com/guide/observable). The API to use this package is identical to that of the original client - but wrapping with rxjs's `from()` is done for you.\r\n\r\n## Installation\r\n\r\n> npm install @dot-subscribe/observable-dynamo\r\n\r\n## Features\r\n\r\nThe entire range of DynamoDB commands is supported.  \r\nYou may create and list tables, put and scan items, etc.\r\n\r\n## Usage\r\n\r\nIf you're familiar with using the dynamo client from the [AWS SDK v3](https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-dynamodb), you will already know how to use this package.  \r\n\r\nHere's an example of retrieving an item from DynamoDB.  \r\n\r\n\r\n```ts\r\nimport { ObservableDynamoDB } from '@dynamo-dot-subscribe/observable-dynamo';\r\n\r\nlet client = new ObservableDynamoDB({\r\n  region: 'ap-southeast-2',\r\n  credentials: {\r\n    accessKeyId: 'your aws access key id',\r\n    secretAccessKey: 'your aws secret key'\r\n  },\r\n});\r\n\r\nclient.getItem({\r\n  TableName: 'table name',\r\n  Key: {\r\n    id: {\r\n      S: 'some id',\r\n    },\r\n  },\r\n}).subscribe(output => {\r\n  console.log(output.Item);\r\n});\r\n```\r\n\r\nYou may also use the send method directly.\r\n\r\n```ts\r\nimport { GetItemCommand } from '@aws-sdk/client-dynamodb';\r\n\r\nconst command = new GetItemCommand({\r\n  TableName: 'table name',\r\n  Key: {\r\n    id: {\r\n      S: 'some id',\r\n    },\r\n  },\r\n});\r\n\r\nclient.send(command).subscribe(output => {\r\n  console.log(output.Item);\r\n});\r\n```\r\n\r\n## But why did you make this?\r\n\r\nI primarily use this package in a small Angular project of mine that edits and displays DynamoDB tables/rows.  \r\nAngular recommends the use of Observables, so it made sense to abstract away the AWS SDK's use of promises.\r\n\r\n## License\r\n\r\nGPL 3.0 License\r\n\r\nObservableDynamoDB - An Observable DynamoDB Client\r\n\r\nCopyright (C) 2020 Joshua Hull\r\n\r\nThis program is free software: you can redistribute it and/or modify\r\nit under the terms of the GNU General Public License as published by\r\nthe Free Software Foundation, either version 3 of the License, or\r\n(at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful,\r\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\r\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\nGNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License\r\nalong with this program.  If not, see <http://www.gnu.org/licenses/>.\r\n","readmeFilename":"README.md"}