{"_id":"accountdown","_rev":"35-2a1e11558768f60560c20a00b70c10fb","name":"accountdown","description":"persistent accounts backed to leveldb","dist-tags":{"latest":"4.1.0"},"versions":{"1.0.0":{"name":"accountdown","version":"1.0.0","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","level-sublevel":"^6.2.0","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"52f37c058e33d6c0e1b11ddfe599b5e4532b96a5","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@1.0.0","_shasum":"697ef706237319b03786cfe7c4306ace2bffc744","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"dist":{"shasum":"697ef706237319b03786cfe7c4306ace2bffc744","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-1.0.0.tgz","integrity":"sha512-WTEJUh2JP1gcUq/uWCA37lbY2eihtaQbgrStfe+xF8MOhPVHkzAIjFtdF0KYNl5Pbzvg7XqZFgFUBTuAjN8Frw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChn8TEpBX6DshU9cZcAWznYsK6Fk9oFGHoL3y8TqumzgIgOLJDpn7HiiFVAREaXKTsjzq+N2EaBRv/s9/y91xq4VA="}]},"directories":{}},"1.0.1":{"name":"accountdown","version":"1.0.1","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","level-sublevel":"^6.3.4","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"86c5e5f8ddd67dc7b6f1accd7a5d0e2faa951bf1","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@1.0.1","_shasum":"94ce33bcf05bf88058a697cf8a7299a1a23d7852","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"dist":{"shasum":"94ce33bcf05bf88058a697cf8a7299a1a23d7852","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-1.0.1.tgz","integrity":"sha512-yhgkCLYyK4Osbd4zcLXiep2yilX5nKEoYDzpFP9v4d7YzojlQ91vlvnt2Ds6oZLrQu8Sq2oWozi0TXYP+2Cqpw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDT97AiTZGXpGclb3kCOcFLc3MHfeIQUUorKyNswjT49gIgesuJEH45eidUAzw1h0Ze+D0Y2fodBw3RBSjVwC+hsZM="}]},"directories":{}},"1.0.2":{"name":"accountdown","version":"1.0.2","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","level-sublevel":"^6.3.4","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"806235acee4606a794f48fcc687341c7df65d75a","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@1.0.2","_shasum":"1a8110241df8ea8964f8ac3ff7c4fc5f5038327b","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"dist":{"shasum":"1a8110241df8ea8964f8ac3ff7c4fc5f5038327b","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-1.0.2.tgz","integrity":"sha512-QQjfsSqO95YILr7eTuqnmQ75wptuwgHw/4RB49y3TlOunHkZ3EqDq8wpg3je0vNM45zHK1B/u21WVspr1fTLmQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQ0wrO1uZK3eFN22iY2iKzZh+vg42bAkA9km4YDadLsAIhAK6WlF5NkARCFxXX5Cgs67Ek1qOV2i6tqVlu0tgsiwaG"}]},"directories":{}},"1.0.3":{"name":"accountdown","version":"1.0.3","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","level-sublevel":"^6.3.4","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"eb504f3110d458b62baf430b77f0dc420b2eda8b","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@1.0.3","_shasum":"7ea4f32e17acaa8c4cf7416e3ea27f2b04cd7f77","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"dist":{"shasum":"7ea4f32e17acaa8c4cf7416e3ea27f2b04cd7f77","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-1.0.3.tgz","integrity":"sha512-rN0zhTMO4vbAjen7w6jAvpFOUuTa4FRGDSGsldDw53xPc6uJzG6edAzpWxydt9+lD7js/hgBF37EUBLk8Ge3kQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEowQXIrW9hXs+W+6BgrxluzEnzTCT+a0sW7IeMuhYMlAiAjLpRPvjDLw/8uNhdFAArIVS/H/mXdo1nxSEZywkJNJA=="}]},"directories":{}},"1.0.4":{"name":"accountdown","version":"1.0.4","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","level-sublevel":"^6.3.4","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"33b28706e381cc139b5369208f2120a9e79ee709","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@1.0.4","_shasum":"c8db0dd492741851e17bbca3f62eaeb15dab41e2","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"dist":{"shasum":"c8db0dd492741851e17bbca3f62eaeb15dab41e2","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-1.0.4.tgz","integrity":"sha512-SuBUHUANZRUD1sb0R8mNzul75LIEzI5/s3hN5OeyBwoBjp9+96HJKZIuNh6FIt18AbaNi1/8SQxTwp8ZIQyCgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDR2Dww8bQG1TqmkgRifWykr2tOgrICYffgeBEa3nTfqQIhANea/gKeK/rvS6dIUEgHvJ3F/M1CQQdokcksDFR3ItzW"}]},"directories":{}},"2.0.0":{"name":"accountdown","version":"2.0.0","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","level-sublevel":"^6.3.4","read-only-stream":"^1.1.1","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"670c9f3d1032896001db49833ce5534e85ddbeb2","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@2.0.0","_shasum":"69391a3dbd174426f298b6ba705997cd6b9a8537","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"dist":{"shasum":"69391a3dbd174426f298b6ba705997cd6b9a8537","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-2.0.0.tgz","integrity":"sha512-K9/r+avWiLkt+4RB5ETpc139v5MQFMJd8kwyiXn9BoifUhRdx4+jCKcDeKG40tocjzarwzGLwiXt17W+RSHAjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHilDk32eh4AWLc44KPnDqKUOin5yRgASwFnXjW1HsJZAiEAxfcBNQxNm+eJOM6IQ+5+9D+yKndokv90M2p3hyh78+E="}]},"directories":{}},"2.0.1":{"name":"accountdown","version":"2.0.1","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","level-sublevel":"^6.3.4","read-only-stream":"^1.1.1","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"19bc77dae083a77314d6d105c8203849acb5fcd4","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@2.0.1","_shasum":"6a1d3523320b793b35b59ef1f4b76ec8286d91cb","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.12","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"dist":{"shasum":"6a1d3523320b793b35b59ef1f4b76ec8286d91cb","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-2.0.1.tgz","integrity":"sha512-hZuXCLr0JBN+x1IuRrTESB5hFTpcCjWft85VOGU6JiJLMJvhQn/+UM+xu3NtGJjugQ73tI843/dHv3IYAd+NYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcFXU/8+DDELvl4Z38tTX2OTerm05aGYOH3Gmz/KwA1AiAPK0xxDD5qijRBNdDJECLcL7tJPu0ek5GhSHGqrnJ4qQ=="}]},"directories":{}},"3.0.0":{"name":"accountdown","version":"3.0.0","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","read-only-stream":"^1.1.1","subleveldown":"^1.0.3","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"24b8d7a173fb788944c24183d3b2a2a758f6f306","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@3.0.0","_shasum":"6f08abe2c712b9958e4f9b8ca29570ca820f2b27","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.10.35","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"dist":{"shasum":"6f08abe2c712b9958e4f9b8ca29570ca820f2b27","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-3.0.0.tgz","integrity":"sha512-k04REz24v+twnqyU5gtcXRySj3wU2LbDDptd528negLUInJ1Jv0fn2u5tTNSwRdtIBd67YT+5mfu2Pn3Yv/NpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFeKuBPQXbwH/5msu21bvu3QDrEZ7iys4DalfYS8DA5BAiBQvyA9H4PO6UkQQY30tT5wBiPNmAw5UsIhdGpyQeIb0w=="}]},"directories":{}},"3.0.1":{"name":"accountdown","version":"3.0.1","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","read-only-stream":"^1.1.1","subleveldown":"^1.0.3","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"2ca3da3476d22203406b0890ec32e124d716e36b","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@3.0.1","_shasum":"b6ff6d1ff4a56e7e76846ef65ddb6cc43c88e74f","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.10.35","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"dist":{"shasum":"b6ff6d1ff4a56e7e76846ef65ddb6cc43c88e74f","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-3.0.1.tgz","integrity":"sha512-jyvTj7Fq6A3v8piUShtwG9S51u40k1KRjo1pj2BxdaUVGoxIei3omNoKLzmkWiNnhVnLNi1N5I7c5mN/hsRbvA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDJ5/mLj0Uwguc+KKFZdkHIAlwGg6EAbHC+Z+g2WOfcqAiBdcs7MoA7fHeagn8gVgtSDXrdPP4SI9W8VWMNA31fecg=="}]},"directories":{}},"4.0.0":{"name":"accountdown","version":"4.0.0","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","levelup-defaults":"^1.0.2","read-only-stream":"^1.1.1","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"d39783cb48cd8d4d48429c15eb6026ae98197277","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@4.0.0","_shasum":"9c15b6ff6769f480decb2258d2f53063d71e4caa","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.10.35","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"dist":{"shasum":"9c15b6ff6769f480decb2258d2f53063d71e4caa","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-4.0.0.tgz","integrity":"sha512-URcA0E8Z80bvMfcEQLGsxEUkDS8OMtrSqgBMIRMa/XlNwkHKC/I637gG+4hBYhignCYKkh7CxMmcADnnp/0mzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDij9hFLV7bCoHzoEAUU0WToaZX+R7xV0y8iCqZZ1yegAIgJMGT8al4A8Ye124gv5aTW53aTDOhzjxRWxBv3Gd5Q0Y="}]},"directories":{}},"4.0.1":{"name":"accountdown","version":"4.0.1","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","levelup-defaults":"^1.0.2","read-only-stream":"^1.1.1","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"a831e1f2ce839ebcf220d66eb7fd1d2b1a3d50f3","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@4.0.1","_shasum":"8495fe2584b7a89b68fdca3fc9abaf292424e9e5","_from":".","_npmVersion":"2.3.0","_nodeVersion":"0.10.35","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"dist":{"shasum":"8495fe2584b7a89b68fdca3fc9abaf292424e9e5","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-4.0.1.tgz","integrity":"sha512-E0RDh/GVYVtasM/OYkXedvTIThO7OuvjWuBsPm8IHUkzEpBxyin/s8aKJcICS3U1pIe4u+qQxHwhhBauIlFMpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTh1FpFet8qVV+zijkrI9MIQ736Cqn9Tk07j6STIOl8gIhAOahqmyVl8Y6VfYLhFBPZDyJdGjMywQmD5tI++iKZol7"}]},"directories":{}},"4.1.0":{"name":"accountdown","version":"4.1.0","description":"persistent accounts backed to leveldb","main":"index.js","dependencies":{"bytewise":"~0.7.0","defined":"~0.0.0","isarray":"~0.0.1","level-create-batch":"^1.0.1","levelup-defaults":"^1.0.2","read-only-stream":"^1.1.1","through2":"^1.0.0"},"devDependencies":{"tape":"^2.13.2","level-test":"^1.6.3","accountdown-basic":"^1.0.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"2cbf25b2eddb5734e0f0df65059473bdc1855ab6","bugs":{"url":"https://github.com/substack/accountdown/issues"},"_id":"accountdown@4.1.0","_shasum":"83ddae8cdc74c0a0f000d43f6cdd0fb8b75a6b78","_from":".","_npmVersion":"2.9.0","_nodeVersion":"2.0.0","_npmUser":{"name":"substack","email":"substack@gmail.com"},"dist":{"shasum":"83ddae8cdc74c0a0f000d43f6cdd0fb8b75a6b78","tarball":"https://registry.npmjs.org/accountdown/-/accountdown-4.1.0.tgz","integrity":"sha512-o8Pci9RyN3+13v74j/AM0KL3S3Ckt71AFU7bAQu2n0Pxpm8j2KUeU7TAFvqu6WCIht1z9DZstdCfeRoTOUBiCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAKGxxIsxOJAOZE0PKZVNJrbyt6Ne31wEKdSTKNYMvXVAiEA8pT3VLmoIxXtppiZpLUhS7pAsqLfyomN4MMiY6e81wg="}]},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{}}},"readme":"# accountdown\n\nmanage accounts with leveldb\n\n[![build status](https://secure.travis-ci.org/substack/accountdown.png)](http://travis-ci.org/substack/accountdown)\n\n# example\n\n## create\n\nTo create a user, we can just do:\n\n``` js\nvar accountdown = require('accountdown');\nvar level = require('level');\nvar db = level('./users.db');\n\nvar users = accountdown(db, {\n    login: { basic: require('accountdown-basic') }\n});\n\nvar opts = {\n    login: { basic: { username: 'substack', password: 'beep boop' } },\n    value: { bio: 'beep boop' }\n};\nusers.create('substack', opts, function (err) {\n    if (err) return console.error(err);\n});\n```\n\nThe string we gave to `users.create()` need not necessarily match the `username`\ncredential. You might want to use a `uid` integer for example. In either case\nyou will get implicitly encforced unique names because if a username already\nexists the `users.create()` call will fail even if the `id` is available and\nlikewise if an `id` is unavailable but a username is available.\n\n## verify\n\nTo verify a credential (in this case, using accountdown-basic):\n\n``` js\nvar accountdown = require('accountdown');\nvar level = require('level');\nvar db = level('./users.db');\n\nvar users = accountdown(db, {\n    login: { basic: require('accountdown-basic') }\n});\n\nvar creds = { username: 'substack', password: 'beep boop' };\nusers.verify('basic', creds, function (err, ok, id) {\n    if (err) return console.error(err)\n    console.log('ok=', ok);\n    console.log('id=', id);\n});\n```\n\n# methods\n\n``` js\nvar accountdown = require('accountdown')\n```\n\n## var users = accountdown(db, opts)\n\nCreate a new account instance `users` given a leveldb database handle `db` and\nsome options `opts`.\n\n`opts` can be:\n\n* `opts.login` - map of type names to login plugin functions\n* `opts.valueEncoding` - value encoding to use, 'json' by default\n\n## users.create(id, opts, cb)\n\nCreate a user by an `id`.\n\n## users.verify(type, creds, cb)\n\nChallenge credentials `creds` for a login `type`.\n\n`cb(err, ok, id)` fires with an error or the boolean verify status `ok` - true\nfor challenge success and false for challenge failure. On success, the `id`\nassociated with challenge credentials, `cred` is defined.\n\n## users.list()\n\nReturn a readable object stream of row objects with `row.key` set to the user id\nof each user in the account system.\n\n## users.get(id, cb)\n\nGet the value for a username by `id` as `cb(err, value)`.\n\n## users.put(id, value, cb)\n\nPut a `value` for a username `id`. The username `id` must already exist.\n\n`cb(err)` fires with any errors.\n\n## users.remove(id, cb)\n\nRemote an account by `id`, including all login information for that user id.\n\n`cb(err)` fires with any errors.\n\n## users.register(type, plugin)\n\nRegister a login `plugin` at a string name `type`.\n\n## users.addLogin(id, type, creds, cb)\n\nAdd a login for `id` of `type` using the credentials `creds`.\n\n`cb(err)` fires with any errors.\n\n## var s = users.listLogin(id)\n\nReturn a readable object stream `s` of rows with `row.key` set to each string\nlogin type present for the user at `id`. For example:\n\n```\n{ key: 'basic' }\n{ key: 'rsa' }\n```\n\n## users.removeLogin(id, type, cb)\n\nRemove a login for `id` by its `type`.\n\n`cb(err)` fires with any errors.\n\n# login plugins\n\nLogin plugins such as\n[accountdown-basic](https://npmjs.org/package/accountdown-basic)\nshould export a single function that will be created with `db` and `prefix`\narguments and should return an object with `.verify()` and `.create()`\nfunctions:\n\n``` js\nmodule.exports = function (db, prefix) {\n    return {\n        verify: function (creds, cb) {\n            // calls cb(err, success, id)\n        },\n        create: function (id, creds) {\n            // returns an array of batch rows\n        }\n    };\n};\n```\n\n## plugin.verify(creds, cb)\n\nCheck whether `creds` are valid login credentials.\n`cb(err, success, id)` fires with any errors, the success as a boolean, and the\nuser `id`.\n\n## plugin.create(id, creds)\n\nReturn an array of rows to batch insert if and only if all the keys do not\nalready exist using\n[level-create-batch](https://npmjs.org/package/level-create-batch).\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install accountdown\n```\n\n# license\n\nMIT\n","maintainers":[{"email":"nopersonsmodules@gmail.com","name":"nopersonsmodules"}],"time":{"modified":"2022-11-11T06:32:52.864Z","created":"2014-07-31T05:46:27.061Z","1.0.0":"2014-07-31T05:46:27.061Z","1.0.1":"2014-08-28T09:04:17.912Z","1.0.2":"2014-08-29T12:05:21.713Z","1.0.3":"2014-09-25T15:44:28.713Z","1.0.4":"2014-09-25T16:57:01.335Z","2.0.0":"2014-09-25T21:42:02.759Z","2.0.1":"2014-09-26T12:45:51.706Z","3.0.0":"2014-12-31T01:06:00.024Z","3.0.1":"2015-01-18T01:55:37.688Z","4.0.0":"2015-01-18T06:59:39.418Z","4.0.1":"2015-02-05T01:43:18.167Z","4.1.0":"2015-05-20T17:40:12.883Z"},"homepage":"https://github.com/substack/accountdown","keywords":["level","user","account","database"],"repository":{"type":"git","url":"git://github.com/substack/accountdown.git"},"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"bugs":{"url":"https://github.com/substack/accountdown/issues"},"license":"MIT","readmeFilename":"readme.markdown","users":{"akiva":true,"jsumnersmith":true,"charltoons":true,"melvingruesbeck":true,"dskrepps":true,"bret":true}}