{"_id":"dakota-cassandra","_rev":"37-9726efdd2d5394a00e9888f064a62ea7","name":"dakota-cassandra","description":"Cassandra ORM for NodeJS","dist-tags":{"latest":"0.0.37"},"versions":{"0.0.1":{"name":"dakota-cassandra","version":"0.0.1","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_id":"dakota-cassandra@0.0.1","scripts":{},"_shasum":"08fb50a6664a26328996c758ca621a366a02523d","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"08fb50a6664a26328996c758ca621a366a02523d","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.1.tgz","integrity":"sha512-1DE9jGBXEGAtZHPxL7VnfIKXm9Lz/ONAYWGfadLxAZmPbqsLQo7t0LHwZkoOQk1Vi4Tx9HZ8iQVwQrAkqUnyjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDO2r36QX3u2JX7eBDuncThxSNTlc8DI1W6Ox4j993b6AiEAn1+pm473KwGh0xBj0ee/LkLzGG2kszNNysrcCL19t6E="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.2":{"name":"dakota-cassandra","version":"0.0.2","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"gitHead":"ef30f27694f734dd6aa5701605245e8ab136a473","_id":"dakota-cassandra@0.0.2","scripts":{},"_shasum":"a13064d58d99b902a9af8d55245bb8bd16e5fbf4","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"a13064d58d99b902a9af8d55245bb8bd16e5fbf4","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.2.tgz","integrity":"sha512-Xs06IpFuthoYBtM072RMoVP2JCECn8TXAfxxVDzFgGPq7kaQ0inPBV3pwFJmEYnUndMLsizb5nGts5pt2oMyDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAFscvO24nIwn2aN/q9nIFaR1G/U3j8hXv5+73g8qti5AiAlMNLxWKv47ZNJ13mu1cvOoIrx3R6nr5nhUYd092GYxQ=="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.3":{"name":"dakota-cassandra","version":"0.0.3","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"gitHead":"a16f800487e417ac3e29eb98019d0bdf3894fcb0","_id":"dakota-cassandra@0.0.3","scripts":{},"_shasum":"84becb30817d1a7b49cb14e9833f1ae132d1f1af","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"84becb30817d1a7b49cb14e9833f1ae132d1f1af","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.3.tgz","integrity":"sha512-YOkYk99camOriSn87Po2q5UvZCgdzZJ3AbiYtJg9VEM2ALtj+ZNTntY3ROUE6WA8bXPEQQUO2UW1uP/CbjpudA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSSAzvC01S/CGVKbCuA1wa5C6sh6sESysSaG4GxEr2CwIhAINrBvBbe4OydiokTQYuM0R013Zdfh0QTYgWPiCr1ohP"}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.4":{"name":"dakota-cassandra","version":"0.0.4","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"gitHead":"5a8c46f84b0cd9698ac151afce1f526a9fa32ad5","_id":"dakota-cassandra@0.0.4","scripts":{},"_shasum":"0dbe4e38739a47c8f0029f9c9fc9c38b5e08be83","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"0dbe4e38739a47c8f0029f9c9fc9c38b5e08be83","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.4.tgz","integrity":"sha512-7ZGORkN3gZScbUzbxTXnFENwRkkoebFCCqCVPw0cKnhPY5reP8ayQJ9Yj5FBXwyZBbVEW/noL38GTIs7NcZe5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAytlAmWbMXQvkMmVdaagiGf+PCbkziFGolIkxI7LelBAiEAgU4M4kEBRrWfQd+CVHKKlabkxhEzWQFkDHYe7Zm4njo="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.5":{"name":"dakota-cassandra","version":"0.0.5","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"3f64272b1c55fd25403429fd95f13962b95a0cd4","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.5","scripts":{},"_shasum":"e6f369741e5f6bbadea63c31c3beccdd0e2137d7","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"e6f369741e5f6bbadea63c31c3beccdd0e2137d7","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.5.tgz","integrity":"sha512-unPo6w9NfrPioBVEwDVfUuaH6f/nqxuxGznf1POtwNNTewY26mZOWuzi5/muJGEBvfvndhOZMsgr3s011wQvww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQrXi84xojWZrB/LhA+f2JXbTUd6D9HpCqCwEoYE8bNwIgLXEM5NvqlSo+9y6NK7z8OyIY+XzID2gEQfOz6pIIknQ="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.6":{"name":"dakota-cassandra","version":"0.0.6","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"cefb9d20681174ed2845ddb65c9c755d04fab695","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.6","scripts":{},"_shasum":"dd04399cd9c13002f10a06c930f0b930ac7d88ef","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"dd04399cd9c13002f10a06c930f0b930ac7d88ef","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.6.tgz","integrity":"sha512-enk+QdjU9ljGyB29FMYjPFxkiKRsQaSzSMjYjPOCu4zTX/JFQR3XRbTU36GAk3zbTWPoLhYWElUhpnq5R3JqqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBAYgtGhn0H6cRGw1QrmeSp35Rey26yPY0kE8FmPqy0xAiBhuCc/oshJxEWVRhFqVArLK4NI+GDRlUmCczsn9AiDSg=="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.7":{"name":"dakota-cassandra","version":"0.0.7","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"a8a742dd42196cdcf24d063c9c0eac1a8850c3ba","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.7","scripts":{},"_shasum":"1c53eba394478148658817ef70dbb5184241c61a","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"1c53eba394478148658817ef70dbb5184241c61a","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.7.tgz","integrity":"sha512-ZlzvWu2y2YTlKtqMO0Y/yqOBiauFoipd1GJ25XyHSEjYZcJkHe7M8zAvw65ur0kCIwtizpM6j7VWU/Mxs0zjOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE9BNH7Ehr9mCbdxoEX1Z3/78giQcUj23DEC4F9BjCvmAiEA4tan5C3Z9dCUM3UlM6h7dwYg+pcbZvOJERH6CzqQ+Sw="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.8":{"name":"dakota-cassandra","version":"0.0.8","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"0f720a74d57471361c24d841595bcb5421ea7ca8","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.8","scripts":{},"_shasum":"0047e674da749ca6e2135b55295e7a5a2a5e59af","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"0047e674da749ca6e2135b55295e7a5a2a5e59af","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.8.tgz","integrity":"sha512-iH9TBQcgCXJ1ZdEd+Tvt7sKup3RgSx+UrceRZIUy5NlLFSSYpyrBvsTNTCnZly0wz9sEcQGdFNRYG3ghiMVg9w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA/HKhgiLlAteBrCBcefhy8xc29A+LXa92wyPz4RFJIHAiBvDDjdVA2fyc9RsPknU1MJnZskRYpDaFp6QvQV1TLyXw=="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.10":{"name":"dakota-cassandra","version":"0.0.10","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"d2249976cd8abf3e9c99cbc439d6deaa0136246a","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.10","scripts":{},"_shasum":"f4d19e56956e87b50fbb9eab869eb97aa111cd45","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"f4d19e56956e87b50fbb9eab869eb97aa111cd45","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.10.tgz","integrity":"sha512-V94LK4ioSwWGkFQhKJvb7ey5dGvvfQt8ln4uz64pqeCq4sxN1FUdAIcMm7XjcI54wx0I+hKhHX36TL7+yBBleA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA/RiAueqykESAQj9+ALOf8TRskrnj1WmPq9CcktJFzfAiBc7rICuy0bcu1qAg/fFAfb5UaTr6hfjDiGIhnmxyuQyw=="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.11":{"name":"dakota-cassandra","version":"0.0.11","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"512100e83c28c77e659dd7168af034c21e86216f","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.11","scripts":{},"_shasum":"42c183e29ce6a98823c232c7df71d18830861748","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"42c183e29ce6a98823c232c7df71d18830861748","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.11.tgz","integrity":"sha512-3OUR3jawfvmYqJHl9vlsRHeG9Uj9XtXZ6zXgCOmpvHCXRGMm7gnJiMZTfR7rdLzlYXXaRUcrEI33rIKkEudL+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLxP5/oyiT82hO1gWe0qDjtYDoPWAt3PZLwVCkVwVwCQIhAOJ5pSeQl6UO0U4M7Xv4pfybixmMyCCAmY0C5P7IOJWH"}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.12":{"name":"dakota-cassandra","version":"0.0.12","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"5031eb7f0f7c39e81ca35f95696a00edec6efd50","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.12","scripts":{},"_shasum":"cd6973a775a14aa8b014e2649e3028539e377811","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"cd6973a775a14aa8b014e2649e3028539e377811","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.12.tgz","integrity":"sha512-XigOShKmlY35Ti1jj1P/jyjzQ10+82L42xO4dvo2YbxHoGWbRxLZf0Gsd34i8R+lk3Dxtj7ocXEb3kJykA+LgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTESVVcTi10HhcJFTC/++U+wMDPHUN89ICUQ2MuMqE/QIhAPPu8QWyAZvnZ3k1fd6Dm8TPiIKSi5c8XNrMKCyiVAUP"}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.13":{"name":"dakota-cassandra","version":"0.0.13","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"ddd17880b0424b91edde5ea0c3e323f3ad5d8239","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.13","scripts":{},"_shasum":"ccbc8b4af7c44d47288bf9f8a17436e1f7296a50","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"ccbc8b4af7c44d47288bf9f8a17436e1f7296a50","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.13.tgz","integrity":"sha512-zFsB42nILsKaUoKkEx9HzvsYrO8CKR1G0NG5bA7Q7GERa+DUC4Iqkkh/C/Tpu6mhr2g2t7s3rAWai1jaYDyGXA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsiDYqgY0yXoQGsWzBgD7wev1rAopHXsl8SohhTuMYLQIgCNj70t53WXh1Egm5OpqB56fsU3EGUGw+3MF61l5oHU0="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.14":{"name":"dakota-cassandra","version":"0.0.14","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"5e7003cc70e23ebce263833068bb8e7b95f07a3e","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.14","scripts":{},"_shasum":"4c42e64b522b5e01d89b094ff55aaf0715beb3f7","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"4c42e64b522b5e01d89b094ff55aaf0715beb3f7","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.14.tgz","integrity":"sha512-unZhwr/f4wkht9g6w77HQpXYT2RDUooPQYBU0HsfklCKD2m3FIXAzMLwuqnws/Et+n0C0cELEEO+KvncO3B1ew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDMqABru73T1h+1UsHlQN4jDW/PqmswsGPzgzOPnV0v+AiEAmjSuq68j3qH02EO4GrHP+1pMcDDbriWe807/SgMfWQA="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.15":{"name":"dakota-cassandra","version":"0.0.15","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"320c3e07289ac3c6b579c927f8c6701fb408559f","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.15","scripts":{},"_shasum":"fad3f0dd364cbc671792e1c52071e6c1268e9418","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"fad3f0dd364cbc671792e1c52071e6c1268e9418","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.15.tgz","integrity":"sha512-7SHqSrS0sWEOhZ1irq8csNNx4+tNwXZYBYt4uII3QSbO93Hc8Z1bWT+RsdO1gH9J1f6RUP9s2kpObEX8jFw/RA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIElAe/E2vc78q7lLgiiE3v7y72VkY4/6mV+lBvX3bR7dAiEA2rO8hr5veGqcRXABx2Qk+Z1fcGEY1/cbLC7DVZAV1kE="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.16":{"name":"dakota-cassandra","version":"0.0.16","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"99574e4385e769ae8794515fe377169e2227acfd","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.16","scripts":{},"_shasum":"8de04832afca8c1e9060bc3ac6e71a9a51d66344","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"8de04832afca8c1e9060bc3ac6e71a9a51d66344","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.16.tgz","integrity":"sha512-oX41+qOef0WCZTEpcEIMYfCUytbXeHHOhkL8xd41UhvXWEGwd7NXBjeKT19+kUMLmlrDlBmRktPWGZnW08WozQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUx3IdJIQCqVITq9UPxlCJV/eQkpwr801FFn7iUHzgOAIhAO9CUY5cl9LYi6/TRaJ4MVmOh3LkgxFSNgKId+/LekqV"}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.17":{"name":"dakota-cassandra","version":"0.0.17","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"d4af18562a0f014f0bf0de1930ce6484bad35823","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.17","scripts":{},"_shasum":"8a93a7efc4d273157895b381e1135437d8622c90","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"8a93a7efc4d273157895b381e1135437d8622c90","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.17.tgz","integrity":"sha512-kvSOGZGACJ6VuBM+3BMBQq1CLtqn4L9sK66wRAmBOiC0FmeF1wUxX0cwHQV11YFR1gUVZTtK4HU2qFDU4P9sNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCokmeL7VWwZZ9zpS2TsKO4U9t+orBi+OMhTZa92en8nQIgYgc2jvqVFL5cWCBf5wC6PtsfdvJrgs9KX142pfzS9Q4="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.18":{"name":"dakota-cassandra","version":"0.0.18","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"89b115db2dd1a6c295d32d07955befc9588601e7","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.18","scripts":{},"_shasum":"9abc3a0a986e27dcd364c0d722a7b42173d5a8e0","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"9abc3a0a986e27dcd364c0d722a7b42173d5a8e0","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.18.tgz","integrity":"sha512-GPUAPhyerA6/Kd/2bgnCEfN5qNqKSWYLrKeuEpWJezE7E1WqIRDsHEJYj8Pl24Um69/br3VvePpKRzBTqcIZTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG7G2vPlYID9y/+b+Aosd12Z+sZqmFZ6ZyRAa+ai0WJvAiAZeiW841V8Nc6nlEo5fYqxOpLPvJSc7WBLUbq4Ew3zZw=="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.19":{"name":"dakota-cassandra","version":"0.0.19","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"1e1894d64efef405b906d28d7206da1f38f8bc08","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.19","scripts":{},"_shasum":"5e1101b67306a7364ae771fa3eca5540c3bebdac","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"5e1101b67306a7364ae771fa3eca5540c3bebdac","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.19.tgz","integrity":"sha512-WH2/SzFvaV8EdUIGZ0WwCG5l/06whhzLQiXFxW6HyQ2Iyj1vJ/1VD6rjw2ELNnkb2/Ws8xd0gZJMHnZPL3AwpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFHVkOH2D0bHRFHNnuR4rgp69zSCsg0gurh1VwfN9WbZAiEAjC7LwbjgqVmOvaDdNbxeRWY+vAG5pT5TcGghqAdBt8g="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.20":{"name":"dakota-cassandra","version":"0.0.20","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"18a5b299fa2a10818a1ee8a74a717b72a35bfced","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.20","scripts":{},"_shasum":"392c0231ce688b44ed385de72bbf0967b5014551","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"392c0231ce688b44ed385de72bbf0967b5014551","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.20.tgz","integrity":"sha512-jA3kYpbeP7AKc5/uBvKHhDNdLJIOiXHeo+3S0S5vixJckLcjAaLrpeVV5ch9DbhXH5KhGXTxL6hthdU9mXt+Kg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFXHeeBqO0tTcdusTqNokP4CmBYKoar/jidzKPEJQ3pAiEAnduclOc1DysmKAqSOiI/4tnOskQCziFWhy9snLFjgPo="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.21":{"name":"dakota-cassandra","version":"0.0.21","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"7fb8555f87246dff695ab6c8ede19bb9b9cbf6df","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.21","scripts":{},"_shasum":"b50b9e15ce182ad7178e82aba21bb32045766753","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"b50b9e15ce182ad7178e82aba21bb32045766753","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.21.tgz","integrity":"sha512-zN/DWH7+JLdZ+TpeBdPOf/UgF67Gbk9jU4+x/opzKbvRERao4IXN9uFM87s2ZKfnIWo5RlksVUBWuqKQrRLn7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCN2T4rcqeV0CoTTzS5u9QtAIm1KUUAKnY5GUC6vpGFdAIhAO03FjFn+x1+keymQxZVnWiOh76ZkiMoa/U9+FMr1Sog"}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.22":{"name":"dakota-cassandra","version":"0.0.22","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"1a2d46eadbc34b2dc99d5f6fe0b29af173448e14","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.22","scripts":{},"_shasum":"ec06764b5c1405b8dad69aa0c51dc7d57d623c6d","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"ec06764b5c1405b8dad69aa0c51dc7d57d623c6d","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.22.tgz","integrity":"sha512-ApSAqMH9kzRW7bukjkRbiD0oZ+NycN2foT3y+73ayohsTbcwFx/8rjbe6jsVNaPk0xutJ49P76Hqhk+PnUaLDw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBc+5AO1kCMoafcAKEiv+PO6cuBX8/gB15FLVE3zgFUyAiEA8WmwNZmRsUIQUZZo+1apTCq0I8grMrDxUx2swUDUBYs="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.23":{"name":"dakota-cassandra","version":"0.0.23","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"1b69d09a32c050859128ef29db41c2b47d2fe97e","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.23","scripts":{},"_shasum":"54de462551e73476a57e3c94475d133172c0d95c","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"54de462551e73476a57e3c94475d133172c0d95c","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.23.tgz","integrity":"sha512-zeaVZ2Pu5pb+1oDUDjVc43ydDfxkgvzdEaWI/RxUWjriwKGMtz2ZWwam7ZafdbqLEgsxlc4J+VEWT3eQ8Z/gLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5MD5RnXKlLZ8SosBl5gzaM/8oE4BEkWWQkdauiGTUOAIhAJLOStAYmVLveVo8NESfG5F8GZtlK3+ra0gnbEsAjxoO"}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.24":{"name":"dakota-cassandra","version":"0.0.24","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"a4e2888a1360c05a89b49911d6ed90236f5cc51d","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.24","scripts":{},"_shasum":"edf3b58307022e251e08c27dddd633035a883447","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"edf3b58307022e251e08c27dddd633035a883447","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.24.tgz","integrity":"sha512-xWFSy8KJQ0OwPH5vq6Qa29sqX9iG4vA+lqhQu5iAsFINWH9YXdR8P/lbkrFXlQahgOdmdwT6aS+UpYe5JFIbgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDozRm8LztLKkgwNfhBtlwTOj6onWkKrUBOMGLbL8GhPAIhAPPz7ltjn2m++FsF910gMM/JixOib2oSZHkY7KEq6Z0M"}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.25":{"name":"dakota-cassandra","version":"0.0.25","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"c94c8b5971ce7f5be75edd3abcab3165ac62cd38","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.25","scripts":{},"_shasum":"f6cc976edf8d2fab6473094a1acbbc66a4343985","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"f6cc976edf8d2fab6473094a1acbbc66a4343985","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.25.tgz","integrity":"sha512-m3Z8nlTC3lsYeLwpP1z+qu5qkB3nKkjItCX3AaHGPoNGP+w9pfVvvSsO3mwlu7Pzfwl9VCNwHa+qPu1wNnzNgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQVJKjaIzjY99Oys7jWQip6ehuF94jTcM/+6S1UAKmvgIgcOTvxanPDPSeUgZEHWfS64CAWfkx/6teQGyW1ws6q/o="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.26":{"name":"dakota-cassandra","version":"0.0.26","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"ff51e7dd918e9f5b2663b1cead473db5f96f8177","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.26","scripts":{},"_shasum":"77ad555db33c097209ed7f49d8e5e68ef6e4e88c","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"77ad555db33c097209ed7f49d8e5e68ef6e4e88c","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.26.tgz","integrity":"sha512-vwqZobpR3QT4cJNQg0Z5qfkWT0Sqnqh9DHZkiiQYcFZTwOGy81xzvU8ZbHu9dzZ30g/Nq1O146P1z463XrDiyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCN0Ivow0qDddvUiP6WzAYhvue7SAhNjt13i10D0wFeuwIgJJZ3l8B0Uu49zfhJ8CPnnT8RnDLWv2c6acKoT7lmfaE="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.27":{"name":"dakota-cassandra","version":"0.0.27","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"9615b9cb622e185c748cfdcf457efa0ea9f2ae75","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.27","scripts":{},"_shasum":"e1ac407e0c7e1e95c003cf94d12782704190e2b7","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"e1ac407e0c7e1e95c003cf94d12782704190e2b7","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.27.tgz","integrity":"sha512-fT7in0ZgPmJ64Aa51gsHSHRw0PrU4zPNRkj9gejk1V9PLxecRwbib9z/ZYeQDkahci53G/TxoF4myKOgkc+vXA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAUeBXhDC+7R+IneaTrcSVBBA5/rqGKwndqrha0skzhvAiEAkT3C7h7CxrvNvs48/EhDy550wtP7LR8zvLHsMEtdHBA="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.28":{"name":"dakota-cassandra","version":"0.0.28","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"cf718cc4bc2e5a5f3847a148cb177a06aa099c22","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.28","scripts":{},"_shasum":"0685987335a50c8a01bf284c7bee2a32cd945333","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"0685987335a50c8a01bf284c7bee2a32cd945333","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.28.tgz","integrity":"sha512-H+aHpqDVqD+xATG66Jz/IE/HxbxL6zYtVQwXhP9kJvbn1Iyv6R/MoYFMGzDf6Y0/gwEcjBKBMTT2c8biLt8hHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7YrN5/KzYH4bC2cDyUWyqXEsjvQqwd4K3y0D+2VAzxAIhAIdi9SBj79qY7+0Q8RcnP945m4xXEXJt6cgYyMA5pUUz"}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.29":{"name":"dakota-cassandra","version":"0.0.29","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"dfcf9d64f444b088013faa95e8c0620b64c05fff","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.29","scripts":{},"_shasum":"df312ff70ba50f687034cd3f13fcce85eabb913a","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"df312ff70ba50f687034cd3f13fcce85eabb913a","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.29.tgz","integrity":"sha512-JR8aRScEMAOisFyWRW9J+nM1eed8Bs+X/M8r8KIL45Zocez+2NRJ4mpPv5xebfb6dQAXjikn6ID7Hwepar/ufw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICWheMQHbldSslCgtfBWma823aPKxdG+YrQWWwULAYm0AiEAoTg8U5pZ6RFC44DREJhqXjJK+yrpH8NIobVs0eEjHN0="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.30":{"name":"dakota-cassandra","version":"0.0.30","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"2072ef033d802bba69975a73bf9c4913cd7503d2","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.30","scripts":{},"_shasum":"10be9703312665efe5d9f035fbd3b30ed401224c","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"10be9703312665efe5d9f035fbd3b30ed401224c","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.30.tgz","integrity":"sha512-LEb0OlBXpPLYKN/GGSSTFU/6mK7fZrBji4jtB7K7FyV86yQblVa/VUQ4EfyVtqDyNuKkyG+MHHfodmvyAB9SOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE2nXnKDIA0pc6bgIRNZUxQVcqsV52Qbg6YvaeCxgcilAiAv+K+wm+HdrPdOF7KuSu5GHmDLS6nyQRBs31PhLHxUbg=="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.31":{"name":"dakota-cassandra","version":"0.0.31","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"34d9ecd090336e104166f54f0c85b121a465eb18","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.31","scripts":{},"_shasum":"2e304cd26f62bd6f27fe22a9ac2c567b57f51574","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"2e304cd26f62bd6f27fe22a9ac2c567b57f51574","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.31.tgz","integrity":"sha512-JZ+B7lhfXUwXL59oiOczEY1+OGP8yI78MNuQQLgvr+4bm52hYvlTMHms3z2UO/vRP+QquI5xksNuFhs8yfCB+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiIUnv5+f6Y8kMRG8lpnMdezPw7NsfrKuO1PokO+JWmAIhAPDI3BzJfVVlWGkwcVuZbRbWENlFuClnKYMY9HXlDn6j"}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.32":{"name":"dakota-cassandra","version":"0.0.32","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"81e191c46a30a7bc31567c5647284fe05f594539","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.32","scripts":{},"_shasum":"024f3c6c187d9a9c4cab2265cc8f62c7b379fe25","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"024f3c6c187d9a9c4cab2265cc8f62c7b379fe25","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.32.tgz","integrity":"sha512-eUZT9qMEDKV0IdUMRuzWD/oURPA3CczPVKoX+8Rdfxp+2y3ATe7h6VoGXfAmA92HKYvVwC0eysALcK2YF8HPYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKqz7DZpaMNkuWoVw78kS5q2pVGcHai58U5JRksvX4XAIgb/55BLA6XP0e2l6ehKtObPbuuKklg9uVWaYysz1NT2A="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.33":{"name":"dakota-cassandra","version":"0.0.33","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"f755b69f62117fced43f23499bc0e34e4f64d726","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.33","scripts":{},"_shasum":"0369f4812b6132717836bd7eb5772c1c2d19dcda","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"0369f4812b6132717836bd7eb5772c1c2d19dcda","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.33.tgz","integrity":"sha512-tJ9F6jchJOFvgNgps3VlSnFaA1G6iHXfinUZP27HvqvRzoKv7FS9INJn/0PkAg0fUsB9/uVvTGO/cM99m4ogXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFFMfhGZqEzI+Iz7n2nf6opM/w5JW/iAb8YUD2phhq0RAiEAwodm3LUSkei7HraAphf4yOJvETwIjwyZscsXaAb33MU="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.35":{"name":"dakota-cassandra","version":"0.0.35","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"511947ce3aa4ed6d87beb96f4bf8900bb747928d","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.35","scripts":{},"_shasum":"8c5e90fb1293159befeae6b775bfd716cf1705cd","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"8c5e90fb1293159befeae6b775bfd716cf1705cd","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.35.tgz","integrity":"sha512-No7lmIn88lzFE1PU2rKXIOoxKKVagZ6tIfLwqgo/FlSEodeekI4laJ+UMlVAWPsR62AA/VVTexzchzxz0DYJwQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3Ym6F+K0aAlhk+pa6Bt4etDbIqsQwlL1jXKovW+jbfwIhAM2TE3ale7TycCYmj8sWsWByk7nFkchsPvIG3gsgP4Wi"}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}]},"0.0.36":{"name":"dakota-cassandra","version":"0.0.36","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"54734ea276bb8d98e91c1694066cc6c341a3327f","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.36","scripts":{},"_shasum":"0c1ad31b48fd568fe97886fc07ce7206cbf1ee11","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.2.0","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"0c1ad31b48fd568fe97886fc07ce7206cbf1ee11","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.36.tgz","integrity":"sha512-9Y51UQKU1vJlPjaUQUpws5hEBgptr8QKYd59UgWAaly6VOyHK3iY83oSK11Dz089QVvElNyZ9bJtjraVlHT68g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6WWl8J1qyHxd2zEvAwcSWDaUu7SQ/+LfF74li6+pjfwIgWu9+alcJB6Qjz13ilH6UNY25VugabjNMXrxTgIyWWIw="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/dakota-cassandra-0.0.36.tgz_1467349338628_0.18016421771608293"}},"0.0.37":{"name":"dakota-cassandra","version":"0.0.37","description":"Cassandra ORM for NodeJS","main":"index.js","dependencies":{"cassandra-driver":"^2.0.0","is-plain-object":"^2.0.1","underscore":"^1.8.3","underscore.inflections":"^0.2.1","underscore.string":"^3.2.0","validator":"^4.0.5","when":"^3.7.3"},"author":{"name":"Alexander Wong"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"homepage":"https://github.com/ahlwong/dakota-cassandra","gitHead":"a3ec7c8086c67136184b43f1d516c99a17f759e8","bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"},"_id":"dakota-cassandra@0.0.37","scripts":{},"_shasum":"df4ae95910280e107aa9e7e4c21b8ae13817f5e2","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.2.0","_npmUser":{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"},"dist":{"shasum":"df4ae95910280e107aa9e7e4c21b8ae13817f5e2","tarball":"https://registry.npmjs.org/dakota-cassandra/-/dakota-cassandra-0.0.37.tgz","integrity":"sha512-11R+hb38e+4xrjsapKwdk5St8hJo66QaCbI9RtdImtNWcRNQNaj5KE7QET3JBytM8x8UYAy80Mx3HgjlBCNX/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDXA6t9vamsrwnuTLQ5iROk/zboDrenTCnLGuAbjCLNyAiEAhfgKWpltfkH9cphrw3CmTv/KPxSL52Mi+Yk6b00IjHg="}]},"maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/dakota-cassandra-0.0.37.tgz_1467350642458_0.008177354699000716"}}},"readme":"# dakota-cassandra\n\nA full feature Apache Cassandra ORM built on top of datastax/nodejs-driver\n\n## Installation\n\n```bash\n$ npm install dakota-cassandra\n```\n\n## Stability\n\nDakota was written over a weekend (8/28/2015 - 8/31/2015) by Alexander Wong out of Boost VC in San Mateo, CA, USA to address the lack of a full featured NodeJS compatible Cassandra ORM. It is currently still a work in progress and will be refined in the coming weeks. Please check back often for updates and bug fixes.\n\n## Basic Usage Example\n\n```javascript\nvar Dakota = require('dakota-cassandra');\nvar dakota = new Dakota(options);\nvar User = dakota.addModel('User', schema, validations);\nvar user = new User({ name: 'Alex' });\nuser.save(function(err) { ... });\nUser.where({ name: 'Alex' }).first(function(err, user) { ... });\n```\n\n## Features\n\n  - Solid foundation\n    - Written on top of datastax/nodejs-driver (official Cassandra JavaScript driver)\n    - Based off of Mongoid and Mongoose design and usability patterns\n  - Chainable query building interface and full support for CQL\n    - Build queries by chaining methods like `.select`, `.where`, `.limit`, `.all`, and `.first`\n    - Complete access to CQL queries through query builder\n        - compiles `SELECT` queries with selective columns, `FROM`, `WHERE`, `ORDER BY`, `LIMIT`, and `ALLOW FILTERING` support\n        - compiles `UPDATE` queries with `USING`, `SET`, `WHERE`, `IF`, and `IF EXISTS` support\n        - compiles `INSERT` queries with `INTO`, `IF NOT EXISTS`, and `USING` support\n        - compiles `DELETE` queries with `FROM`, `USING`, `WHERE`, `IF`, and `IF EXISTS` support\n        - compiles `TRUNCATE` queries\n    - compiles `prepared statements` in all cases\n    - support for `eachRow` and `stream` to process large data sets\n    - all queries are buffered until a successful connection is established\n  - Full support for Cassandra types\n    - All basic types (`ascii`, `bigint`, `blob`, `boolean`, `decimal`, `double`, `float`, `inet`, `int`, `text`, `timestamp`, `timeuuid`, `uuid`, `varchar`, `varint`)\n    - All collection types (`list`, `set`, `map`)\n    - Support for `user defined types`, `counters`, `tuples`, and `frozen` fields\n  - Schema validation, and sanitization backed models\n    - Define custom setters, getters, instance, and static methods\n    - Callback / filter chains on `afterNew`, `beforeCreate`, `afterCreate`, `beforeValidate`, `afterValidate`, `beforeSave`, `afterSave`, `beforeDelete`, `afterDelete`\n    - Define custom sanitizers and validators for fields\n        - 'Recipes' for common and chainable validation and sanitization tasks\n        - ... examples include: `minLength`, `maxLength`, `required`, `email`, and more ...\n        - User definable validation messages that can be output to user\n    - Set column values with pre-generated setters and getters\n    - `Append`, `prepend`, `add`, `remove`, `increment`, `decrement`, and `inject` convenience methods for working with collection types\n  - Changed column tracking\n    - Only updates or inserts changed fields\n    - Automatically combines multiple `append`, `prepend`, `add`, `remove`, `increment`, `decrement`, `inject` actions if they are additive or composes a single `set` action\n  - Automatic `keyspace`, `table`, and `user defined type` schema rectification (configurable)\n    - Detects and alerts on differences between schemas and structures\n    - Automatically creates structures, adds columns, removes columns, or changes types and replication settings (configurable)\n        - Keyspaces have options for `ensure exists`, and `alter` (to alter `replication` and `durableWrites`)\n        - Tables have options for `ensure exists`, `recreate`, `recreateColumn`, `removeExtra`, `addMissing`\n        - User defined types have options for `ensure exists`, `recreate`, `changeType`, `addMissing`\n\n## Missing But Coming\n\n  - Indexes on tables\n\n## Connection and Options\n\n#### Minimal Options\n\n```javascript\nvar options = {\n  connection: {\n    contactPoints: [\n      '127.0.0.1'\n    ],\n    keyspace: 'dakota_test'\n  },\n  keyspace: {\n    replication: { 'class': 'SimpleStrategy', 'replication_factor': 1 },\n    durableWrites: true\n  }\n};\nvar dakota = new Dakota(options);\n```\n  - `options.connection` is passed directly to the datastax/nodejs-driver `Client` object; you can specify additional fields here as necessary\n  - `options.keyspace` is used to configure your app's keyspace\n    - If a keyspace with the name in `options.connection.keyspace` doesn't exist, it is automatically created. If it does exist, its schema is compared against the options here (see below for automatic discrepancy resolution).\n\n#### Full Options (Library Defaults)\n\n```javascript\nvar nm_ = require('underscore');\nvar nm_i = require('underscore.inflections');\nvar nm_s = require('underscore.string');\n\nvar defaultOptions = {\n  \n  // connection\n  connection: {\n    contactPoints: [\n      '127.0.0.1'\n    ],\n    keyspace: 'dakota_test'\n  },\n  \n  // keyspace\n  keyspace: {\n    replication: { 'class': 'SimpleStrategy', 'replication_factor': 1 },\n    durableWrites: true,\n    ensureExists: {\n      run: true, // check if keyspace exists and automaticcaly create it if it doesn't\n      alter: false // alter existing keyspace to match replication or durableWrites\n    }\n  },\n  \n  // logger\n  logger: {\n    level: 'debug', // log this level and higher [debug < info < warn < error]\n    queries: true // log queries\n  },\n  \n  // model\n  model: {\n    tableName: function(modelName) {\n      return nm_i.pluralize(nm_s.underscored(modelName));\n    },\n    getterSetterName: function(columnName) {\n      return columnName.trim().replace(/\\s/g, '_');\n    },\n    validatorSanitizerName: function(operation, columnName) {\n      var name = nm_s.capitalize(columnName.trim().replace(/\\s/g, '_'));\n      return operation + name;\n    },\n    typeSpecificSetterName: function(operation, columnName) {\n      var name = nm_s.capitalize(columnName.trim().replace(/\\s/g, '_'));\n      if (operation == 'increment' || operation == 'decrement') {\n        return operation + name;\n      }\n      else {\n        return operation + nm_i.singularize(name);\n      }\n    },\n    table: {\n      ensureExists: {\n        run: true, // check if keyspace exists and automaticcaly create it if it doesn't\n        recreate: false, // drop and recreate table on schema mismatch, takes precedence over following options\n        recreateColumn: false,  // recreate columns where types don't match schema\n        removeExtra: false,  // remove extra columns not in schema\n        addMissing: false // add columns in schema that aren't in table\n      }\n    }\n  },\n  \n  // user defined type\n  userDefinedType: {\n    ensureExists: {\n      run: true,\n      recreate: false, // drop and recreate type on schema mismatch, takes precedence over following options\n      changeType: false, // change field types to match schema\n      addMissing: false // add fields in schema that aren't in type\n    }\n  }\n  \n};\n```\n  - `keyspace.ensureExists` dictates the keyspace discrepancy rectification policy\n    - `run` - check existence of keyspace, create if missing, and compare schema?\n    - `alter` - alter keyspace to match `replication` and `durableWrites` options\n  - `logger` determines behavior of built in logger\n    - `level` - can be set to 'debug', 'info', 'warn', or 'error' to only display log messages above the specified level\n    - `queries` - log compiled query statements and params?\n  - `model` dictates table discrepancy handling and general setup\n    - `tableName` - function used to convert from model name to table name\n      - by default, a model named 'UserByEmail' will create a table named 'user_by_emails'\n    - `getterSetterName` - function used to name getters and setters for columns\n      - by default, a column named 'email_addresses' will create `.email_addresses` and `.email_addresses =` methods\n    - `validatorSanitizerName` - function used to name validators and sanitizers for columns\n      - by default, a column named 'email' will create `.validateEmail`, `.sanitizeEmail`, and `.validateSanitizedEmail` methods\n    - `typeSpecificSetterName` - function used to name getters and setters specific to certain types\n      - by default, a column named 'friend_uuids' of type list will create `.appendFriend_uuid`, `.prependFriend_uuid`, `.removeFriend_uuid`, and `.injectFriend_uuid` methods\n      - the `operation` argument in this function is passed strings like 'append', 'prepend', etc...\n    - `table.ensureExists` specifies the table discrepancy rectification policy\n      - `run` - check existence of table, create if missing, and compare schema?\n      - `recreate` - drop and recreate table on discrepancy\n      - `recreateColumn` - drop and recreate column on type mismatch\n      - `removeExtra` - drop columns not in schema\n      - `addExtra` - add columns that are defined in the schema but don't exist in the table\n  - `userDefinedType.ensureExists` ditactes the UDT discrepancy rectification policy\n    - `run` - check existence of UDT, create if missing, and compare schema?\n    - `recreate` - drop and recreate UDT on discrepancy\n    - `changeType` - attempt to change type on field if type mismatches schema\n    - `addMissing` - add fields that are defined in the schema but don't exist in UDT\n\n## Models\n\n```javascript\nvar User = dakota.addModel('User', require('./user.schema'), require('./user.validations'), options);\n```\n  - Models are created via the `.addModel` method on `Dakota` instances. When they're added, they're immediately validated and compared against existing tables (see options on configuring `ensureExists` above).\n  - The first argument specifies the name of the model; the second is an `Object` containing the model's schema; the third is an `Object` containing sanitizations and validations (`null` can be passed if no validations are necessary); the last is an options `Object` which can be used to override `options.model` passed in to the `new Dakota(options)` constructor.\n## Schema\n```javascript\nvar Dakota = require('dakota-cassandra');\nvar schema = {\n  \n  // columns\n  columns: {\n    \n    // timestamps\n    ctime: 'timestamp',\n    utime: 'timestamp',\n    \n    // data\n    id: 'uuid',\n    name: 'text',\n    email: {\n      alias: 'emailAddress',\n      type: 'text',\n      set: function(value) { return value.toLowerCase(); },\n      get: function(value) { return value.toUpperCase(); }\n    },\n    ip: 'inet',\n    age: 'int',\n    \n    // collections\n    friends: 'set<uuid>',\n    tags: 'list<text>',\n    browsers: 'map<text,inet>',\n    craziness: 'list<frozen<tuple<text,int,text>>>'\n    \n  },\n  \n  // key\n  key: [['email', 'name'], 'id'], // excuse the contrived example\n  \n  // callbacks\n  callbacks: {\n    \n    // new\n    afterNew: [\n      function() { console.log('after new callback'); }\n    ],\n    \n    // create\n    beforeCreate: [\n      Dakota.Recipes.Callbacks.setTimestampToNow('ctime')\n    ],\n    afterCreate: [],\n    \n    // validate\n    beforeValidate: [],\n    afterValidate: [],\n    \n    // save\n    beforeSave: [\n      Dakota.Recipes.Callbacks.setTimestampToNow('utime')\n    ],\n    afterSave: [],\n    \n    // delete\n    beforeDelete: [],\n    afterDelete: []\n  },\n  \n  // methods\n  method: {\n    greet: function () { console.log('Hello, my name is ' + this.name + '.'); };\n  },\n  \n  // static methods: {\n    plusPlusAge: function () {\n      User.eachRow(function(n, user) {\n        user.age += 1;\n        user.save(function(err) { ... });\n      }, function(err) {\n        console.log('All users .age++ complete!');\n      });\n    }\n  }\n};\n```\n - `schema.columns` defines your model's fields and corresponding types\n   - an `Object` can be set per field for additional configuration (see `email` above)\n     - `alias` specifies the name to use for auto generated methods and arguments to those methods\n       - because column names are stored in each record in Cassandra, it is sometimes desirable to have a more user friendly name\n       - ... for instance: `fids: { alias: 'FriendIDs', type: set<uuid> }` will create `.friendIDs`, `.friendIDs =`, `.addFriendID`, ... methods\n       - aliases are also support mass assignment, for instance: `new User({ FriendIDs: [...], ... })` and `user.set({ FriendIDs: [...], ... })`\n     - `type` specifies the type of the field\n     - `set` and `get` will be invoked when setting or getting the column value\n       - *NOTICE* they both `return` the value\n  - `schema.key` defines the model's primary key\n    - composite keys should be grouped in a nested array\n  - `schema.callbacks` defines chainable callbacks that are run in definition order for particular events\n    - `Recipes` for common callbacks are provided in the `/lib/recipes` directory and are loaded under `Dakota.Rescipes.Callbacks`\n    - *NOTE* there are cases when callbacks are skipped or ignored, please see the *Creating and Deleting* and *Upsert and Delete Without Reading* sections below for more details\n  - `schema.methods` defines instance methods available on each model instance\n  - `schema.staticMethods` defines static methods on the model\n\n## Validations\n\n### Usage\n\n```javascript\nvar user = new User();\n\nuser.email = 'dAkOtA@dAKOta.DAkota'; // automatically sanitizes input\nuser.email; // returns 'dakota@dakota.dakota'\n\nuser.password = 'dak';\nuser.validate(); // returns { password: ['Password must contain at least one character and one number.', 'Password must be more than 6 characters long', ... ], ... } if validation errors\n\nuser.save(function(err) {\n  if (err) {\n    if (err instanceof Dakota.Model.ValidationFailedError) { // Dakota.Model.ValidationFailedError if validation errors\n      var invalidColumns = err.message;\n    }\n  }\n  ...\n});\n\nuser.validate({ only: ['password'] });\nuser.validate({ except: [email] });\nuser.save(..., { validate: { only: [...] } });\nuser.save(..., { validate: { except: [...] } });\n\nuser.validatePassword('dak'); // returns { password: ['Password must contain at least one character and one number.', 'Password must be more than 6 characters\nuser.sanitizeEmail('dAkOtA@dAKOta.DAkota'); // returns 'dakota@dakota.dakota'\n\nUser.validatePassword('dak'); // returns { password: ['Password must contain at least one character and one number.', 'Password must be more than 6 characters\nUser.sanitizeEmail('dAkOtA@dAKOta.DAkota'); // returns 'dakota@dakota.dakota'\n```\n - `sanitizers` are run when a column's value is set\n   - in the example above, our sanitizer downcases the user's email address\n - `validators` are run when the `.validate()` methods is explicitly called and on model `.save(...)`\n   - if validation errors exist, an `Object` will be produced where the keys correspond to column names and the values are arrays of validation error messages\n   - `.validate(...)` returns a validation `Object` immediately on validation fail, and `false` on validation pass\n   - `.save(...)` is interrupted on validation errors and a `Dakota.Model.ValidationFailedError` is passed as the `err` argument to the callback\n   - both `.validate` and `.save` can take an options object that specify validations to `only` run on some columns or run on all columns `except` some\n\n### Definition\n\n```javascript\nvar Dakota = require('dakota-cassandra');\nvar nm_s = require('underscore.string');\n\nvar validations = {\n  ctime: {\n    validator: {\n        validator: function(value, instance) {\n            return !nmValidator.isNull(value);\n        },\n        message: function(displayName) { return displayName + ' is required.'; }\n    }\n  },\n  utime: {\n    validator: Dakota.Recipes.Validators.required\n  },\n  id: {\n    validator: Dakota.Recipes.Validators.required\n  },\n  email: {\n    displayName: 'Email',\n    validator: Dakota.Recipes.Validators.email,\n    sanitizer: Dakota.Recipes.Sanitizers.email\n  },\n  name: {\n    displayName: 'Name',\n    validator: [Dakota.Recipes.Validators.required, Dakota.Recipes.Validators.minLength(1)],\n    sanitizer: function(value, instance) {\n      return nm_s.capitalize(value);\n    }\n  }\n};\n```\n  - validation keys correspond to the column names in the schema definition\n  - `.displayName` specifies the name of the column to be displayed to users in validation messages\n  - `.validator` is an array of validator definitions or a single definition\n    - `.validator.validator` is a a function that must return true or false based on its input value\n    - `.validator.message` returns a custom message based on a passed in `displayName`\n  - `.sanitizer` is an array of sanitizer functions or a single sanitization function\n  - Both `.validator` and `.sanitizer` are passed an optional argument `instance`, which refers to the model instance being validated\n  - Recipes for validators and sanitizers can be found under the `/lib/recipes` folder and are loaded under `Dakota.Rescipes.Validators` and `Dakota.Rescipes.Sanitizers`\n\n## Creating and Deleting\n\n```javascript\nvar User = dakota.addModel('User', schema, validations);\nvar user = new User({ name: 'Dakota' });\nuser.save(function(err) { ... });\nuser = User.new({ name: 'Alex' });\nuser.save(function(err) { ... }, {\n  ... ,\n  validate: {\n    only / except ...\n  },\n  callbacks: {\n    skipAll: false, // skips all callbacks, takes precedence over subsequent settings\n    skipBeforeValidate: false,\n    skipAfterValidate: false,\n    skipBeforeCreate: false,\n    skipAfterCreate: false,\n    skipBeforeSave: false,\n    skipAfterSave: false\n  }\n});\nuser = User.create({ name: 'Cindy' }, function(err) { ... });\n\nuser.if({ name: 'Dakota' }).save(function(err) { ... });\nuser.ifNotExists(true).ttl(1000).save(function(err) { ... });\nuser.using({ '$ttl' : 1000, '$timestamp' : 123456789 }).save(function(err) { ... });\nuser.timestamp(123456789).save(function(err) { ... });\n\nuser.delete(function(err) { ... }, {\n  ... ,\n  callbacks: {\n    skipAll: false, // skips all callbacks, takes precedence over subsequent settings\n    skipBeforeDelete: false,\n    skipAfterDelete: false\n  }\n});\nuser.ifExists(true).delete(function(err) { ... });\n```\n  - Instances of models can be created 3 different ways\n    - `new User([assignments])` and `User.new([assignments])` are functionally identical and create an instance without immediately persisting it to the database\n    - `User.create([assignments], callback)` immediately but asynchronously persists the object to the database\n    - *NOTE* both `.new` and `.create` will upsert records\n      - ... to only create new records, manually check if a record exists or use `.new` with `.ifNotExists`\n  - `.delete(callback)` deletes the model instance's corresponding row in the database\n  - All callbacks will be run using the methods above since the entire record is presumed to be loaded\n  - `.ttl(...)`, `.timestamp(...)`, `.using(...)`, `.ifExists(...)`, `.ifNotExists(...)`, and `.if()` query chains can modify query parameters before `.delete(...)` or `.save(...)` compile and run the query on the database\n  \n## Upsert and Delete Without Reading\n\n```javascript\nUser.upsert({ name: 'Dakota' }, function(err){ ... }); // all callbacks run, except: afterNew, beforeCreate, afterCreate\n\nvar user = User.upsert({ id: Dakota.generateUUID(), name: 'Dakota', email: 'dakota@dakota.dakota' });\nuser.age = 15;\nuser.appendTag('dog');\nuser.save(function(err) { ... }); // all callbacks run, except: afterNew, beforeCreate, afterCreate\n\nvar user = User.upsert({ id: Dakota.generateUUID(), name: 'Dakota', email: 'dakota@dakota.dakota' });\nuser.delete(function(err) { ... }); // beforeDelete and afterDelete callbacks run\n\nUser.delete({ name: 'Dakota' }, function(err) { ... }); // no callbacks run\nUser.where(...).delete(function(err) { ... }); // no callbacks run\nUser.where(...).ifExists(true).delete(function(err) { ... }); // no callbacks run\n\nUser.deleteAll(function(err) { ... }); // no callbacks run\nUser.truncate(function(err) { ... }); // no callbacks run\n```\n  - `User.upsert([assignments], [callback])` creates a special instance of a user object that prefers idempotent actions\n    - Since the entire record is not presumed to be loaded:\n      - columns can only be read after they are set\n      - columns are only validated if they are set\n      - collection specific operations like `$append`, `$prepend`, `$remove` will not combine into a `$set` on conflict\n      - `afterNew`, `beforeCreate`, `afterCreate` callbacks are NOT run\n    - You should ensure all primary keys are set prior to calling `.save` by defining them in the initial call to `.upsert` or setting the corresponding columns via conventional setters\n  - `User.upsert(...)` followed by `.delete(...)` will delete the record based on columns set in `.upsert` or via setters later\n    - This is the only delete without reading method that runs the `beforeDelete` and `afterDelete` callbacks\n  - `User.delete([where], [callback])` and `User.where([conditionals]).delete([callback])` behave identically\n    - `User.where(...)...` starts a query building object and allows for additional clauses to be appended, like `.ifExists`\n    - `beforeDelete` and `afterDelete` callbacks are NOT run\n  - `.deleteAll(callback)` and `.truncate(callback)` are functionally identical and remove all rows from a table\n    - `beforeDelete` and `afterDelete` callbacks are NOT run because the rows are never loaded into memory\n    - ... if callbacks must be run, consider a `User.where(...).eachRow(function(err, user) { user.delete(...) })`\n\n## Querying\n\n```javascript\nUser.all(function(err, users) { ... });\nUser.where({ name: 'Dakota' }).first(function(err, user) { ... });\nUser.where({ name: 'Dakota' }).limit(1).execute(function(err, user) { ... });\nUser.count(function(err, count) { ... });\nUser.select(['email', 'utime']).where({ name: 'Dakota', age: { '$gte' : 5 } }).orderBy('age', '$asc').limit(1).allowFiltering(true).all(function(err, users) { ... });\n\nUser.find({ name: 'Dakota', email: 'dakota@dakota.com' }, function(err, users) { ... });\nUser.findOne({ name: 'Dakota' }, function(err, user) { ... });\n\nUser.eachRow(function(n, user) { ... }, function(err) { ... });\n\nvar stream = User.stream();\nstream.on('readable', function() {\n  // readable is emitted as soon a row is received and parsed\n  var user;\n  while (user = this.read()) {\n    ...\n  }\n});\nstream.on('end', function() {\n  // stream ended, there aren't any more rows\n});\nstream.on('error', function(err) {\n  // something went wrong: err is a response error from Cassandra\n});\n```\n  - There are a multitude of ways to dynamically query your data using the query builder\n  - `.all(callback)`, `.first(callback)`, `.execute(callback)`, and `.count(callback)` methods terminate query building, compile your query, and submit it to the database; they should be used at the end of a query chain to execute the query\n  - `.select([column{String}, ...])` and `.select(column{String}, ...)` specifies which columns to return in your results\n    - `.select` is additive, meaning `.select('name').select('email')` will return both name and email in resulting rows\n  - `.where(column{String}, value)`, `.where({ column{String}: value })`, and `.where({ column{String}: { operation[$eq, $gt, $gte, ...]{String}: value }})` specifies the WHERE conditions in your query\n    - `.where` is additive but overrides conditions on the same column, meaning `.where('name', 'Dakota').where({ age: 5}).where('name', 'Dak')` will compiles to `WHERE \"name\" = 'Dak' AND \"age\" = 5`\n  - `.orderBy({ partitionKey{String}: order[$asc, $desc]{String} })` and `.orderBy(partitionKey{String}, order[$asc, $desc]{String})` order your results by a particular partition key in either `$asc` or `$desc` order\n  - `.limit(limit{Integer})` limits the number of rows returned\n  - `.allowFiltering(allow{Boolean})` adds the `ALLOW FILTERING` clause to the compiled `SELECT` query\n  - `.find([conditions], callback)` and `.findOne([conditions], callback)` are short hand methods for `.where(...).all(...)` and `.where(...).first(...)`\n  - `.eachRow(...)` and `.stream()` methods invoke the corresponding Cassandra non-buffering row processing methods\n\n## Setters and Getters\n\n```javascript\nUser.first(function(err, user) {\n\nuser.email = 'dakota@dakota.dakota';\nuser.email; // returns 'dakota@dakota.dakota'\n\nuser.set('name', 'Dakota');\nuser.get('name'); // returns 'Dakota'\nuser.get(['name', 'email', ... ]); // returns { name: 'Dakota', email: 'dakota@dakota.dakota' }\n\n// assuming schema items: { type: list<text> }\nuser.appendItem('item 1');\nuser.appendItem('item 1');\nuser.prependItem('item 0');\nuser.appendItem('item 2');\nuser.items; // returns ['item 0', 'item 1', 'item 1', 'item 2']\nuser.removeItem('item 1');\nuser.items; // returns ['item 0', 'item 2']\nuser.inject(1, 'item 0');\nuser.items; // returns ['item 0', 'item 0'];\nuser.removeItem('item 0');\nuser.items; // returns null\nuser.items = ['item 0', 'item 1', 'item 2'];\nuser.items; // returns ['item 0', 'item 1', 'item 2]\n\n// assuming schema friends: { type: set<text> }\nuser.addFriend('Bob');\nuser.addFriend('Bob');\nuser.addFriend('Joe');\nuser.friends; // returns ['Bob', 'Joe']\nuser.removeFriend('Joe');\nuser.friends; // returns ['Bob']\nuser.friends = ['Jenny', 'Alex', 'Cathy', 'Cathy'];\nuser.friends; // returns ['Jenny', 'Alex', 'Cathy']\n\n// assuming schema hosts: { type: map<text,inet> }\nuser.hosts = { localhost: '127.0.0.1', mask: '255.255.255.255' };\nuser.injectHost('home', '123.456.789.123');\nuser.hosts; // returns { home: '123.456.789.123', localhost: '127.0.0.1', mask: '255.255.255.255' }\nuser.removeHost('mask');\nuser.hosts; // returns { home: '123.456.789.123', localhost: '127.0.0.1' }\n\n});\n\nUserCounter.first(function(err, userCounter) {\n\n// assuming schema cnt: { type: counter }\nuserCounter.incrementCnt(5);\nuserCounter.incrementCnt(3);\nuserCounter.decrementCnt(7);\nuserCounter.cnt; // returns 1\n\n});\n\n```\n  - Single and multiple compatible calls to collection specific setters will modify collections without setting the whole column value\n    - ... for example, `.addFriend('Bob')` will compile into `friends = friends + {'Bob'}`\n    - ... likewise, `.addFriend('Bob')` followed by `.addFriend('Joe')` will compile into `friends = friends + {'Bob', 'Joe'}`\n    - ... however, `.addFriend('Bob')` followed by `.removeFriend('...')` will compile into `friends = {'Bob', ... }` since `add` and `remove` calls cannot be combined\n  - Single and multiple compatible calls to `.remove` on `map` typed columns will generate a `DELETE map1[key1], map2[key3] FROM...` query if performed in isolation\n    - ... for example, `.removeHost('mask')` will compile into `DELETE hosts['mask'] FROM users WHERE...`\n    - ... likewise, `.removeHost('mask')` followed by `.removeHost('home')` will compile into `DELETE hosts['mask'], hosts['home'] FROM users WHERE...`\n    - ... however, `.removeHost('mask')` followed by `.addFriend('Bob')` or `.injectHost('home', '123.456.789.123')` will compile into `hosts = { 'home' : '123.456.789.123' }` since `add` breaks isolation and `inject` cannot be combined\n\n## Change Tracking\n\n```javascript\nUser.first(function(err, user) {\n\nuser.changed(); // returns false, check if any changes to any columns\nuser.changes(); // returns {}\nuser.name = 'Dakota';\nuser.changed('name'); // return true\nuser.changes(); // returns { name: { from: 'prev name', to: 'Dakota } }\nuser.changes('name'); // returns { from: 'prev name', to: 'Dakota }\n\n});\n```\n\n## User Defined Types\n\n```javascript\nvar Dakota = require('dakota-cassandra');\n\nvar address = {\n  street: 'text',\n  city: 'text',\n  state: 'text',\n  zip: 'int',\n  phones: 'frozen<set<text>>',\n  tenants: 'frozen<map<int,text>>'\n};\n\nvar userDefinedTypes = {\n  address: address\n};\nvar dakota = new Dakota(options, userDefinedTypes);\n```\n  - User defined types must be passed into the `new Dakota(options, [userDefinedTypes])` constructor because model schemas may depend on their existence\n  - The format of the `userDefinedTypes` argument should be an `Object` where each `key` is the `name` of the user defined type you'd like to define\n  - The definition of each user defined type should be an `Object` that maps field names to types\n\n## Helpers\n\n```javascript\nvar Dakota = require('dakota-cassandra');\n\nDakota.generateUUID();\n\nDakota.generateTimeUUID();\nDakota.getDateFromTimeUUID(timeUUID);\nDakota.getTimeFromTimeUUID(timeUUID);\n\nDakota.nowToTimestamp();\nDakota.dateToTimestamp(new Date());\n```\n  - Helpers for generating and manipulating `UUID` and `TimeUUID` are available as static methods on Dakota\n  - `.getDateFromTimeUUID` and `.getTimeFromTimeUUID` can be used to extra time and date data from TimeUUID strings and objects\n \n## Examples\n\nFor an in-depth look at using Dakota, take a look inside the `/tests` folder.","maintainers":[{"name":"ahlwong","email":"alexander.hl.wong@gmail.com"}],"time":{"modified":"2022-06-14T08:23:55.066Z","created":"2015-08-31T07:51:15.096Z","0.0.1":"2015-08-31T07:51:15.096Z","0.0.2":"2015-08-31T10:19:04.377Z","0.0.3":"2015-08-31T18:37:23.952Z","0.0.4":"2015-09-01T08:06:00.324Z","0.0.5":"2015-09-01T08:23:36.640Z","0.0.6":"2015-09-02T11:33:49.245Z","0.0.7":"2015-09-02T20:49:50.743Z","0.0.8":"2015-09-03T10:28:06.039Z","0.0.10":"2015-09-03T19:00:16.229Z","0.0.11":"2015-09-03T22:23:34.448Z","0.0.12":"2015-09-04T03:36:10.381Z","0.0.13":"2015-09-04T08:03:30.414Z","0.0.14":"2015-09-04T08:34:13.356Z","0.0.15":"2015-09-07T08:59:38.880Z","0.0.16":"2015-09-07T19:41:43.313Z","0.0.17":"2015-09-08T01:28:59.839Z","0.0.18":"2015-09-08T09:21:53.672Z","0.0.19":"2015-09-08T23:51:04.411Z","0.0.20":"2015-09-09T03:48:28.414Z","0.0.21":"2015-09-09T21:53:12.450Z","0.0.22":"2015-09-10T09:59:48.071Z","0.0.23":"2015-09-10T21:05:30.774Z","0.0.24":"2015-09-12T02:30:09.907Z","0.0.25":"2015-09-12T09:51:12.722Z","0.0.26":"2015-09-13T01:27:47.642Z","0.0.27":"2015-09-13T02:36:29.944Z","0.0.28":"2015-09-13T07:19:21.846Z","0.0.29":"2015-09-13T07:58:55.002Z","0.0.30":"2015-09-23T18:12:53.522Z","0.0.31":"2015-09-24T17:41:44.063Z","0.0.32":"2015-10-02T17:42:00.652Z","0.0.33":"2015-10-06T00:24:02.583Z","0.0.35":"2015-12-15T06:01:46.374Z","0.0.36":"2016-07-01T05:02:22.222Z","0.0.37":"2016-07-01T05:24:03.029Z"},"keywords":["cassandra","cql","cql3","connection","pool","datastax","nosql","driver","database","orm","odm","nodejs","ahlwong"],"author":{"name":"Alexander Wong"},"readmeFilename":"README.md","homepage":"https://github.com/ahlwong/dakota-cassandra","repository":{"type":"git","url":"git+https://github.com/ahlwong/dakota-cassandra.git"},"bugs":{"url":"https://github.com/ahlwong/dakota-cassandra/issues"}}