{"_id":"multiwaydb","_rev":"57-2a492b072f913ca21535e58098998402","name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","dist-tags":{"latest":"1.0.0"},"versions":{"0.1.0":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.1.0","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.1.0"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmJsonOpts":{"file":"/Users/adeitcher/.npm/multiwaydb/0.1.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"multiwaydb@0.1.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"3995302b010491b751d1ac86707c831852e96d0b","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.1.0.tgz","integrity":"sha512-BsMnM3RrpCPu501bm+QHFisbAwpNXwjfCQLo1+a9YyQeUMlDg/a6tfbK713AuphClIjzSBqKSisRUSt6kAJi6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlDpzL+mCJvISzutLCxjx5pgAIG5HBSNR4ViUVrIcsHwIhAMfgDw/pcV1Va+Rs3Cu2/SE5KyrJ+UnGMsyW5vGBNBac"}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}],"_npmUser":{"name":"deitch","email":"avi@deitcher.net"}},"0.1.1":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.1.1","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.1.0"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmJsonOpts":{"file":"/Users/adeitcher/.npm/multiwaydb/0.1.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"multiwaydb@0.1.1","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"dec080abcc50e3ce22b7be822b52816aa5488c28","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.1.1.tgz","integrity":"sha512-7lurd/tqQVkK+rlTKD+VEoi/lSnYVisLcgiYJ51QFQhemJ/duvSQa4z7v6jBgY490j+SLJpMeg0TW34DN9oRqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGWZgFUIoDLAMAEgHTk46CynivwpdxGDRjDoQ3FJIlHgIhAPnhBqwRDWqPenxxOmcp+n0MXr35f5UHhsjVdDd3XXAl"}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}],"_npmUser":{"name":"deitch","email":"avi@deitcher.net"}},"0.1.2":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.1.2","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.1.0"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmJsonOpts":{"file":"/Users/adeitcher/.npm/multiwaydb/0.1.2/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"multiwaydb@0.1.2","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"fc2aab8f69ef31f3b167218f3b3c401c57a44cdd","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.1.2.tgz","integrity":"sha512-U+caR9yNgtLJsL2+x2eZTH1oGyTgfE7bmbuQolmHKbFCS7QBWwNiPbAuXgdrhKmFDwA4OUNz3780UuOn4XYu4w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFFATBVwwvD8eghjrj2JaolusM9YUsXM4bFluM71ZcVnAiEA8uqwn5n4uFuIhy27DL8VojjS82ipRKEvVgFAiesglgY="}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}],"_npmUser":{"name":"deitch","email":"avi@deitcher.net"}},"0.1.3":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.1.3","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.1.0"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmJsonOpts":{"file":"/Users/adeitcher/.npm/multiwaydb/0.1.3/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"multiwaydb@0.1.3","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"92d031b2db38c0ddfc78d24fb6393ad41db863dc","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.1.3.tgz","integrity":"sha512-C//O7V0YLfF6ti8uLw22+EECs0TYlbK/VUZy3b7z2KTVQlvjLSPSh2Lo/bfL8o+Zcs8z2I853+x0nxoxtDZOBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1zjuwbfBSvq0N+I0pFtjESIsj62Isti90PUqZ9jZg7wIgfk7PWfLbEnLcoUUSgnhWjgtUW7D2sedMn9xuwkfJSdo="}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}],"_npmUser":{"name":"deitch","email":"avi@deitcher.net"}},"0.1.4":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.1.4","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.1.0"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"_id":"multiwaydb@0.1.4","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"9e504c162588acd3b8914dd5bd39bd0406033eb1","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.1.4.tgz","integrity":"sha512-8k/JXoB6oV6z2vHYCLN3LYEY5knuiPoJoX+im0M8iVZHsAMWrV7l0WweUyXhqYjVN66jV23vpQbKM4OQIxT35g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH2D1uJ1avrUhPQAbrK0a/RB+9sGXHkxDq8ZKV4M11VOAiBwKmEfe1YNXY0BkXPXRja5ZO3mMvZqQTfoaw7O52RTBw=="}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.1.5":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.1.5","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.1.0"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"_id":"multiwaydb@0.1.5","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"f83b4a27db5d64f9a49be15858ad6ec76564b295","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.1.5.tgz","integrity":"sha512-xB+h8Lp+uppLQjpWNt8x6Gj5NnkqdAhDj2YAh5v83KqKO61QjSU1GOPvWY0PvEgqK5K27/I7OVP67hDO5RQcxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID3uU0fhws4pjIpWvUmF6PSsmjo/I6WHsdzBRWcUjuRFAiBymms7RtsOKD+aUa9p02U9QnTTXMbSeDABV0Nbh4Tgpw=="}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.1.6":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.1.6","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.1.1"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"_id":"multiwaydb@0.1.6","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"35d4c8fde43b6e302c1ebd1219507afc9a0fc40a","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.1.6.tgz","integrity":"sha512-wsTtcbyX+wxNm18YW00p9IQc6zufH3nHTfEwHt9vwv0gaPg0i0nI49ovQkSKMpMUxnJohHbDo92Ay/pDnuj09w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHQ733bqX27l4RjAaj0IIYFrP2GUcbocI3sYbKekCMEHAiEAtswySu6zusQ4Wd9esnQ98h1xOefKNAjoLksbeJlp6jc="}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.1.7":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.1.7","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.1.2"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"_id":"multiwaydb@0.1.7","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"a9a42692117db43e1e6e06560dc839d57d79cbf4","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.1.7.tgz","integrity":"sha512-IZeNnbnTl5SqryVZ0o0eJKy6v8uZXcTtlBrZ+EZxHkRKKDOCXCKzXcr3RHpULi4YtRLiLu32wjrJta5I+WhZLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBjZbpoUXOUaCN8Pt5nliF0q/RRBn0t2B25t6kCDax8hAiAj/11n5r4iREbF+18HxFMHvYNKe3Ko1tp0H/JBaWuKRw=="}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.1.8":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.1.8","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.1.2"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"_id":"multiwaydb@0.1.8","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"f005d9adc170bc2eaf1485872adebaab20c718ea","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.1.8.tgz","integrity":"sha512-Ms/YDpBoUp1+onJ06kqNHQBcPwvS+fgwpbNQwIA7YsOcigtkot1ejPOC0Cr3rcwuZ82asUajw+uAs9jFd4grcQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDZvwd2ZjIRlLuTLuYJZj4gL1K/6r7T3+sb7O1z1Mv2mAiBCzmkfC8dQbYDuudRP7s/KvfDKd4iHfGjOMtzNlIjqaw=="}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.1.9":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.1.9","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.1.3"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"_id":"multiwaydb@0.1.9","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"b3286bf989a3522511c7d242c69540f40dd39c40","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.1.9.tgz","integrity":"sha512-lzstYLY7Q/45ZXB7A5XNwlm0Jp0og6bLFGD7gWng3NzS+iIQlb6uxuXNS2eHSjsFbteBkBThcl/EFuhXeUALUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHIyN0XGhH+4yrhDo+kwpVOfJkOpydoLWDajYxcMALJVAiEApHSf5yL3/yuaVYILIfmurcZxZS1q1jj5FCD2cyqpjRM="}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.1.10":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.1.10","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.1.3"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"_id":"multiwaydb@0.1.10","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"37f0eb22f0f6ca67b9b711dce1f0cdc75db86f5e","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.1.10.tgz","integrity":"sha512-obo+t25iPvsGFvKMapxSbKoQQj6eHldrtEVZov9rord9Lz0D8iQ9ta7dmEtdfuK8zxO4N3aK1+iEQZz0fEkPtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCY7bbkpQeDjyVOCJVM/2c4SJrFQqF6b40WZggZc/dOtgIgSkHcQnuv12A50VvCsjfWGrOiwwddiAokykpy+L3ekM0="}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.2.0":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.2.0","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.2.0"},"repository":{"type":"git","url":"git://github.com/deitch/multiwaydb.git"},"_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"_id":"multiwaydb@0.2.0","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"fdd68148b873b8260fb88447c306fbd6f8789381","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.2.0.tgz","integrity":"sha512-HbFhyivltLosIzA0mfONYVQdXDsM4Xuuu3LpNRJskJchey8ygK17wqTxSvnZH9V4dMmrXOEsjvvEBiIUxGh64Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjUjcYGrlisnYNk8lNCbXsaRjXejfAYgEg5ejH82tDBgIgZMUvy9NiKBUIeaYr+row63u+SwtLwvoCCLH4VarxBps="}]},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.3.0":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.3.0","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.2.0","lodash":">=1.3.1"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"node_modules/.bin/mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"_id":"multiwaydb@0.3.0","dist":{"shasum":"a080dc616a28a65442f6f5e5ca8a0b43ffad6d8f","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.3.0.tgz","integrity":"sha512-iEIPAF8eyv1mE370IiaYFMLJ8ajZ2idUPSWDi/oE26pihuGX7ii4pFWyT0ksYuh19/NT/4aPShSPDHBB5CK0rg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3t6ZTRyqEEchKwKtxRrTz/ER3HtYnbS5rYAkT/1YaNAIgFKEo7IVrYgkIFV/B7nDGP/eE48yEmQbfH691lvaQ7iU="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.3.1":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.3.1","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.2.0","lodash":">=1.3.1"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"node_modules/.bin/mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"_id":"multiwaydb@0.3.1","dist":{"shasum":"7ab020d1ae2c3d907ad0b68f1f7f6d8b7370e193","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.3.1.tgz","integrity":"sha512-Oc7ZLexZb1sPCpx9DlB4+jO2HOQpkcRg2rvYtj6AvbIaOwfJ2u37FKTtJT7YuhAHrenLn578f7WAaNwoCEpb4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGokzL430OvarvuBbtZj02RiRx/H1bDVb3gXavSajshQIhAOj/jFc9ER18I1ZCb6yA6rds+frCW4/mPoNlQOFCf4jx"}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.3.2":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.3.2","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.2.0","lodash":">=1.3.1"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"node_modules/.bin/mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"_id":"multiwaydb@0.3.2","dist":{"shasum":"2ec95eb2f86975323b11aaa4b22585540e98b67e","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.3.2.tgz","integrity":"sha512-K2ZVs+6DFGOED8OpdN7W7IQ9n2wfOYgeyP/2LbTmOaRL1vmZVLB/uaNcgX9rdf83+HO55KpxCrCOionWvxQnyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWsve3ODaGkYFGymagWgd88Bb3DrmEQPbgZkqPJPc6qgIgD27LkBYhglQPJxzU84f3+W45zSTE7r9uM9O1HdKMdJk="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.4.0":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.4.0","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.2.0","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"node_modules/.bin/mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"_id":"multiwaydb@0.4.0","dist":{"shasum":"366d83e1a50d6a6cec6b1d5cadb09de763c209f7","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.4.0.tgz","integrity":"sha512-1VQTAf99KcmcgfMOb+Sv3CvngWW51ip/I3dnp5zrxZ6+UfjjHRY+sUWsdBeJ8lnOq5k352btHsrQ9yUDB7kavA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvzvp+ySrLO8k8EA3DK1t4oCo3CDLFN9J2fYI8oBNa+gIgJOBxb94KmHIqf2wk1wAewrs7iOXrvEuwlAFBIzS5nW0="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.4.1":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.4.1","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.2.0","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"node_modules/.bin/mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"_id":"multiwaydb@0.4.1","dist":{"shasum":"1f133e2fbc5e2b304b87ea1f9f2185899ccb3e64","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.4.1.tgz","integrity":"sha512-LtIt9ZW+harVYAtPsD/BpukABQ/S09GbJAw+E8KkWb0SX+W5nk0N/PBRRsVza9NRHLC2aGSVQL911tJU7wzwQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2YKoosCNSXMTrEZzp3g2om4VMZD52C84Eogx1vIpAXAiEAk6u+qM80OZ9GY2NbubPhoZ8kfX0xJqUW9EMwJ+5nJ/M="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.4.2":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.4.2","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.2.0","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"node_modules/.bin/mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"_id":"multiwaydb@0.4.2","dist":{"shasum":"94afac8b9d4fe8e2a2806aab854734d2fbfb9c08","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.4.2.tgz","integrity":"sha512-BrXEov98gaCj7DE4nbjc9LGpXLZjWmA8zYWRvpepljku8bMKrqjKRUg6Z0N/SQ272ohf5V5SrKDO2Y3Xfc0aKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID172rdT1plg4HOACNz0FcG1L0ZVBvgEK5W8PrO6CNfZAiAe2Yce0ZELG/wJksG11UwmK9cVu+/lHHdzefu2RL7pXw=="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.4.3":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.4.3","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.2.0","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"node_modules/.bin/mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"_id":"multiwaydb@0.4.3","dist":{"shasum":"870d2c7a626b41e90bebd4aee9987fa2cbe17e69","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.4.3.tgz","integrity":"sha512-A4UbLHVJyhN4ApbQtCDiLTJXT5jUqIvo1ByzWJeltIInzKqp6A4zj1omZffduby/fBe3w2ibNGsMiuqhKdDP9A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBNLnkQNcN19yFDd4jQh6xopn1z36vBv4QRID/pqd48kAiEAmaCzykNcJHSwmTUFhvePXRS9Fyp+ezsdhA+HGwBG54M="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.4.4":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.4.4","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.2.0","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"node_modules/.bin/mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"_id":"multiwaydb@0.4.4","dist":{"shasum":"1e6173fb1a9ac04b878f163bd122d4c676227716","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.4.4.tgz","integrity":"sha512-k/EnlgCfk4rLIGbMb395rDKmFCq+/QBDyWIx4lCmeEkjzUiD6QhXrgqBqdZtysnJPsYk3LvZCkTnrTMXlyXfbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEl5761qDY0cdkUwZs+7vJf21uaTMLHs4YnQX3AT1YtKAiEA1Zr7pM0SVgdieuI6HKaDZ5d0ebb8t9vL/Vdc+KV0R3o="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.4.5":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.4.5","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.3.0","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"node_modules/.bin/mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"_id":"multiwaydb@0.4.5","dist":{"shasum":"fbfcd8fa61e7adff22ce9466321c165a04ef8eff","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.4.5.tgz","integrity":"sha512-NNBCM52nDREeQ5vxvffaS0m4OIQ8sG/I9uyCBBVj4nKjTGaQlFw0+QmIzDNXAWHZ8M/9f6I4awMH1JnkPiTOYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/4SKOXUVzQbCLz92ONfiq9pZp9gLeUFFt9hE8C+QeOAIgbtF/nR0++gaT00qXfkAWG7qvkfgXLjEoTYOG5b2yiic="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.4.6":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.4.6","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.3.1","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"node_modules/.bin/mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"_id":"multiwaydb@0.4.6","dist":{"shasum":"b5e00a58f98f023d2965e286cfe6f4c42b831517","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.4.6.tgz","integrity":"sha512-1gJiioEvK0ng149R88wuDrKRVMFvsSzYfxCuqCg2zu9zyjzzVZcplTHMTLiYeK6KIUBJGUlKbdIpdjxCH8WmCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBGM+fLKIc5goHd+W4PRSA/sis3gkKE0iGckc/QgIJuZAiEA3dkeu9kwrPkxtuxp1xzk8ZWKYz5cZ2tjr9LTqKB58vE="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}]},"0.4.7":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.4.7","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.3.2","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"gitHead":"6150411a9ca22f14c643b41423328eacea14350e","bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"homepage":"https://github.com/deitch/multiwaydb","_id":"multiwaydb@0.4.7","_shasum":"da4f608469d70cb0e03e5cdadcf3a4b513c5e91b","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.15","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}],"dist":{"shasum":"da4f608469d70cb0e03e5cdadcf3a4b513c5e91b","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.4.7.tgz","integrity":"sha512-lx3g3bsaxwj/zjH/Y8SgdGcAjZBGZgzWyabmO4cNeaUzsIvjCTenDqbSOoS1hibLZdalAwj/tK5wlFJq4V2QMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3syaf02FKKWXOetetZuRdu9ak2tlCPpG8gRXhVrRI+gIgJe9AVmi+tVYXDg4TvvZ50tXE6M60FjY1dED8uz3XTQE="}]}},"0.4.8":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.4.8","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.3.3","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"gitHead":"bd918e5149546afa8c3ac96e0328160115372019","bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"homepage":"https://github.com/deitch/multiwaydb","_id":"multiwaydb@0.4.8","_shasum":"d2f1d137eb4e92897d7ee13541392667be490947","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.15","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}],"dist":{"shasum":"d2f1d137eb4e92897d7ee13541392667be490947","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.4.8.tgz","integrity":"sha512-QM2ir696yDpLCrEyA3RvQLvkq9lFJcIOJNvZUEiKTqi0dt0GrDviyePjgDDnA2eZI1Noo7uLK3tYBIY6SVzUug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVhStD1KYthXcmWtjYVlrpevKC2vF8fxEinwVVw4Q43QIhAMLWSQPHs14M/S6/ZRq+kmFy54VcMD5CWvU3ao6dP6KA"}]}},"0.5.0":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.5.0","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.3.3","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"gitHead":"ba7f4c53386096cdae63e41d7831a2cb087b1b84","bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"homepage":"https://github.com/deitch/multiwaydb","_id":"multiwaydb@0.5.0","_shasum":"91c11bd1a293f37166968d6bcd6b38019b26ae84","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.15","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}],"dist":{"shasum":"91c11bd1a293f37166968d6bcd6b38019b26ae84","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.5.0.tgz","integrity":"sha512-L+yu0QTyk4fNX913FDMn7e5ExLyzpNVhyB7/7r5cYoy7aWDEQs3Ush5wEfwqe5t0192OofJtLsKJdqCsjgVd/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKaAE2KFJXfb9QZwoGShvYHHVntPB/CJvqUG8dj3UyswIgP6HAkNMkDLiVylO6xvYUQD/AKjwAx1saG25CLiF31go="}]}},"0.6.0":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.6.0","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.3.3","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"gitHead":"08d1f0c59a25bda1c883e3b17e2c0804650bae54","bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"homepage":"https://github.com/deitch/multiwaydb","_id":"multiwaydb@0.6.0","_shasum":"b6a524b2d7000822dfdbfde08d1681eda2c4e9aa","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.15","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}],"dist":{"shasum":"b6a524b2d7000822dfdbfde08d1681eda2c4e9aa","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.6.0.tgz","integrity":"sha512-DEAz/Q5IUMgo/gzfcG86wjTcj7TphmGeQDAKkxbQpgBeQs9e7Ek2HDj6vR0HkcZTqaZfWio8sspcGgTGLoDfdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBeDfatqFA4mk30S1h4J3UH/+M67Ib/vjC4q/2V69nWRAiBIDjMJU6LeEi9QCHxiaIFJdyuQ6SZfA93ndjlnpCPDcQ=="}]}},"0.6.1":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"0.6.1","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.3.5","lodash":">=1.3.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"http://github.com/deitch/multiwaydb.git"},"gitHead":"6841d710e37db17f1b7f9562364c8ac00ecf8e00","bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"homepage":"https://github.com/deitch/multiwaydb","_id":"multiwaydb@0.6.1","_shasum":"4e0d1f1d41d03218471c59f3b47f0dea70bc68f7","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.15","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}],"dist":{"shasum":"4e0d1f1d41d03218471c59f3b47f0dea70bc68f7","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-0.6.1.tgz","integrity":"sha512-a9ejM7DR7a7mqF3w9LSiOgL0s5J08jE/ql5+RUT+bJI6is6zMVysiIReu8HaoaRZ9YTrUuEi28N9fzMHTU3J1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEDS3LgJVl+jg4UCIO/247acw5jlLW+5AIC8G8xUeOP+AiEA4Qr0jbIzd9RXKbn3eNyXuUQXa9yMRp2Ji3ND5299+FQ="}]}},"1.0.0":{"name":"multiwaydb","description":"A lightweight database that can load in JSON, set and get according to table and key/value pairs, and be accessed over http","version":"1.0.0","license":"MIT","url":"http://github.com/deitch/multiwaydb","author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"engines":["node >= 0.3"],"main":"./lib/multiwaydb.js","dependencies":{"searchjs":">=0.3.5","lodash":">=3.10.1","superagent":">=0.15.4"},"devDependencies":{"mocha":">=1.12.0","supertest":">=0.7.1","async":"0.2.x","should":">=1.1.0"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+ssh://git@github.com/deitch/multiwaydb.git"},"gitHead":"84597ff862103a95547a192895c901d54bd78d4d","bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"homepage":"https://github.com/deitch/multiwaydb#readme","_id":"multiwaydb@1.0.0","_shasum":"5ca3a3e5e8ff0d4a2c47b695ff193c984cbf8586","_from":".","_npmVersion":"3.5.1","_nodeVersion":"4.2.1","_npmUser":{"name":"deitch","email":"avi@deitcher.net"},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}],"dist":{"shasum":"5ca3a3e5e8ff0d4a2c47b695ff193c984cbf8586","tarball":"https://registry.npmjs.org/multiwaydb/-/multiwaydb-1.0.0.tgz","integrity":"sha512-nRd2CIOpDOFK0t2WJcOB6ukwqepnPADIaa0gfuwlVnhiHy/x/oy0xPnLvGw2W6HiU63Z5lMJ+aYWZ71lrpmRSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH0SYvRz1G5AdH3/FbadwDs9J6gws9bc2lMGhklvvqXTAiEA2MRfZuw5AYhhROn0XaVonp68X6OqRqC/QRdBMsDv4Uo="}]}}},"maintainers":[{"name":"deitch","email":"avi@deitcher.net"}],"time":{"modified":"2022-06-20T14:04:53.954Z","created":"2011-10-02T14:17:07.146Z","0.1.0":"2011-12-07T11:06:29.978Z","0.1.1":"2011-12-07T11:06:29.978Z","0.1.2":"2011-12-07T11:06:29.978Z","0.1.3":"2011-12-07T11:06:29.978Z","0.1.4":"2011-12-07T11:06:29.978Z","0.1.5":"2011-12-12T10:00:34.720Z","0.1.6":"2012-03-06T11:07:16.278Z","0.1.7":"2012-03-20T17:17:48.114Z","0.1.8":"2012-03-20T17:19:23.330Z","0.1.9":"2012-05-01T17:38:19.292Z","0.1.10":"2012-06-06T07:06:20.550Z","0.2.0":"2013-02-27T14:34:16.926Z","0.3.0":"2013-08-11T12:02:14.683Z","0.3.1":"2013-08-15T14:00:56.875Z","0.3.2":"2013-08-15T14:11:53.160Z","0.4.0":"2013-08-25T11:54:36.479Z","0.4.1":"2013-08-25T12:56:05.232Z","0.4.2":"2013-08-25T17:50:08.101Z","0.4.3":"2013-08-27T09:25:48.616Z","0.4.4":"2013-08-27T11:10:39.649Z","0.4.5":"2013-10-03T10:02:00.446Z","0.4.6":"2013-12-31T10:33:22.998Z","0.4.7":"2014-11-11T01:26:44.416Z","0.4.8":"2014-11-12T02:56:48.269Z","0.5.0":"2014-12-07T11:52:13.277Z","0.6.0":"2015-02-10T08:42:00.040Z","0.6.1":"2015-03-24T18:33:27.697Z","1.0.0":"2015-12-09T14:29:49.800Z"},"author":{"name":"Avi Deitcher","email":"avi@deitcher.net"},"repository":{"type":"git","url":"git+ssh://git@github.com/deitch/multiwaydb.git"},"readme":"# multiwayDB\n\n## Overview\nin-memory database loaded from a JSON file and allows all CRUD operations simultaneously via REST *or* direct API, *plus* using the direct API over REST.\n\nThis is not intended for production use; at least the author never does. I use it primarily to test data points. I will\nload the data in on one end, have my app being tested use the REST API, and then validate the data from directly within the\ndatabase.\n\n\n## Changes \nPlease see at the end of this README for any breaking changes.\n\n## Installation\n\n    npm install multiwaydb\n\t\t\n\n\n## Instantiation\nRequire it, initialize it and listen for connections:\n\n    var db = require('multiwaydb');\n\n    db.init(pathToJsonFile); // initialize the database with data from path\n\t\t\n\t\tdb.listen(port); // listen for HTTP REST requests on a particular port\n\t\t\n\t\t\n\n*Note*: The database keeps track of the last path you used to load using `init(path)`. If you call `init()` a second (or third or fourth) time *without* a path, it will simply refresh from the same path as last time.\n\n## Administration\n\n### Clear\nClear all of the records in a single table asynchronously, then execute callback:\n\n    db.clearTable(table,callback)\n\nClear the entire database and then execute a callback\n\n\t\tdb.clear(callback)\n\n\n## Direct API\nThe direct API provides access to the data *from within the app that initialized multiwaydb*. It loads the data file from the filesystem, and then handles all modification in memory, similar to sqlite.\n\n\n    db.set(table,key,value,callback); // set the \"table\" with key = value, and then execute \"callback\" asynchronously. \n    db.update(table,key,value,callback); // alias for db.set()\n\n    db.patch(table,key,value,callback); // update the data \"table\" entry of value \"key\" with value by merging value and the data already in place, then execute \"callback\" asynchronously.\n\t\tdb.create(table,value,callback); // create a new entry in \"table\" with value, then execute callback asynchronously. Callback will have single parameter, new entry id for success, or false for failure.\n    \n\t\tdb.get(table,key,callback); // get the value of key in \"table\", then execute callback asynchronously, passing the value as the argument to callback.\n\t\tdb.get(table,callback); // get all of the records in \"table, then execute callback asynchronously.\n\n    db.find(table,search,callback) // search table for records that match \"search\", and passe the results to callback as the argument. \"search\" should match the jsql syntax for searchjs package.\n\n    db.del(table,key,callback) // delete the record of key in table, and then execute callback.\n    db.destroy(table,key,callback) // alias for db.del()\n\n\nFor all API calls except `create`, an entry of \"key\" **must** already exist.\n\nFor create calls, you have 2 choices for creation of the key:\n\n1. If `value.id` already exists, it will use it. In the case of a conflict, it will return an error \"conflict\" or a `409` for the REST API\n2. If `value.id` does not exist, it will create one.\n\nThe algorithm for creating a new unique ID is as follows:\n\n    sha1.hash(new Date().toString().split(\"\").sort(function(){return Math.round(Math.random())-0.5;}).join(\"\")).substr(0,12)\n\t\t\nWhich essentially takes today's date as a full ISO string, randomly jumbles the characters, SHA1 hashes them, and then takes the first 12 characters. **This is more than good enough for most non-production use**. Actually, it is good enough for a ot of lightweight production use too.\n\nFor production use, you should use your own algorithms, or perhaps GUIDs. Either way, if you do not want to use this algorithm just override it by setting your own `id` property on the object.\n\n### Options for searching\n\nThe `db.find()` API to search for items has additional options beyond the usual searchjs options. \n\n##### Field matches\nThe normal usage of `search` is to match field names and values, using standard [searchjs](https://github.com/deitch/searchjs) \n\nThus, `db.find('users',{age:35,gender:'male'}, callback)` will find all records from the \"users\" table whose age field equals 35 and whose gender field equals \"male\".\n\nYou can use extended and complex [searchjs](https://github.com/deitch/searchjs) searches; see the documentation there for complex matches.\n\n##### Return options\nIn addition to the usual fields, any field in the search that begins with \"$s.\" will be treated as a search option. It will **not** be passed to search js. Instead, it will be used to determine *how* to return results to you, and which ones. The following fields currently are supported. Examples follow.\n\n* `$s.sort`: sort by a particular field, whether ascending or descending. Key is the term `$s.sort`, value is the name of the field. If it is given as is, sort ascending; if preceded by `-`, then descending.\n* `$s.count`: return only a the first `count` number of records. Key is the term `$s.count`, value is an integer, how many records to return. It can be an actual number, or a string that can be converted to a number via `parseInt(count,10)`\n\nHere are some examples. \n\n* Get all of the users: `db.find('users',{},callback)`\n* Get all of the users who are male: `db.find('users',{gender:'male'},callback)`\n* Get the first 20 male users: `db.find('users',{gender:'male',`$s.count`:20},callback)` - note that these are the first 20 in the database, not necessarily sorted in any given order.\n* Get all of the users sorted by ascending age: `db.find('users',{'$s.sort':'age'},callback)`\n* Get all of the users sorted by descending age: `db.find('users',{'$s.sort':'-age'},callback)`\n* Get the 20 youngest users: `db.find('users',{'$s.sort':'age','$s.count':20},callback)` - note that we sort ascending by age, so the first `$s.count` (i.e. `20` as given) users are the youngest\n* Get the 10 oldest male users: `db.find('users',{'gender':'male','$s.sort':'-age','$s.count':20},callback)`\n\n\n\n\n### What is returned?\n\nThe callback always has the signature `callback(err,res)`. If there are no errors, then `err` will be undefined or null.\n\nThe value of `res` depends on each case. In all cases, if there is an error, then `res` is the string value of the error.\n\n* `set`/`update`/`patch`: no meaning.\n* `create`: key of the newly created object.\n* `get`: If a single item was requested as `get(\"user\",\"123\")` then a single JavaScript object as `{id:\"123\",name:\"john\"}`. If multiple items were requested as `get(\"user\",[\"123\",\"456\"])` then an array of such JavaScript objects as `[{id:\"123\",name:\"john\"},{id:\"456\",name:\"sally\"}]`\n* `find`: Always an array of as many objects as were found, or null if none found.\n* `del`/`destroy`: no meaning.\n\n\n## REST API\nThe REST API provides the same CRUD functionality as the direct API, but over HTTP.\n\n#### GET\n    GET /table/:key\n\nGet the record \"key\" from \"table\". Can have multiple keys, separated by commas\n\n    GET /table?search={a:1,b:2}\n\nSearch in table for records that match the value of \"search\" parameter. Parameter must be valid JSON that matches the parameters passed for `search` in `db.find()` in the direct API, and should be urlencoded. You can include the extended search options. See above at \"Options for Searching\".\n\n\n#### PUT\n    PUT /table/:key\n\t\t\nReplace the record \"key\" from \"table\" with the body of the http request. Body *must* be valid JSON.\n\n#### PATCH\n    \n\t\tPATCH /table/:key\n\t\t\nUpdate the record \"key\" from \"table\" with the body of the http request. Body *must* be valid JSON.\n\n\n#### POST\n    POST /table\n\t\t\nCreate a new record in \"table\" with the body of the http request. Body *must* be valid JSON.\n\n#### DELETE\n    DELETE /table/:key\n\t\t\nDelete record \"key\" from \"table\".\n\n\n## Remote API\nThe Remote API functions *exactly* like the Direct API, but accesses a remote multiwaydb over REST. You could just as easily use [superagent](http://visionmedia.github.io/superagent/) or [request](https://github.com/mikeal/request) to make REST API calls, but this is easier.\n\n\n````JavaScript\nvar db = require('multiwaydb').client(url); // You can have multiple of these, if you want\n\ndb.set(table,key,value,callback); // set the \"table\" with key = value, and then execute \"callback\" asynchronously. \ndb.update(table,key,value,callback); // alias for db.set()\n\ndb.patch(table,key,value,callback); // update the data \"table\" entry of value \"key\" with value by merging value and the data already in place, then execute \"callback\" asynchronously.\ndb.create(table,value,callback); // create a new entry in \"table\" with value, then execute callback asynchronously. Callback will have single parameter, new entry id for success, or false for failure.\n\ndb.get(table,key,callback); // get the value of key in \"table\", then execute callback asynchronously, passing the value as the argument to callback.\ndb.get(table,callback); // get all of the records in \"table, then execute callback asynchronously.\n\ndb.find(table,search,callback) // search table for records that match \"search\", and passe the results to callback as the argument. \"search\" should match the jsql syntax for searchjs package.\n\ndb.del(table,key,callback) // delete the record of key in table, and then execute callback.\ndb.destroy(table,key,callback) // alias for db.del()\n````\n\n\n## Breaking Changes\nAs of v0.4.0, all Direct API and Remote API methods invoke the callback with the following signature:\n\n\n    callback(err,res);\n\t\t\nThis is consistent with most nodejs apps. Previously, some methods would simply invoke `callback(res)`.\n\n\n## License\nmultiwaydb is released under the MIT License http://www.opensource.org/licenses/mit-license.php\n","homepage":"https://github.com/deitch/multiwaydb#readme","bugs":{"url":"https://github.com/deitch/multiwaydb/issues"},"readmeFilename":"README.md","license":"MIT"}