{"_id":"tribe.storage","_rev":"27-9268a493e7cf610b8169461f740c442d","name":"tribe.storage","description":"Efficient, portable, extensible object storage.","dist-tags":{"latest":"0.4.9"},"versions":{"0.0.1":{"name":"tribe.storage","version":"0.0.1","description":"Efficient, portable, extensible object storage for the tribe platform.","main":"index.js","dependencies":{"sqlite3":"^3.0.0","q":"~1.0.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.git"},"_id":"tribe.storage@0.0.1","_shasum":"cda263aacf082dcb976e39281ca58841dd15ce66","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"dist":{"shasum":"cda263aacf082dcb976e39281ca58841dd15ce66","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.0.1.tgz","integrity":"sha512-jCLxLvwwBdMvHMB1wQoGpj2J4EElUcjfoRtQQsrp5bsgMWijE6xaDcp/zHaHOyrFY3VKqRqiNLtma8uuDnTbQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAhYj61UZofIlKYh/x1MhohLwlKd1Qzr3qQlN9MzFzQLAiEAkklB1c4bHrOAYlzuAmZEzWNXYG8UYEJwHz+N2nIYCgY="}]},"directories":{}},"0.0.2":{"name":"tribe.storage","version":"0.0.2","description":"Efficient, portable, extensible object storage for the tribe platform.","main":"index.js","dependencies":{"sqlite3":"^3.0.0","q":"~1.0.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.git"},"_id":"tribe.storage@0.0.2","_shasum":"af037f9c3ccd460965d2d06d43afcf8a0188301d","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"dist":{"shasum":"af037f9c3ccd460965d2d06d43afcf8a0188301d","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.0.2.tgz","integrity":"sha512-jhOIi+w/60Fhu/K8FazVCD4WLNITMd+1HxuxN52sJc+8LkER40sJl0KSunYLKoar/87qx+DzPj0cXWnI6vatjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG4/JsRQF74SZTwprzrwisnoUcN1pn1TPsW690hTEGorAiEAmzfw+v7u/j/QVC4EqKk1wV5gbJwH7xje6nUwOsm7mhs="}]},"directories":{}},"0.0.3":{"name":"tribe.storage","version":"0.0.3","description":"Efficient, portable, extensible object storage for the tribe platform.","main":"index.js","dependencies":{"sqlite3":"^3.0.0","q":"~1.0.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.git"},"_id":"tribe.storage@0.0.3","_shasum":"fb733a240f814e35325cb3cebf392dceadb4f8da","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"dist":{"shasum":"fb733a240f814e35325cb3cebf392dceadb4f8da","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.0.3.tgz","integrity":"sha512-Vcx9CSLQ4SSDjzBNR2/aFRK1nBAalTRlMNXDXtpwtsbZBTPn4mFfsGFIwWq/60nDf5ZSlqVqFQLBazWUO0eGeQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCohSvp3wMWRvjL9Lufx8tnA7KMfZGADXAiTOeqg3a2YwIhAN88xaJMo7pR8ZLSLDVBc4jzryzkqs5iUQuwN7xrOyRS"}]},"directories":{}},"0.0.4":{"name":"tribe.storage","version":"0.0.4","description":"Efficient, portable, extensible object storage for the tribe platform.","main":"index.js","dependencies":{"sqlite3":"^3.0.0","q":"~1.0.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.git"},"_id":"tribe.storage@0.0.4","_shasum":"e113d3c498398e0306acd37675cde0012191e85d","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"dist":{"shasum":"e113d3c498398e0306acd37675cde0012191e85d","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.0.4.tgz","integrity":"sha512-kM75dkPjr/q52u4GOGfHb0EHYNuZeHPFNUqxv/eKfxhP/mN3ksbceYh0fvxibw6s6WPCov1JZwOCqFxUMLbj4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBLNswoYUAvrMd9hmxhpuP8JDihDDLze4i7lykgqzrpeAiBQ1Hl319cNli96t9AnWn8QJ8dO8JmnobDFwjF3fQFssg=="}]},"directories":{}},"0.0.5":{"name":"tribe.storage","version":"0.0.5","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"sqlite3":"^3.0.0","q":"~1.0.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.0.5","_shasum":"a3196f90319996c01f3e7bb82493420c10218e6d","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"dist":{"shasum":"a3196f90319996c01f3e7bb82493420c10218e6d","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.0.5.tgz","integrity":"sha512-x3z+9Mz2hcfWkmeLM3gHSSsce5dTlxq162IleldbutGIKfHLP8u4RVGjLCGwbl7Mk0+RsX67M62k2t/6RY2s/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChD7qm28ueNGu/G4y1QKZslZe2axnkzltd/crPiZeaXQIhAPKgh4b0iwqcEYxyWCGuwXBnqReK6IPU7KmwZezafLiF"}]},"directories":{}},"0.0.6":{"name":"tribe.storage","version":"0.0.6","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"sqlite3":"^3.0.0","q":"~1.0.1","underscore":"~1.7.0","tribe.expressions":"^0.0.5"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.0.6","_shasum":"467aa149c5043cfa78f04555c2f12d561f2e1391","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"dist":{"shasum":"467aa149c5043cfa78f04555c2f12d561f2e1391","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.0.6.tgz","integrity":"sha512-qI4rrdqxVT7Q9OU/lg54uAUQS6JWErJJdPQP4z2U5bwl2bNd+g/22EQdNN3eADRcz3khDblArs4dxuTIqnKhfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAbEjIG5+4Sxmh1p4fsutl7xeAyxZ2iNQd1YYau7L1w5AiAAuTyQCbniq1A49c46n39vemZ1u1L0Fd0xOKYy4r3Rrw=="}]},"directories":{}},"0.0.7":{"name":"tribe.storage","version":"0.0.7","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"sqlite3":"^3.0.0","q":"~1.0.1","underscore":"~1.7.0","tribe.expressions":"^0.0.2"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.0.7","_shasum":"fd6b14678aa1d588635bfc7b227792845613bab9","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"dist":{"shasum":"fd6b14678aa1d588635bfc7b227792845613bab9","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.0.7.tgz","integrity":"sha512-GlmipTArOVi0pyj9xDG7Zloqiuy9dX3Ze5URfgKFA+XnxVMY2twAUXcXwaCKyvq+1bQKNyzS/pYJOf/PzFr05w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDF8ltb1mqL+F1H+Yq0sws9puqzZiRISmpEvpe1bzq6hwIgb2QkZU8P70aGSvqq6OEVik+kcBoLcEi4d5swUszLKu8="}]},"directories":{}},"0.0.8":{"name":"tribe.storage","version":"0.0.8","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"sqlite3":"^3.0.0","q":"~1.0.1","underscore":"~1.7.0","tribe.expressions":"^0.0.2"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.0.8","_shasum":"f1bc48fe26020a4385c048154f0a8bdeb142bc17","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"dist":{"shasum":"f1bc48fe26020a4385c048154f0a8bdeb142bc17","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.0.8.tgz","integrity":"sha512-Tf2neBfniuj9DXDTVFGQqKrbnqXNuHb6b5g3anurg1zPVnLuN5mG8Rp5iV16jPyQa+K0uL0G/3HvmEfpcfebzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGRq8DzyQ1UH2f6sg4yWkmgaavnpTa8bvx6MW/YFwQwvAiAoggppyS8TzwuWNMMp/6rkCwUuq/o+c8IoNPfBVgW4JA=="}]},"directories":{}},"0.4.0":{"name":"tribe.storage","version":"0.4.0","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"q":"~1.0.1","sqlite3":"^3.1.0","tribe.expressions":"^0.4.0","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.4.0","scripts":{},"_shasum":"b2459268e058ab3809a74c8ca507043a1f1f3818","_from":".","_npmVersion":"2.14.3","_nodeVersion":"4.1.1","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"dist":{"shasum":"b2459268e058ab3809a74c8ca507043a1f1f3818","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.4.0.tgz","integrity":"sha512-bObTb6UDhZajLu4K+6E6hbI8F+hB5MYDG3UfS1Hc66FNPgNWajGpNdoK+Dw0v1IwDq+mUoxaOfwSdK6DqzopyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH0jZNSCxNtx4qUEfJb7RKE1D4P9Vp/dgkSQhpBoDRWHAiBub5+3MQwUWyAPnJrXRChMKRs8B73Lr7UINzjE76mkjw=="}]},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"directories":{}},"0.4.1":{"name":"tribe.storage","version":"0.4.1","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"q":"~1.0.1","sqlite3":"^3.1.1","tribe.expressions":"^0.4.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.4.1","scripts":{},"_shasum":"9e4aa73b92c2b95274bf06ea8be0ac9d85abb28b","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"dist":{"shasum":"9e4aa73b92c2b95274bf06ea8be0ac9d85abb28b","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.4.1.tgz","integrity":"sha512-uzA95c0iPm01Ng2LzmhHJvcdBBZTg0b7d3GxjPXEzJvyU9IZSF3fXLyo3UMl2UannBZnKnXMyXM8rspWXs7dYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGCv/3ifLS2GdoL5ZDx218IfZvOR5sGUPUc1jQZfAORXAiEAvCOp3sHodloY3xG+UH/ctMYvTi8g5d08uQBH9HTRWDg="}]},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/tribe.storage-0.4.1.tgz_1454826672866_0.6477849937509745"},"directories":{}},"0.4.3":{"name":"tribe.storage","version":"0.4.3","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"q":"~1.0.1","sqlite3":"^3.1.1","sqlite3-transactions":"0.0.5","tribe.expressions":"^0.4.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.4.3","scripts":{},"_shasum":"c254cc9d734afb99310f5a6f0db0d348c44cd9f4","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"dist":{"shasum":"c254cc9d734afb99310f5a6f0db0d348c44cd9f4","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.4.3.tgz","integrity":"sha512-d8JFd2P6ZPZJ4K5uTuZX0SMh9J3QVEwtKCFRrZ00pr/DhtFEEfxwXOwnvOvQHv212/yB4v2KKmwUFeZxZ3PuHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH+2J8ocWeVMvzO4k2ar5D53J+UqDakWcJGteTilguskAiEA6hc9hiw0NTWSPSI7J5orz4g+z9jZCuiQoTpyLaCw5C0="}]},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tribe.storage-0.4.3.tgz_1469767283905_0.9905425983015448"},"directories":{}},"0.4.4":{"name":"tribe.storage","version":"0.4.4","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"q":"~1.0.1","sqlite3":"^3.1.1","sqlite3-transactions":"0.0.5","tribe.expressions":"^0.4.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.4.4","scripts":{},"_shasum":"c396efe08adb1056f38f0ca137978f388060c098","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"dist":{"shasum":"c396efe08adb1056f38f0ca137978f388060c098","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.4.4.tgz","integrity":"sha512-abjEhoxb1C3cOc3ACcieDePHGaRnXRX5s4MBHmD3r0eeXtX9xf9dDHwYANHMJyA8NzFBqbky1IXtJOCGankNvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5GJ/xgJfKAIjoHS+Q7c9QYO+NxdlcavtR8JBBprrRtQIgOvqmt/OaR1/x3md1om8qxk1N5sf4hcLJH/J0dC663k0="}]},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/tribe.storage-0.4.4.tgz_1471153392878_0.7652312649879605"},"directories":{}},"0.4.5":{"name":"tribe.storage","version":"0.4.5","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"q":"~1.0.1","sqlite3":"^3.1.1","sqlite3-transactions":"0.0.5","tribe.expressions":"^0.4.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.4.5","scripts":{},"_shasum":"d42293843f67f7c9050dc9b2120cc0ad7c6679ce","_from":"node_modules\\tribe.storage","_resolved":"file:node_modules\\tribe.storage","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"dist":{"shasum":"d42293843f67f7c9050dc9b2120cc0ad7c6679ce","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.4.5.tgz","integrity":"sha512-qjKzPugdWLMNlmYpCBIP4/DBO3CD7uJjcEUwNLS9jFJBE1HPIEBUE7fBG28itYit+HYEAs2fw7zra3r2zDrT5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDR3Ut4f8fFiObR/qQqWE9TNxq8l9NQjeSYeKcT553xmAiABSGnevf6MTcNL/6E/450vFClTl6GjeCTafTcgx0NOSw=="}]},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/tribe.storage-0.4.5.tgz_1471154433817_0.2818750108126551"},"directories":{}},"0.4.6":{"name":"tribe.storage","version":"0.4.6","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"q":"~1.0.1","sqlite3":"^3.1.1","sqlite3-transactions":"0.0.5","tribe.expressions":"^0.4.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.4.6","scripts":{},"_shasum":"032d660856cc277535d6abf9d4686661b58c40d1","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"dist":{"shasum":"032d660856cc277535d6abf9d4686661b58c40d1","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.4.6.tgz","integrity":"sha512-E25eRZGC1G28JLagNjnfrgbJQPd8JukjDjkRS4OqOxAPGJH+Gyfy0UL99z81rZsizWM0UqYmy7n3s7ZRrYDaHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsZ9njO+2PoflvEB4G7RMlOn4MhcAOByQnGYe3AP2+8AIhAJJiuk6GpWwZr4z9DJtlTR9Zu74gmABtu0FBCc7/GJr3"}]},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tribe.storage-0.4.6.tgz_1471154932333_0.9593650051392615"},"directories":{}},"0.4.7":{"name":"tribe.storage","version":"0.4.7","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"q":"~1.0.1","sqlite3":"^3.1.1","sqlite3-transactions":"0.0.5","tribe.expressions":"^0.4.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.4.7","scripts":{},"_shasum":"446707a9255a19fa76c2091459cc111f16aa4dbd","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"dist":{"shasum":"446707a9255a19fa76c2091459cc111f16aa4dbd","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.4.7.tgz","integrity":"sha512-Ilsb3ygIxl1GJ1IJPiJdoK6Ga6W7i1OyrcDH17f2JnYvSlBCGLyGJpX3eFjQ2O0kbDIJ6jTl8LLP8CxeFYKtIQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBoEH5t8vv3mMRLpwGQZE3mSfKwlxJ5L7ls5HtE0J/2IAiBF8gui8LGRgxc38CX/KC+698QolOWHDGFdITLIE/P2pw=="}]},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tribe.storage-0.4.7.tgz_1471497485441_0.8030850430950522"},"directories":{}},"0.4.8":{"name":"tribe.storage","version":"0.4.8","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"q":"~1.0.1","sqlite3":"3.1.8","sqlite3-transactions":"0.0.5","tribe.expressions":"^0.4.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.4.8","scripts":{},"_shasum":"ddc64a57c99f667623abbbd85cde007f25ac6a42","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"dist":{"shasum":"ddc64a57c99f667623abbbd85cde007f25ac6a42","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.4.8.tgz","integrity":"sha512-reuwEVr2NWIGoczEDHmwd91NqZEIvrG5zoFJQf6Qv5npSLIeaduzdMQt3JCrfQEfBsT3dSAfUuiUGtGFvHA4Qg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXBOkFrXCwIvll+AvU2+7aFFVUSw0YLYnppl04zhDRpwIhAJnLTq9snXMwWZb981ktTPPQSw0nFR/PeZK2zFxBt8td"}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tribe.storage-0.4.8.tgz_1512272375116_0.23081892845220864"},"directories":{}},"0.4.9":{"name":"tribe.storage","version":"0.4.9","description":"Efficient, portable, extensible object storage.","main":"index.js","dependencies":{"q":"~1.0.1","sqlite3":"^3.1.1","sqlite3-transactions":"0.0.5","tribe.expressions":"^0.4.1","underscore":"~1.7.0"},"homepage":"http://github.com/danderson00/tribe.storage","author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"browser":{"./index.js":"./browser.js"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"_id":"tribe.storage@0.4.9","scripts":{},"_shasum":"403931db8bc77750f1ef33e464eadb8bcab3cae9","_from":".","_npmVersion":"4.0.5","_nodeVersion":"6.9.2","_npmUser":{"name":"danderson00","email":"danderson00@gmail.com"},"dist":{"shasum":"403931db8bc77750f1ef33e464eadb8bcab3cae9","tarball":"https://registry.npmjs.org/tribe.storage/-/tribe.storage-0.4.9.tgz","fileCount":48,"unpackedSize":222945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+RR4CRA9TVsSAnZWagAAThkP/1HYQxpx4DS7nU5dKKye\nbCoyIzq3vqgImrEvsBI+t9dCGD6jBNj6xkTVIZ9W1OVGR9HABQaVGBerHLYO\ngvUq1RGSkI/0rdOxLvr6S7L2sU9c4CSdaLAyrHB7qJTcSeza+O3ucvDV46CL\nV+5bpx5GIKGJNu5w52hm2KoujtLw4bL2Yj4jes2o81i7uRcrF+jfM1DVANLm\n0p43+lBtWdLArMcydTTqtg1tTUWfDSnd7dX3HX+AubC/RNr0oOA7yWs8MT8Q\nUno7KSo5V1wyI9os7CVPPsIThC/wy2dV4x6You4QSnSYVVbldOCOuev4m7nI\ni5ztqUZIkX2D1gkmTlDEbWnZvNsoVSH8jm4SWNAYCRpJYiuzHnw0uTTw8V0W\nRNOZH0Zzqqp7Moy5JcZxOrTbDSI8b0AZLeV1oFUNh0XSafBJ9dGlsjOW8vpG\nGqOYHNVfcgjBEH3ECf8QK6GkawCcz9bneJSY5JrFZveKio9wy7r6c47WnXqj\n10xeaf0qfP/PoGKyypXZlOfuw6m6mfXG+QE0I7M0tq4Z1aZuLy8DqMP/4GFp\nqcdkp83oDxusOEbFX4MguSm9bzil6j4iU1kh3C3aoS6bzLlJ9HqXauVUFxKJ\npSr7VIdumXTzNh5p6uXU4aPsglGWU0yWtyNbHp0n5Fcz5ssjUXfNnqkpc1LI\nUM8s\r\n=VZwe\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-lI3DwHfK2tkfE1bVdiRFB8nMj0FaZKeOt9icAlvDUV9nkO3i46ORXGu8Dd4VD4vA/vRhDCJJsFqboxRdXqirBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGOFQ+DIGHkAuEGljl9NCULoANY6+4xTo8AEZIISa8A4AiAJYERFnVE3FyLt2UijCC59XLpqrAiYw8y2p0Gdffv3+Q=="}]},"maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tribe.storage_0.4.9_1526273142895_0.728234055654924"},"_hasShrinkwrap":false}},"readme":"﻿tribe.storage\r\n=============\r\n\r\ntribe is a platform for building event based systems.\r\n\r\nThis module provides efficient, portable, extensible object storage.\r\n\r\nIt operates seamlessly both on the server (using SQLite) and browser (using indexeddb), providing a consistent API regardless of where the module is used.\r\n\r\nInstallation\r\n------------\r\n\r\n    npm install tribe.storage\r\n\r\nUsage\r\n-----\r\n\r\n\tvar storage = require('tribe.storage'),\r\n\t\tentity;\r\n\r\n\t// open a sqlite3 store with a single entity called \"test\"\r\n\t// that has a single index against the id property\r\n\tstorage.open([{ name: 'test', indexes: ['id'] }])\r\n\t\t.then(function (provider) {\r\n\t\t\t// grab a reference to the \"test\" entity container\r\n\t\t\tentity = provider.entity('test');\r\n\r\n\t\t\t// store some objects\r\n\t\t\treturn entity.store([\r\n\t\t\t\t{ id: 1, property1: 'A string value', property2: 34 },\r\n\t\t\t\t{ id: 2, property1: 'Another string value', property2: 23 },\r\n\t\t\t\t{ id: 3, property1: 'Lorem ipsum', property2: 129 }\r\n\t\t\t]);\r\n\t\t})\r\n\t\t.then(function () {\r\n\t\t\t// get objects with an id value greater than or equal to 2\r\n\t\t\treturn entity.retrieve({ p: 'id', o: '>=', v: 2 });\r\n\t\t})\r\n\t\t.then(function (objects) {\r\n\t\t\t// log some pretty stuff\r\n\t\t\tconsole.log(JSON.stringify(objects, null, 2));\r\n\t\t});\r\n\r\nTo see this in the browser, simply execute browserify against this sample and execute.\r\n\r\nAPI\r\n---\r\n\r\n\tvar storage = require('tribe.storage');\r\n\r\n### storage.open\r\n\r\n\tstorage.open(entities, options);\r\n\r\nThe open function initialises the storage provider. This must be done before any storage operations can be performed.\r\n\r\n\tentities = [{\r\n\t\tname: 'entity name',\r\n\t\tkeyPath: 'path.to.key.property',\r\n\t\tautoIncrement: true,\r\n\t\tindexes: [\r\n\t\t\t'single.property.index',\r\n\t\t\t['multiple.property.index', 'another.property']\r\n\t\t]\r\n\t}, {...}, ...];\r\n\r\n\toptions = {\r\n\t\ttype: 'sqlite3',\r\n\t\tfilename: 'file.sqlite'\r\n\t};\r\n\r\n\toptions = {\r\n\t\ttype: 'indexeddb',\r\n        name: 'name_of_database',\r\n\t\treset: true\r\n\t};\r\n\r\nThe open method returns a promise. The result of the promise will be a provider object\r\n\r\n\tstorage.open().then(function (provider) { });\r\n\r\n### provider.entity\r\n\r\n\tvar entityContainer = provider.entity(name);\r\n\r\nThe entity function directly returns an entityContainer object for the specified entity. The entity must be registered when calling open.\r\n\r\n### provider.close\r\n\r\n\tprovider.close();\r\n\r\nThe close function closes any active database connections associated with the provider.\r\n\r\n### entityContainer.store\r\n\r\n\tentityContainer.store({});\r\n\tentityContainer.store([{}, {}, ...]);\r\n\r\nThe store method accepts a single object or array of objects and persists these objects to the object store.\r\n\r\nIf a keyPath has been specified, and an entity's key value matches an existing entity in the store, the existing entity will be updated.\r\n\r\nIf both a keyPath and autoIncrement have been specified, the stored object has the keyPath property set to the latest autoIncrement value.\r\n\r\nThe store function returns a promise, the result of which is the updated object.\r\n\r\n### entityContainer.retrieve\r\n\r\n\tentityContainer.retrieve(expression);\r\n\r\nThe retrieve function returns a promise, the result of which is an array of objects that match the specified expression (see below).\r\n\r\nExpressions\r\n-----------\r\n\r\nExpressions are simple objects containing a target property, an operation and a value. Operation can be omitted - the default is to test equality.\r\n\r\n\tvar expression = { p: 'path.to.property', o: '=', v: 'value' };\r\n\r\nExpressions with more than one predicate can be provided in an array of expressions.\r\n\r\nThe SQLite3 provider supports: =, !=, <, <=, >, >=, in\r\nThe indexeddb provider supports: =, <, <=, >, >=\r\n\r\nWhy?\r\n----\r\n\r\nPrimarily intended to act as a high performance, scalable, indexed event store that can operate transparently server or client side, the module can also be used as a general purpose object storage facility.\r\n\r\nThe design goals were as follows:\r\n\r\n- Provide an indexed JSON based object storage mechanism\r\n- Provide a simple, consistent, seamless API across all Javascript platforms\r\n- Allow creation of indexes on objects by specifying one or more \"key paths\"\r\n- Operate out-of-the-box with little or no configuration\r\n- Provide local file based storage (server side) and browser based storage out-of-the-box\r\n- Allow for seamless transitions from file based storage to other scalable storage mediums\r\n- Provide simple, extensible, scalable auto-increment object properties (sequences)\r\n- Expose asynchronous operations as promises\r\n- Work seamlessly with browserify\r\n\r\nNothing out there (to our knowledge) goes anywhere close to fulfilling all of these requirements.\r\n\r\nLooking to the future, we are also looking to provide simple, out-of-the-box partitioning across entities and sequences.\r\n\r\nLicense\r\n-------\r\n\r\nThe Tribe platform is licensed under the MIT license.\r\n","maintainers":[{"name":"danderson00","email":"danderson00@gmail.com"}],"time":{"modified":"2022-06-27T21:15:34.295Z","created":"2014-10-22T05:20:05.415Z","0.0.1":"2014-10-22T05:20:05.415Z","0.0.2":"2014-10-22T05:22:04.907Z","0.0.3":"2014-10-22T07:59:20.818Z","0.0.4":"2014-12-03T06:12:58.970Z","0.0.5":"2014-12-04T04:46:32.525Z","0.0.6":"2014-12-04T05:06:29.795Z","0.0.7":"2014-12-04T05:29:36.973Z","0.0.8":"2014-12-08T04:06:05.281Z","0.4.0":"2015-10-29T06:53:20.380Z","0.4.1":"2016-02-07T06:31:13.699Z","0.4.3":"2016-07-29T04:41:24.156Z","0.4.4":"2016-08-14T05:43:15.941Z","0.4.5":"2016-08-14T06:00:36.823Z","0.4.6":"2016-08-14T06:08:52.569Z","0.4.7":"2016-08-18T05:18:05.683Z","0.4.8":"2017-12-03T03:39:35.227Z","0.4.9":"2018-05-14T04:45:43.005Z"},"homepage":"http://github.com/danderson00/tribe.storage","keywords":["tribe","web","mobile","distributed","storage","sqlite","indexeddb"],"repository":{"type":"git","url":"git://github.com/danderson00/tribe.storage.git"},"contributors":[{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"}],"author":{"name":"Dale Anderson","email":"tribejs@gmail.com","url":"https://github.com/danderson00"},"bugs":{"url":"http://github.com/danderson00/tribe.storage/issues"},"license":{"type":"MIT","url":"http://opensource.org/licenses/MIT"},"readmeFilename":"README.md"}