{"_id":"dynamo-types","_rev":"71-902afa1b382c6d2f779945f93083f1f2","name":"dynamo-types","description":"DynamoDB ORM for Typescript","dist-tags":{"latest":"2.13.3","canary":"2.9.0-beta.1"},"versions":{"1.0.0":{"name":"dynamo-types","version":"1.0.0","description":"DynamoDB ORM for Typescript","main":"index.js","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"7f46a32825b55b5343b0ed7edb9dde9fd58ac9fa","_id":"dynamo-types@1.0.0","_shasum":"5a03e2ddfb7143e8d184f0705da717e43760ab9d","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"5a03e2ddfb7143e8d184f0705da717e43760ab9d","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.0.0.tgz","integrity":"sha512-itzmqczC4+IPVzgLGAS1usxwH3VsHGxhOzpOhfy0U1Mg9neMgIx3Y0s+mlu78GyhpKEQoQmsdDUkbFg9Qk7RGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB1ztE0XAFGStjzjEhK/MEMdlBei8ZBCwlglDZjrGWkYAiAnnnySZJj34BCoBJ52+2BG4zDhs6Qrc7xUJNkYtfvXzQ=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.0.0.tgz_1501561706646_0.9711088079493493"},"directories":{}},"1.0.1":{"name":"dynamo-types","version":"1.0.1","description":"DynamoDB ORM for Typescript","main":"index.js","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"e30a71d27a9507c2c72fde11fb8671cec20be0aa","_id":"dynamo-types@1.0.1","_shasum":"0e789ac03a103793aa1e4ae8176710a66ab93fcb","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"0e789ac03a103793aa1e4ae8176710a66ab93fcb","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.0.1.tgz","integrity":"sha512-LhLU17Kz4La10x++1XC5h+MNrLSULNaG5Chan4plxuzaq/e2s+uGTplJDhxVqPq5LVacnvakigBKeGfDTLLuGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDx6wIt/zhev84VgTYH6idlrUuoHpcInLxChWRMwFMNfAiAW0Zk0HJ1vDJP3SoBQ50R8kZEjybAEY5iixpbIIetmsg=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.0.1.tgz_1501562242004_0.17779657430946827"},"directories":{}},"1.0.2":{"name":"dynamo-types","version":"1.0.2","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"665e31aa50851d0bb8571edbbf61bdf942c4e4fc","_id":"dynamo-types@1.0.2","_shasum":"daa43d547aea21d60690b66536bc668aacd8ff4b","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"daa43d547aea21d60690b66536bc668aacd8ff4b","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.0.2.tgz","integrity":"sha512-MF57wuiDH+4xM/cnAGHI6seTU2ik795CABpDQWOU19RbBnnec6XH8kfo9MpmFkdBqeiHcx67Ip+HtPYNuLoWBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDRZY8leWkp/5nlJPRweY5eAsl2Tqr6CNSX3RFINSutQIhAPNJU2A5ELh/uGekvjJ8bhpIMwh0pknY/vQuBNX2ApS6"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.0.2.tgz_1501562457019_0.5030470036435872"},"directories":{}},"1.0.3":{"name":"dynamo-types","version":"1.0.3","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"0e87d74954c8788966e0d7defd3920d95feeb8f2","_id":"dynamo-types@1.0.3","_shasum":"461f3a690c1e349914fb6580f27133bb4dc46982","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"461f3a690c1e349914fb6580f27133bb4dc46982","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.0.3.tgz","integrity":"sha512-xnB3LB11Z1MzZbwttl7J4dTjFQlaUn7HOUvx2hO8yfMsJSRawi2yo/F1a9FPwREt1FMyfP9hor1WWan/3UAc8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxwep41daGnmjU24eNReasrAxBB4kPDAalwf7aftUtDAIgNETnoUYcAV1UKWAEKe6UpEpJg05T3frdkN3MoDNX318="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.0.3.tgz_1501563169366_0.7626128199044615"},"directories":{}},"1.0.4":{"name":"dynamo-types","version":"1.0.4","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"1d758a8cbc06e1e55f7acdc429e3345db820a647","_id":"dynamo-types@1.0.4","_shasum":"81d6667ffa90dc753437ea7c3f44b772557d6c66","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"81d6667ffa90dc753437ea7c3f44b772557d6c66","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.0.4.tgz","integrity":"sha512-PYecgW1wP3NdnLpm7yPp9IlZtkth8Xb90G3fAkhhRmNT8PuSGGjrLWEHvATGTDuFqkLAEdwYYXXuBKDNnU+JLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0QK1y/gAWVxRh7NKvABL+jyi2ezREQIvebIrXJwr30QIgRWOAQ2V8B7w+duFiWa81QB/ZQXI9hqpUpSpKkRg6prw="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.0.4.tgz_1501566131506_0.6503270859830081"},"directories":{}},"1.0.5":{"name":"dynamo-types","version":"1.0.5","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"284351275245a24c56097903252efa3a26276497","_id":"dynamo-types@1.0.5","_shasum":"7e5490bf38f1dfa73d8e7fc1a7411500c32acb26","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"7e5490bf38f1dfa73d8e7fc1a7411500c32acb26","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.0.5.tgz","integrity":"sha512-RwLwEYWaVlRVmx1nqr6GwzIupPo02T17lJ2FCbu5/cRS2PezMhoQRAgeHz0AbyFnSQ6D5n3O2R+Z28JC55W5Jw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCt7u/0gXJ2jh6jry/E53+P3HGtgqZbrNsbbv4zoCuFpAIhAJs2cspIuvidCkeHrdFVw2XLspqx3wyTU/tbXl2hodZx"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.0.5.tgz_1501567134577_0.7661873064935207"},"directories":{}},"1.1.0":{"name":"dynamo-types","version":"1.1.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"6653d4f47ce9b61188a49be39a4a387ce2e694a0","_id":"dynamo-types@1.1.0","_shasum":"4763d2749814a096619ead33d91f97cb2e3c7e8b","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"4763d2749814a096619ead33d91f97cb2e3c7e8b","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.1.0.tgz","integrity":"sha512-COHXzX3dD50ewqCtYP7YsXr61zCRhHa0k2YpFMXfIpYXZU9Lsus/BbvDm6vF/Fz6ihCEGz4Dk1WlRXBTuciYjg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBQoSstYQ8ic/8QXg3/LRD8AMEEytwDk3ovSyADHsTkEAiEAsMl2Umvz9wzz6RQV0jrSjdSTvnfJchZ5nacNWmgU6Ck="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.1.0.tgz_1501641152978_0.3614553399384022"},"directories":{}},"1.2.0":{"name":"dynamo-types","version":"1.2.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"5ed3d125e31d4eacc85ee5bf29606d02a9cdf17c","_id":"dynamo-types@1.2.0","_shasum":"072e8b6e0c0b1dac1b220713880dd8cf18188cbd","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"072e8b6e0c0b1dac1b220713880dd8cf18188cbd","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.2.0.tgz","integrity":"sha512-gvhHK8wsokx8Bwbyrbhqz1TjB8wjPp5EkNwf6VjxoiQADUlzd/AXFdqaf5wk+LVtpeFS6C6Og40lck1+hGjqYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEeJTvEt7xx/6wv8K6oQ/rLFcfxfKh0896PQJ0O9q7LWAiEA5ZOAgROwkNBBoN/uXNBEBAl26BOw2gokkD37ffCX7Gs="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.2.0.tgz_1501649445344_0.8347817871253937"},"directories":{}},"1.3.0":{"name":"dynamo-types","version":"1.3.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"1e4692ea0b6ffba735efd83a86d6652b80ac109f","_id":"dynamo-types@1.3.0","_shasum":"5f80a0b92bbf5e169050409c2228f7946077fce4","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"5f80a0b92bbf5e169050409c2228f7946077fce4","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.3.0.tgz","integrity":"sha512-b8diiQukgHH8NmB72IdXanxaNVf3ziKpT6nB4yPWHywaPfZzimB2MSqwlR/9Y60yzLMhF6RBFJfkivmzgI6urg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDI09e8ycb6WZDz+I6W7oMi+JentNiVqd4JgAZuG21p0gIhAII8dvrF21XU3GhMwAcHGNt9IzcO+IFYCifRdO9tvKbk"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.3.0.tgz_1501655710689_0.9704915948677808"},"directories":{}},"1.4.0":{"name":"dynamo-types","version":"1.4.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"3bf98159b3eed4c5d05bf047235e5d558b4a6362","_id":"dynamo-types@1.4.0","_shasum":"784195190cc2441958dc3e44d87d310a5da53bcf","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"784195190cc2441958dc3e44d87d310a5da53bcf","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.4.0.tgz","integrity":"sha512-4OgbD0UFeZ3szh5CXO/ksSSXUHFzdPkDWwItD1XvZ/MBXG1avhW2yoHWWme5Yq4RBXAikdgiYD6oz6ixGjRHpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDEmN9A15V3TYYTrZuK6MyRKUILTEJq0LTU+5y328n3LAiAQK0mO/M4qci70pYaEuZL/vJudPQ82jgK/+eHdpMc1Lw=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.4.0.tgz_1501681379699_0.3851249641738832"},"directories":{}},"1.4.1":{"name":"dynamo-types","version":"1.4.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"fd07f21f43dbce656f37d68264e272bc713b86c6","_id":"dynamo-types@1.4.1","_shasum":"40905f39eeb417152fda0de695598b52fdca12df","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"40905f39eeb417152fda0de695598b52fdca12df","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.4.1.tgz","integrity":"sha512-MA6iE5/V11mvgvPSqKhqNaqrcz/LvO00+jkQh1q5l4h1N61lANsPSEW4FrW11K46N0xKiLBLje7zHZ7Y9cR/Ww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFFZMp3chWvshOqMYmIbTtSs6db7FX90iDaXVxzh31sYAiAl16c4S/4rPFKpESAyYK+uJyw9hpdUWw+/7T9rJMn4hQ=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.4.1.tgz_1501682848113_0.6993029455188662"},"directories":{}},"1.4.2":{"name":"dynamo-types","version":"1.4.2","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"fd07f21f43dbce656f37d68264e272bc713b86c6","_id":"dynamo-types@1.4.2","_shasum":"025cf8a98fb9ebe9c61e9fe59b538d3de2fb8a11","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"025cf8a98fb9ebe9c61e9fe59b538d3de2fb8a11","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.4.2.tgz","integrity":"sha512-oSASurvnWPaOVT1aK8/21ULycG6hv3PqjXBebOOXVV3h2C8ADbwcP+0idBLfV2oq2SdWKp7q9CuAIUrG9GSwxg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCV6c6ZlM6mREdOYjpYnp+qc1rCa0rs764l0dyPvMV2IQIhAOQRunKDO2mrwDqKx0mVao8lksmg7fm+h7MGiRbZ9PRG"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.4.2.tgz_1501683267991_0.9819564591161907"},"directories":{}},"1.4.3":{"name":"dynamo-types","version":"1.4.3","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"cf40ffdf08e504ef125d50e1381e6967dadb3140","_id":"dynamo-types@1.4.3","_shasum":"d3bdefaca9c004037bf25edf6be3ef15dc970c5a","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"d3bdefaca9c004037bf25edf6be3ef15dc970c5a","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.4.3.tgz","integrity":"sha512-65D9Llft599v9IlxzE8Wwj4BaptjdzaIDd5JFHe96RPMU1Y/NEn2bhwgZFUJl8KAGEgvx03I/GRJ9SmPrbjB/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+DmDxMZni4XxQHmXZZMpCLOB6qVLfFUk7wog3oTeCugIhAN1jLyid29MdHDl+XK3c3XbE6FBbcBHL97cPhYgREWi5"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.4.3.tgz_1501685308236_0.5342450442258269"},"directories":{}},"1.4.4":{"name":"dynamo-types","version":"1.4.4","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"a289f811edbc34f5d4c2aefed8113732bb5e44c9","_id":"dynamo-types@1.4.4","_shasum":"eda734d092a9c8eb1fd21894882144ecffae8f1a","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"eda734d092a9c8eb1fd21894882144ecffae8f1a","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.4.4.tgz","integrity":"sha512-/+bsctDpxizt4+V/P5ZPCkf5KTG8Yri1knzqynRAQhVzVKtq+74F1/6SqdWvEAp4S5FvRpz8VAN5bSPUIeIHSA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBvOAJ/qvJSGbRHVN2OrYHC7uqWCQpTbdrhuVMbKCeswIgcXWUlhsz5ttYeq35h9JNGjMxV41i1ME7ELg1h6iOD9w="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.4.4.tgz_1501725840716_0.21355837141163647"},"directories":{}},"1.4.5":{"name":"dynamo-types","version":"1.4.5","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"e963ffb1bda6737f6c3259fdad7427ff94a577c2","_id":"dynamo-types@1.4.5","_shasum":"640b66187362c026c04fedf1bc0be526b7c795f4","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"640b66187362c026c04fedf1bc0be526b7c795f4","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.4.5.tgz","integrity":"sha512-KUJkk3/Uz/UGj5ooSjr6acSI1uIdfYH+HTRaPH6CpvWEhUDAxoE0KhljiDymy60hjKDfzHgoLwAVJJZGE0ISIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5NgI9DzYvzh7pY+aKNOdidrgLBvmcoE8KKKs2pQd1YQIgW9eRRhoe4eBEnGni5Qkbk7jVtLl818N58+pKSl1VwkU="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.4.5.tgz_1501846733038_0.7849091682583094"},"directories":{}},"1.5.0":{"name":"dynamo-types","version":"1.5.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"3dcded1008930c979002d1c82a0f3e91293a9de5","_id":"dynamo-types@1.5.0","_shasum":"7c755ebca066d8320e9a343b2b8d9973eebed2d9","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"7c755ebca066d8320e9a343b2b8d9973eebed2d9","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.0.tgz","integrity":"sha512-gtlwpKtnla6AzkehLgW7ncFNmOckmE8Kh5D1XUo26QLcyfyeJRvOcedvgGIm7lC++Kvnr5MRMPjlKPCqeC7cxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC3aoEfYrJHqwVQKdPRW72AY75IdEfj1d13+qZoDJF89AiBvB/owxCQsFm+4zQk88OLwvLzDuGssVHrlxZfPxsnZfA=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.0.tgz_1501877427631_0.07761185895651579"},"directories":{}},"1.5.1":{"name":"dynamo-types","version":"1.5.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"b88ebae8b5969ed164b097a41a41686fd13165a3","_id":"dynamo-types@1.5.1","_shasum":"1c8e015cfa9cb035e11d2d19041e6a0838ffb18c","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"1c8e015cfa9cb035e11d2d19041e6a0838ffb18c","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.1.tgz","integrity":"sha512-oGXdBY0kXhUSzaaJLyjgSd85Jt+fzYAskPA0mcR6H8ttf84qUS8uHPGoEVakSIl5FnUvVfTkLJyGm8Mc0RUc7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm3TKvqylRii43cYBcjkkGpcTUNEDxGpNmLwSoe2WrsQIhAJ3ZkjX2EQgj4bK/mSVr4cTlzZcrSmxc5+jPdBOVYbBT"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.1.tgz_1502180268294_0.8914890917949378"},"directories":{}},"1.5.2":{"name":"dynamo-types","version":"1.5.2","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"8556db85f331a7bf777caeefceb65dc411fb3dbb","_id":"dynamo-types@1.5.2","_shasum":"1ab545c5d349e50e1f34d1425293f8c1775f015a","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"1ab545c5d349e50e1f34d1425293f8c1775f015a","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.2.tgz","integrity":"sha512-Ph2CyboLWlYq8yPXOxuqp1TkmbOd3BS3o4e1y7y2dLyPKApChWI8ygmHIrhuiRmyydADJ6E4Z21ZicCEqZNTIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMwj3guL28Sc+RbQVHl/3e1J9XWtwzsJpbKAwfWXTZVAIhAMG/13HTGe5VlBR/xFFmW6lCWUvhlTp2EiYB15rtCz+p"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.2.tgz_1502189467265_0.3516985927708447"},"directories":{}},"1.5.3":{"name":"dynamo-types","version":"1.5.3","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"2f9db7aebe06f9a5c999dba7567fb25934532d81","_id":"dynamo-types@1.5.3","_shasum":"8241a3f05bd06633b5838b53b1f23f29b3a7c823","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"8241a3f05bd06633b5838b53b1f23f29b3a7c823","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.3.tgz","integrity":"sha512-uRza1PKxMATSOMq4SErIdO5KIB3M0tzi6ujGKGEojO13M3ls85Uk1+BWZDCzAuAq577s3skIV6IrHYojNSJUkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8qyKBoj3jbylWRjIhAZTNPWdsbEq+sqfhHXgK0t8+YgIhAKDaXpIyWTqse9r1TZ6ib7IHvopNlvzrJavz4EgM/MXr"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.3.tgz_1502452621127_0.8301147983875126"},"directories":{}},"1.5.4":{"name":"dynamo-types","version":"1.5.4","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"2c7a4afd414342aabd1479898ef9197cc46c635c","_id":"dynamo-types@1.5.4","_shasum":"5b6a25e339f2adee1c01150a17d1670ada493a0d","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"5b6a25e339f2adee1c01150a17d1670ada493a0d","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.4.tgz","integrity":"sha512-85XkJseeYgRoU4elZSqXsnjS7iIfLd+dW7k9c4pehLaHgyvQDZkPGFfc3KA/0XGwN8dRE0TKn5OIiJWYoYM+ow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC75WnwNn/I93zenEhkCkbLZxpRh0ur/PaG8hhF5HA2hAiBtNxt9mDelfAQMHskBF2hRotGIjTS4jr2ApeUdx794vg=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.4.tgz_1502615334063_0.4061961944680661"},"directories":{}},"1.5.5":{"name":"dynamo-types","version":"1.5.5","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/aws-sdk":"^2.7.0","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"4503a5a98aa0cc53bf2d075c9a85243ffbb32e7d","_id":"dynamo-types@1.5.5","_shasum":"e932022045873ffacd1fc723fc76adae4990b380","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"e932022045873ffacd1fc723fc76adae4990b380","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.5.tgz","integrity":"sha512-RuLjFFU9AFqewuB+GqfdFac1zqmAyHgZBd1s0e8i/ToC0HYyxAmLVVMCe39hCWazaTJecSuJ5w99DNPGvAHetA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdxQHrm+x4V6j7gyLNMHRjHCgT9k760/NV5vjhgJ36wAIgaOjHsWadDZxOxYCFWJjZvKnbOE/DQaOpUAJxnwKF8jc="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.5.tgz_1502780775990_0.9534850297495723"},"directories":{}},"1.5.6":{"name":"dynamo-types","version":"1.5.6","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/aws-sdk":"^2.7.0","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"2.93.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"faa32195a13a6e4976439d85dd0d491e9a181a15","_id":"dynamo-types@1.5.6","_shasum":"16576557e2356de2081e017e7a661fc53ab6b3c1","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"16576557e2356de2081e017e7a661fc53ab6b3c1","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.6.tgz","integrity":"sha512-4qnM3twBUcje8tR85wnAgWGRmwCEYTnekJwdYtV1U1DJGc7n0nLznqBabOl7enTKs+8AYOeoJRndu2CKScXEsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGZPKOX3Wz5rs2KD5vcfPmIepdrY76ADD4N9vM7Yxch7AiBZ//QJ122tQPZgYk/djCaszzjut6BJ93eOVfYXm9TQzw=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.6.tgz_1502790739645_0.409204499097541"},"directories":{}},"1.5.7":{"name":"dynamo-types","version":"1.5.7","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.0"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"^2.99.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"acd2a63de230d504372f5632ee7718c1f7acf360","_id":"dynamo-types@1.5.7","_shasum":"fa5d1a2959c61d37c7badb724bf93848093be6db","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"fa5d1a2959c61d37c7badb724bf93848093be6db","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.7.tgz","integrity":"sha512-CZDqdfQOfIuFsHrJUpF77UT93xHytXrpxMOWx+rjRq2j7gS8J0ZLpXnIMXJ9RbFYY5zyeo79LvaBR6/UGlJslw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsYN10A/FKerJbf5HNvQeLEsiSFwMDnf8t+ZmrVMt7SwIgPZPi6iT3nbgfvQG/vMInq+nV7nktVtu9pDtzy7QS1qo="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.7.tgz_1502868336925_0.19330491474829614"},"directories":{}},"1.5.8":{"name":"dynamo-types","version":"1.5.8","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/aws-sdk":"^2.7.0","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"^2.99.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"a8165a7535962d680e390c56d14ee1835552defb","_id":"dynamo-types@1.5.8","_shasum":"b7cbbe3485ac60406f5a51d198c8ffdb162a0e79","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"b7cbbe3485ac60406f5a51d198c8ffdb162a0e79","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.8.tgz","integrity":"sha512-zhQG4+zl3RRWbRLNzJL1RLovEfIT4HInt2YTRUvJTRF+Y5tVHLOh+fVCLLPJ7vdJnlGwVD22fA6G/9/cx4IEhA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxBqwR/nlJXM6YvIHHVqZb6O6oBuWObaWwUQR5CPOTpQIgCvc98k94+nbBGDxGptlOyMaLHV9P7EtM/p3KX2NtXeg="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.8.tgz_1502953403805_0.6701789207290858"},"directories":{}},"1.5.9":{"name":"dynamo-types","version":"1.5.9","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/aws-sdk":"^2.7.0","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"^2.99.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"6c3d68b91eb91b599917ef1c21695d3bd88c45a3","_id":"dynamo-types@1.5.9","_shasum":"461851cf711cce5fb56fc38bb7c3a89729752549","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"461851cf711cce5fb56fc38bb7c3a89729752549","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.9.tgz","integrity":"sha512-PHBcaBPLXtmETBkhzkN+q+Q6uSm/NACNv56UAXc6GFgu9hxrHW0BrceHCxjBwe2K159LS4MMyq27I0n5dQIO9w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHesfU/PnilrxH0ig9kCYN9wTVRIsOIsYvAq4Hf1JkmYAiEAkJDPKRdWU8zgPkqg60ve9/zwqHQKpnhW1i9+gUFJq/4="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.9.tgz_1503985457555_0.6374471690505743"},"directories":{}},"1.5.10":{"name":"dynamo-types","version":"1.5.10","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/aws-sdk":"^2.7.0","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"^2.99.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"daa31a689c85105f71195d12da49e11bac598f05","_id":"dynamo-types@1.5.10","_shasum":"acd05803c1ad91de01a852115945d5cbed62fb8e","_from":".","_npmVersion":"2.15.12","_nodeVersion":"7.4.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"acd05803c1ad91de01a852115945d5cbed62fb8e","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.10.tgz","integrity":"sha512-gduXWcjF/brTyJdhB3t0hlIBLk4FbCStre3xaMMuEfdB/gNfOEj79vCY9oSMb+45+C4W8aPdtkHv/klZECH1Zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID7zTLS06WIH5CGGp5W0fstGPyWGUzsx4Je0dBoPvioUAiEAlSGqmloa0d0/aMHK+tbouRp0Gwd3SZbDWoHocbv04tA="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.10.tgz_1504846895766_0.5041249019559473"},"directories":{}},"1.5.11":{"name":"dynamo-types","version":"1.5.11","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/aws-sdk":"^2.7.0","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"^2.99.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"2f8f162a6467c1fd70d9ecaf1ac54fb59c4b422a","_id":"dynamo-types@1.5.11","_shasum":"53bc533c1fc03529a2f2ac29c8eb33addd5a9825","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.3","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"53bc533c1fc03529a2f2ac29c8eb33addd5a9825","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.11.tgz","integrity":"sha512-aHqSpncnSFEcPXwrXN852N7aOhfwXN9/ueEdVOnXpwUrY4240uMJ9Wd5PQrAbMDBcAQY0wl20PdgrM4nL9Tx+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB6kww7rX7ju1d/qbCaBmal6kWmaQYJqUmGMA3O9syPLAiEA8EhV0gVgoeu4YKLYELOCMIXVnqD5zedDXeSCDs6VTa4="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.11.tgz_1505355549790_0.9373005437664688"},"directories":{}},"1.5.12":{"name":"dynamo-types","version":"1.5.12","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/aws-sdk":"^2.7.0","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"^2.99.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"424f14b8a421da21c71abaa7f18922b747c2f20f","_id":"dynamo-types@1.5.12","_shasum":"e693ef119e03b3b25950fce3c68cf357b9a050d3","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.3","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"e693ef119e03b3b25950fce3c68cf357b9a050d3","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.12.tgz","integrity":"sha512-ouSIgy/r4ulU8/0CHM+QVJjxhbHPWh1Fc0uNeMGtTXJuga5SV/jHpq1QyVmKgpYPB2ho+H7JPbqDwvivfbt7jA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGR7mYpZd+oOCeiFO1NH9I8hLmh3YC8oKtxPO99g7kWcAiEA0O+BnnfzrxEJu6mA0rViuj8E2CV8dEre0Ndg9tZ/blA="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.12.tgz_1505358922997_0.09920519287697971"},"directories":{}},"1.5.13-beta.0":{"name":"dynamo-types","version":"1.5.13-beta.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/aws-sdk":"^2.7.0","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"^2.99.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"74ce0673eac3f9f34ee7b0e6814adce0ea01483d","_id":"dynamo-types@1.5.13-beta.0","_shasum":"b8b22703203312e358c496a4328f27e282133c2d","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.1.2","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"b8b22703203312e358c496a4328f27e282133c2d","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-1.5.13-beta.0.tgz","integrity":"sha512-DIPRa9ZejZWrbbHmBB98AGCG+BXm3zftI1OVwSnOsWAmBXxmbsgQlxbOCrmuCJgxVmz3I2mDdHjyZ1SP9egrdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwfI9LSTkrsjm/BV8QIVSaLSAmIU48f/FEA0z79azp3gIhAJ3gaVEo9JYosaNH5M9wY84jbq/8Dw6eRAyIqv/HkXHY"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-1.5.13-beta.0.tgz_1508486427656_0.9162105659488589"},"directories":{}},"2.0.0":{"name":"dynamo-types","version":"2.0.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/aws-sdk":"^2.7.0","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":"^2.99.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"f2cd22b68abdd92b0b40c7edfeff8a18234fe8b3","_id":"dynamo-types@2.0.0","_shasum":"d0a4e5f3e2746e965b29e6f6a8ab6febe4087ff4","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.4","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"d0a4e5f3e2746e965b29e6f6a8ab6febe4087ff4","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.0.0.tgz","integrity":"sha512-/IkoPacAWAQWE0EgAyHa776bh57ke44BeI/VS2Wjn71cCoqSN/bFhK27aovrvK/QEl2Hiz6zq754E1JjBBAIMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC09jE/EcVFkZayv4ByLcrNvLJZaS0c7zJcNir+qhfFvAIhANaptSZdHQB82AVqVDi17WzfMcykvyKCGoO8AN3P1p9j"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-2.0.0.tgz_1508488378824_0.7400991099420935"},"directories":{}},"2.1.0":{"name":"dynamo-types","version":"2.1.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"953ea7147ae393b540ea5a2e599ebfadb6ef859f","_id":"dynamo-types@2.1.0","_shasum":"a99b910d77299a545c60d1889b78f3b50ff17828","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.7.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"a99b910d77299a545c60d1889b78f3b50ff17828","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.1.0.tgz","integrity":"sha512-PpjGwwcVHkqvkk1v2W9H2qu+2TCHGzM++F3X3e7Dbhhx1jKJbTf7lZkYSDi7KyuEsMrWe865ISZrRe4pdDKoQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWrArMa3b73qDjQalKh27PZh0u8wt1KfrbBah+s9h2xgIgED038f12AqwnxQRTm+ivrRT8eatftzCNK1Q/Vqiwr7I="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-2.1.0.tgz_1512092748078_0.49104703194461763"},"directories":{}},"2.2.0":{"name":"dynamo-types","version":"2.2.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"0a62e184e44c2278ae8d257a183cb14814c7e300","_id":"dynamo-types@2.2.0","_shasum":"7b9bf9572df4dd453c50bba01c9c96eab6d66a42","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.3.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"7b9bf9572df4dd453c50bba01c9c96eab6d66a42","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.2.0.tgz","integrity":"sha512-LmQ5V2I9zOU9m0ehfULfz7JQEq7wwKHKAsXo2hMZ80yju5/xEFjIcZlq0OclBrKeGFQOcAX1Km8qHI2SrJMJgg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHZkynuwTSELzG00jMDpl1bjdCJEX7+HwV62tJzVGyebAiEAyP91+W0VI+NXS7MByhPthNR8UZG6BGgGjKUsZVlKr/Q="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-2.2.0.tgz_1513220785540_0.9687440984416753"},"directories":{}},"2.3.0-beta.0":{"name":"dynamo-types","version":"2.3.0-beta.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.0.1","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"b30c4336348405bfd3da66b78a4dcdd1053c58aa","_id":"dynamo-types@2.3.0-beta.0","_shasum":"0dfe84b2e4d3c4be5d02a5183acebf8184b1a687","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.3.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"0dfe84b2e4d3c4be5d02a5183acebf8184b1a687","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.3.0-beta.0.tgz","integrity":"sha512-f5sbFjKRaGhLmtoXrfkBJZRQOro9v+45C1pY6aVsaTrF/v7P17mi3OYKQLVrnDIPhr5VqnWN0NTMTx+35Y8etQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF2VXTs3Fo5fnZRzHZMk1KTypr//t3wB58Gl98Lt/4jIAiA1wyFd25pqJdxBUYAzdvy/5ChgVHD0gLRO3jYtRamEWg=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-2.3.0-beta.0.tgz_1513578479012_0.5405564066022635"},"directories":{}},"2.3.0-beta.1":{"name":"dynamo-types","version":"2.3.0-beta.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.0.1","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"0377fa3d843b8b2685d1c66a6867f901846bf90b","_id":"dynamo-types@2.3.0-beta.1","_shasum":"7b2c1b752e63936abb6c27346560132708de0bc4","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.3.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"7b2c1b752e63936abb6c27346560132708de0bc4","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.3.0-beta.1.tgz","integrity":"sha512-rYHCrLoEroeZA1OErwyKag++FrJx5ks1VGBLPgdqru5j/r/2PukzIUi1BzC6rIom3NFcCjZvmafGZ+XJfmN6YA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5FlcV4Q8OKF2Tz0BjJM5dMCqFIujuyMSp9kCOstgtIwIhANZGVeXu0foQTtjB5Tne3w0ybIojBf1IAvU2iBDnOaif"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-2.3.0-beta.1.tgz_1513578957134_0.531951377633959"},"directories":{}},"2.3.0":{"name":"dynamo-types","version":"2.3.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.0.1","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"e0391c1c171638d06f9262446d8cbcb14a573cc8","_id":"dynamo-types@2.3.0","_shasum":"5a612b7e973369bc073ad6e48c43d35910391506","_from":".","_npmVersion":"2.15.12","_nodeVersion":"6.12.2","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"5a612b7e973369bc073ad6e48c43d35910391506","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.3.0.tgz","integrity":"sha512-RPzVMsvfNQNOdgWQCQ071tYFAY1vxbi4LhyI3lorl0OJGaJCHe0aWR6PxNawgp7BXzTP61dLg39sQbr436LwYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICmaWybPh8wan6p9kci5WU0O8Pf/tnu/1Mh0YM4Tsu0QAiAmIKgsQuayADdMZgitKFDo3FBbEVHk3g+TBmSZW0XLEQ=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-2.3.0.tgz_1514209914248_0.7684277575463057"},"directories":{}},"2.3.1":{"name":"dynamo-types","version":"2.3.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.0.1","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"24563a10501e3df2ea680c004d4fe88768ce9dfc","_id":"dynamo-types@2.3.1","_shasum":"a73cdc1f0aa53046700505341ba116b11aa5f8fe","_from":".","_npmVersion":"2.15.12","_nodeVersion":"6.12.3","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"a73cdc1f0aa53046700505341ba116b11aa5f8fe","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.3.1.tgz","integrity":"sha512-trA4YitDrTH9T7Qq9ykN0FkVTFIaNw1Nz8BXZU58yWEBgvVxFTnvJlxQRqtxsfk7ChpL0cg4YrYuaPG3FUVP/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFBPgQOn9CarkzMZB1zMXK3ppljjW+ni3u66V0vp+alQIhAKqyz899BfvUNkrhmPSIcQIYXLNy5XH6D8hY7EjWfo8M"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-2.3.1.tgz_1516694309332_0.8767437813803554"},"directories":{}},"2.3.2":{"name":"dynamo-types","version":"2.3.2","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.0.1","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"c9facb49c3ed245406d6bd3291e5e24d9ad7dbf9","_id":"dynamo-types@2.3.2","_shasum":"3b22afdc9ff5c8a4253ab9f7a021bd47e61f8363","_from":".","_npmVersion":"2.15.12","_nodeVersion":"6.12.3","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"3b22afdc9ff5c8a4253ab9f7a021bd47e61f8363","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.3.2.tgz","integrity":"sha512-xx6Gx0NA2PzMuI1WmR7JmYPbNJqzFfN+BltHx1ZwyVoDuTlcRA3D6nJY+/v4FPv+9LSACLL/wzoiEXIZxphPTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCl+BYTE6J+mjsEqOf3qcwuRYLN69uXZlI/JRSgXvCw2QIhAL03qtJtlC7FEQ/K2ssPtgklILHYxCre4EDuE/96POcD"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types-2.3.2.tgz_1516776144342_0.061150190187618136"},"directories":{}},"2.3.3":{"name":"dynamo-types","version":"2.3.3","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.0.1","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"69e7598cbc3e85591831983b10f251978c052618","_id":"dynamo-types@2.3.3","_shasum":"50bf6930fc37e537113e94e08251f858fe2d0a1e","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.9.1","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"50bf6930fc37e537113e94e08251f858fe2d0a1e","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.3.3.tgz","fileCount":194,"unpackedSize":371951,"integrity":"sha512-uZKrjKybn9OAsTcIG1vuTxlVa/dqdCEHBAk3iYi/jBruLD60x0m+ECh1y/4sztSYjM+sUV4xMRSgPt/n4c6rAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA04WMSA/Y/htaW+FwxcVXRP77l/nvH4/l+DdrImn5MzAiEAs5xmN4UvtePPMbD2xUxqwKXqjuLlbuK7IuUMGzNLT+o="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.3.3_1519782577930_0.3047214238692839"},"_hasShrinkwrap":false},"2.4.0":{"name":"dynamo-types","version":"2.4.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.1","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"41cfcabe87036320d6bcd7bdf34977f8eb724c4d","_id":"dynamo-types@2.4.0","_shasum":"b3b43b4cde89d8ac46c2aad5c0032b1b901332f8","_from":".","_npmVersion":"2.15.12","_nodeVersion":"6.14.1","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"b3b43b4cde89d8ac46c2aad5c0032b1b901332f8","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.4.0.tgz","fileCount":194,"unpackedSize":372153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3bN6CRA9TVsSAnZWagAAxl4P/1S8zMqrRSL3/CJY4yLp\naZ7jVanoNFfbfZm25+71HPerFBWMXRtJnSSS0meLxkH+auBq8IF6F2zFJzJj\ncWk0F8rQ8lX9wShlolcPaJoNypXbySV0Ww5FmOcAokPy5z8Vti4GsykCoHa5\nxXfEQpqMriVoDH4/pggNP3QiYbYKA17CI0n6Q3qJWU0+Bj97yZhkOLygo+ui\n/mXXk9XFfLevUb4fM+7eRwVBN14lLoet98KNx9dAPlhmQHXb4EBbW41d5nq/\nP2FQKMpyoiYRcZFzJ9TmxP3IZnoHDLARdDaPwxiozs4TQ3k5Do+UmUDwY207\nbKXk8xSoUkpeN+GQ3z+eGheCgayfCN2dDVBQjbSun9SYtaBpCdXKdhDPuDz6\npIjEuqAyNh24fSq/aYMlAcjc2iYkTD1YNxtXyHd/Cv/5UUgPwv4nLM+q+ayM\nwVy+KAbSX/FveAMf28jwhx6y1eHT3RZNLjib+qRhBY66xSqXkQeouZUHHzUd\nRNvUQmgeWLh97ufzeg/2U8gaJCrbf6LWyxjeACsXDDIfGNE33QH5/wamsp+V\nx8n+ElahgQ3Kf3ZzMfBFCvKKsmrGLfINem98Rgs18wFe1I5ugKsDLRHRlqDW\nl7A6TrI64aeMc2u6GqP/eci0HMSzDo5TDmai0zrna7WYxci8j8zy6g/pzudE\n628H\r\n=tCnV\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-us6tafu1XTo9PJRy5FSxMzM+2SsrEXn+sUw3b2hQmokjE7M3yHp5NMwIYwVI35xQospjibxaUiMFPOXpl1y3DQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCHzFYijoImACt79OlrmqcSl6ewmIhKEb+T3TUd5rqj5oCIDE070sB1DNiOA5MJ1+DfJD8Tl12YqH+BK4eNvMi79mb"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.4.0_1524478840822_0.02552532118617168"},"_hasShrinkwrap":false},"2.4.1":{"name":"dynamo-types","version":"2.4.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.1","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"1b7778ffee878016ce8322e9b15d50fefdc53b7e","_id":"dynamo-types@2.4.1","_shasum":"b76e557a32665b5396ab37c5d7b7af985698db8f","_from":".","_npmVersion":"2.15.12","_nodeVersion":"6.14.1","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"b76e557a32665b5396ab37c5d7b7af985698db8f","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.4.1.tgz","fileCount":194,"unpackedSize":372381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3v7+CRA9TVsSAnZWagAAbY8P/RwhQfN5LAxTev23n9Dv\nuC5W4BPbdXyEByfD1hvIgj5JHmGapl5R05W7RdWx8qszw6SxM5VTat0w6/33\nInBBfzo3Xrm9N6S33b/aLen+qbf7CQtztkDC6ZqLYTa5nZ3X3PdGqBUZtnLR\nIEGxf9YW1hvFS2klQlL2n5FxWP/JDX8CiFyg6h1jASlevlZ1aooMeql+HXuw\nKZ2w1BfFB5KQmFNETNM17YDVQ5hCLHV3tq640/zeAvDJxzfaYCrhzK8nelio\nneD08F0Q4yW8YtKzwH//YAaopv1UC5RA/rbWHLwkUNQn8OHfqSn1edK/qEBu\ncsYNbk+ahbiwvZ9c1PclZeo/V3Wg23y0RRySS6GtynubjIqNlFOAeG1Gwnh9\n7rtL76XGaipRQANjkiWmJIcrcjAK2qr5PohOVhqZPy00JajgoRH4qqX6yxjV\nu2fhE+f5ErTkc1ikhmbIC5kC2LPItZ3e7oiLEDdpMQonyBjpTHjESB89SKzp\nwcWJ4Lb3fXk49n53ZXYecJxhAahYQK4+ovqMW3RsvVIBBa4VeT7tr9s7zAB5\ngCvtJLZlLGbUEwKrtbr2u9wvO4zsKksIHYUAJbyW/PEVjpVDE+ME+LrwM4+L\nHnrN4jkNyencZ5vFdh2r1l70YJDh8+x5HuWUhmIqNx0WQWuooqUANZRLKoif\nEYul\r\n=COFo\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-LI4vFswOH7Nh3xvkPyHgnvnpVfYNj0RZ1jHBGwJo7uwu4eXBxRgJeWjGTrS7YFsTcBZ/FyOp3l+99UCJiqlxaw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAGsQcNvAkPmKVg929yIOwMc2PLppeeqGlBp7Ala8xjfAiEAk7zYjHLEx8lD5R92VWEPdKnD4J1JJNnwd/OsEP75Dz4="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.4.1_1524563709477_0.4313964933431391"},"_hasShrinkwrap":false},"2.5.0":{"name":"dynamo-types","version":"2.5.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.1","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"53a8478a637c68556ef99183100783ade1b05939","_id":"dynamo-types@2.5.0","_shasum":"e2996ed9ba10dc021f83e751bfb855ea959b33dd","_from":".","_npmVersion":"2.15.12","_nodeVersion":"6.14.2","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"e2996ed9ba10dc021f83e751bfb855ea959b33dd","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.5.0.tgz","fileCount":194,"unpackedSize":372682,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8tNNCRA9TVsSAnZWagAA3dsQAJPKPFtfT+hJ+Dqbg+k7\nc+R7CcCalDzNgBlR7W5QwJl4KZWaQKrfiwcTfDVsCqqfoHOyUDMUcz9pKRjB\nhKutai+ofWCGw5uaLFswkdjX3e+KpYrNbbirTTJzaRkkJI+twPANekNad+SH\noC3xMYztCIjHLnjy/h47YEkwKgsMFqukF4ADwAPSSmTzctoZAv/YB1WhLeAc\nUQ3W0Lh9Jjk3c6k+Ne8AIrmzCyilSB9HdfSeDvoZTPWwy8ONAIy429MEkGWP\norZ6cF7Z8yvihPnTOgVS6r6YPJnW3w3L1UG/Gn6LuPnZFSc8/FCyJY/pm1Vx\nN8zvtbbXSn/zZ5GIF/0N3znPzyt0DXL4SUPzIiIGsNHXCpU0miLpQHixPFDD\nKANZUL3Vcn9CasBo8sgGjyvoXahzxw9jsDOR+CdZjnDID89i5FqKQvIN8ppa\nd2rsizIAeofhjSshWi5Pl4oSOkvtUUfslpvKwSK9nQ93lJA09AHkezWHar/Q\nbC2xeNog0B5q1O027lm7j4uUeO0I1U2eZpwJlkaBCl8xR9699iQLSs4GR9FF\n7n3ARI5i4waw3khpJJIX+puEcMOAy63KBpWicKQ2cLKkF+rT0brzUKjZXA++\nA0IyAj8guNpLxyvIyxl3BD5WU/m3f0aO7htI2BKw8FZytp7tpyLYJD2iC8ZP\nd8XS\r\n=H8Uk\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-biuZAi7BHW/MNYy698VLdNW144PAZLRBkjAoOJz/XENeenkgI4UU4sIz/WVlVl3lu/X9NeufmXb9iDlxKL6glw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDv59fVCp6gCbxmgrleq+Kn2a0lrNmV87P1JzgSGkOa/wIhAMRgbmVAKVGWBZ3cCckoqyxmhQxXj9orDnZeViQTLkgm"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.5.0_1525863244480_0.6432872512883243"},"_hasShrinkwrap":false},"2.4.2-beta.0":{"name":"dynamo-types","version":"2.4.2-beta.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.2","aws-sdk":"^2.238.1","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"readme":"[![Travis Build Status](https://travis-ci.org/balmbees/dynamo-typeorm.svg?branch=master)](https://travis-ci.org/breath103/dynamo-typeorm)\n[![npm version](https://badge.fury.io/js/dynamo-types.svg)](https://badge.fury.io/js/dynamo-types)\n\n# DynamoTypes\nTypescript ORM of DynamoDB, written from scratch to fully support DynamoDB. Powering [Vingle](https://www.vingle.net)\n\n## Features\n1. Serialize / Deserialize DynamoDB record -> TS class object based on annotations.\n2. Table Configurations\n   - CreateTable\n     - Create secondary indexes (Both local / global)\n     - Configure TTL\n   - DropTable\n3. PrimaryKey\n   - FullPrimaryKey (Hash, Range)\n   - HashPrimaryKey (Hash)\n4. Indexes\n   - Local, both hash and range key\n   - Global, both hash and range key\n5. Attribute\n   - Type Support (Number / String / Boolean / Array / Object / Buffer)\n   - TimeToLive\n6. DAX Support\n   - You can specify this by setting the connection of table. \n7. Optimized aws-sdk usage\n   - aws-sdk has a serious problem of not reusing HTTP connection towards DynamoDB by default. check [this issue](https://github.com/aws/aws-sdk-js/issues/900) this could cause unbearable latency sometimes with showing > 100ms. this is more of an issue of NodeJS HTTP module but nevertheless, this is optimized as a default. [Code](https://github.com/balmbees/dynamo-typeorm/blob/master/src/connections/dynamodb_connection.ts#L37)\n8. AWS X-Ray support\n   - X-Ray is serverless distributed tracing service. In order to log DynamoDB transaction into it, you also need to some sort of risk monkey-patching. Here you can turn it on by setting [`process.env.ENABLE_XRAY = \"true\"`](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L9)\n9. Testing\n   - You can change the endpoint of DynamoDB by setting the environment variable or setting new connection, So you can install [local-dynamo](https://www.npmjs.com/package/local-dynamo) locally at setup endpoint to local. refer package.json for the detailed how-to\n\nAlso, dynamo-types let you overcome several limits that DynamoDB or the aws-sdk has.\n\n1. BatchWrite (batchDelete / batchPut) has a limit of a maximum of 25 items per request.\n   - dynamo-typeorm automatically splits given items into chunks of 25 and sends requests in parallel\n2. BatchGet has a limit of a maximum of 100 items per requests\n   - dynamo-typeorm automatically splits given keys to chunks of 100 and sends requests in parallel\n3. BatchGet doesn't keep the order of items as it is in input keys,\n   - dynamo-typeorm sort return items based on input keys\n4. BatchGet doesn't handle \"missing items\".\n   - dynamo-typeorm has \"BatchGet\" / \"BatchGetFull\" \n     - BatchGet  \n        order items follow to keys, missing items are just missing. return type Promise<Array<Item>>  \n        so keys.legnth !== items.keys in this case  \n     - BatchGetFull   \n        order items follow to keys, fill missing items with \"null\". return type Promise<Array<Item | null>>  \n        so keys.length === items.keys always true  \n\nAnd most importantly, all of those queries regardless of whether it's from index or primary key, strongly typed. I mean what's the point of using typescript if not anyway?\n\n## Usage\n```typescript\n  @Decorator.Table({ name: \"prod-Card\" })\n  class Card extends Table {\n    @Decorator.Attribute()\n    public id: number;\n\n    @Decorator.Attribute()\n    public title: string;\n\n    @Decorator.Attribute({ timeToLive: true })\n    public expiresAt: number;\n\n    @Decorator.FullPrimaryKey('id', 'title')\n    static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n    @Decorator.Writer()\n    static readonly writer: Query.Writer<Card>;\n  }\n\n  // Create Table At DynamoDB\n  await Card.createTable();\n\n  // Drop Table At DynamoDB\n  await Card.dropTable();\n\n\n  // Creating Record\n  const card = new Card();\n  card.id = 100;\n  card.title = \"Title\";\n  //\n  await Card.writer.put(card);\n  // OR just\n  await card.save();\n\n  // Batch Put\n  await Card.writer.batchPut([\n    new Card(),\n    new Card()\n  ]);\n\n  // Get Record\n  await Card.primaryKey.get(100, \"Title\");\n\n  // BatchGet\n  // This array is strongly typed such as Array<[number, string]> so don't worry.\n  await Card.primaryKey.batchGet([\n    [100, \"Title\"],\n    [200, \"Title2\"]\n  ])\n\n  // Query\n  // Range key opreations are stringly typed. ([\">=\", T] | [\"=\", T] ...)\n  await Card.primaryKey.query({\n    hash: 100,\n    range: [\">=\", \"Title\"]\n  })\n\n  // Delete record\n  await card.delete()\n\n```\n\n\n```typescript\nimport {\n  Config,\n  Decorator,\n  Query,\n  Table,\n} from \"dynamo-types\";\n\n@Decorator.Table({ name: `table_name` })\nexport class CardStat extends Table {\n  @Decorator.HashPrimaryKey(\"card_id\")\n  public static readonly primaryKey: Query.HashPrimaryKey<CardStat, number>;\n\n  @Decorator.Writer()\n  public static readonly writer: Query.Writer<CardStat>;\n\n  @Decorator.Attribute({ name: \"card_id\" })\n  public cardId: number;\n\n  @Decorator.Attribute({ name: \"impressions_count\" })\n  public impressionsCount: number = 0;\n\n  @Decorator.Attribute({ name: \"shares\" })\n  public shares: number = 0;\n}\n```\n\n### TS Compiler Setting\nDynamoTypes utilize [reflect-metadata](https://github.com/rbuckton/reflect-metadata) to read metadata (usually type of variables) from Typescript code. to do so, you must enable those options.\n\n```\n{\n    \"compilerOptions\": {\n        // other options..\n        //\n        \"experimentalDecorators\": true, // required\n        \"emitDecoratorMetadata\": true // required\n    }\n}\n```\n\n### Connection\nDynamoDB supports 2 different kinds of connections. Plain connections to DynamoDB through HTTP, or through DAX.\ndynamo-typeorm supports this by letting you create a separate connection for each table.\n\n```typescript\n@Decorator.Table({ name: \"prod-Card1\", connection: new DAXConnection({ endpoints: [\"dax-domain:8892\"] }) })\nclass Card extends Table {\n  @AttributeDecorator()\n  public id: number;\n\n  @AttributeDecorator()\n  public title: string;\n\n  @AttributeDecorator({ name: \"complicated_field\"})\n  public complicatedField: string;\n\n  @FullPrimaryKeyDecorator('id', 'title')\n  static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n  @WriterDecorator()\n  static readonly writer: Query.Writer<Card>;\n}\n```\n\nThen any query that is sent to the Card table will be sent through DAXConnection.\n\nIf you don't specify any connection, it automatically uses [default connection](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L5), which is [DynamoDBConnection](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/connections/dynamodb_connection.ts).\n","readmeFilename":"readme.md","gitHead":"bbddbda92ec1d05bfcfe743b1b867217f2c43718","_id":"dynamo-types@2.4.2-beta.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.3","_npmUser":{"name":"mooyoul","email":"mooyoul@gmail.com"},"dist":{"integrity":"sha512-fabDBh6VLgUT8LXc+73tIDNl+X2H2fYZ7UPpPaX3+3CdeoesMTG+YLXF35ICabMGk4qrYsVoG74LTVJPYbVPbw==","shasum":"1a4ecec50dc91835f221fa1e919dcb00e6d7d84e","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.4.2-beta.0.tgz","fileCount":208,"unpackedSize":335887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+QGVCRA9TVsSAnZWagAAkjgP/iDksSYx1dRPQ8BUESp/\nNsyXzqG+GB54laBaegFuR/MI1bhWJjv3vIuswbbqSTLCVtBOLbjWZWS2ERj/\nYPpklqaQVpF80crLRSDbfWbCBlF4prUDqe7BzVGS/QF6h+p1599zcEpbq6tA\nbRD6q/Nf76nt0GglByPkzkn6XLsHq4kFDacqKgf0xz+uRWodROxOmD8OX/H8\nNLs7ZxvkgjNswhfxlTkoM/DRjvBBjL7s5cLhtXFZEZoa2W3CpqLVrzRJO4u+\nT6u3CqyvT+e+wUFcV2zkRK6fEqfQLTPPHYpuabGv2ch08MjXidbAwetF5iU5\no5fQ4BDPErJRXF6rGUBgX2UnP//bWZyTvzJC2HSyS8QjyrDEQFLNnwI7CpJc\nac4RNcYkQnAD5Tz4ToEK7E96Pw7FMXleu6iEXTc60F3rXcbDVAfFvYjOZu2X\nGMz9uP7MuraTL5FCMut3ojGaEIzc14XhpWlgwX+5BL8DLLEAaq4nLqar6tON\ntlF7XoSeYFkY27+aKZorbZQHubqKf6YIqH/X62EQMxUMAoSgake4Xgis3Adv\njEYnfmYatLGdz2kj9Fhjp1SXA7011vN0nlrNiAbUuuC73C8qg3flqwWlW4ar\nh91Bh71gHBTujXCCsQ2XWfwIXH4OxmdS65AVo95ENib46NnBFIPvCBAeOAyW\nQv45\r\n=6edQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDVN586Mbu47yILyWMPCv7g2PX5XijUPfQkW0xiQbQB8AiEAy4EQWGcj1H313/qhyvv4oZL4Z7EHwjgBPkgJzk8fZAI="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.4.2-beta.0_1526268308947_0.017341821431762217"},"_hasShrinkwrap":false},"2.4.2-beta.1":{"name":"dynamo-types","version":"2.4.2-beta.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.1","aws-sdk":"^2.238.1","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"readme":"[![Travis Build Status](https://travis-ci.org/balmbees/dynamo-typeorm.svg?branch=master)](https://travis-ci.org/breath103/dynamo-typeorm)\n[![npm version](https://badge.fury.io/js/dynamo-types.svg)](https://badge.fury.io/js/dynamo-types)\n\n# DynamoTypes\nTypescript ORM of DynamoDB, written from scratch to fully support DynamoDB. Powering [Vingle](https://www.vingle.net)\n\n## Features\n1. Serialize / Deserialize DynamoDB record -> TS class object based on annotations.\n2. Table Configurations\n   - CreateTable\n     - Create secondary indexes (Both local / global)\n     - Configure TTL\n   - DropTable\n3. PrimaryKey\n   - FullPrimaryKey (Hash, Range)\n   - HashPrimaryKey (Hash)\n4. Indexes\n   - Local, both hash and range key\n   - Global, both hash and range key\n5. Attribute\n   - Type Support (Number / String / Boolean / Array / Object / Buffer)\n   - TimeToLive\n6. DAX Support\n   - You can specify this by setting the connection of table. \n7. Optimized aws-sdk usage\n   - aws-sdk has a serious problem of not reusing HTTP connection towards DynamoDB by default. check [this issue](https://github.com/aws/aws-sdk-js/issues/900) this could cause unbearable latency sometimes with showing > 100ms. this is more of an issue of NodeJS HTTP module but nevertheless, this is optimized as a default. [Code](https://github.com/balmbees/dynamo-typeorm/blob/master/src/connections/dynamodb_connection.ts#L37)\n8. AWS X-Ray support\n   - X-Ray is serverless distributed tracing service. In order to log DynamoDB transaction into it, you also need to some sort of risk monkey-patching. Here you can turn it on by setting [`process.env.ENABLE_XRAY = \"true\"`](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L9)\n9. Testing\n   - You can change the endpoint of DynamoDB by setting the environment variable or setting new connection, So you can install [local-dynamo](https://www.npmjs.com/package/local-dynamo) locally at setup endpoint to local. refer package.json for the detailed how-to\n\nAlso, dynamo-types let you overcome several limits that DynamoDB or the aws-sdk has.\n\n1. BatchWrite (batchDelete / batchPut) has a limit of a maximum of 25 items per request.\n   - dynamo-typeorm automatically splits given items into chunks of 25 and sends requests in parallel\n2. BatchGet has a limit of a maximum of 100 items per requests\n   - dynamo-typeorm automatically splits given keys to chunks of 100 and sends requests in parallel\n3. BatchGet doesn't keep the order of items as it is in input keys,\n   - dynamo-typeorm sort return items based on input keys\n4. BatchGet doesn't handle \"missing items\".\n   - dynamo-typeorm has \"BatchGet\" / \"BatchGetFull\" \n     - BatchGet  \n        order items follow to keys, missing items are just missing. return type Promise<Array<Item>>  \n        so keys.legnth !== items.keys in this case  \n     - BatchGetFull   \n        order items follow to keys, fill missing items with \"null\". return type Promise<Array<Item | null>>  \n        so keys.length === items.keys always true  \n\nAnd most importantly, all of those queries regardless of whether it's from index or primary key, strongly typed. I mean what's the point of using typescript if not anyway?\n\n## Usage\n```typescript\n  @Decorator.Table({ name: \"prod-Card\" })\n  class Card extends Table {\n    @Decorator.Attribute()\n    public id: number;\n\n    @Decorator.Attribute()\n    public title: string;\n\n    @Decorator.Attribute({ timeToLive: true })\n    public expiresAt: number;\n\n    @Decorator.FullPrimaryKey('id', 'title')\n    static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n    @Decorator.Writer()\n    static readonly writer: Query.Writer<Card>;\n  }\n\n  // Create Table At DynamoDB\n  await Card.createTable();\n\n  // Drop Table At DynamoDB\n  await Card.dropTable();\n\n\n  // Creating Record\n  const card = new Card();\n  card.id = 100;\n  card.title = \"Title\";\n  //\n  await Card.writer.put(card);\n  // OR just\n  await card.save();\n\n  // Batch Put\n  await Card.writer.batchPut([\n    new Card(),\n    new Card()\n  ]);\n\n  // Get Record\n  await Card.primaryKey.get(100, \"Title\");\n\n  // BatchGet\n  // This array is strongly typed such as Array<[number, string]> so don't worry.\n  await Card.primaryKey.batchGet([\n    [100, \"Title\"],\n    [200, \"Title2\"]\n  ])\n\n  // Query\n  // Range key opreations are stringly typed. ([\">=\", T] | [\"=\", T] ...)\n  await Card.primaryKey.query({\n    hash: 100,\n    range: [\">=\", \"Title\"]\n  })\n\n  // Delete record\n  await card.delete()\n\n```\n\n\n```typescript\nimport {\n  Config,\n  Decorator,\n  Query,\n  Table,\n} from \"dynamo-types\";\n\n@Decorator.Table({ name: `table_name` })\nexport class CardStat extends Table {\n  @Decorator.HashPrimaryKey(\"card_id\")\n  public static readonly primaryKey: Query.HashPrimaryKey<CardStat, number>;\n\n  @Decorator.Writer()\n  public static readonly writer: Query.Writer<CardStat>;\n\n  @Decorator.Attribute({ name: \"card_id\" })\n  public cardId: number;\n\n  @Decorator.Attribute({ name: \"impressions_count\" })\n  public impressionsCount: number = 0;\n\n  @Decorator.Attribute({ name: \"shares\" })\n  public shares: number = 0;\n}\n```\n\n### TS Compiler Setting\nDynamoTypes utilize [reflect-metadata](https://github.com/rbuckton/reflect-metadata) to read metadata (usually type of variables) from Typescript code. to do so, you must enable those options.\n\n```\n{\n    \"compilerOptions\": {\n        // other options..\n        //\n        \"experimentalDecorators\": true, // required\n        \"emitDecoratorMetadata\": true // required\n    }\n}\n```\n\n### Connection\nDynamoDB supports 2 different kinds of connections. Plain connections to DynamoDB through HTTP, or through DAX.\ndynamo-typeorm supports this by letting you create a separate connection for each table.\n\n```typescript\n@Decorator.Table({ name: \"prod-Card1\", connection: new DAXConnection({ endpoints: [\"dax-domain:8892\"] }) })\nclass Card extends Table {\n  @AttributeDecorator()\n  public id: number;\n\n  @AttributeDecorator()\n  public title: string;\n\n  @AttributeDecorator({ name: \"complicated_field\"})\n  public complicatedField: string;\n\n  @FullPrimaryKeyDecorator('id', 'title')\n  static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n  @WriterDecorator()\n  static readonly writer: Query.Writer<Card>;\n}\n```\n\nThen any query that is sent to the Card table will be sent through DAXConnection.\n\nIf you don't specify any connection, it automatically uses [default connection](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L5), which is [DynamoDBConnection](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/connections/dynamodb_connection.ts).\n","readmeFilename":"readme.md","gitHead":"bbddbda92ec1d05bfcfe743b1b867217f2c43718","_id":"dynamo-types@2.4.2-beta.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.3","_npmUser":{"name":"mooyoul","email":"mooyoul@gmail.com"},"dist":{"integrity":"sha512-3uE97UWLbB98rW6QfUlDIyOd3y1tHbotK2rRA/PXT43rFBfmt6M4w9gHP+23PaqLksnZqoNRL2eWFCKp2iAhjA==","shasum":"76a96bf524f23c47c0f5654bc14ef906823982e5","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.4.2-beta.1.tgz","fileCount":199,"unpackedSize":299833,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+WnMCRA9TVsSAnZWagAA5fYP/3MS1cIXHjHdYmdhcA29\n27tifpxxXUxUTbQlNpDqYf/6cL585XcQSBqL39jH99jkLAVnB/0o/EIJ6li/\n5iQ9i+y4Tp1E8X+uGF09jvboZpQXHW0jYob2yCU+c3xTINxct9S8lHVxxlBp\nRUcm1OaAJlqo8qBSjXSLzwGAE1MYPVbE5hRd55l7MiMm13IyYpmKySzcpPjv\nqoK0gdnzd9N+8FUKRqdD50Y3nJQq7Z4r01e1H5lReVRojlXW9gxg8oMvdiIt\nXyYf288yA2cfZWxZwx/8hoK2XuymPwDCbAu1CRTPSc+YVynyEKzIiG9iTXFJ\n4RV7gjoTMODnDWZitX35DpWzc677ycASXsxrfBFI6LHcCQ6/VG9VNJQ7fGAw\nNRfY1lwronTdBkknO9ZcyCY0pI0zvTZuDELokdWzS4BsjuVbfezxgzhbzTcl\nX99oLE+OCnHwdQjXYJrSMu4YDkxxhhQpojvUD6uDoXfge6V7+La2Xohtd1xK\n5++xlxIS6d7AyUid3Mtc0+51L5fMKPMjtTkyEk3r+peAZD6iB9y4oyhZwDev\nqfc3QkGXY2O5DTmt0bKdGbzNDx6crw4zg6rChLR9nieeFelSxgabAhnyexnT\n+E0MyhNOxncALBTQTmfCJ8Ecn9ryEIYXwEQfHuQnkzmN5rJ5w9pJxFIeOb13\nXw38\r\n=3rkC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwogzz5jtDGD5c4VuTVq9lnRNTRdJh67v3j5ukb3QuCwIhANzyIj5RfLZRIAUwr5kc5sdwi98/hmu7oe90ejGdjhyQ"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.4.2-beta.1_1526294987158_0.6006417284431309"},"_hasShrinkwrap":false},"2.5.1-beta.0":{"name":"dynamo-types","version":"2.5.1-beta.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.2","aws-sdk":"^2.247.1","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"readme":"[![Travis Build Status](https://travis-ci.org/balmbees/dynamo-typeorm.svg?branch=master)](https://travis-ci.org/breath103/dynamo-typeorm)\n[![npm version](https://badge.fury.io/js/dynamo-types.svg)](https://badge.fury.io/js/dynamo-types)\n\n# DynamoTypes\nTypescript ORM of DynamoDB, written from scratch to fully support DynamoDB. Powering [Vingle](https://www.vingle.net)\n\n## Features\n1. Serialize / Deserialize DynamoDB record -> TS class object based on annotations.\n2. Table Configurations\n   - CreateTable\n     - Create secondary indexes (Both local / global)\n     - Configure TTL\n   - DropTable\n3. PrimaryKey\n   - FullPrimaryKey (Hash, Range)\n   - HashPrimaryKey (Hash)\n4. Indexes\n   - Local, both hash and range key\n   - Global, both hash and range key\n5. Attribute\n   - Type Support (Number / String / Boolean / Array / Object / Buffer)\n   - TimeToLive\n6. DAX Support\n   - You can specify this by setting the connection of table. \n7. Optimized aws-sdk usage\n   - aws-sdk has a serious problem of not reusing HTTP connection towards DynamoDB by default. check [this issue](https://github.com/aws/aws-sdk-js/issues/900) this could cause unbearable latency sometimes with showing > 100ms. this is more of an issue of NodeJS HTTP module but nevertheless, this is optimized as a default. [Code](https://github.com/balmbees/dynamo-typeorm/blob/master/src/connections/dynamodb_connection.ts#L37)\n8. AWS X-Ray support\n   - X-Ray is serverless distributed tracing service. In order to log DynamoDB transaction into it, you also need to some sort of risk monkey-patching. Here you can turn it on by setting [`process.env.ENABLE_XRAY = \"true\"`](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L9)\n9. Testing\n   - You can change the endpoint of DynamoDB by setting the environment variable or setting new connection, So you can install [local-dynamo](https://www.npmjs.com/package/local-dynamo) locally at setup endpoint to local. refer package.json for the detailed how-to\n\nAlso, dynamo-types let you overcome several limits that DynamoDB or the aws-sdk has.\n\n1. BatchWrite (batchDelete / batchPut) has a limit of a maximum of 25 items per request.\n   - dynamo-typeorm automatically splits given items into chunks of 25 and sends requests in parallel\n2. BatchGet has a limit of a maximum of 100 items per requests\n   - dynamo-typeorm automatically splits given keys to chunks of 100 and sends requests in parallel\n3. BatchGet doesn't keep the order of items as it is in input keys,\n   - dynamo-typeorm sort return items based on input keys\n4. BatchGet doesn't handle \"missing items\".\n   - dynamo-typeorm has \"BatchGet\" / \"BatchGetFull\" \n     - BatchGet  \n        order items follow to keys, missing items are just missing. return type Promise<Array<Item>>  \n        so keys.legnth !== items.keys in this case  \n     - BatchGetFull   \n        order items follow to keys, fill missing items with \"null\". return type Promise<Array<Item | null>>  \n        so keys.length === items.keys always true  \n\nAnd most importantly, all of those queries regardless of whether it's from index or primary key, strongly typed. I mean what's the point of using typescript if not anyway?\n\n## Usage\n```typescript\n  @Decorator.Table({ name: \"prod-Card\" })\n  class Card extends Table {\n    @Decorator.Attribute()\n    public id: number;\n\n    @Decorator.Attribute()\n    public title: string;\n\n    @Decorator.Attribute({ timeToLive: true })\n    public expiresAt: number;\n\n    @Decorator.FullPrimaryKey('id', 'title')\n    static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n    @Decorator.Writer()\n    static readonly writer: Query.Writer<Card>;\n  }\n\n  // Create Table At DynamoDB\n  await Card.createTable();\n\n  // Drop Table At DynamoDB\n  await Card.dropTable();\n\n\n  // Creating Record\n  const card = new Card();\n  card.id = 100;\n  card.title = \"Title\";\n  //\n  await Card.writer.put(card);\n  // OR just\n  await card.save();\n\n  // Batch Put\n  await Card.writer.batchPut([\n    new Card(),\n    new Card()\n  ]);\n\n  // Get Record\n  await Card.primaryKey.get(100, \"Title\");\n\n  // BatchGet\n  // This array is strongly typed such as Array<[number, string]> so don't worry.\n  await Card.primaryKey.batchGet([\n    [100, \"Title\"],\n    [200, \"Title2\"]\n  ])\n\n  // Query\n  // Range key opreations are stringly typed. ([\">=\", T] | [\"=\", T] ...)\n  await Card.primaryKey.query({\n    hash: 100,\n    range: [\">=\", \"Title\"]\n  })\n\n  // Delete record\n  await card.delete()\n\n```\n\n\n```typescript\nimport {\n  Config,\n  Decorator,\n  Query,\n  Table,\n} from \"dynamo-types\";\n\n@Decorator.Table({ name: `table_name` })\nexport class CardStat extends Table {\n  @Decorator.HashPrimaryKey(\"card_id\")\n  public static readonly primaryKey: Query.HashPrimaryKey<CardStat, number>;\n\n  @Decorator.Writer()\n  public static readonly writer: Query.Writer<CardStat>;\n\n  @Decorator.Attribute({ name: \"card_id\" })\n  public cardId: number;\n\n  @Decorator.Attribute({ name: \"impressions_count\" })\n  public impressionsCount: number = 0;\n\n  @Decorator.Attribute({ name: \"shares\" })\n  public shares: number = 0;\n}\n```\n\n### TS Compiler Setting\nDynamoTypes utilize [reflect-metadata](https://github.com/rbuckton/reflect-metadata) to read metadata (usually type of variables) from Typescript code. to do so, you must enable those options.\n\n```\n{\n    \"compilerOptions\": {\n        // other options..\n        //\n        \"experimentalDecorators\": true, // required\n        \"emitDecoratorMetadata\": true // required\n    }\n}\n```\n\n### Connection\nDynamoDB supports 2 different kinds of connections. Plain connections to DynamoDB through HTTP, or through DAX.\ndynamo-typeorm supports this by letting you create a separate connection for each table.\n\n```typescript\n@Decorator.Table({ name: \"prod-Card1\", connection: new DAXConnection({ endpoints: [\"dax-domain:8892\"] }) })\nclass Card extends Table {\n  @AttributeDecorator()\n  public id: number;\n\n  @AttributeDecorator()\n  public title: string;\n\n  @AttributeDecorator({ name: \"complicated_field\"})\n  public complicatedField: string;\n\n  @FullPrimaryKeyDecorator('id', 'title')\n  static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n  @WriterDecorator()\n  static readonly writer: Query.Writer<Card>;\n}\n```\n\nThen any query that is sent to the Card table will be sent through DAXConnection.\n\nIf you don't specify any connection, it automatically uses [default connection](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L5), which is [DynamoDBConnection](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/connections/dynamodb_connection.ts).\n","readmeFilename":"readme.md","gitHead":"53a8478a637c68556ef99183100783ade1b05939","_id":"dynamo-types@2.5.1-beta.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.3","_npmUser":{"name":"mooyoul","email":"mooyoul@gmail.com"},"dist":{"integrity":"sha512-ew2qwaOwBZ+ZoJUGYyT4fSB+bc5ej5vw7UAsvC8ZmwbthDmBvubOzrSD6NCPnfITnZjfa6CxNM/4vSkXPSVqCw==","shasum":"bd3e9ba90ab5a17f02405aa044e3e350e1e80896","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.5.1-beta.0.tgz","fileCount":199,"unpackedSize":299407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDDC+CRA9TVsSAnZWagAAO2sP/jp90PplWiWwvnURmxwO\nU62aIets2VrIpDmaTweuR9ClndaUPBuSgruZhzdJeaoSUcARv/m26zrIAwpT\nY4qSKFPbLefbzuN5ZiQvV0t0+qwr0hEHLBj2eScGe+Ojo466UIegC5XfT0+f\nA0pKxia50Z2zOsx5XNt4RqfWz4vTzjNAQWuyU1GcpWzMNO43wqKM5ACsAKeN\nruDnffBOtBCp8yX6UFywgk/mk6zidgE0sTz4G4+cxO1CnDh7LQPLYQs6GtXm\nfj/Ilkjq5HYnVBo2k38BBtk4lZRqL6qoNYGQWF51DpZ6QcB7Uy9EKTm1SzgW\nvi4cgE2vDGwyHSsnPH5GQIkQRnUdzfedgKhx3ShaRc8fHxYRy4RaDeYlUmIK\ngAKVz4uVcuobcLJzlHnM3Lhmc/BxtghEYJNTRTNMq7FMN/vau6gJdtqfymV1\nUSxPHqYUUCirx7HJ13Miwd4+zCrGBeb+pRuSUfovROypkZhj+PoCDPi04Kjr\nLutNvGIp43QKYaQ1+cwQUB3LcQbdib3VqdcMmKJLswmhURoZ25A8UDwKY/zq\nEZtYVyYqdrQsSbgnC875MA+kJqvJopo+4m/IxdXXIW7uIETdZ+pR/PLrvosB\nmxiCgW5Xk+86S0CtY1+bM/WWZl0U6/4BoCvj/6cxXPWeQWUCeCWgVOYnV6Lh\nhkrP\r\n=LyiM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGMST/6LUhC0assHbTwm82f9oZvpPO5lWzoGI4oS7DwiAiArRHLJHtEnR9aZ2/+qQbt5nAsGqcONhR0nsh3Yi0MdVA=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.5.1-beta.0_1527525564382_0.0227022167391584"},"_hasShrinkwrap":false},"2.5.1-beta.1":{"name":"dynamo-types","version":"2.5.1-beta.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","@vingle/amazon-dax-client":"^1.1.1-beta.0","aws-sdk":"^2.247.1","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"readme":"[![Travis Build Status](https://travis-ci.org/balmbees/dynamo-typeorm.svg?branch=master)](https://travis-ci.org/breath103/dynamo-typeorm)\n[![npm version](https://badge.fury.io/js/dynamo-types.svg)](https://badge.fury.io/js/dynamo-types)\n\n# DynamoTypes\nTypescript ORM of DynamoDB, written from scratch to fully support DynamoDB. Powering [Vingle](https://www.vingle.net)\n\n## Features\n1. Serialize / Deserialize DynamoDB record -> TS class object based on annotations.\n2. Table Configurations\n   - CreateTable\n     - Create secondary indexes (Both local / global)\n     - Configure TTL\n   - DropTable\n3. PrimaryKey\n   - FullPrimaryKey (Hash, Range)\n   - HashPrimaryKey (Hash)\n4. Indexes\n   - Local, both hash and range key\n   - Global, both hash and range key\n5. Attribute\n   - Type Support (Number / String / Boolean / Array / Object / Buffer)\n   - TimeToLive\n6. DAX Support\n   - You can specify this by setting the connection of table. \n7. Optimized aws-sdk usage\n   - aws-sdk has a serious problem of not reusing HTTP connection towards DynamoDB by default. check [this issue](https://github.com/aws/aws-sdk-js/issues/900) this could cause unbearable latency sometimes with showing > 100ms. this is more of an issue of NodeJS HTTP module but nevertheless, this is optimized as a default. [Code](https://github.com/balmbees/dynamo-typeorm/blob/master/src/connections/dynamodb_connection.ts#L37)\n8. AWS X-Ray support\n   - X-Ray is serverless distributed tracing service. In order to log DynamoDB transaction into it, you also need to some sort of risk monkey-patching. Here you can turn it on by setting [`process.env.ENABLE_XRAY = \"true\"`](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L9)\n9. Testing\n   - You can change the endpoint of DynamoDB by setting the environment variable or setting new connection, So you can install [local-dynamo](https://www.npmjs.com/package/local-dynamo) locally at setup endpoint to local. refer package.json for the detailed how-to\n\nAlso, dynamo-types let you overcome several limits that DynamoDB or the aws-sdk has.\n\n1. BatchWrite (batchDelete / batchPut) has a limit of a maximum of 25 items per request.\n   - dynamo-typeorm automatically splits given items into chunks of 25 and sends requests in parallel\n2. BatchGet has a limit of a maximum of 100 items per requests\n   - dynamo-typeorm automatically splits given keys to chunks of 100 and sends requests in parallel\n3. BatchGet doesn't keep the order of items as it is in input keys,\n   - dynamo-typeorm sort return items based on input keys\n4. BatchGet doesn't handle \"missing items\".\n   - dynamo-typeorm has \"BatchGet\" / \"BatchGetFull\" \n     - BatchGet  \n        order items follow to keys, missing items are just missing. return type Promise<Array<Item>>  \n        so keys.legnth !== items.keys in this case  \n     - BatchGetFull   \n        order items follow to keys, fill missing items with \"null\". return type Promise<Array<Item | null>>  \n        so keys.length === items.keys always true  \n\nAnd most importantly, all of those queries regardless of whether it's from index or primary key, strongly typed. I mean what's the point of using typescript if not anyway?\n\n## Usage\n```typescript\n  @Decorator.Table({ name: \"prod-Card\" })\n  class Card extends Table {\n    @Decorator.Attribute()\n    public id: number;\n\n    @Decorator.Attribute()\n    public title: string;\n\n    @Decorator.Attribute({ timeToLive: true })\n    public expiresAt: number;\n\n    @Decorator.FullPrimaryKey('id', 'title')\n    static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n    @Decorator.Writer()\n    static readonly writer: Query.Writer<Card>;\n  }\n\n  // Create Table At DynamoDB\n  await Card.createTable();\n\n  // Drop Table At DynamoDB\n  await Card.dropTable();\n\n\n  // Creating Record\n  const card = new Card();\n  card.id = 100;\n  card.title = \"Title\";\n  //\n  await Card.writer.put(card);\n  // OR just\n  await card.save();\n\n  // Batch Put\n  await Card.writer.batchPut([\n    new Card(),\n    new Card()\n  ]);\n\n  // Get Record\n  await Card.primaryKey.get(100, \"Title\");\n\n  // BatchGet\n  // This array is strongly typed such as Array<[number, string]> so don't worry.\n  await Card.primaryKey.batchGet([\n    [100, \"Title\"],\n    [200, \"Title2\"]\n  ])\n\n  // Query\n  // Range key opreations are stringly typed. ([\">=\", T] | [\"=\", T] ...)\n  await Card.primaryKey.query({\n    hash: 100,\n    range: [\">=\", \"Title\"]\n  })\n\n  // Delete record\n  await card.delete()\n\n```\n\n\n```typescript\nimport {\n  Config,\n  Decorator,\n  Query,\n  Table,\n} from \"dynamo-types\";\n\n@Decorator.Table({ name: `table_name` })\nexport class CardStat extends Table {\n  @Decorator.HashPrimaryKey(\"card_id\")\n  public static readonly primaryKey: Query.HashPrimaryKey<CardStat, number>;\n\n  @Decorator.Writer()\n  public static readonly writer: Query.Writer<CardStat>;\n\n  @Decorator.Attribute({ name: \"card_id\" })\n  public cardId: number;\n\n  @Decorator.Attribute({ name: \"impressions_count\" })\n  public impressionsCount: number = 0;\n\n  @Decorator.Attribute({ name: \"shares\" })\n  public shares: number = 0;\n}\n```\n\n### TS Compiler Setting\nDynamoTypes utilize [reflect-metadata](https://github.com/rbuckton/reflect-metadata) to read metadata (usually type of variables) from Typescript code. to do so, you must enable those options.\n\n```\n{\n    \"compilerOptions\": {\n        // other options..\n        //\n        \"experimentalDecorators\": true, // required\n        \"emitDecoratorMetadata\": true // required\n    }\n}\n```\n\n### Connection\nDynamoDB supports 2 different kinds of connections. Plain connections to DynamoDB through HTTP, or through DAX.\ndynamo-typeorm supports this by letting you create a separate connection for each table.\n\n```typescript\n@Decorator.Table({ name: \"prod-Card1\", connection: new DAXConnection({ endpoints: [\"dax-domain:8892\"] }) })\nclass Card extends Table {\n  @AttributeDecorator()\n  public id: number;\n\n  @AttributeDecorator()\n  public title: string;\n\n  @AttributeDecorator({ name: \"complicated_field\"})\n  public complicatedField: string;\n\n  @FullPrimaryKeyDecorator('id', 'title')\n  static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n  @WriterDecorator()\n  static readonly writer: Query.Writer<Card>;\n}\n```\n\nThen any query that is sent to the Card table will be sent through DAXConnection.\n\nIf you don't specify any connection, it automatically uses [default connection](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L5), which is [DynamoDBConnection](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/connections/dynamodb_connection.ts).\n","readmeFilename":"readme.md","gitHead":"53a8478a637c68556ef99183100783ade1b05939","_id":"dynamo-types@2.5.1-beta.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.3","_npmUser":{"name":"mooyoul","email":"mooyoul@gmail.com"},"dist":{"integrity":"sha512-PUNKSvGkii9dzfKFSqGLwm/6JOPZA5/SdvTyGLy/zU7trJIF/DN//33S5F2uenamuKmbVlrtcqvBYsslkPk6zw==","shasum":"3b3c40a108453b82f01a32a165ab6838bf3cb2fd","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.5.1-beta.1.tgz","fileCount":199,"unpackedSize":300740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDXwjCRA9TVsSAnZWagAA5jwP/3qPru77UUVSn3amC33i\naht59z49w5PhGtai5AaIe0CukRPvuqKiA/F0PvrRiOtzop7P+uGU+3Goj+YJ\nTxg/wEAb7yrZDc26qRCZ35GlamTff41keTiJ2uRnfeyCoVcaY4UHNJB932zF\nlfjij0QbUEil/Zb1xFdj7BK/tTVqu/n1JfnSPzT+3P1oPhZTWsA0jk+bZhkn\nl1HmZcY5mI9ohSJwy/ddtp7pWZuVhQe2xCz4+HX+qp7LTtvklCTQAZ9mVUPM\nBJ/F+ss9z2Kt6/+ztTglTILxpq2hWKq3dI+RYl5AlnGzuykb+ygzUM7RFrh3\ngW6dHmh8HAlm4WUwkXheF1JS4sSQfeMreV3oAlL6lGl52Q3Zr+g4pymO+OI4\njaBctsajRTTOhJO2LRfxg3LSCXTYhx/f94L9cy0z9vfF8Kqh4MO4bMCONS/q\n3Z6r61XEnaFqP6gUtik3ZsgMhD5n+M+mFMntzOEUrDRZxlFrNnBkKdlnow+U\nnGZ1wQ+7ULfsTFn41L9XL6hjws0EJK2zr0ljHKF7h6E2ixnxvjW2ktoEpogJ\nKPJrS7K+zjlSFSpL9YTGXTnu5ZaE01j4Kq3UWMLp8zSThR/gjdNE4zPI4pNU\n8SM3peLV3dKYTqYUfx9H402HGTZvRBS3CAEDLeaap9gV1+JIINFlxq23/hJ0\nVbXu\r\n=tkmC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIZZSp8B0Q2wfsp0Ldcd6nEqCmRx8zRJfb7E/h94CbWwIgJYtC2IygBFg6xqkqF81CWsD+lMNoW1n8lbSh8pQiMIE="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.5.1-beta.1_1527610403121_0.8758892946507613"},"_hasShrinkwrap":false},"2.5.1-beta.2":{"name":"dynamo-types","version":"2.5.1-beta.2","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","@vingle/amazon-dax-client":"^1.1.1","aws-sdk":"^2.247.1","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"readme":"[![Travis Build Status](https://travis-ci.org/balmbees/dynamo-typeorm.svg?branch=master)](https://travis-ci.org/breath103/dynamo-typeorm)\n[![npm version](https://badge.fury.io/js/dynamo-types.svg)](https://badge.fury.io/js/dynamo-types)\n\n# DynamoTypes\nTypescript ORM of DynamoDB, written from scratch to fully support DynamoDB. Powering [Vingle](https://www.vingle.net)\n\n## Features\n1. Serialize / Deserialize DynamoDB record -> TS class object based on annotations.\n2. Table Configurations\n   - CreateTable\n     - Create secondary indexes (Both local / global)\n     - Configure TTL\n   - DropTable\n3. PrimaryKey\n   - FullPrimaryKey (Hash, Range)\n   - HashPrimaryKey (Hash)\n4. Indexes\n   - Local, both hash and range key\n   - Global, both hash and range key\n5. Attribute\n   - Type Support (Number / String / Boolean / Array / Object / Buffer)\n   - TimeToLive\n6. DAX Support\n   - You can specify this by setting the connection of table. \n7. Optimized aws-sdk usage\n   - aws-sdk has a serious problem of not reusing HTTP connection towards DynamoDB by default. check [this issue](https://github.com/aws/aws-sdk-js/issues/900) this could cause unbearable latency sometimes with showing > 100ms. this is more of an issue of NodeJS HTTP module but nevertheless, this is optimized as a default. [Code](https://github.com/balmbees/dynamo-typeorm/blob/master/src/connections/dynamodb_connection.ts#L37)\n8. AWS X-Ray support\n   - X-Ray is serverless distributed tracing service. In order to log DynamoDB transaction into it, you also need to some sort of risk monkey-patching. Here you can turn it on by setting [`process.env.ENABLE_XRAY = \"true\"`](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L9)\n9. Testing\n   - You can change the endpoint of DynamoDB by setting the environment variable or setting new connection, So you can install [local-dynamo](https://www.npmjs.com/package/local-dynamo) locally at setup endpoint to local. refer package.json for the detailed how-to\n\nAlso, dynamo-types let you overcome several limits that DynamoDB or the aws-sdk has.\n\n1. BatchWrite (batchDelete / batchPut) has a limit of a maximum of 25 items per request.\n   - dynamo-typeorm automatically splits given items into chunks of 25 and sends requests in parallel\n2. BatchGet has a limit of a maximum of 100 items per requests\n   - dynamo-typeorm automatically splits given keys to chunks of 100 and sends requests in parallel\n3. BatchGet doesn't keep the order of items as it is in input keys,\n   - dynamo-typeorm sort return items based on input keys\n4. BatchGet doesn't handle \"missing items\".\n   - dynamo-typeorm has \"BatchGet\" / \"BatchGetFull\" \n     - BatchGet  \n        order items follow to keys, missing items are just missing. return type Promise<Array<Item>>  \n        so keys.legnth !== items.keys in this case  \n     - BatchGetFull   \n        order items follow to keys, fill missing items with \"null\". return type Promise<Array<Item | null>>  \n        so keys.length === items.keys always true  \n\nAnd most importantly, all of those queries regardless of whether it's from index or primary key, strongly typed. I mean what's the point of using typescript if not anyway?\n\n## Usage\n```typescript\n  @Decorator.Table({ name: \"prod-Card\" })\n  class Card extends Table {\n    @Decorator.Attribute()\n    public id: number;\n\n    @Decorator.Attribute()\n    public title: string;\n\n    @Decorator.Attribute({ timeToLive: true })\n    public expiresAt: number;\n\n    @Decorator.FullPrimaryKey('id', 'title')\n    static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n    @Decorator.Writer()\n    static readonly writer: Query.Writer<Card>;\n  }\n\n  // Create Table At DynamoDB\n  await Card.createTable();\n\n  // Drop Table At DynamoDB\n  await Card.dropTable();\n\n\n  // Creating Record\n  const card = new Card();\n  card.id = 100;\n  card.title = \"Title\";\n  //\n  await Card.writer.put(card);\n  // OR just\n  await card.save();\n\n  // Batch Put\n  await Card.writer.batchPut([\n    new Card(),\n    new Card()\n  ]);\n\n  // Get Record\n  await Card.primaryKey.get(100, \"Title\");\n\n  // BatchGet\n  // This array is strongly typed such as Array<[number, string]> so don't worry.\n  await Card.primaryKey.batchGet([\n    [100, \"Title\"],\n    [200, \"Title2\"]\n  ])\n\n  // Query\n  // Range key opreations are stringly typed. ([\">=\", T] | [\"=\", T] ...)\n  await Card.primaryKey.query({\n    hash: 100,\n    range: [\">=\", \"Title\"]\n  })\n\n  // Delete record\n  await card.delete()\n\n```\n\n\n```typescript\nimport {\n  Config,\n  Decorator,\n  Query,\n  Table,\n} from \"dynamo-types\";\n\n@Decorator.Table({ name: `table_name` })\nexport class CardStat extends Table {\n  @Decorator.HashPrimaryKey(\"card_id\")\n  public static readonly primaryKey: Query.HashPrimaryKey<CardStat, number>;\n\n  @Decorator.Writer()\n  public static readonly writer: Query.Writer<CardStat>;\n\n  @Decorator.Attribute({ name: \"card_id\" })\n  public cardId: number;\n\n  @Decorator.Attribute({ name: \"impressions_count\" })\n  public impressionsCount: number = 0;\n\n  @Decorator.Attribute({ name: \"shares\" })\n  public shares: number = 0;\n}\n```\n\n### TS Compiler Setting\nDynamoTypes utilize [reflect-metadata](https://github.com/rbuckton/reflect-metadata) to read metadata (usually type of variables) from Typescript code. to do so, you must enable those options.\n\n```\n{\n    \"compilerOptions\": {\n        // other options..\n        //\n        \"experimentalDecorators\": true, // required\n        \"emitDecoratorMetadata\": true // required\n    }\n}\n```\n\n### Connection\nDynamoDB supports 2 different kinds of connections. Plain connections to DynamoDB through HTTP, or through DAX.\ndynamo-typeorm supports this by letting you create a separate connection for each table.\n\n```typescript\n@Decorator.Table({ name: \"prod-Card1\", connection: new DAXConnection({ endpoints: [\"dax-domain:8892\"] }) })\nclass Card extends Table {\n  @AttributeDecorator()\n  public id: number;\n\n  @AttributeDecorator()\n  public title: string;\n\n  @AttributeDecorator({ name: \"complicated_field\"})\n  public complicatedField: string;\n\n  @FullPrimaryKeyDecorator('id', 'title')\n  static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n  @WriterDecorator()\n  static readonly writer: Query.Writer<Card>;\n}\n```\n\nThen any query that is sent to the Card table will be sent through DAXConnection.\n\nIf you don't specify any connection, it automatically uses [default connection](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L5), which is [DynamoDBConnection](https://github.com/balmbees/dynamo-typeorm/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/connections/dynamodb_connection.ts).\n","readmeFilename":"readme.md","gitHead":"564f18484950cb3c992b7b33131092a326c91e0a","_id":"dynamo-types@2.5.1-beta.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.3","_npmUser":{"name":"mooyoul","email":"mooyoul@gmail.com"},"dist":{"integrity":"sha512-MuqNGShD6XG0Rjy+IaBA75vCOqM/gvveCjl23F9r7libxzKLPmuDIbF6JFHb6BIlUfrqyvR3bwrrIA27egXuQA==","shasum":"687d804d84a6521aacb6bc34cf75c99139c47835","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.5.1-beta.2.tgz","fileCount":199,"unpackedSize":300701,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDYJ3CRA9TVsSAnZWagAACf0P/3/q9hyT6V0pztPPxi2c\nitghk1lraPS9lclVmhbOM+LePQK64of13kSeSrX1hJKfudhaIhmcBp3nxHG4\nH6ZOqD8SE9buXiKwuSCIwq2YDER4dGZKp0yJNY2yOHBe8Q3j44iTbEkhKajX\n3sje4VuaQnOdGlHjXH/0UDRbqcHwaO0sholb6cYNv7grTfH9vd9DIjeRxR3F\ndN5c3/vtGsi1OdjDlbl/XnScr/KbzlHiD2MuQxIs5kyrn5DlE0gRAG1668jx\nrZexowvLAd3yU0/3VweJCqd0YdhOXi5KR4C0Blc6W+rVQs65ENoiXXbIoGgE\nhPV+P0GAXzUI3ZJ01w6t5RwRWhlOZwa1RrGNI0h0rdNScr2ebe7rARyGE1HA\ncW43Q8PbeZF7KTk1OhMF9e0Q9zAXAiFSBIbzsuMOwGVecEa43LOT1oQjk3LZ\nQoZkWz6cTDpNWxXTDO0mNPp7QllMZBXVLEhKixiwTs6SHsxg5Zg37+ZoCwsZ\nJdiwD2yME2oQ0OgALiQyQbu1Eaiz+CDJTLx/3RuajIxqrc3p0gG/MlPo6Cwx\nHZhaCU0h70iq3LdvyCtRA9cLmAFe9FLkHIx+cPzXKPSfpiq6opchar1HFI6V\nHd39EN/0ocSli8eitYK8o+Rc/4U/VrFNIEyToPjhmzJqB8s41dOcBp7GClEO\nhOLJ\r\n=1sre\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHynDu7Im6NJ1hxnNyark03vGNVP5piR7KFPfbN8KszQIgJN2xvz65woLSnPEbRMAxsPTgCOXEMFRvKpyb+YuNlqE="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.5.1-beta.2_1527612023446_0.2750733743764806"},"_hasShrinkwrap":false},"2.5.1":{"name":"dynamo-types","version":"2.5.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","@vingle/amazon-dax-client":"^1.1.2","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"5c0a18a218798f91eff177df2aeda8071ac8fe30","_id":"dynamo-types@2.5.1","_shasum":"ce97f1c64a01b6cd40007fc3c4912ab7278d907f","_from":".","_npmVersion":"2.15.12","_nodeVersion":"6.14.2","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"ce97f1c64a01b6cd40007fc3c4912ab7278d907f","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.5.1.tgz","fileCount":194,"unpackedSize":372738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDpGuCRA9TVsSAnZWagAAXFgP/0hrxkYBUN8UZSgZSy6t\niTWWCxmekPyLal0oj+qveFywJ+QFbnfhotdIA98jIuU3SKgZhsdEtzQG3CD0\ng5q15+bBMUfT+4XRTp6gXfB/aazYIqX0CPy2UWgOvh0y55iFk/t/mamT7cxJ\nlp8GS09eeJ9YCHfTAwl0scdOz3HJruC5dDJKOJJE1ueLQ+wg7GsfnxPxdxhF\nQ1F7or5/OLDiLXU95L4DCb1RoMWLULnpPzDjw9mcryIoRdUn6VeIKiJyl6NE\nL9vurpmAh0qrxF0DqvAQp/SvVGVWPX19U9bZ9mDZ97EuJPdWn39ePCI1loyn\nvBuvYKdBVu66NDNaLHvEMfmtug5G/sL8XCq2gMzbuVuBTaaKprGKq57Gc230\nhwSbNHn+VvafnxqvDI8k8RGpGa72vxM3Xbc6ZxeZdWSOOKJu2YUPUko73A45\n59aFUlrddvQ8W1woBxUeybpSh6Edizh4la14X2q1Y4e3RjHx3xu1h1+lR4k8\nAO6WSSmHAdAHqDcwb3pIpJRW36D9AuVJKFKBUmi9pvmFANGV9QjhFAa8xJT2\ne5tv59fGKO5GPJ7xHAFIWB7tXhvsV33oCJ/7nBiiynjDojq4J30suEVhmGm3\n9pMMqYzhelKD6gN9L2MeJh9Wf7bGh5KNVlu80bLEkbs9y1FIoHmVGJxx7MDV\nVId8\r\n=NX9K\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-DbVdTG/TyytEpP44Fq6hsCILA79uW2c0N6828+uqd5UGz0geUrwxx2yZDn16lPOmywzXAIjtL3YgfWgmfHbQoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrRpGSdCAnTJAls0Q9azRkHi16CDFH0X6TFvjS7hS2kgIhAPNSuXwfGjLU9P+1YYSiXIKqoBWtWmbBOrx7O/GKDvvJ"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.5.1_1527681453672_0.06451835844025333"},"_hasShrinkwrap":false},"2.5.2":{"name":"dynamo-types","version":"2.5.2","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.3","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"43fb71d78a50e39a32b5b7eef9ddbd719f6989aa","_id":"dynamo-types@2.5.2","_shasum":"40c749635a7016ac17a2c9607c1333f28a629d3b","_from":".","_npmVersion":"2.15.12","_nodeVersion":"6.14.2","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"40c749635a7016ac17a2c9607c1333f28a629d3b","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.5.2.tgz","fileCount":194,"unpackedSize":372682,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFD3dCRA9TVsSAnZWagAAT3QP/iA3C4xXiHeH110TcfmY\n7B+NxANkwkKH/RfeOUzSs4/IFdKFAEKdYe2dfWfnp3mtEAdg8R4cLs3dQqKt\nDafsXL1bA4PquZ28UQsEr4aXk3MtZ/LJIvshwIxaTOBh3wDtNrSPtXhkuSYs\nhlxs3nrhoeo/OjZQWtS3v1ScYBYTQ2vcb2epXBjsvBSna0wcWMACHVLIfR/L\nzpc0bM9LQEzgtzNbpk8YNMety8bUyTXP8fdYyoRESfSKg4IFID54fJPl36Ms\nJXBEpKlXuO8q5afFddnPk3IyaCL9tE9kDH8dJ5rN7kELa7+ExghKFyBSA/4h\nN81EJLImmxfh4DRA4evR2/pL9IF6laUJ3oIr5AE+pfaLcXMOaBzieMypuGmR\nMJYWyLMFRyP2QtShQEQDa6ridg7+tIF1h79QN9HN9tTVgqy3Rxdk0J0hwj0l\n7O2283qNumGTRUiqLEqAvYy01b+mO8CE0RjnaxBaKPDsWJnPLNa/6PqbqTLW\nP+ioTzd5IiZiF9DaoHFEIjhOadMAPF3y2XR6G9J57O72tpd0TYNiRbkGDgOl\nFdDQqUyY8XjN1cjvJ3bZGFlqD+Qm82J4+mB4V8ypmozBKunnUjyVap9KYnKs\nBzM9aanIwkoz3lmfQKcG+u2Ou0AHHZ652emBcKDLmz+dUO1raakCu9AL3ZFL\n4s5M\r\n=XZBH\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-NLmOpEmsHn3URy+ub548I3jbPTuqx8SmiwwY4Jc5GocuJCA4+cbaQnlvwF+8SvmIBzST88k1PK/pafp5f+jnCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSLEBB6WHexWH52mdRexg4vLCO4KxyF2ysEI7bRjaQHgIgPhpaxIYKCqUjO3eIDiNHjgrI2XU9CqfsJAwKhpw3B9k="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.5.2_1528053211980_0.6266148249991315"},"_hasShrinkwrap":false},"2.6.0":{"name":"dynamo-types","version":"2.6.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.3","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"b418a8f0635b60698a3bdbf704038809639010d9","_id":"dynamo-types@2.6.0","_shasum":"4e470ac6476cc0e0048ef35a9e577da656cc8c55","_from":".","_npmVersion":"2.15.12","_nodeVersion":"6.14.3","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"4e470ac6476cc0e0048ef35a9e577da656cc8c55","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.6.0.tgz","fileCount":194,"unpackedSize":372550,"integrity":"sha512-GtkCtxk9medBAV35xEWRF+DZIlyVQEnE6RFiuGz0Ll2UV9qwhvUrXmXIxm6yZA8VczPHjw7MDDLWfTbH5Jrwug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsy6Y5R/QkW0snJw4WYsWstsiY0zBF7ZpSLl3XnYuAtgIhAPCOYPuIO/WnwvsgPSw1Ff62VQhMXvh95nay/ImCzm1u"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.6.0_1530499924696_0.8395719851104813"},"_hasShrinkwrap":false},"2.7.0-beta.0":{"name":"dynamo-types","version":"2.7.0-beta.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.9.1"},"dependencies":{"@types/bluebird":"^3.5.24","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.3","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","bluebird":"^3.5.2","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"6a74b0d0f4c4a432b3ac5cb3de85b57c0ae7d78a","_id":"dynamo-types@2.7.0-beta.0","_shasum":"2963bfa51c976361c91ea7a752c6aeff62014db8","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.11.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"2963bfa51c976361c91ea7a752c6aeff62014db8","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.7.0-beta.0.tgz","integrity":"sha512-VnEc2LierRyqauINK83ZLOM9hhQ/sjbGhap7cDJerjIbEtzSoq82kwXXDLqKsBl68BKBD1Ws8Sy4a604VSEHtw==","fileCount":164,"unpackedSize":310803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmNFCCRA9TVsSAnZWagAAXc0P/3039RCRDLaIhNAFTlwR\nWM87xA3XIhgCHoAL8wnNEzG8q49k8nviUickF0Xso2eNIYx0/MMTDlAbrbVC\nGL6SRDPpT9yC35umnbj24L6ncxBH6nRysfQKkAiRQSZDzY4uhbKHH8gQnikG\nJvAIAUvwFA7j9kZEWQN9RVnlwkkr1FYDfxTFt3vM0Vs3k+YJqqqdSxIPFT5d\ny7DrPBmpUrzs9fmgY2VIL7WohR8YyJw4cdHBJjPntyzmGLHAOzz5vCtsHWwM\nbZttO1PMXMXVWy3fzF4oprC7YZZiE1Roaenc1P09JZZ82ZO+bEWLKAG9ONYn\n4BQ7zSnLiOOE/sQOa0B0C7i07Qmj623EBNfJCTEsdig/r5ede5Tc2UqGfTPt\nN2LFWdfxphKgD4eBlXS24wrGPyHarWi99kKD6URmEvEESd6fHtwiTVi+zX2m\nrSPNytRwEkiRpxp463UvzakmPhaQLELnj2fReAL3j49/z9ZBWoBQoSX1hKOe\nFtkcEZEuFLlHOCaVLmFpy0bVe0v6Os9PIkQusBRBrv0sUh6N1YHPS41DL4Bj\nQ4S7wS1LDEpaHrHukHHUJZLXsQJFJAxmQQxFP9e1+jUtu9B5XEOAeYDstNie\nVM12ZwQDu5mVUpXuT35mOVzjMDhimKqaOG85uNm0+NvxyLM4lgD3mfzzraIF\niYkG\r\n=o2fT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBpF1Gbz6CIyWWiTsRKM2AJfAnpYhwes0gl1ANBAYQOaAiATstPuQ/N4JLrtx7//6vCr9Spf2XLv98TXxShzjaor9Q=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.7.0-beta.0_1536741697468_0.8780860665426926"},"_hasShrinkwrap":false},"2.7.0-beta.1":{"name":"dynamo-types","version":"2.7.0-beta.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.9.1"},"dependencies":{"@types/bluebird":"^3.5.24","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.3","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","bluebird":"^3.5.2","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"6a74b0d0f4c4a432b3ac5cb3de85b57c0ae7d78a","_id":"dynamo-types@2.7.0-beta.1","_shasum":"6e5713ece0c8833de5af775c5c2f51dcaa4cacf4","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.11.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"6e5713ece0c8833de5af775c5c2f51dcaa4cacf4","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.7.0-beta.1.tgz","integrity":"sha512-PZvjRQR7tie8fVYSf7bjRvnEASqHhl/CATTBlSrNSl0wMMU2Kx3T4NLfvuvqT9YiW0whGt2dJ51rPLXztpf7tw==","fileCount":165,"unpackedSize":311228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmNMJCRA9TVsSAnZWagAA4J4P/2Y75XPZdlfnW4Z4cccD\nEQ2qjFQXocr4KPO/rIOqdkBPmmOnP/H7CDsAnCdbol6MIX7X5I+WBo9VHBWe\nulZeS24wtRhXRszgJCh8NpNXJbEgJL45KwWv7TdWDwTJOZnrlbabyNreVJbw\n+VX/EVvD3Jkps0Oa9JeItNteuPufFq0GvsU6rmuQ1e4J9HXW7uYrMKHMTusH\n2PnzuxOf4Hv+EwMvD0CDh2Mggi+kFyL8lry7S0FTB485tO51HHu+Bf4Slx35\n0YwtA+oyynz6wLuZEmPJfDzFF0XFBT4VX6bs2WOFRXQzzal8x9eSRRYGl7Ly\n073onVgxcvn81fK1d7JSNQY9AZEdL32VQeTd8fBpq0H/kSFPp7gGpYg5zG5O\ni3okiHUesCeTQRt/X3G1hsc7TSlWnZxR0/46cKu5nYBBHJ+EpfJhaswTf9sL\nvNI14KKKdrG9w5kqxX5x6f1fy2At/j0/jbA2Opjl2efSx1/TX+nsjqqVtC7e\n2ZAtGvP2Z/QQkWQQj0rFC72Sg+GqxIB2DGUjz89B+Jdef63TLpqWnBgZ8SfD\n+jbDf6sol0gR5Id5Xhi3/aW5zHo0Tjjmbd/cLZiYi1tA5h+rLwcYunyJ6xrJ\nz9OfYyx2A50LvpPeR78SCBFvlPqQNKG/OgKaxRKnlsQWTOLo/B75rtcpASAX\ngBM8\r\n=ryno\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOMHx7YaRtQx0KAQEtJXGjB3bePxM1EwVQ+JZjmaJ6PQIgP0aWFxY+EMRfx+zg4pBK9iPLGrqqQi/s/DwyOUXaXHE="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.7.0-beta.1_1536742153019_0.5356701480165056"},"_hasShrinkwrap":false},"2.7.0-beta.2":{"name":"dynamo-types","version":"2.7.0-beta.2","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.9.1"},"dependencies":{"@types/bluebird":"^3.5.24","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.3","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","bluebird":"^3.5.2","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"a82a5b9ac1a6fa08d23974ca9c1c27f0b677ca0c","_id":"dynamo-types@2.7.0-beta.2","_shasum":"a809a552b5f61db342a7dbd8115abe24008dd2b7","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.11.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"a809a552b5f61db342a7dbd8115abe24008dd2b7","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.7.0-beta.2.tgz","integrity":"sha512-ivB51CyDbEkJjZyKAlc2b9usUsTDMET8iH8QRAfQ6TP1op41L2abrCYTGcYUEdt5o4lukK7PqCmqBDcpOEsXrQ==","fileCount":165,"unpackedSize":311468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmNXoCRA9TVsSAnZWagAAM84P/16AlKAQFOe6sI6/bLEL\n4Sm8TXB66kHpXZ7q3D9inyPq9WSBK2/f8yGnDX21zcv0egUkOIlJGZU3GKYT\nB2kjzNFZ3tISSC7c/s646zt1P1XGBpELDxBL6twFR+H5SlvFJbSCSwdR79X9\n6irBmScn4uNzKgr/fnA1jMpvz8s3mySkPNEtt9/nR99rProdEVQBzSHBesoI\nmq2PCQdLzgIQXnlzFM/a7PcEH+ESOO4iTZllhPWwwCAoBQX7Fb/UPKDCNlok\nRWlszE/mE+eEf8SErfB+x1xRlLl/4HxTEwUcJRKVfvaN1IsmYkJxcNX3Gdc0\nz5QceZaWs69TL4381GHAPDtwDMANHbks3sj+/e3w1Y5n/WjJKJD9zAIOZ1eY\nCE/bpAXI9cHmHfbahgbAq8OjxIR3VQe6m6TYUd7zAsybiMQ08E/D79V+gehM\nIcQhnkwWcomflEepFGC4Dr7egD5GAPW2eLewvQH6Toy2nkEXsmYcllY9/1zs\ncsZ2AVSLEDAqmUMiWZ8pS3rW1gI5cSHOUgxADAR3UcGBzbWjC9AXL4Y+aP4e\nNn7eZ0Rk2H7PKrqeiqq80rt6U0hVCQy+/FRvG+qX5io0lHdnzS9rEwd3E+AR\nhW31NXwaTXapOKeXVGHag7rRAluM3wOUBYACQKr6HNrmvQwrcYjKYyL73Wba\n4Psf\r\n=cROO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6dbBK0gpXdKP258wlEBn0DkqQOiFUcLMUYeQcJi5sLgIgaAoO6vPnEYFtE6atHd0yrhhuyL3dBtheeReMVvMrOHo="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.7.0-beta.2_1536742887662_0.7907070125967623"},"_hasShrinkwrap":false},"2.7.0-beta.3":{"name":"dynamo-types","version":"2.7.0-beta.3","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.9.1"},"dependencies":{"@types/bluebird":"^3.5.24","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.3","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","bluebird":"^3.5.2","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"a82a5b9ac1a6fa08d23974ca9c1c27f0b677ca0c","_id":"dynamo-types@2.7.0-beta.3","_shasum":"ea467a73b7866c2bcbae6efa70573f7af9b5568c","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.11.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"ea467a73b7866c2bcbae6efa70573f7af9b5568c","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.7.0-beta.3.tgz","integrity":"sha512-1ZZVbKumPN2hxkMvHC/G5FlSp7JlwsgTzN76OqhoM9fcxm6QDFpXHCXUZ91g0N0JF9zj1b/UwsQkZzeYfZmzXQ==","fileCount":165,"unpackedSize":311515,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmNaXCRA9TVsSAnZWagAAvKwP/2rr11YSapGyvc+42i08\nIA3JTMb29eR/ClFlqa48E1bwEQnkYyHMIVMra19qM3cpC3k5Pe6qqbyB4OPL\n8UWryB00FbpKdW7EGtYVMjnFwVkvBUGkln2tkYm7BXzVgh6ACoiQl7/OW4K8\n2zyltM9S7ulOx74YF9B7Kzd89VHRcWzXCh348HFXUkImF0mFZYI2+UQXG4DF\nh3Ed3nKMhoStob5gz7aqtjwe2M+2mvbe4gT8NEnKN9N5ekvSyCEWWAEDBinc\nU4oIJ4O/MR+3xHiRHsdT7xtfEGDgGJv1pHqr6T0Mqsws/x77wGyo97ZCYlOt\njjrOmHGwbqO0Jn2CxprQfqhfTdVKpsGSVZnRiYqtVtwAptCzkdcpwoqdfrbD\nCL2fDb0sgnEc8BfEXuA/hwIMQyZ5yNefWiLx97cipc3ICu5XiR60rcovZ99F\n99B6AzqjCX8VTc++lZJDqq0kjdTtDdbaY0JRF2ErTMLl9Ysb884oKKGwvPK8\nzIbnMFiNMbevMpFwp7CdOe7jYKRnukpwJSHW3e2Ry1fYfzrD6bo9iSP3tJSI\n4zEW9IeG47Ay/A9GvVWc7YNFc0/+lrlKTP6lagnW3c23eY8MCRGLJ2WzTQlN\nRXCq2iXy73mUBPtuGss5hJnzEb04N+oBTdpcQ/D2/FgNi7P2gnhSe7y1a7tl\nECo6\r\n=e4CZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFPcN8t/IBk+iSG69lAQ6H9Amb9KGcUhxMFA27L32OavAiEAtVQ6cYuGni9sNGRuhtQxkMd1CHujVkBai8JH2qut+vw="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.7.0-beta.3_1536743063246_0.45925273197823135"},"_hasShrinkwrap":false},"2.7.0-beta.4":{"name":"dynamo-types","version":"2.7.0-beta.4","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.9.1"},"dependencies":{"@types/bluebird":"^3.5.24","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.3","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","bluebird":"^3.5.2","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"a82a5b9ac1a6fa08d23974ca9c1c27f0b677ca0c","_id":"dynamo-types@2.7.0-beta.4","_shasum":"80ed44864d21051f6fbcb2777f630b377e1c4878","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.11.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"80ed44864d21051f6fbcb2777f630b377e1c4878","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.7.0-beta.4.tgz","integrity":"sha512-evX45XWWUZbJgl0Z0wJu+9wBpwW3M81PmkGqCA6Ut2hj+HXjj73fMikEsPVWwCGtsop+pHiAjvW8X9Ka2HTBaw==","fileCount":165,"unpackedSize":311452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmNcrCRA9TVsSAnZWagAAn4IP/i7Yt1zET4uBZDTLNTVm\nhguxy5+7RzfXviUu3BL0xODghRMez+chnuZSA5sNOtOp7syxrYZxc6EYS/uq\n6WaoMJQ8GfjyXVIXwOAjBUrODjXRcLZRgsTFPkW0LBOoUj6USLpvxtAzkU0T\nN4iosDvRn54XEVFpYvIna7IYzWo97f7GuJbCwN/FYoeaRbt0E3wc0CTGxrwl\nR2el8a5KnigdCarmjM6FOqw8qsq58LMdJBj+gifiSL7G9JFBI9ldikIESGiz\ndNeyPHqofToWS6wWEGwoMVMHdlMP9HyP6L9z80Qktiyha74xWsgBCoSlZowV\nLf2jqb4Ii4z5oDv2bjORnq84GpfXtaA7KrHp+MiAvuJoN55Uo6vqNznIkstS\n31brnwJnAYf9ewsgFGqqPxrYdl6xXJ7tirWz2rUwdnlnRT/0LROuQ27GMYRK\nDGPvB/gUw5cNPncpyVjp/OPqhZnUgAliHrk/TLPWlmVpVwfreWjKp5a3yxyd\nLo3zMinQOkUNYozuThKaG8DcPWb3A7dvOejaQtN9w+yb97TELEFnhda6EXAm\nviFgxDzBpPV8NXuDV3DmAVnXBRVkb/5Pzw7bBtS3ZeuHV5jpBPChXbmwrfw1\nQ0uBsU5RXNkFOkun54DwTtIjNEccCUfs/979llltJXja9/SrfplrPhgPssib\nkAJb\r\n=rIeX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDICYlWqzlAaouyGaRRbinwWLvhapxAuoZclE/SeQntsAiEA9U3xkj/fxI/2oJ3Vy6oet6L4es1k0KJukCzLD4Z88DU="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.7.0-beta.4_1536743210809_0.47105661087185524"},"_hasShrinkwrap":false},"2.7.0-beta.5":{"name":"dynamo-types","version":"2.7.0-beta.5","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.9.1"},"dependencies":{"@types/bluebird":"^3.5.24","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.3","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","bluebird":"^3.5.2","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"a82a5b9ac1a6fa08d23974ca9c1c27f0b677ca0c","_id":"dynamo-types@2.7.0-beta.5","_shasum":"2429ade8da273890005b1116b4638461b319b96b","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.11.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"2429ade8da273890005b1116b4638461b319b96b","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.7.0-beta.5.tgz","integrity":"sha512-W06UWPlP7wiUAvOc357M6eRKhADyZLfUsYBkVtJ8N75kZwDntp1lgW/Ls+yfYRYmkQjRgHCAh8NVgMlpx81o1Q==","fileCount":165,"unpackedSize":311410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmNg/CRA9TVsSAnZWagAA9osP/0Y/DMxQTnXX75SriLgf\n86SuX2xomJZwsWh3tiZcTwPoWhwdyACBEEj3m0e8EIhrJdyuWi8+81Tjw9TN\nxNLe55o5M2Ya+hR36e/4d3Q5pyRVAt0V7vi7R0kX1BOwTyUAIwzbhSZ8kcmu\nX2zpuc4ulCHA9SYBSEwM/Km8unqrmyS2CSpo9XRj+5QWgCwQ4fTZsYogoemj\nfF/0NHUxA9N3NSLjECh+IF6z0laxw1dDCj+edRSUm0ZmFIdfzItT9auow6Cm\n1FODdsOmVa3N+7a4KXmViISLvYaBiKuMItWYOCkiB7S1dC0raGPFzpoKa8iZ\nmDRrHi2QnmpkFhdoiiHvcIqtqAVuWtLwrsAmQiom2sbmXu2NfJuqdjN7Q+8w\nEVYtslYU9TV3wM5mL5Fv5mmgstAAcWjzekFSPoLjCi9tTEkeFBLih+Rny977\n0ZfcHNVsL7PNb7ecHQJhMSkUtMGyGr9Glat5NqoL029d5Wi+BsHpXeAQZwnq\nZqWIRWvf6YbLNQ9eRWoBvonG3lPWJOnlvOZ5ACMkW9O3gm6Fyy1oa6D63r6s\nh/GUB+Wl0HwxxFQN3n6RTfek/smIvglSukBSWdrliqTFKw31t7R2Adj8HV55\n+/u3A9JLem28MDBnyQh4C3+Q/bVCUOQJaZE13kpK40U//Vq2kZ5+7kxF8+To\neKXh\r\n=MVgq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAMvLQqsRDPBGkzFZgfkJu8HCr2RiT/8g9mUpAugeEwLAiEAr+1bkVH7leZKGmvbjegsSI2hBkR0qUcYxQQvlX/TrSg="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.7.0-beta.5_1536743486510_0.5155752136189162"},"_hasShrinkwrap":false},"2.7.0-beta.6":{"name":"dynamo-types","version":"2.7.0-beta.6","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.9.1"},"dependencies":{"@types/bluebird":"^3.5.24","@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.3","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","bluebird":"^3.5.2","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"a82a5b9ac1a6fa08d23974ca9c1c27f0b677ca0c","_id":"dynamo-types@2.7.0-beta.6","_shasum":"096a9274fbec09eddae77f2a0299df5f3999a483","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.11.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"096a9274fbec09eddae77f2a0299df5f3999a483","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.7.0-beta.6.tgz","integrity":"sha512-SAkhzxTM6PwH19tAsSyRyO1uGeZnzR3e0fjd5wkwqfoIOvovnEIHe4AkVR7ESM85q/TeosPhFTdHd07hxGaJjg==","fileCount":165,"unpackedSize":311410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmNxdCRA9TVsSAnZWagAAv4AP/A/hc2r4WAde9UPy1Y/6\nm5MGhv8zhLbs6hgy9rBb+OC6ge4xfx1/MXj/QK/rMfM0TLvpOfd4J2feqJAA\nRbfQE2C/bHUarGLnP3Re3J5cNSiYaoHbssi9ny6icHD0c/xlXNnmYJpQmCTh\nc309uGDFOu9lNflZ9Ctse37s72avFq36SPaFHqmxVSLEVrenuM5SIDN6Ou0K\nTRQFguYqPe7UalBISS+QggM9imXhTb+xQABqrRPOfb02fE83S3V0hMgmalpI\nfQrbbMg8N9jo3hcx5tIkjrptR4k2jegRV/jfGmGWiASG0aUCsZILhZYypdth\ndd6fM5cugqKCh2azESA4N23BEhsy9ZbFFtSCM9YdfVJXb8mTtZVEHgHkWr5Z\nSSx19DDYHKWhQ8etTPWbvrX+csiBQuBbjWFMreJNdBDjEU0/yD1WzeerJS1h\naIxfF0eAEChRBv73P6mUJQ/kTAYqZnNlSXC1HcIGCDcZVwYwblQSa0w4hzYr\nUGNS8ZWlBfOlCnNePbWZGvyLOv4GYo/Xt2Twj1U45U9GkAGdTYYRgseFrRlb\nZIUetuMr5lx9QpoRDgTQZPG7obyXMiML/pWHfk9Iwrd9Zs62Lx4Ep6dLex2/\n98Os45/EMX5FISfek2vUhCjzfBD26SHvTG2iQURvBwgCGxHV260X2fNmXQPF\njA/D\r\n=EoX/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDue+NkyS2OvnRdQxcvbDsdNSpFK30fa8G37olwrAwESgIgfA3hdfRFbXy4xfsdjike6PGAHB11ZZ9ZcvR8NQdlqE0="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.7.0-beta.6_1536744540833_0.12979827377476205"},"_hasShrinkwrap":false},"2.6.1":{"name":"dynamo-types","version":"2.6.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"author":"","license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.4","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"ebbd28277d5002f092101b773b080e3a22c79dc6","_id":"dynamo-types@2.6.1","_npmVersion":"6.4.1","_nodeVersion":"8.9.3","_npmUser":{"name":"mooyoul","email":"mooyoul@gmail.com"},"dist":{"integrity":"sha512-ftiUHgtD28RFjvuBVKDD0CgnjiqF3OX6b7T20WCRWhZwuiFJaFPDCnj3GdOxPrIJ5zAOLIzlfkAwOIUd55hJ3g==","shasum":"80d7e2d1bb793dfb43db6e465ea3ef0d74587318","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.6.1.tgz","fileCount":192,"unpackedSize":264832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3BfNCRA9TVsSAnZWagAAJwUP/2j6AWJk82W7XLujMDFS\njbSdcd7HBtsFZWyfWe8hQCErHMEx+JpJlPgD/2sVGAAB7BmlCqCJmeSWwKMo\nncsbMU2wxhvgmP4M539xnsEho7zKYn137F2lAcZS8V8xIk45AOeQ/yjOHjnu\nYnnof+P/JF1ZH3TZvtBkFhRL41kqcfMbNMyymO8qjx5rBzNqxtmWMLzaAkoU\n03rAfgedJI6cPE/LK3/3RcJTi3PMy9/J7i8MdxM18XkgAAsXVkrjn7EKCu8Q\n1DGJll+nExrozgcGt+dM7JvpJhu5jm6jDzelLLlyTzpKxcGRiJwkK8bq2Qpy\nQJ833Y1n0Mo+Nk9fDa2ao+jkt4QaJjjkI3yJa6JfWeuV1tOy3NP0ClVKIVgt\n2NGJPCe47LJkE3JKs5hplZAsWg/2fyBwdIJW1gHfF1wiretiaKw9MKHAmA4z\nrmiEX4MK4SdDLOCZ2yP7NkeeLIW1kBdVzcwH5jUJP8xY0vj6ocUxHFwukvkc\n1MSplCpevZB295ChuEV8S8iPiN7mUOOcAUzP/ORcICZuUQnuxjupHp/7gD1g\nggch5HtNkP8xIU/TTF7FMvWvOKWjhVTeQ8PEsH1i2HGBxndpgVcKTxGbqglq\nnu2hSE4i4cPrXT8LxZIM9kRIbI2Ka3X9xrFj6juYhhcSGparReZwlGaCvQ+A\nPuR4\r\n=qWMH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbzVKIHm5l9r4FTcNnjbEZke3XD+LTb2wNZWfcfxnsqwIhAMP/izr3Fx8dtdxkukO2rdAhFNn6N7DUY9zxDd9qekuT"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.6.1_1541150668356_0.8932753672664611"},"_hasShrinkwrap":false},"2.7.0":{"name":"dynamo-types","version":"2.7.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"build":"check-engine && rm -Rf dst && tsc -d && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","dynamodb:cleanup":"(test -e $TMPDIR/dynamodb-local.pid && pkill -SIGINT -P $(cat $TMPDIR/dynamodb-local.pid)); rm -f $TMPDIR/dynamodb-local.pid","dynamodb:setup":"node $(npm bin)/local-dynamo --port 8000 & echo $! > $TMPDIR/dynamodb-local.pid; sleep 3","pretest":"rm -Rf dst && tsc -p ./tsconfig.test.json && cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd .. && npm run dynamodb:cleanup && npm run dynamodb:setup","test":"AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 mocha -t 20000 dst/**/__test__/**/*.js","posttest":"npm run dynamodb:cleanup","prepublish":"npm run build","ci:publish":"publish","lint":"tslint -c tslint.json 'src/**/*.ts'"},"engines":{"node":"8.10.*"},"author":{"name":"Kurt Lee"},"license":"ISC","devDependencies":{"@types/chai":"3.4.34","@types/chai-as-promised":"0.0.29","@types/cli-color":"0.3.29","@types/faker":"^4.1.0","@types/mocha":"2.2.32","@types/node":"6.0.52","chai":"3.5.0","chai-as-promised":"6.0.0","check-engine":"^1.8.0","dynamo-local":"0.0.4","faker":"^4.1.0","local-dynamo":"0.5.0","mocha":"3.1.2","publish":"^0.6.0","typescript":"2.4.2"},"dependencies":{"@types/lodash":"^4.14.71","@types/reflect-metadata":"0.0.5","amazon-dax-client":"^1.1.4","aws-sdk":">=2.100.0","aws-xray-sdk-core":"^1.1.3","lodash":"^4.17.4","reflect-metadata":"^0.1.10"},"gitHead":"c9d1a30c99e3ef402309c9e3de5908956e604ffe","_id":"dynamo-types@2.7.0","_shasum":"2dafe8ed60361b15fd4534045516055c64363ce0","_from":".","_npmVersion":"2.15.12","_nodeVersion":"8.10.0","_npmUser":{"name":"kurtlee","email":"breath103@gmail.com"},"dist":{"shasum":"2dafe8ed60361b15fd4534045516055c64363ce0","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.7.0.tgz","integrity":"sha512-tqVpadVAZurUR1p3YU6To5ZvCaPwB6drhzycyNUFvJrTGgXbhCQd8Gqpaa4frLO6N9m2UfJpdcvqKQjMI4k8yA==","fileCount":195,"unpackedSize":362505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrEybCRA9TVsSAnZWagAAanoP/0iTmMFltLE/ecVZ/C5V\nEVQdy+e0X6swDhjbs20qSvGHQ0qZZKm7zZ0UbnoEbC2L/qwyUdwbhCGvQfTj\nrp3Ohbe4jfPfHFfADIQwoFXSyHz0Rbtss9yRmOJjDHw2B8lJZJ7qUsIQqQFq\nWlmtgl+4pQ8JswI/WWUX1KCRHUJcYr4qw5iIWzSqp2VygZ4BDqRa6fCp46rL\nOog+RiZ4yZeHm7i/LAa1p1LuT7BqRug3SwU7c6wi4kamWPDi1lknPt2YXgbe\nFTGJXG9zOxdbpho6+sAnLIdAIBrhKDtLD12BnHwmgO+ZAMLxUA0KI1RUycEC\nz4iD09NSlcMZ15Dmw9gzYfwXh8NNrLST4Q2XJKikxUIxwSBHO/wwb5fyEMuY\nFvTtey9loY/u+3TySM9HcIOXGQgF6T/t+bFdFmPTH5jbJG/YAaysyO/v9sr1\ncsroScfKLV7fJZMpLaSRb+BJbiSd3Eu9CFQJa46/cnjcesQbK4yRMDDBTCnG\nshwXlI9HNKhUu4BMAUchi+THyH+zwG+U7pFnxcnpA3GJPnPecOvNR/hXNP4H\nM2W2yjZAJOj+YDoPbbgDJR2JlY7RsK7qEvR9KefRyp+P++x7cFC0L287Hbby\nwLdxDnl63L/6DIJie8pH/H98opJbH19CAZ2dr6ptrdHIt4wYbYS5LYbkBgMW\nhqbq\r\n=1wlM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGkwyOvZQaxqeKFvCEPbFaZSZjoMUjGSQqym/dNVfTceAiA2O57G05uM11/cTgPm/GqUsXJ6+IQUDgxDT6CcTmV9YQ=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.7.0_1554795674906_0.27546720860878593"},"_hasShrinkwrap":false},"2.7.1":{"name":"dynamo-types","version":"2.7.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"prebuild":"check-engine && rm -rf dst","build":"tsc","postbuild":"cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","pretest":"npm run build -- -p ./tsconfig.test.json","test":"env AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock mocha -t 20000 dst/**/__test__/**/*.js","test:local":"env DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 npm test","prepublishOnly":"npm run build","lint":"tslint -c tslint.json 'src/**/*.ts'"},"repository":{"type":"git","url":"git+https://github.com/balmbees/dynamo-types.git"},"engines":{"node":">=8.10.0"},"author":{"name":"Kurt Lee"},"license":"ISC","bugs":{"url":"https://github.com/balmbees/dynamo-types/issues"},"homepage":"https://github.com/balmbees/dynamo-types#readme","devDependencies":{"@types/chai":"4.2.3","@types/faker":"4.1.5","@types/lodash":"4.14.141","@types/mocha":"5.2.7","@types/node":"8.10.54","@types/reflect-metadata":"0.1.0","@vingle/commitlint-preset":"1.0.3","@vingle/semantic-release-config":"1.0.3","@vingle/tslint-preset":"1.0.0","chai":"4.2.0","check-engine":"1.8.1","dynamo-local":"0.0.4","faker":"4.1.0","husky":"3.0.5","mocha":"6.2.0","tslint":"5.20.0","typescript":"3.6.3"},"dependencies":{"amazon-dax-client":"^1.2.2","aws-sdk":"^2.538.0","aws-xray-sdk-core":"^2.3.6","lodash":"^4.17.15","reflect-metadata":"^0.1.13"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@vingle/commitlint-preset"]},"gitHead":"3531e9972c8ac1278c5444da0defee892e981ce9","_id":"dynamo-types@2.7.1","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BZVdsVe9jx1odYWhLPMyBXOvVLu4Hv0LzIt4ek9PlMEPhNfppqln8xLV0x4FjIOTblhCOB7FrVr1qQmPEff/Ow==","shasum":"8c7b247d37fa515701575f4781889868689f4207","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.7.1.tgz","fileCount":116,"unpackedSize":117801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdjoXNCRA9TVsSAnZWagAAlQUP/1tbeKnmeQH1jz6z4EBc\nQ7Yrg2mjMfOBuPYuXYvGTS4fNDJgmaL3hoT9DGeKFevmTG8KEZijwO3fyn26\nU32ueMM2ub9ImzBpBrDHg4A1KEIcZVl9IX8sACJ7mE0oGKWwU5c7YCrOz98a\ngy9T7WES5SZaFi/ok9CtuxMPGlc6y9LzUo5YdiNy7hgLPrjWzeP+cVBeLuUr\nu/K/5echy7Im6PR6ZMZpsYdmstM7laEhQVtLEH4RoGLGWvBME021a05CSnZ9\naCE0IQokvYpSS4RJiauYoK39WiTYXTib5ZzmMjsuEFQdV1wqHTvCjLo72P6I\nz2puGrhSuAcfN4oYq1jeaTAFQMs4/Z/Vc5OY9WfP4xt/bPHXoniW7vnTDsn7\nSnNwNmkremXXJTc53N8q1pvglmIc4IlAahNesAMdpX3Qp5MndaVn97dIydf5\n5pxApeHTEEEgkYKzit3Hnfhd4GEWBAWqx2cXMpNl2eXN8aT3E2bF9DJMjPYY\n/qxxwkuyhoMf4XX4BSSAGnP6y4rsvA2F8h08mI3ro4uXHVnp9CWXauW0vpQr\n8rxzJZEHT5Hqf76R+LK5UyAsFcGp0t0KjLz9BkX4X87Z1EyDPfoySUlmHW4g\npxwaLi29gj/NTX3Lw6fNx1MpZ6r7tkXHIOwGrdiy6a/4CE4Qp7c5bWxKHvSm\nO+Gf\r\n=m7lD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYie2h0jFhrmFAE7HBKzhOy06yjKZvGvZcGL3d+OE2wwIhANoQuc7rvilzTQhjhzZwa8uxEqbxXDKZbJa53sFZPKsa"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmUser":{"name":"vingle-bot","email":"eng@vingle.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.7.1_1569621452350_0.25283682784487316"},"_hasShrinkwrap":false},"2.8.0":{"name":"dynamo-types","version":"2.8.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"prebuild":"check-engine && rm -rf dst","build":"tsc","postbuild":"cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","pretest":"npm run build -- -p ./tsconfig.test.json","test":"env AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock mocha -t 20000 dst/**/__test__/**/*.js","test:local":"env DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 npm test","prepublishOnly":"npm run build","lint":"tslint -c tslint.json 'src/**/*.ts'"},"repository":{"type":"git","url":"git+https://github.com/balmbees/dynamo-types.git"},"engines":{"node":">=8.10.0"},"author":{"name":"Kurt Lee"},"license":"ISC","bugs":{"url":"https://github.com/balmbees/dynamo-types/issues"},"homepage":"https://github.com/balmbees/dynamo-types#readme","devDependencies":{"@types/chai":"4.2.5","@types/faker":"4.1.7","@types/lodash":"4.14.148","@types/mocha":"5.2.7","@types/node":"8.10.59","@types/reflect-metadata":"0.1.0","@vingle/commitlint-preset":"1.0.3","@vingle/semantic-release-config":"1.0.3","@vingle/tslint-preset":"1.0.0","chai":"4.2.0","check-engine":"1.8.1","dynamo-local":"0.0.4","faker":"4.1.0","husky":"3.0.9","mocha":"6.2.2","tslint":"5.20.1","typescript":"3.7.2"},"dependencies":{"amazon-dax-client":"^1.2.2","aws-sdk":"^2.538.0","aws-xray-sdk-core":"^2.3.6","lodash":"^4.17.15","reflect-metadata":"^0.1.13"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@vingle/commitlint-preset"]},"gitHead":"3438f7e65b6266e201a6b7de2b79af4d9757069f","_id":"dynamo-types@2.8.0","_nodeVersion":"12.13.0","_npmVersion":"6.13.0","dist":{"integrity":"sha512-xXiUaFciHo6SdqCP5YKJI0PYwjF3dHXDNGUogjdBLTkV6L0ivww79PRoJlHk3BL43PlicX/UMicwXS5peGC9/A==","shasum":"76f4230c374bec12b38ac7365fcb0c5651568d61","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.8.0.tgz","fileCount":116,"unpackedSize":124357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0H93CRA9TVsSAnZWagAAeH8P/2ETFCqH15Tq2LZDzfTh\n/D4OtZ1hoEOxFdXhzQ5ychDui/JmmnFqJB49rpuZv2voUkaWVLYL89BHu0NA\n+ewmqDahH/J4G+3fv8C8ct0UM1zrnexDm3O7T+15YnfQgSSC7MiUe2Bhgm3M\ndD+TT4AcQpkNdqS9f37B4M9WDkdm3O00ZRTIOB8xhAFpQJTAHlm0VCycRZps\ncdhuktaXxckf/0OwvTSSf64H4T+J+etEvZAZoZwuL8fWfUEbC+DPHYkLLCz2\no2eEqI/u5MeEqFjnZxtOOVEyTrOIzu8++RZcvYsS0WnCqj8yitQGBEZW1lQV\nBi6fP6UJeHjmeb+1lPpYzlTnnuGmdxKPHgnTUQQnQHLYEbeJDxZFY2HGYIgp\n9SHgPHWfcl8zUrkk5LMzspAg5jZbHUSlRxPY93hulqUsltJrqVvSGnFpBAPs\nhpVVijFKlaXYRwIQ44Y8GoWB+N6VNTOznjVr+Jhm7H3FSM9XA/s9nSVfxbxZ\nAPJlnDLk5GWik8WDWP2PEUTNMsuOKDx43gkSiUfNsuFcE30rx2AiDUs5DLnW\nxgmZXdCUMaQgq8Z//kr0Gx+3I2JTlAHQlqkvT/22ovpD7S4sO3kPJU3h7dYf\n+sIX0W0Y+CMsYDDH5fIVyLki8EYMm3msvkfW0lLw3b1aaIuBB+axOtUg8I+G\nEPPI\r\n=GZ+w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGxjRZ1wZo49f2qGZGFRPqPfu5Ba1N9VRaRCx7FHZUMFAiEA1YIDY3tH/w0KgpUCm8Qw9nGL2NYW5ZvkKXMf14GMJoA="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmUser":{"name":"vingle-bot","email":"eng@vingle.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.8.0_1573945207090_0.44389613659114957"},"_hasShrinkwrap":false},"2.9.0-beta.0":{"name":"dynamo-types","version":"2.9.0-beta.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"prebuild":"check-engine && rm -rf dst","build":"tsc","postbuild":"cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","pretest":"npm run build -- -p ./tsconfig.test.json","test":"env AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock mocha -t 20000 dst/**/__test__/**/*.js","test:local":"env DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 npm test","prepublishOnly":"npm run build","lint":"tslint -c tslint.json 'src/**/*.ts'"},"repository":{"type":"git","url":"git+https://github.com/balmbees/dynamo-types.git"},"engines":{"node":">=8.10.0"},"author":{"name":"Kurt Lee"},"license":"ISC","bugs":{"url":"https://github.com/balmbees/dynamo-types/issues"},"homepage":"https://github.com/balmbees/dynamo-types#readme","devDependencies":{"@types/chai":"4.2.5","@types/faker":"4.1.7","@types/lodash":"4.14.148","@types/mocha":"5.2.7","@types/node":"8.10.59","@types/reflect-metadata":"0.1.0","@vingle/commitlint-preset":"1.0.3","@vingle/semantic-release-config":"1.0.3","@vingle/tslint-preset":"1.0.0","chai":"4.2.0","check-engine":"1.8.1","faker":"4.1.0","husky":"3.0.9","mocha":"6.2.2","tslint":"5.20.1","typescript":"3.7.2"},"dependencies":{"amazon-dax-client":"^1.2.2","aws-sdk":"^2.538.0","aws-xray-sdk-core":"^2.3.6","lodash":"^4.17.15","reflect-metadata":"^0.1.13"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@vingle/commitlint-preset"]},"readme":"[![Build Status](https://github.com/balmbees/dynamo-types/workflows/workflow/badge.svg)](https://github.com/balmbees/dynamo-types/actions)\n[![npm version](https://badge.fury.io/js/dynamo-types.svg)](https://badge.fury.io/js/dynamo-types)\n[![Semantic Release enabled](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n[![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/)\n\n\n# DynamoTypes\n\nTypescript ORM of DynamoDB, written from scratch to fully support DynamoDB. Powering [Vingle](https://www.vingle.net)\n\n## Features\n1. Serialize / Deserialize DynamoDB record -> TS class object based on annotations.\n2. Table Configurations\n   - CreateTable\n     - Create secondary indexes (Both local / global)\n     - Configure TTL\n   - DropTable\n3. PrimaryKey\n   - FullPrimaryKey (Hash, Range)\n   - HashPrimaryKey (Hash)\n4. Indexes\n   - Local, both hash and range key\n   - Global, both hash and range key\n5. Attribute\n   - Type Support (Number / String / Boolean / Array / Object / Buffer)\n   - TimeToLive\n6. DAX Support\n   - You can specify this by setting the connection of table. \n7. Optimized aws-sdk usage\n   - aws-sdk has a serious problem of not reusing HTTP connection towards DynamoDB by default. check [this issue](https://github.com/aws/aws-sdk-js/issues/900)\n   - this could cause unbearable latency sometimes with showing > 100ms. it's more of an issue of NodeJS HTTP module but nevertheless, it has been optimized here by keep-alive [Code](https://github.com/balmbees/dynamo-types/blob/master/src/connections/dynamodb_connection.ts#L37)\n8. AWS X-Ray support\n   - XRay is serverless distributed tracing service. In order to log DynamoDB transaction into it, you also need to some sort of risk monkey-patching. Here you can turn it on by setting [`process.env.ENABLE_XRAY = \"true\"`](https://github.com/balmbees/dynamo-types/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L9)\n9. Testing\n   - You can change the endpoint of DynamoDB by setting the environment variable or setting new connection, So you can install [local-dynamo](https://www.npmjs.com/package/local-dynamo) locally at setup endpoint to local. refer package.json for the detailed how-to\n\nAlso, dynamo-types let you overcome several limits that DynamoDB or the aws-sdk has.\n\n1. BatchWrite (batchDelete / batchPut) has a limit of a maximum of 25 items per request.\n   - dynamo-types automatically splits given items into chunks of 25 and sends requests in parallel\n2. BatchGet has a limit of a maximum of 100 items per requests\n   - dynamo-types automatically splits given keys to chunks of 100 and sends requests in parallel\n3. BatchGet doesn't keep the order of items as it is in input keys,\n   - dynamo-types sort return items based on input keys\n4. BatchGet doesn't handle \"missing items\".\n   - dynamo-types has \"BatchGet\" / \"BatchGetFull\" \n     - BatchGet  \n        order items follow to keys, missing items are just missing. return type Promise<Array<Item>>  \n        so keys.legnth !== items.keys in this case  \n     - BatchGetFull   \n        order items follow to keys, fill missing items with \"null\". return type Promise<Array<Item | null>>  \n        so keys.length === items.keys always true  \n\nAnd most importantly, all of those queries regardless of whether it's from index or primary key, strongly typed. I mean what's the point of using typescript if not anyway?\n\n## Usage\n```typescript\n  @Decorator.Table({ name: \"prod-Card\" })\n  class Card extends Table {\n    @Decorator.Attribute()\n    public id: number;\n\n    @Decorator.Attribute()\n    public title: string;\n\n    @Decorator.Attribute({ timeToLive: true })\n    public expiresAt: number;\n\n    @Decorator.FullPrimaryKey('id', 'title')\n    static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n    @Decorator.Writer()\n    static readonly writer: Query.Writer<Card>;\n  }\n\n  // Create Table At DynamoDB\n  await Card.createTable();\n\n  // Drop Table At DynamoDB\n  await Card.dropTable();\n\n\n  // Creating Record\n  const card = new Card();\n  card.id = 100;\n  card.title = \"Title\";\n  //\n  await Card.writer.put(card);\n  // OR just\n  await card.save();\n\n  // Batch Put\n  await Card.writer.batchPut([\n    new Card(),\n    new Card()\n  ]);\n\n  // Get Record\n  await Card.primaryKey.get(100, \"Title\");\n\n  // BatchGet\n  // This array is strongly typed such as Array<[number, string]> so don't worry.\n  await Card.primaryKey.batchGet([\n    [100, \"Title\"],\n    [200, \"Title2\"]\n  ])\n\n  // Query\n  // Range key opreations are stringly typed. ([\">=\", T] | [\"=\", T] ...)\n  await Card.primaryKey.query({\n    hash: 100,\n    range: [\">=\", \"Title\"]\n  })\n\n  // Delete record\n  await card.delete()\n\n```\n\n\n```typescript\nimport {\n  Config,\n  Decorator,\n  Query,\n  Table,\n} from \"dynamo-types\";\n\n@Decorator.Table({ name: `table_name` })\nexport class CardStat extends Table {\n  @Decorator.HashPrimaryKey(\"card_id\")\n  public static readonly primaryKey: Query.HashPrimaryKey<CardStat, number>;\n\n  @Decorator.Writer()\n  public static readonly writer: Query.Writer<CardStat>;\n\n  @Decorator.Attribute({ name: \"card_id\" })\n  public cardId: number;\n\n  @Decorator.Attribute({ name: \"impressions_count\" })\n  public impressionsCount: number = 0;\n\n  @Decorator.Attribute({ name: \"shares\" })\n  public shares: number = 0;\n}\n```\n\n### TS Compiler Setting\nDynamoTypes utilize [reflect-metadata](https://github.com/rbuckton/reflect-metadata) to read metadata (usually type of variables) from Typescript code. to do so, you must enable those options.\n\n```json\n{\n    \"compilerOptions\": {\n        // other options..\n        //\n        \"experimentalDecorators\": true, // required\n        \"emitDecoratorMetadata\": true // required\n    }\n}\n```\n\n### Connection\nDynamoDB supports 2 different kinds of connections. Plain connections to DynamoDB through HTTP, or through DAX.\ndynamo-types supports this by letting you create a separate connection for each table.\n\n```typescript\n@Decorator.Table({ name: \"prod-Card1\", connection: new DAXConnection({ endpoints: [\"dax-domain:8892\"] }) })\nclass Card extends Table {\n  @AttributeDecorator()\n  public id: number;\n\n  @AttributeDecorator()\n  public title: string;\n\n  @AttributeDecorator({ name: \"complicated_field\"})\n  public complicatedField: string;\n\n  @FullPrimaryKeyDecorator('id', 'title')\n  static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n  @WriterDecorator()\n  static readonly writer: Query.Writer<Card>;\n}\n```\n\nThen any query that is sent to the Card table will be sent through DAXConnection.\n\nIf you don't specify any connection, it automatically uses [default connection](https://github.com/balmbees/dynamo-types/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L5), which is [DynamoDBConnection](https://github.com/balmbees/dynamo-types/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/connections/dynamodb_connection.ts).\n","readmeFilename":"readme.md","gitHead":"6f93f7f786ceb95d27a2800a8cb629b994084232","_id":"dynamo-types@2.9.0-beta.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","_npmUser":{"name":"mooyoul","email":"mooyoul@gmail.com"},"dist":{"integrity":"sha512-RiaVNP3JJ22lYQNFrmmLVIG1JsEv+kw9aZj2cQdlW6oMjinEtcmmqoUo5JXgnAJJMW07BRyH1DouyFQgyeCjsA==","shasum":"987076a9a450417dab74c76b8c0024f67d7d166e","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.9.0-beta.0.tgz","fileCount":140,"unpackedSize":145664,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd/86mCRA9TVsSAnZWagAAWqoQAIoFc3iQTbDuqzNDVxED\nF4yK+QVi5JcKxVq23skLBRJ74t3VUapyO9j0+X6WHZVMpKfK1AmMr0/Okhup\n0MGFAOCdmZg0sq4YhrUjnbahawmLrtw+c4yie6f0dwoMAd8RQ3Qud24MwNS0\njPTY8PoxP2OE28dbpLb+pOZD2rHLG+GlmkyQ23ePphSaqMlpgzusXh/bscRU\nofnQt4S6z+syDXNBtvDNUwurgdHnW1NYwLjBViXOn0Tc15LovdiJi8+Rwyvo\n7m8L3dM9uUXWry/cv2uD4cKECfNqrS1rE4gLJlJo2l/eDasPp8V2UVwc+oVR\ne3o0jOj7sSRomroHg2c8R3v5t1fzWB1aCMY+gc46l3fEEqyR6MXji4YpGdaq\n3nhgiA/9nb/NbtTdc28MzEQwqpIi2Bh7ipuFN2AQu/nWztJjU9uDuLWRfppd\nzHAFcC0eVWyfX6KKOy6Jb/Q+T+m+QZVOFOdixg+4AaG78uHKXnXQbvmar54z\nDNZserzER7qyrEywbjfEbpsqfW0FyBHWMu0O/nnv/sXlaZYlZdRVbb6XqATh\nqjX4wvQikhIzsZ92GEABnCXxeJL12xWfh17B/J7BYcWfkoFGuxICIkrhdIXW\n9c4YqvnkQfNAqS9xriYSEzg7LKO+De2dM9Ux4AoTV91W5O9WskMk/kGBPaO0\nQTRK\r\n=hjw9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCT+R398oXUvB9mWc4ZJYu86gkQSPezR1k2OmEQJHiCKAIgYHGKtudwTOiWyltDFSvxLOnFxnurMXh3atNMmOVGeLY="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.9.0-beta.0_1577045669783_0.7186276470654331"},"_hasShrinkwrap":false},"2.9.0-beta.1":{"name":"dynamo-types","version":"2.9.0-beta.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"prebuild":"check-engine && rm -rf dst","build":"tsc","postbuild":"cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","pretest":"npm run build -- -p ./tsconfig.test.json","test":"env AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock mocha -t 20000 dst/**/__test__/**/*.js","test:local":"env DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 npm test","prepublishOnly":"npm run build","lint":"tslint -c tslint.json 'src/**/*.ts'"},"repository":{"type":"git","url":"git+https://github.com/balmbees/dynamo-types.git"},"engines":{"node":">=8.10.0"},"author":{"name":"Kurt Lee"},"license":"ISC","bugs":{"url":"https://github.com/balmbees/dynamo-types/issues"},"homepage":"https://github.com/balmbees/dynamo-types#readme","devDependencies":{"@types/chai":"4.2.5","@types/faker":"4.1.7","@types/lodash":"4.14.148","@types/mocha":"5.2.7","@types/node":"8.10.59","@types/reflect-metadata":"0.1.0","@vingle/commitlint-preset":"1.0.3","@vingle/semantic-release-config":"1.0.3","@vingle/tslint-preset":"1.0.0","chai":"4.2.0","check-engine":"1.8.1","faker":"4.1.0","husky":"3.0.9","mocha":"6.2.2","tslint":"5.20.1","typescript":"3.7.4"},"dependencies":{"amazon-dax-client":"^1.2.2","aws-sdk":"^2.538.0","aws-xray-sdk-core":"^2.3.6","lodash":"^4.17.15","reflect-metadata":"^0.1.13"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@vingle/commitlint-preset"]},"readme":"[![Build Status](https://github.com/balmbees/dynamo-types/workflows/workflow/badge.svg)](https://github.com/balmbees/dynamo-types/actions)\n[![npm version](https://badge.fury.io/js/dynamo-types.svg)](https://badge.fury.io/js/dynamo-types)\n[![Semantic Release enabled](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n[![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/)\n\n\n# DynamoTypes\n\nTypescript ORM of DynamoDB, written from scratch to fully support DynamoDB. Powering [Vingle](https://www.vingle.net)\n\n## Features\n1. Serialize / Deserialize DynamoDB record -> TS class object based on annotations.\n2. Table Configurations\n   - CreateTable\n     - Create secondary indexes (Both local / global)\n     - Configure TTL\n   - DropTable\n3. PrimaryKey\n   - FullPrimaryKey (Hash, Range)\n   - HashPrimaryKey (Hash)\n4. Indexes\n   - Local, both hash and range key\n   - Global, both hash and range key\n5. Attribute\n   - Type Support (Number / String / Boolean / Array / Object / Buffer)\n   - TimeToLive\n6. DAX Support\n   - You can specify this by setting the connection of table. \n7. Optimized aws-sdk usage\n   - aws-sdk has a serious problem of not reusing HTTP connection towards DynamoDB by default. check [this issue](https://github.com/aws/aws-sdk-js/issues/900)\n   - this could cause unbearable latency sometimes with showing > 100ms. it's more of an issue of NodeJS HTTP module but nevertheless, it has been optimized here by keep-alive [Code](https://github.com/balmbees/dynamo-types/blob/master/src/connections/dynamodb_connection.ts#L37)\n8. AWS X-Ray support\n   - XRay is serverless distributed tracing service. In order to log DynamoDB transaction into it, you also need to some sort of risk monkey-patching. Here you can turn it on by setting [`process.env.ENABLE_XRAY = \"true\"`](https://github.com/balmbees/dynamo-types/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L9)\n9. Testing\n   - You can change the endpoint of DynamoDB by setting the environment variable or setting new connection, So you can install [local-dynamo](https://www.npmjs.com/package/local-dynamo) locally at setup endpoint to local. refer package.json for the detailed how-to\n\nAlso, dynamo-types let you overcome several limits that DynamoDB or the aws-sdk has.\n\n1. BatchWrite (batchDelete / batchPut) has a limit of a maximum of 25 items per request.\n   - dynamo-types automatically splits given items into chunks of 25 and sends requests in parallel\n2. BatchGet has a limit of a maximum of 100 items per requests\n   - dynamo-types automatically splits given keys to chunks of 100 and sends requests in parallel\n3. BatchGet doesn't keep the order of items as it is in input keys,\n   - dynamo-types sort return items based on input keys\n4. BatchGet doesn't handle \"missing items\".\n   - dynamo-types has \"BatchGet\" / \"BatchGetFull\" \n     - BatchGet  \n        order items follow to keys, missing items are just missing. return type Promise<Array<Item>>  \n        so keys.legnth !== items.keys in this case  \n     - BatchGetFull   \n        order items follow to keys, fill missing items with \"null\". return type Promise<Array<Item | null>>  \n        so keys.length === items.keys always true  \n\nAnd most importantly, all of those queries regardless of whether it's from index or primary key, strongly typed. I mean what's the point of using typescript if not anyway?\n\n## Usage\n```typescript\n  @Decorator.Table({ name: \"prod-Card\" })\n  class Card extends Table {\n    @Decorator.Attribute()\n    public id: number;\n\n    @Decorator.Attribute()\n    public title: string;\n\n    @Decorator.Attribute({ timeToLive: true })\n    public expiresAt: number;\n\n    @Decorator.FullPrimaryKey('id', 'title')\n    static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n    @Decorator.Writer()\n    static readonly writer: Query.Writer<Card>;\n  }\n\n  // Create Table At DynamoDB\n  await Card.createTable();\n\n  // Drop Table At DynamoDB\n  await Card.dropTable();\n\n\n  // Creating Record\n  const card = new Card();\n  card.id = 100;\n  card.title = \"Title\";\n  //\n  await Card.writer.put(card);\n  // OR just\n  await card.save();\n\n  // Batch Put\n  await Card.writer.batchPut([\n    new Card(),\n    new Card()\n  ]);\n\n  // Get Record\n  await Card.primaryKey.get(100, \"Title\");\n\n  // BatchGet\n  // This array is strongly typed such as Array<[number, string]> so don't worry.\n  await Card.primaryKey.batchGet([\n    [100, \"Title\"],\n    [200, \"Title2\"]\n  ])\n\n  // Query\n  // Range key opreations are stringly typed. ([\">=\", T] | [\"=\", T] ...)\n  await Card.primaryKey.query({\n    hash: 100,\n    range: [\">=\", \"Title\"]\n  })\n\n  // Delete record\n  await card.delete()\n\n```\n\n\n```typescript\nimport {\n  Config,\n  Decorator,\n  Query,\n  Table,\n} from \"dynamo-types\";\n\n@Decorator.Table({ name: `table_name` })\nexport class CardStat extends Table {\n  @Decorator.HashPrimaryKey(\"card_id\")\n  public static readonly primaryKey: Query.HashPrimaryKey<CardStat, number>;\n\n  @Decorator.Writer()\n  public static readonly writer: Query.Writer<CardStat>;\n\n  @Decorator.Attribute({ name: \"card_id\" })\n  public cardId: number;\n\n  @Decorator.Attribute({ name: \"impressions_count\" })\n  public impressionsCount: number = 0;\n\n  @Decorator.Attribute({ name: \"shares\" })\n  public shares: number = 0;\n}\n```\n\n### TS Compiler Setting\nDynamoTypes utilize [reflect-metadata](https://github.com/rbuckton/reflect-metadata) to read metadata (usually type of variables) from Typescript code. to do so, you must enable those options.\n\n```json\n{\n    \"compilerOptions\": {\n        // other options..\n        //\n        \"experimentalDecorators\": true, // required\n        \"emitDecoratorMetadata\": true // required\n    }\n}\n```\n\n### Connection\nDynamoDB supports 2 different kinds of connections. Plain connections to DynamoDB through HTTP, or through DAX.\ndynamo-types supports this by letting you create a separate connection for each table.\n\n```typescript\n@Decorator.Table({ name: \"prod-Card1\", connection: new DAXConnection({ endpoints: [\"dax-domain:8892\"] }) })\nclass Card extends Table {\n  @AttributeDecorator()\n  public id: number;\n\n  @AttributeDecorator()\n  public title: string;\n\n  @AttributeDecorator({ name: \"complicated_field\"})\n  public complicatedField: string;\n\n  @FullPrimaryKeyDecorator('id', 'title')\n  static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n  @WriterDecorator()\n  static readonly writer: Query.Writer<Card>;\n}\n```\n\nThen any query that is sent to the Card table will be sent through DAXConnection.\n\nIf you don't specify any connection, it automatically uses [default connection](https://github.com/balmbees/dynamo-types/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L5), which is [DynamoDBConnection](https://github.com/balmbees/dynamo-types/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/connections/dynamodb_connection.ts).\n","readmeFilename":"readme.md","gitHead":"94a139f07b7302aeddcd914ae8fccfaf8f7425b9","_id":"dynamo-types@2.9.0-beta.1","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","_npmUser":{"name":"mooyoul","email":"mooyoul@gmail.com"},"dist":{"integrity":"sha512-/HkJwY01ruqGPJmNBAuDQkM2I/QUHuQY6Q6FBOJEUtGOVENZ6du6g96faFLno2+aHzHBoth8xBcBQ5ynykkfLw==","shasum":"db29f0438a78c70a2ed3176c22c1650b25db3a54","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.9.0-beta.1.tgz","fileCount":140,"unpackedSize":145700,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeBTgHCRA9TVsSAnZWagAAD9QQAKM0GOYT78m3hQXsSXov\nqXfXUxP00LMsSqThqW7r63Pq9XZJfxalXDlg73bUxS6HHKtqtEVVaIaB5oGP\nNkqYTFcfvLomFQ/lDSzp+tddPAlm083+9IdF1uXtHcM+ozCuVI1Fif+I3yN0\n3nBKwHJRZaX9HKtPpo5FXOxVoC/HobSkY0YqUFslvJY9ZrI6BBRNNEIwkU7b\n9zgwxe8uNil2YUHJG6K4dg92OZx06QX6WKskrG1JQRQWEnibeSPKDs/fPwsq\nLMc8FvOUOfRCp0orsMAlPZ4uYilnS+OeQi1W8FsxRSqfw53Xmj6NYVGIgapU\njnzboGQ0VfZLSZiwNT9G8kYv8Im4gbGIS84OkYG5XQoGL7ntTXXbLw1G2bxu\nl7gTfBYn3+IVOptLebuRB36gpegb/RH8QmHBeEuu6kNgKQXYs6OORMNYUogo\nujhpkffwOQBn+hlo5ON/sDgjaUreNA70vM7XC+V1Zvjh5h6KB0WVaz10PZhq\ndxqUGOBUwAWmS1WujzBzCbdTSSguYJY1fffPvvt/W8mYUl9R+60xwWdrK8Y+\n7g3B5jjssvFe/NYqvjaGSFwj5SCiN7VAdj0FRHOB13/b4yDdxeQdzQ7GJTUo\ng+snKVNuwvzOtmA+pJPQG9I59ylxnBnp6AtgloYs2dXJGhI53LYdf0edEoZT\ntQY8\r\n=+YjP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbIraDyd19pmWHhiZ5RPLiELz/THhvZnofMCKLhRi0RQIhANEbN3LWepruFuRcVJiBrjTY6rsv4sCV9kYKCbjPf7wg"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.9.0-beta.1_1577400326568_0.07823484048153895"},"_hasShrinkwrap":false},"2.9.0":{"name":"dynamo-types","version":"2.9.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"prebuild":"check-engine && rm -rf dst","build":"tsc","postbuild":"cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","pretest":"npm run build -- -p ./tsconfig.test.json","test":"env AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock mocha -t 20000 dst/**/__test__/**/*.js","test:local":"env DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 npm test","prepublishOnly":"npm run build","lint":"tslint -c tslint.json 'src/**/*.ts'"},"repository":{"type":"git","url":"git+https://github.com/balmbees/dynamo-types.git"},"engines":{"node":">=8.10.0"},"author":{"name":"Kurt Lee"},"license":"ISC","bugs":{"url":"https://github.com/balmbees/dynamo-types/issues"},"homepage":"https://github.com/balmbees/dynamo-types#readme","devDependencies":{"@types/chai":"4.2.9","@types/faker":"4.1.9","@types/lodash":"4.14.149","@types/mocha":"5.2.7","@types/node":"8.10.59","@types/reflect-metadata":"0.1.0","@vingle/commitlint-preset":"1.0.3","@vingle/semantic-release-config":"1.0.5","@vingle/tslint-preset":"1.0.0","chai":"4.2.0","check-engine":"1.8.1","faker":"4.1.0","husky":"3.1.0","mocha":"6.2.2","tslint":"5.20.1","typescript":"3.7.5"},"dependencies":{"amazon-dax-client":"^1.2.2","aws-sdk":"^2.538.0","aws-xray-sdk-core":"^2.3.6","lodash":"^4.17.15","reflect-metadata":"^0.1.13"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@vingle/commitlint-preset"]},"gitHead":"1eddeda9288c83d82516d60ed006f9620e68e0f7","_id":"dynamo-types@2.9.0","_nodeVersion":"12.16.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-x9bgMKvtPLaG49+nTNZbTMHv2fRVzkk+71dFPP6b7DJ+aGsn0x53sF9hec7QUY2oJiQv4PE9BfBj4lXWFGZyrg==","shasum":"d8a26f000d99c9e76249d29f91058570f97d8ae5","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.9.0.tgz","fileCount":140,"unpackedSize":146108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSz5+CRA9TVsSAnZWagAAZA0P+gLncWWGw69tYWCzdCr0\nK0A47+q68kR9Xakpx46Yz4b+teknq0mZNifnzr96F6iLCr70CoyqwRuO7hk8\nsaBHgFymG3RytyLh47g7QkJQZcD1bZo/lowmJBYouHgZOKtETUwOhfvXVM+8\nOcz6C86TLMJlggJ1VDbbn5Y4Xvr3CdD9fkiO/T/3EIZ/b65vJqf+hc5u1Mjo\nGE70BMzo9C8L9hRLZeSkSJkeuu7wGlEcBoF4pYkcE3XEAFUl4VdoKWRn7/fS\ntmKn3N2QkjSJ6B8oCb79zGMMfbGFyG08DsXITq4dQes6UHeJEgN20f/k4lp9\nOGtMvryZvv0Nta2lp6Szqjf5OKezNtFd+IGmgxtpx3qz6fcsErGxZUrfLzf/\n/iNc0TATHQ9fDVx9p7VFruJYS/pZKiA+tUp7/WbVX++fii6N6wG6brPfHmru\neNJdaetqTHEo7CHM0YLBxStdAbqxFco+X9sFDSvIzXld53iyRfIufjmC7jNk\n3l7E5rkeP6qYXx4ovBXWeqejOqIUz1yZc0QAeC1Emba8wUDFl+yiJcjJ4fak\nU6aURS6VIkH2QNlxkkdExQDihk6S28iuZ6jD8fEbJkD8FBtA9fhVk3/+Frbl\nS7tsXWQyIf09o5aiYHQUWDLpcmbLU4+Ihdhk+3PsB/OreJDgBoul1fbIpxrc\nHDsU\r\n=rN+C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCf1hoDOaTOn/SEOTvlj8gua+EbnBKGPpiYK5ei0O+TygIgdjWOCsiTVcXMbv49YTUwmak5w1irPAOxo/5YJavK7X8="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmUser":{"name":"vingle-bot","email":"eng@vingle.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.9.0_1581989502214_0.6206635630014146"},"_hasShrinkwrap":false},"2.9.1":{"name":"dynamo-types","version":"2.9.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"prebuild":"check-engine && rm -rf dst","build":"tsc","postbuild":"cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","pretest":"npm run build -- -p ./tsconfig.test.json","test":"env AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock mocha -t 20000 dst/**/__test__/**/*.js","test:local":"env DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 npm test","prepublishOnly":"npm run build","lint":"tslint -c tslint.json 'src/**/*.ts'"},"repository":{"type":"git","url":"git+https://github.com/balmbees/dynamo-types.git"},"engines":{"node":">=8.10.0"},"author":{"name":"Kurt Lee"},"license":"ISC","bugs":{"url":"https://github.com/balmbees/dynamo-types/issues"},"homepage":"https://github.com/balmbees/dynamo-types#readme","devDependencies":{"@types/chai":"4.2.9","@types/faker":"4.1.9","@types/lodash":"4.14.149","@types/mocha":"7.0.1","@types/node":"8.10.59","@types/reflect-metadata":"0.1.0","@vingle/commitlint-preset":"1.0.3","@vingle/semantic-release-config":"1.0.5","@vingle/tslint-preset":"1.0.0","chai":"4.2.0","check-engine":"1.8.1","faker":"4.1.0","husky":"4.2.3","mocha":"7.0.1","tslint":"5.20.1","typescript":"3.7.5"},"dependencies":{"amazon-dax-client":"^1.2.2","aws-sdk":"^2.538.0","aws-xray-sdk-core":"^2.3.6","lodash":"^4.17.15","reflect-metadata":"^0.1.13"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@vingle/commitlint-preset"]},"gitHead":"2ab428f992e9223f93979b729b08173c789d02c2","_id":"dynamo-types@2.9.1","_nodeVersion":"12.16.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-5DdUaD1/4R6enCr+jKlD+FVM6N7hewcff8tH/9kHTms/2sRJBs6502i9VzpPZ3ubV4gjtbNQ5Hb5+eZbPLU2Ow==","shasum":"3c11a1f344f3f9638db8b31d0910c75ef04834f4","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.9.1.tgz","fileCount":140,"unpackedSize":146527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTdm8CRA9TVsSAnZWagAAXR0P/iAh74g+mxnZDO/wWx9c\nup4JGsEayPBFIrQcJLoIf1RCEQvwrhSbdC/N2SWMZesh8Q2Ov8ZSLLkIa/Pw\nqgUExkaIYC1uiCAXWuvV5JUy568FTLDjC0aFYfYs2FFdbtoDEXidTEHtdWRV\nqXc068dyNgRVEUqhacvLNkx09xKhnct6jCUKLYltUXR0NIsnqrhj0tKDlqfP\n8bJrlT49tQkE7q5i1NlRB9b5/yVGQi51KvStoz39vKCcqJjiQzbloa0Ons7G\n/84wEV9jNGLSioqEEBPj9DX+QhTmUQH/IajctpEGgkWGGCAclULCb12prN3U\nvNTHmcBwKd/tz8EflXmxda9aGS261TKS5NwxLmUNvFqiVK2pfF+ovbd6eG0i\nrBTEt3nFBshuqssOlxuV+Ym+BuXHnGj9szQ78oEhcI/QbahVD4Yp+KGr6wtO\nyUIDE4uCQ9LUChjAZly4JF11Yqra8gkUCY1w+KZclp99/tC5XV5X8em6r3g2\nw/GDyWO0v4RmAN5sCm6j+1RTTk/cD4NkIS5PlfF9qluz5+Zsi7q+Yf8f8j8l\nSDvQScgB/b37jrLZ7LVDZZ8ec4Ox/F81RSYqF4aN37ABeqvFjS23sUvMerzT\n0dqu+F7qGZuVErpb3t2+82kbRnu06eI2aCavexC+YfMngE4bkSqC2PGPtsE0\nJ2BY\r\n=s4GP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgFtFpaXfJakgnwfacjd1iFFALLgwDLNX/yrm3YEiHhgIhAKQPnK9bGT38z+NOMmickX62LkcoGZKY2+fg1XjC5eeu"}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmUser":{"name":"vingle-bot","email":"eng@vingle.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.9.1_1582160316194_0.9998499574591488"},"_hasShrinkwrap":false},"2.10.0":{"name":"dynamo-types","version":"2.10.0","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"prebuild":"check-engine && rm -rf dst","build":"tsc","postbuild":"cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","pretest":"npm run build -- -p ./tsconfig.test.json","test":"env AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock mocha -t 20000 dst/**/__test__/**/*.js","test:local":"env DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 npm test","prepublishOnly":"npm run build","lint":"tslint -c tslint.json 'src/**/*.ts'"},"repository":{"type":"git","url":"git+https://github.com/balmbees/dynamo-types.git"},"engines":{"node":">=8.10.0"},"author":{"name":"Kurt Lee"},"license":"ISC","bugs":{"url":"https://github.com/balmbees/dynamo-types/issues"},"homepage":"https://github.com/balmbees/dynamo-types#readme","devDependencies":{"@types/chai":"4.2.11","@types/faker":"4.1.11","@types/lodash":"4.14.150","@types/mocha":"7.0.2","@types/node":"8.10.60","@types/reflect-metadata":"0.1.0","@vingle/commitlint-preset":"1.0.3","@vingle/semantic-release-config":"1.0.5","@vingle/tslint-preset":"1.0.1","chai":"4.2.0","check-engine":"1.8.1","faker":"4.1.0","husky":"4.2.5","mocha":"7.1.1","tslint":"5.20.1","typescript":"3.8.3"},"dependencies":{"amazon-dax-client":"^1.2.2","aws-sdk":"^2.538.0","aws-xray-sdk-core":"^2.3.6","lodash":"^4.17.15","reflect-metadata":"^0.1.13"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@vingle/commitlint-preset"]},"gitHead":"d6befcca35f5a82f2137003720b21a473c091dab","_id":"dynamo-types@2.10.0","_nodeVersion":"12.16.3","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Od3qfqJORrCh6Drqg4xUc0d4KTTQheqi0uIhGLFpPkLO40qGpbj2kexr/TWlBKSDp3sf4/lAgZ4M8qQ0kV/q1A==","shasum":"f07f57baaa5de15b5304a09e22b4108afab31bb5","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.10.0.tgz","fileCount":140,"unpackedSize":146966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuK4YCRA9TVsSAnZWagAAAFIP/1Zp2GjX2yZee4BajZ2Q\n/EJMU5gZyzCj5/1h43MjywIr3rB3yHJWWaVIAcEy9SfxQzYcIom6HNQHSPMO\nzckwW4nBrR64Ivp+LOdEYDQ0ZAHXoQC0jBn/sGKQ1of6ZKKUmMCrnsVGIG2p\n6c/J/VxJi8TNJ/hB1aNsMUMLqROEtgnn/nPJCAQHIeQwuFtvdg5fhvx4DCwL\nLZ1v8bWynShI5eSATE4zXAJ5bEwT3UDP9TD8k8P4IBTqVW9OK4BGnSz2uvc+\n1DPKRtw5wJljtzvSRs77usrzEDY+m1zeKrISbnB3h0vTObt0lwcXA9A63vop\nHKyjcBi/52vGTBE/YFtG527Uep7u4tIiCBepTexqcXBfp1ODUTLU8LW3IexY\ntxtZ3LA9KDYJtom2ssqwtxKB7PdZVxOWnJGG4zee/X9DWWNu+Od9tSW2N4Wo\nueeUYCV3IJIAiRC/QBODhSJA/98uft9PTFVkMRdPqkHBka70nmNWHxhT7KP8\ndeOWBiK7LS2RtDmc4Crq8Tp8/JS99i64oUwY12xew+EU7QhZaQRuTrAzI0Of\nl4V0/pWdw0XSOu42yr3l/bghDJ6hqetASXdg02uiTVn4XRJu5RQxKKbEIBBD\nSzyZ1e2Y39GRw9cm/q6jIusYVynnwyzjXbAqEcj3i6a72OusLFBtVriD7Sjb\norU7\r\n=khQ4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC3zPYntbCVP0+cHSea+vqHWAsZRrGriQscHNiF/gmeYAiBPdQ31/ajxxXy8ceKX1iMJ8LeYU06UyLEd/0o79yjP5g=="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmUser":{"name":"vingle-bot","email":"eng@vingle.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.10.0_1589161496438_0.8545636209383238"},"_hasShrinkwrap":false},"2.10.1":{"name":"dynamo-types","version":"2.10.1","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"prebuild":"check-engine && rm -rf dst","build":"tsc","postbuild":"cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","pretest":"npm run build -- -p ./tsconfig.test.json","test":"env AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock mocha -t 20000 dst/**/__test__/**/*.js","test:local":"env DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 npm test","prepublishOnly":"npm run build","lint":"tslint -c tslint.json 'src/**/*.ts'"},"repository":{"type":"git","url":"git+https://github.com/balmbees/dynamo-types.git"},"engines":{"node":">=8.10.0"},"author":{"name":"Kurt Lee"},"license":"ISC","bugs":{"url":"https://github.com/balmbees/dynamo-types/issues"},"homepage":"https://github.com/balmbees/dynamo-types#readme","devDependencies":{"@types/chai":"4.2.12","@types/faker":"4.1.12","@types/lodash":"4.14.159","@types/mocha":"7.0.2","@types/node":"8.10.62","@types/reflect-metadata":"0.1.0","@vingle/commitlint-preset":"1.0.3","@vingle/semantic-release-config":"1.0.5","@vingle/tslint-preset":"1.0.1","chai":"4.2.0","check-engine":"1.8.1","faker":"4.1.0","husky":"4.2.5","mocha":"7.2.0","tslint":"5.20.1","typescript":"3.9.7"},"dependencies":{"amazon-dax-client":"^1.2.2","aws-sdk":"^2.538.0","aws-xray-sdk-core":"^2.3.6","lodash":"^4.17.15","reflect-metadata":"^0.1.13"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@vingle/commitlint-preset"]},"gitHead":"82d385668866da279c684b2b39a5880679b070de","_id":"dynamo-types@2.10.1","_nodeVersion":"12.18.3","_npmVersion":"6.13.4","dist":{"integrity":"sha512-GEFnkoIBKj1YZPf1w7csLKmzC1fg4eB3ZMCf+E8MPaCJLJQGxHP8wsDXkfv2p6gc3Y4Ua3v8XKpSMU/SAZI5DQ==","shasum":"af7d2dba6bcc434a37f65eb0ad02fbe1f764c5ee","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.10.1.tgz","fileCount":140,"unpackedSize":152167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQcRpCRA9TVsSAnZWagAA6z8P+wV2IerHgVFQPB3oRTnX\n6nSGY3kG7O5dIJc5bd0SnB18jSEd7deAzRBnOHA0pMb+9/OLJrgNTPjSMl1b\nVIcak+u3dNJw7oC90e591dHzveCTY3usCJSc9J035gu94hGsvniIYbKdsmD1\nPqKdfZ6hJWuRNe0IjdH0vMd0g1RY3nRC9ge1j86P67sjSof4sdzM5RlcQdAO\nlbWeBOkD8yxKrqus2+MjvYlHkLe2WzpGB6LdzpmdvPGI7gZTxB9dihwYeSR9\nzjP1w9FCBTvjQl0b/yaoj3Uya86a4dDw553iY9M4Oqlhlz/XD/m5vrlRD702\nK+9XScENtzfvoJovAGh4z3aM1wREOeBsE0IasCC3uMxCIlXOTvdR7E5MnKhe\nl1OWxes5BYj+ZBt+KPXVUowHRtDNvLWuspT/tU79bm9aeI8o9eTGTut0qXbj\nKgK8WOzhGybGeJ+i+1lTWKzhqBnd0d6OQloNvFbhxiljGui/5F6NTutl2Tov\npZkt6am8LGuQzn4+rFI/lz5QTyxbDq4FIfToH7bXVza8axqRoCNF7tR7bdvs\nfZQDB/GSA5kjpZaHoLZ3MGm5S+HG4BstJFT0wRVUn3Cn6w+FHIj7SNpmvydD\nkP61paeAdrSDRArQBWyP/2+zUJ4aCFKfv7KFCvxPwfSRqz9/nxY7Fs2Qht4+\n/CNq\r\n=OQkB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGEPvDqiSy3F0d5uS2LLRt/1ty8gswrW/QFO4d8c1lHgIgZ+4XRxoQ7iZh1masFq3rWIdJogxgmKWd5RXlw00MqmI="}]},"maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"}],"_npmUser":{"name":"vingle-bot","email":"eng@vingle.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.10.1_1598145641395_0.8094792558915176"},"_hasShrinkwrap":false},"2.13.3":{"name":"dynamo-types","version":"2.13.3","description":"DynamoDB ORM for Typescript","main":"./dst/index.js","typings":"./dst/index.d.ts","scripts":{"prebuild":"check-engine && rm -rf dst","build":"tsc","postbuild":"cd src && find . -name '*.json' -type f -exec cp {} ../dst/{} \\; && cd ..","pretest":"npm run build -- -p ./tsconfig.test.json","test":"env AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=mock AWS_SECRET_ACCESS_KEY=mock mocha -t 20000 dst/**/__test__/**/*.js","test:local":"env DYNAMO_TYPES_ENDPOINT=http://127.0.0.1:8000 npm test","prepublishOnly":"npm run build","lint":"tslint -c tslint.json 'src/**/*.ts'"},"repository":{"type":"git","url":"git+https://github.com/balmbees/dynamo-types.git"},"engines":{"node":">=8.10.0"},"author":{"name":"Kurt Lee"},"license":"ISC","bugs":{"url":"https://github.com/balmbees/dynamo-types/issues"},"homepage":"https://github.com/balmbees/dynamo-types#readme","devDependencies":{"@types/chai":"4.2.16","@types/faker":"4.1.12","@types/lodash":"4.14.168","@types/mocha":"7.0.2","@types/node":"8.10.66","@types/reflect-metadata":"0.1.0","@vingle/commitlint-preset":"1.0.3","@vingle/semantic-release-config":"1.0.5","@vingle/tslint-preset":"1.0.1","chai":"4.3.4","check-engine":"1.10.0","faker":"4.1.0","husky":"4.3.8","mocha":"7.2.0","tslint":"5.20.1","typescript":"3.9.9"},"dependencies":{"amazon-dax-client":"^1.2.2","aws-sdk":"^2.538.0","aws-xray-sdk-core":"^2.3.6","lodash":"^4.17.15","reflect-metadata":"^0.1.13"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@vingle/commitlint-preset"]},"gitHead":"a07bf6fda141fe31f66c1665e360aa39050a04eb","_id":"dynamo-types@2.13.3","_nodeVersion":"16.17.0","_npmVersion":"8.15.1","dist":{"integrity":"sha512-rFBhHFk9XW/QeMR3HSEq1Rf3xhFHzllB4k3uzvC8iZg08lL5aMJYeaUBYItsnFB578FpPk4zV/2mrH9Y6GqNBg==","shasum":"887138579b3ed6b1b5935907e2be27287d521ca2","tarball":"https://registry.npmjs.org/dynamo-types/-/dynamo-types-2.13.3.tgz","fileCount":140,"unpackedSize":152635,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVkWbhV75R6EyapJttjkpGbn5YKLegZxMFqhrVSARFxAIgTqHxcC2o8eKARBe0jF90MJJ3c+w0gg2mIODaUx0L8WU="}]},"_npmUser":{"name":"vingle-bot","email":"eng@vingle.net"},"directories":{},"maintainers":[{"name":"mooyoul","email":"mooyoul@gmail.com"},{"name":"kurtlee","email":"breath103@gmail.com"},{"name":"vingle-bot","email":"eng@vingle.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dynamo-types_2.13.3_1707291691921_0.9321000847462957"},"_hasShrinkwrap":false,"deprecated":"deprecated"}},"readme":"[![Build Status](https://github.com/balmbees/dynamo-types/workflows/workflow/badge.svg)](https://github.com/balmbees/dynamo-types/actions)\n[![npm version](https://badge.fury.io/js/dynamo-types.svg)](https://badge.fury.io/js/dynamo-types)\n[![Semantic Release enabled](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n[![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/)\n\n\n# DynamoTypes\n\nTypescript ORM of DynamoDB, written from scratch to fully support DynamoDB. Powering [Vingle](https://www.vingle.net)\n\n## Features\n1. Serialize / Deserialize DynamoDB record -> TS class object based on annotations.\n2. Table Configurations\n   - CreateTable\n     - Create secondary indexes (Both local / global)\n     - Configure TTL\n   - DropTable\n3. PrimaryKey\n   - FullPrimaryKey (Hash, Range)\n   - HashPrimaryKey (Hash)\n4. Indexes\n   - Local, both hash and range key\n   - Global, both hash and range key\n5. Attribute\n   - Type Support (Number / String / Boolean / Array / Object / Buffer)\n   - TimeToLive\n6. DAX Support\n   - You can specify this by setting the connection of table. \n7. Optimized aws-sdk usage\n   - aws-sdk has a serious problem of not reusing HTTP connection towards DynamoDB by default. check [this issue](https://github.com/aws/aws-sdk-js/issues/900)\n   - this could cause unbearable latency sometimes with showing > 100ms. it's more of an issue of NodeJS HTTP module but nevertheless, it has been optimized here by keep-alive [Code](https://github.com/balmbees/dynamo-types/blob/master/src/connections/dynamodb_connection.ts#L37)\n8. AWS X-Ray support\n   - XRay is serverless distributed tracing service. In order to log DynamoDB transaction into it, you also need to some sort of risk monkey-patching. Here you can turn it on by setting [`process.env.ENABLE_XRAY = \"true\"`](https://github.com/balmbees/dynamo-types/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L9)\n9. Testing\n   - You can change the endpoint of DynamoDB by setting the environment variable or setting new connection, So you can install [local-dynamo](https://www.npmjs.com/package/local-dynamo) locally at setup endpoint to local. refer package.json for the detailed how-to\n\nAlso, dynamo-types let you overcome several limits that DynamoDB or the aws-sdk has.\n\n1. BatchWrite (batchDelete / batchPut) has a limit of a maximum of 25 items per request.\n   - dynamo-types automatically splits given items into chunks of 25 and sends requests in parallel\n2. BatchGet has a limit of a maximum of 100 items per requests\n   - dynamo-types automatically splits given keys to chunks of 100 and sends requests in parallel\n3. BatchGet doesn't keep the order of items as it is in input keys,\n   - dynamo-types sort return items based on input keys\n4. BatchGet doesn't handle \"missing items\".\n   - dynamo-types has \"BatchGet\" / \"BatchGetFull\" \n     - BatchGet  \n        order items follow to keys, missing items are just missing. return type Promise<Array<Item>>  \n        so keys.legnth !== items.keys in this case  \n     - BatchGetFull   \n        order items follow to keys, fill missing items with \"null\". return type Promise<Array<Item | null>>  \n        so keys.length === items.keys always true  \n\nAnd most importantly, all of those queries regardless of whether it's from index or primary key, strongly typed. I mean what's the point of using typescript if not anyway?\n\n## Usage\n```typescript\n  @Decorator.Table({ name: \"prod-Card\" })\n  class Card extends Table {\n    @Decorator.Attribute()\n    public id: number;\n\n    @Decorator.Attribute()\n    public title: string;\n\n    @Decorator.Attribute({ timeToLive: true })\n    public expiresAt: number;\n\n    @Decorator.FullPrimaryKey('id', 'title')\n    static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n    @Decorator.Writer()\n    static readonly writer: Query.Writer<Card>;\n  }\n\n  // Create Table At DynamoDB\n  await Card.createTable();\n\n  // Drop Table At DynamoDB\n  await Card.dropTable();\n\n\n  // Creating Record\n  const card = new Card();\n  card.id = 100;\n  card.title = \"Title\";\n  //\n  await Card.writer.put(card);\n  // OR just\n  await card.save();\n\n  // Batch Put\n  await Card.writer.batchPut([\n    new Card(),\n    new Card()\n  ]);\n\n  // Get Record\n  await Card.primaryKey.get(100, \"Title\");\n\n  // BatchGet\n  // This array is strongly typed such as Array<[number, string]> so don't worry.\n  await Card.primaryKey.batchGet([\n    [100, \"Title\"],\n    [200, \"Title2\"]\n  ])\n\n  // Query\n  // Range key opreations are stringly typed. ([\">=\", T] | [\"=\", T] ...)\n  await Card.primaryKey.query({\n    hash: 100,\n    range: [\">=\", \"Title\"]\n  })\n\n  // Delete record\n  await card.delete()\n\n  // Delete record only when it meets condition.\n  // with this, you can avoid race condition such as somebody updating the record while you're trying to delete it\n  await card.delete({\n    condition: { title: Equal(\"Title\") }\n  });\n  // when mismatch occurs, it raises \"ConditionalCheckFailedException\" error.\n\n  // Likewise, update record only when it meets condition\n  card.title = \"New Title\"\n  await card.save({ condition: { title: \"Title\" } });\n  // when mismatch occurs, it raises \"ConditionalCheckFailedException\" error.\n```\n\n\n```typescript\nimport {\n  Config,\n  Decorator,\n  Query,\n  Table,\n} from \"dynamo-types\";\n\n@Decorator.Table({ name: `table_name` })\nexport class CardStat extends Table {\n  @Decorator.HashPrimaryKey(\"card_id\")\n  public static readonly primaryKey: Query.HashPrimaryKey<CardStat, number>;\n\n  @Decorator.Writer()\n  public static readonly writer: Query.Writer<CardStat>;\n\n  @Decorator.Attribute({ name: \"card_id\" })\n  public cardId: number;\n\n  @Decorator.Attribute({ name: \"impressions_count\" })\n  public impressionsCount: number = 0;\n\n  @Decorator.Attribute({ name: \"shares\" })\n  public shares: number = 0;\n}\n```\n\n### TS Compiler Setting\nDynamoTypes utilize [reflect-metadata](https://github.com/rbuckton/reflect-metadata) to read metadata (usually type of variables) from Typescript code. to do so, you must enable those options.\n\n```json\n{\n    \"compilerOptions\": {\n        // other options..\n        //\n        \"experimentalDecorators\": true, // required\n        \"emitDecoratorMetadata\": true // required\n    }\n}\n```\n\n### Connection\nDynamoDB supports 2 different kinds of connections. Plain connections to DynamoDB through HTTP, or through DAX.\ndynamo-types supports this by letting you create a separate connection for each table.\n\n```typescript\n@Decorator.Table({ name: \"prod-Card1\", connection: new DAXConnection({ endpoints: [\"dax-domain:8892\"] }) })\nclass Card extends Table {\n  @AttributeDecorator()\n  public id: number;\n\n  @AttributeDecorator()\n  public title: string;\n\n  @AttributeDecorator({ name: \"complicated_field\"})\n  public complicatedField: string;\n\n  @FullPrimaryKeyDecorator('id', 'title')\n  static readonly primaryKey: Query.FullPrimaryKey<Card, number, string>;\n\n  @WriterDecorator()\n  static readonly writer: Query.Writer<Card>;\n}\n```\n\nThen any query that is sent to the Card table will be sent through DAXConnection.\n\nIf you don't specify any connection, it automatically uses [default connection](https://github.com/balmbees/dynamo-types/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/config.ts#L5), which is [DynamoDBConnection](https://github.com/balmbees/dynamo-types/blob/e0391c1c171638d06f9262446d8cbcb14a573cc8/src/connections/dynamodb_connection.ts).\n","maintainers":[{"name":"kurtlee","email":"breath103@gmail.com"},{"name":"mooyoul","email":"mooyoul@gmail.com"},{"name":"vingle-bot","email":"eng@vingle.net"}],"time":{"modified":"2024-02-07T07:55:29.955Z","created":"2017-08-01T04:28:26.736Z","1.0.0":"2017-08-01T04:28:26.736Z","1.0.1":"2017-08-01T04:37:22.140Z","1.0.2":"2017-08-01T04:40:57.100Z","1.0.3":"2017-08-01T04:52:49.468Z","1.0.4":"2017-08-01T05:42:11.645Z","1.0.5":"2017-08-01T05:58:54.678Z","1.1.0":"2017-08-02T02:32:33.085Z","1.2.0":"2017-08-02T04:50:45.479Z","1.3.0":"2017-08-02T06:35:10.840Z","1.4.0":"2017-08-02T13:43:00.724Z","1.4.1":"2017-08-02T14:07:28.259Z","1.4.2":"2017-08-02T14:14:28.130Z","1.4.3":"2017-08-02T14:48:28.383Z","1.4.4":"2017-08-03T02:04:00.821Z","1.4.5":"2017-08-04T11:38:54.338Z","1.5.0":"2017-08-04T20:10:28.719Z","1.5.1":"2017-08-08T08:17:48.397Z","1.5.2":"2017-08-08T10:51:08.291Z","1.5.3":"2017-08-11T11:57:01.327Z","1.5.4":"2017-08-13T09:08:55.108Z","1.5.5":"2017-08-15T07:06:16.135Z","1.5.6":"2017-08-15T09:52:19.753Z","1.5.7":"2017-08-16T07:25:37.148Z","1.5.8":"2017-08-17T07:03:23.996Z","1.5.9":"2017-08-29T05:44:18.900Z","1.5.10":"2017-09-08T05:01:35.976Z","1.5.11":"2017-09-14T02:19:11.032Z","1.5.12":"2017-09-14T03:15:24.179Z","1.5.13-beta.0":"2017-10-20T08:00:27.878Z","2.0.0":"2017-10-20T08:32:59.885Z","2.1.0":"2017-12-01T01:45:48.160Z","2.2.0":"2017-12-14T03:06:25.640Z","2.3.0-beta.0":"2017-12-18T06:27:59.163Z","2.3.0-beta.1":"2017-12-18T06:35:57.525Z","2.3.0":"2017-12-25T13:51:55.385Z","2.3.1":"2018-01-23T07:58:30.571Z","2.3.2":"2018-01-24T06:42:25.470Z","2.3.3":"2018-02-28T01:49:39.008Z","2.4.0":"2018-04-23T10:20:40.965Z","2.4.1":"2018-04-24T09:55:09.559Z","2.5.0":"2018-05-09T10:54:04.617Z","2.4.2-beta.0":"2018-05-14T03:25:09.025Z","2.4.2-beta.1":"2018-05-14T10:49:47.296Z","2.5.1-beta.0":"2018-05-28T16:39:24.466Z","2.5.1-beta.1":"2018-05-29T16:13:23.448Z","2.5.1-beta.2":"2018-05-29T16:40:23.530Z","2.5.1":"2018-05-30T11:57:33.760Z","2.5.2":"2018-06-03T19:13:32.166Z","2.6.0":"2018-07-02T02:52:04.798Z","2.7.0-beta.0":"2018-09-12T08:41:37.676Z","2.7.0-beta.1":"2018-09-12T08:49:13.223Z","2.7.0-beta.2":"2018-09-12T09:01:27.859Z","2.7.0-beta.3":"2018-09-12T09:04:23.437Z","2.7.0-beta.4":"2018-09-12T09:06:50.963Z","2.7.0-beta.5":"2018-09-12T09:11:26.705Z","2.7.0-beta.6":"2018-09-12T09:29:01.080Z","2.6.1":"2018-11-02T09:24:28.518Z","2.7.0":"2019-04-09T07:41:15.041Z","2.7.1":"2019-09-27T21:57:32.582Z","2.8.0":"2019-11-16T23:00:07.258Z","2.9.0-beta.0":"2019-12-22T20:14:29.868Z","2.9.0-beta.1":"2019-12-26T22:45:26.687Z","2.9.0":"2020-02-18T01:31:42.374Z","2.9.1":"2020-02-20T00:58:36.390Z","2.10.0":"2020-05-11T01:44:56.545Z","2.10.1":"2020-08-23T01:20:41.562Z","2.13.3":"2024-02-07T07:41:32.071Z"},"license":"ISC","readmeFilename":"readme.md","author":{"name":"Kurt Lee"},"homepage":"https://github.com/balmbees/dynamo-types#readme","repository":{"type":"git","url":"git+https://github.com/balmbees/dynamo-types.git"},"bugs":{"url":"https://github.com/balmbees/dynamo-types/issues"}}