{"_id":"nohm","_rev":"140-742551b216e1546565f08de4759ab991","name":"nohm","description":"redis ORM (Object relational mapper)","dist-tags":{"latest":"3.0.0","stable":"2.2.3","v1-breaking":"1.1.0-breaking"},"versions":{"0.1.0":{"name":"nohm","version":"0.1.0","engines":{"node":">=0.2.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","_id":"nohm@0.1.0","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/nohm/-/nohm-0.1.0.tgz","shasum":"1e09dac3d04af056970b51cc5fbdd4b60322780f","integrity":"sha512-uKnYOWP87lVWHS5oRBZluK+qY39+fvh42faqGTpS6xU9EgreS3NTc8vRlirerxWmh/pr5mvftcBeeLseNhTjhQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVnBHMUTJwQL+f2VtivlpmzTMEZ5Yyc0jT0pY69F9+HAIgTAN0SHK2HxzvTkpprzT37gUku1ruvi2y61G1JMhhyP0="}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.1.1":{"name":"nohm","version":"0.1.1","engines":{"node":">=0.2.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","_id":"nohm@0.1.1","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/nohm/-/nohm-0.1.1.tgz","shasum":"fb04230381983302d4faf5bb7bc5743433c92df7","integrity":"sha512-VJmL0rdc6XUWTU8a5Obv2MLQoP30yu72UN9Mn+tQyxNBj/siPb+swLOi2wiSF0Tu8whQxL+X0Y7vYahfRQr0iw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJpk3b9hJ6YYHygNMBoX9QeVSQhHE8UlerhP/qielY/QIgDFniCLLInbomvTSGg7hTn1ypOUdYFi4oFps014GAWCw="}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.1.2":{"name":"nohm","version":"0.1.2","engines":{"node":">=0.2.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","_id":"nohm@0.1.2","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/nohm/-/nohm-0.1.2.tgz","shasum":"8bb0486bdc7f255b4de926c72c3959d8b480f0a2","integrity":"sha512-t8iUf4CcI+pPanzSDwHsjZ7fmh9P29RmDUe8BsYtBzLhhJb+9ha1AjGN6iEB3dOwvZVZlheCnYJQo6A48AdKtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoMsWLknPqdNdqQw+QWs+AybO6XQXJCIefT6vMUajh4QIhANINneuDusU6FQ7SW+XS/mHQObkrMS4s2RdbiU1XFmO2"}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.1.3":{"name":"nohm","version":"0.1.3","engines":{"node":">=0.2.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","_id":"nohm@0.1.3","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/nohm/-/nohm-0.1.3.tgz","shasum":"aeec493d5e96384df35380a995bbc477553504d0","integrity":"sha512-PKWrOcmZwNiJDFAlEHtxigL6EcwVC97i8UZ6viMgjo8RD891gBG37CeZEG6wxnAA+5lj6jx3FqjO+SrPuJASZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQgEzc+O2h2a2iDHLNbJ9bKk5UdLgAQ49lw7+vWBm5lQIhALzgs7RmeHqSwSQ4O9Y5RE9VfvjySJosva5RWf0Ro1d8"}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.2.0":{"name":"nohm","version":"0.2.0","engines":{"node":">=0.2.6"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"conductor":"0.1.0","redis":">=0.3.5"},"_id":"nohm@0.2.0","_engineSupported":true,"_npmVersion":"0.2.16","_nodeVersion":"v0.2.6","modules":{"class.js":"lib/class.js","nohm.js":"lib/nohm.js","helpers.js":"lib/helpers.js","double-metaphone/README.md":"lib/double-metaphone/README.md","double-metaphone/double-metaphone.js":"lib/double-metaphone/double-metaphone.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"b4745d3aec97714724a85653ebf33722421a451d","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.2.0.tgz","integrity":"sha512-4pp1KqSChDUUhsjcgT5rIep6qKz4jGTpHv3ZgFKN3i8+DPbchR5d9oIbQaMWVhvfA7vkW4ajgwYi6ltED5IxWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID/O4aQg58h23QRTGvWMS6w2vVJokQoAPNHVQgQsj5KpAiA28dOMXawJb0Ogak3SueigFGskmJHBduKtJsEz9wT9/w=="}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.2.1":{"name":"nohm","version":"0.2.1","engines":{"node":">=0.4.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"conductor":"0.1.0","redis":">=0.5.7"},"_id":"nohm@0.2.1","_engineSupported":true,"_npmVersion":"0.3.9","_nodeVersion":"v0.4.1","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"f1bf04ad5ec2dd24c45f1867c95f7acdded481c3","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.2.1.tgz","integrity":"sha512-3Ouka7+72x8pk1yR3y4PGdIKM+yqo7BmzRvjzOD1f0Lo+nU94lKYoyt3S/q6xIWL9fcresrYMWvfsW0wEy/iNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDsE9C4EwCe4NIe9vdbVrUXocH3ckYcYq2LgRjvpEhEFAiEAl41uSfSUjsnX3HG9/kDC4cw4v/VqRlW0q6u4RTC83EE="}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.3.0":{"name":"nohm","version":"0.3.0","engines":{"node":">=0.4.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.8","redis":">=0.5.7"},"_id":"nohm@0.3.0","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.1","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"0b7fabc4a55dcc82baa34f9cd3c030d3076298e7","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.3.0.tgz","integrity":"sha512-2SUfc3vSX5cbzGj9cAxDYmvGIhR/2qr/ocwpP8d6kV69xWoCJYlSH/KdRg0NHw9r1KaSFL3tfjQ5cnX0ur7aUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChxBUX2Kch/PTMFuIYHCmw7beobigtdxpDVzsbCogvXgIhAMBfGKKVUHfgBZQozULvBHawl0vwmisvIOMgRmJqDLpa"}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.4.0":{"name":"nohm","version":"0.4.0","engines":{"node":">=0.4.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.8","redis":">=0.5.9"},"_id":"nohm@0.4.0","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.4","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"23f41f0b9bfb113e0cd064e4ac0569546322ddbc","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.4.0.tgz","integrity":"sha512-mQsaDgh86wHxz5SStjzFg95nx8nHdE67A4vQWESZIIdAGhMQnm5v/LYK18hXFBiWcqDgQtdO5KISt49zYRtjsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEhs/Mbij40Sp1RkcUtaN1798pXF+8/vEATl2OMHBqFZAiBDV/zIQh4gNYdNT1Ct197GfWF2UT7BEAuLpIlOXJmm1Q=="}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.5.0":{"name":"nohm","version":"0.5.0","engines":{"node":">=0.4.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.9","redis":">=0.5.9"},"_id":"nohm@0.5.0","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.4","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"8d0c9b64a535ad6fbcbb11a3aae05a21bba31a00","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.5.0.tgz","integrity":"sha512-iS1Z8YiZRpX8gzCD4vCVyoBK90kQXXu95ifyAzKBSrfvaV16CSqtvEb5aQCih9DMWNlyfTLPnj6gDoffW1Gpxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICy+lLAPB3pA+JyLPFjRwk7aK/l9jH8DMVuuuwqG5XZoAiBfNlPSZrT1KL/MXNWIlPgccI9ZirLG09hlBWO601Jakw=="}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.6.0":{"name":"nohm","version":"0.6.0","engines":{"node":">=0.4.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.9","redis":">=0.5.9"},"_id":"nohm@0.6.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.8","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"ea6c7e5ae3ec628d43e2dc58651f9f944c0f01ba","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.6.0.tgz","integrity":"sha512-78GdzDMSn8ZK1/n5JKayPdvs5Rw2yKeaw0Z+N8EvTRxs/RDU8s/lE6Eo3zNZh0bmGt5Vc4ahqRvANynsEtEs5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDB8990If8eP4U3At0iO2on5sl2Ip53Ynkgj6R9WxbeqAIgFsj9q25jKxhwZzIDlF80BrufB8N5VVralKc4RRrQJ3I="}]},"scripts":{},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"}},"0.6.1":{"name":"nohm","version":"0.6.1","engines":{"node":">=0.4.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.9","redis":">=0.5.9"},"_id":"nohm@0.6.1","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.8","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"34c26cd25450c45feb0dcfbdf97dd8422a63f97b","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.6.1.tgz","integrity":"sha512-ZdrXu2PeWnLEWpYozeDGvN44rC1fv8R/QGB0/9IzKhJ4rAhXkiVgrnqkatPO3o3bWXD88ZJVsBOfGuho1LWk9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAaoec/npY2Ledf74bT39gWeu4cZmv8WHOWEpcHXAyGaAiBp6HpIaMYhOEXFEoMgkH8xijymhJx/Cnbv0ULzrSjhqg=="}]},"scripts":{},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"}},"0.6.2":{"name":"nohm","version":"0.6.2","engines":{"node":">=0.4.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.9","redis":">=0.5.9"},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.6.2","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"3fd3407247ccee0a911b2a490b544bd1d0794e48","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.6.2.tgz","integrity":"sha512-a01Sq0nnxuK+xRr+HEkUjhocJ1QhW1m+YCc9sQpvfPsbPW7O4AjbCpC5JGpFGwXCgJH9Cs6eiD9fult47zk4WQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQ6BzJqk60i3Xdd03kdY20aFywLMOU0NJX0IshPX8nYAIgTUTqDoFqnq5euNzPof3isQxNac1lDCKgKApTtSnC2P4="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.6.3":{"name":"nohm","version":"0.6.3","engines":{"node":">=0.4.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.15","redis":">=0.7.1"},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.6.3","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"ab1f8ac0ef61ea4c092bf4d480d9484b75f2d6d6","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.6.3.tgz","integrity":"sha512-cGMfGu0eiJqm07yJsKlnEGQ3BZPmwJw08Ng1p7wnd1zVrmgSr5J/0YQfpdDUOtFMCmifJsA0WUxpd57GFynSqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFsDyy0uvd8q92DxH+LrieXR8ozQ10Xxau0QVcoF1CWmAiBxxJB1fbKswoksq7iGwFfKJv7qcLAMZzKU0+61Fdevow=="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.6.4":{"name":"nohm","version":"0.6.4","engines":{"node":">=0.4.0 || >= 0.6.3"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.15","redis":">=0.7.1"},"devDependencies":{"nodeunit":"0.6.4"},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.6.4","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"e23bbb05629a564d0e1f9b0e72ead710ff7ae8ee","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.6.4.tgz","integrity":"sha512-HlkogUWrsfkY1cooFSReTdykPVvx5Oc0fuR6g9DoHQFmx/ajHMM9c+Mz8AieRjkCvXU2jVvgFJw3L1E9PwFclg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMQuLoaXdxo84RitZ9rq38dG+x9b5uRzbBn2X8igKBSwIgIEcjact2JVBCk08jEjNReoh6mUouk+69/C06bLyoV2E="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.7.0":{"name":"nohm","version":"0.7.0","engines":{"node":">=0.4.0 || >= 0.6.3"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.15","redis":">=0.7.1"},"devDependencies":{"nodeunit":"0.6.4"},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.7.0","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"c1f334e909920478393ed18ab7f0b767dacc50dc","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.7.0.tgz","integrity":"sha512-PXBNgmPjl3J1Uxmlt51B0ov1Dhh/Zgm+3JZ48qeAq55aKbYq9/Ns07+aBM2LT0UwDNqXxF+tAfeGKCO37BwJ/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA5wYHJcFwWrSWmFlcuO85eK/eeZ1xeXRzWkJycHfhwsAiBQX6r4QnfZKZ2Pqxlk9fnXPLQ0qEZs9hONY0oxcO9W2g=="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.7.1":{"name":"nohm","version":"0.7.1","engines":{"node":">=0.4.0 || >= 0.6.3"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.15","redis":">=0.7.1"},"devDependencies":{"nodeunit":"0.6.4"},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.7.1","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"4d51720f4dd1ecb7e57ece4406cbe1068165939a","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.7.1.tgz","integrity":"sha512-OLxSmeziQKgBxDsU3zjWT0NOmd3SJy72z4gnlE0rxZPoeojIsCb+/7FGfjaDAHd/NXSQ7uk47rOm6ncEaKVU3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjRPaRNRZ5oaDbuhMJ1ZwPaUD+p3NjonLuj81rcXa+9gIgdo0tDgFC+5MQVKPL348a/BZDv6j4KYwlncS4DTitZ7Y="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.7.2":{"name":"nohm","version":"0.7.2","engines":{"node":">=0.4.0 || >= 0.6.3"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.15","redis":">=0.7.1"},"devDependencies":{"nodeunit":"0.6.4"},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.7.2","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"431cf6df26c22997c7647b8474e0301e8aa9791a","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.7.2.tgz","integrity":"sha512-v1E501pl55y88z7IanV6XD1ZwkVyGoQnSMTujHwbZNqPu5TsQINl9Woow2IV32nutuR7xingKJcgCyRb9odLCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLXPpRbJTFltQXJKFHydbRJmbdWcwCQhvp+ak93XvBsAIhAIf2A+jrbci1L4bgHQl47MNKMupyjPXRCTEzDlbFexHj"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.8.0":{"name":"nohm","version":"0.8.0","engines":{"node":">= 0.4.12 && < 0.7.0"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.15","redis":">=0.7.1"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.8.0","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-2","_nodeVersion":"v0.6.8","_defaultsLoaded":true,"dist":{"shasum":"b1e2180c3449e4f853ecf2c76fbd1fd9e41bc854","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.8.0.tgz","integrity":"sha512-CWCBkm8pnrgHu/ecPfAGJ1ThHp2ZFB7615U4shSXpCICjWkcwiK3SuiszoAJFN0eZrdRrKaM22UUsxwZWWU7xQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDjb+qliVEe9hyYcOx33MlCCy7T+6vvzD9OK5kik7RdnAiAr4i0vjtUCkBkVlOgmeomSQKtTS50CT85TXpIUbOe5iw=="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.0-pre":{"name":"nohm","version":"0.9.0-pre","engines":{"node":"0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.18","redis":">=0.7.1"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.9.0-pre","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"d065c0d89705600cd90b6ef81f743100291e5b30","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.0-pre.tgz","integrity":"sha512-V7cA2HyZuJ0uumMryYHeh/C86/+QAJyYbX5FGXmtdTgAiQjYsOTBer6OmSUCIpG8UvmgU3/yHQaYeIaLGQpotQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJCLRXR+GxgjaiJqwN/CNpYA9bdCIGvixKRlInENXiLwIhAM5ru3QlI0wfOmWVFk+cnOmXTillw1I0+39ILU44+hYp"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.0-pre2":{"name":"nohm","version":"0.9.0-pre2","engines":{"node":"0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.18","redis":">=0.7.1"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.9.0-pre2","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"26574915247468ee6367dcbaf1a03e3047564683","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.0-pre2.tgz","integrity":"sha512-pbyCCZJHy9oKJ6vqVleWvZD1tblAkE8fUcKFI5eyxe8p1lA2qD7dH0qOXoJpkq0XvJMVUF8QZSqaYfvYyDDTug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHYIp2TsmIXX0I+4Q52T8RfOH8xzP+a49ooKLUY8QgbYAiEAhC7apcjL76lkHtgCSZC+pE9W5riBxl7E+AJxR6wklck="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.0-pre3":{"name":"nohm","version":"0.9.0-pre3","engines":{"node":"0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.18","redis":">=0.7.1"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.9.0-pre3","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"bf05a19a0eb12a73f9d784618b394fe22d0fc444","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.0-pre3.tgz","integrity":"sha512-eA0WUdo53QboLUanul/x36CZ6B4oUMgwr3vIhuiyaEHVCMksGR9z5CK1JOC0RQaVz8L7hBqCEo39F8zFyUvuTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFh/77WpD42NdD6Y60x2CxcxHKt3l+MggahM5hz9k2yQIhAPy453nvXOxZTHKbFyQHWLgIBEyar8PLkfhZywEMCFM1"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.0-pre3fixed":{"name":"nohm","version":"0.9.0-pre3fixed","engines":{"node":"0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.18","redis":">=0.7.1"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.9.0-pre3fixed","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.12","_nodeVersion":"v0.6.14","_defaultsLoaded":true,"dist":{"shasum":"571c74f32b5b7a368093979df862751a8af4db69","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.0-pre3fixed.tgz","integrity":"sha512-l7UL7Qvj76Xvxh2O23pH6xFgyanUO+A4m0OkiRMHGvNqhSd7Aj2pmIQlDNi8s1wergCIVnzouQVgDnxgVgyImw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2sWbFjPfQBLPzIOHhmiQT9sQM5xf9SCty2PzuBpqqnAIhAIQB95YpP2KlJ6VfmKhnH6oFXAElCNkBicKBr6pkbOZL"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.0":{"name":"nohm","version":"0.9.0","engines":{"node":"0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.18","redis":">=0.7.1"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"_id":"nohm@0.9.0","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.12","_nodeVersion":"v0.6.14","_defaultsLoaded":true,"dist":{"shasum":"4c89050354964071980338b88a1a7ba5edf50326","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.0.tgz","integrity":"sha512-nxsohQ4RmiK+h59dImRtVjb2bJ83tWJmwIPsq5CZ6l2qUZka2K7PSVIA+pD/LBE+CZy8MoY3XPQkznEVMSCEaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLDzy9+dnJWAl1us5ZsXMTlK1wTspc2GxTqVUNk/W4dAIhAOn1fHlwLPoFJyxQs2wp8FLL2RcCC34S9QK0YZrIxlKc"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.1":{"name":"nohm","version":"0.9.1","engines":{"node":">=0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.22","redis":">=0.7.2","traverse":"0.6.3"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"_id":"nohm@0.9.1","dist":{"shasum":"046ea0bdbbd2c53049e0dda728ac55a46909b0ea","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.1.tgz","integrity":"sha512-xRNTfBlwpgj6qYli6/CtGWBrsd7l7ADp4s9JViWfWoi2k1gOAieypa+uaCd/cTPiQRYuD9rb6VK03bYcaJHIgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0Lh2UHW9S1CGLSy4Z5/jO+c7hRhWUt3luO1DkguHIjAIhALdx4eTZgK6Y7lKkLABAII3rBzn7AcHJOetYw8pDRB5+"}]},"_npmVersion":"1.1.49","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.2":{"name":"nohm","version":"0.9.2","engines":{"node":">=0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.22","redis":">=0.7.2","traverse":"0.6.3"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"_id":"nohm@0.9.2","dist":{"shasum":"d995749c110756346756e9b1143f921e10355fc4","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.2.tgz","integrity":"sha512-rozSZBqmM1Ba/m/xyrM+nQ5/GND8muo5HSbrsxPLm0xC18LQIuQAKVFBrEYtsWN9Ln8xjvOjR9Dp731FnGbQQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjsBvsM65KuP65BDzYpTjQUupW3NJv0ocnNfYSIclF6AIgXa7c5djyeoGgNxAXNxoqezUojDcHHrUX/DU4bB6/XvY="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.3":{"name":"nohm","version":"0.9.3","engines":{"node":">=0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.22","redis":">=0.7.2","traverse":"0.6.3"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"_id":"nohm@0.9.3","dist":{"shasum":"c0a7c0cb58411129e9bb6d82676f0a0f546d81ca","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.3.tgz","integrity":"sha512-+IUF57nwm3UFz+dC6qg0ZbAEpBWJ+LjyF1q7eHEQ6q8ZYrlO7fcAPu7FA13K+jj7RtqghKXWhX8Mz6MY+7gKrQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFYEvACVYxfeUD7oLkf8oTUGcWFRyVkJPWHw+fZbycLNAiEAlrOmNBQv+GrPkOb4MhXFqrtyX9deGCMMBCwy/AoMnVk="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.4":{"name":"nohm","version":"0.9.4","engines":{"node":">=0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.2.9","redis":"0.8.4","traverse":"0.6.3"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"_id":"nohm@0.9.4","dist":{"shasum":"c4b11e7ab5a4c945d2c4d1bf5dc99c4db62528ba","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.4.tgz","integrity":"sha512-xxCpDxWNqpFVRaAWhf2WiBYdD4iawWrYV6iv3TTml/sk72SNNyONxj819skPnqs2fnuAhZZGIg9mRnQ5HVpamQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5aYUY5txfMctWI+mWL7+D7OAWBKz4nRNY+edxmz2AbgIhAJRNU9ohEH8/UOLQeFIBPH7lnGxjR0yAkK2d62cwFKjv"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.1.6-admin":{"name":"nohm","version":"0.1.6-admin","engines":{"node":">=0.3.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"conductor":">=0.1.0","redis":">=0.3.5"},"_id":"nohm@0.1.6-admin","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/nohm/-/nohm-0.1.6admin.tgz","shasum":"dce9eee9b91300f7fb1351935db5014846c87171","integrity":"sha512-XA4OippEL5ZUQI2VlTzd8EjXt96BfAx+gkCzxSPHzTZgM2NAKoIsKHsQyktlMc5tQt2FOqjzVwKEEEu+V+FrfA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqTmfYzxPWx292xqnVUQho9jtHuNKnxSP/KFRSfnfvzAIhAIcQLfRaA5IhCwHT60+J9BYeOfPZSAG8zepubiFqaotv"}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.1.6-admin-conductorfix":{"name":"nohm","version":"0.1.6-admin-conductorfix","engines":{"node":">=0.3.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"conductor":"0.1.0","redis":">=0.3.5"},"_id":"nohm@0.1.6-admin-conductorfix","_nodeSupported":true,"_npmVersion":"0.2.7-3","_nodeVersion":"v0.3.0","dist":{"tarball":"https://registry.npmjs.org/nohm/-/nohm-0.1.6admin-conductorfix.tgz","shasum":"6607b43f90406f9d2bfb5f4093159eeed0257fef","integrity":"sha512-HeZtILkKg6QjHSnBYR27/ZHlkv3tGeEw7uWrUd7cLRRvqUDJLaCsblFdHi+gXNWM43Nai/pkBt2FBj1cH2zq4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID2HE0TayEts0XPa87e155Yyb6ga7IruLw4ND6WovzBsAiBIWuszZM7XnsqYoE44VOydgOYlm+b5u0QgzMYOWw4MrA=="}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.1.7-admin":{"name":"nohm","version":"0.1.7-admin","engines":{"node":">=0.3.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"conductor":"0.1.0","redis":">=0.3.5"},"_id":"nohm@0.1.7-admin","_nodeSupported":true,"_npmVersion":"0.2.7-3","_nodeVersion":"v0.3.0","dist":{"tarball":"https://registry.npmjs.org/nohm/-/nohm-0.1.7admin.tgz","shasum":"f708b7b86be719de2c57a4f7fb1cd53ce5812ebc","integrity":"sha512-XTvvgLI+D1VToqECm0IxpWpUsE+3T9EEcOfGv4OsmzrNGRPtiKr/CxXhBZvraydNtS390BJj4ctqVD00KKuifQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAoGR+oxWEJ0ipy0gRV4d7pGs9bSlznU9d5zVi0wD95SAiBiA/REIgZR30ufDstOlZOos7JvVVaoUVdhF7q//IqnIQ=="}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.1.8-admin":{"name":"nohm","version":"0.1.8-admin","engines":{"node":">=0.3.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"conductor":"0.1.0","redis":">=0.3.5"},"_id":"nohm@0.1.8-admin","_nodeSupported":true,"_npmVersion":"0.2.7-3","_nodeVersion":"v0.3.0","dist":{"tarball":"https://registry.npmjs.org/nohm/-/nohm-0.1.8admin.tgz","shasum":"c503626332af3461d11df64dd7d03052102a5b2e","integrity":"sha512-MTg0Dnfihl+16WXtGEWJAO1XF2XqR7QMWj5ygryS2BC6YfbvIWCcKVHaqrR7sXk02j7vWeu49CZb3lG+vKJI1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCytqpTDJN4yBbRxjlmFxVGBxPZdzaR4DGQ/v1lNhU6PwIhAIJ2P3X1OpJnDo7TkQ0mefGmgLMiowyhNcLqqut3e2fp"}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.1.9-admin":{"name":"nohm","version":"0.1.9-admin","engines":{"node":">=0.3.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"conductor":"0.1.0","redis":">=0.3.5"},"_id":"nohm@0.1.9-admin","_nodeSupported":true,"_npmVersion":"0.2.7-3","_nodeVersion":"v0.3.0","dist":{"tarball":"https://registry.npmjs.org/nohm/-/nohm-0.1.9admin.tgz","shasum":"bd9f09ca2af0e77d1c2b7d5f22b291e7883ce4d7","integrity":"sha512-Dd1bbZ39I53/PPfHxU5VHctXwtotxTRoHxIXc8KFBxpzlIaV3HaHA5nGalIAYxLFRDNGUsfFsfyTQAZBOEA73g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF6ddVjY34avjKzPve5Q9W/ySdAJNe5SvZk/cKpoTjTWAiBDNE4Q3mWS8OHVXanBP4+8uI9OvVwmIvi6khkNBzf70Q=="}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.1.10-admin":{"name":"nohm","version":"0.1.10-admin","engines":{"node":">=0.3.0"},"author":{"name":"Moritz Peters"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"conductor":"0.1.0","redis":">=0.3.5"},"_id":"nohm@0.1.10-admin","_nodeSupported":true,"_npmVersion":"0.2.7-3","_nodeVersion":"v0.3.0","dist":{"tarball":"https://registry.npmjs.org/nohm/-/nohm-0.1.10admin.tgz","shasum":"bab03a2e880c14ee0067e091ec00b45166956b1d","integrity":"sha512-vnTEo+OA2CFibmoOFZlNn9ifQfqRHwRgqYtekD5an75Td9+WhQhSC4Q1RZUJtUQHFEAdkAm7crzMOI/iZWXR7w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChwBUi3KLk+7QlcommZE4sLxwierrZkMEAV0P9MNEO4AIgJRIXq4d1vdzTIR1YoSCEvkAwYUSkERebhgQqseCvdi8="}]},"_npmUser":{"name":"maritz","email":"moritz@mpeters.biz"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.2-hotfix":{"name":"nohm","version":"0.9.2-hotfix","engines":{"node":">=0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.1.22","redis":">=0.7.2","traverse":"0.6.3"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"_id":"nohm@0.9.2-hotfix","dist":{"shasum":"3873b7ec8f79af51306d626d81f08777e7593a0c","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.2hotfix.tgz","integrity":"sha512-eXx6UfxcofKd6h9/Thk9C+SfdgkM/t47R/l5RxjcooiK44sdC71obN78EPNX8vXxwEvojYIFsTN0cieZXdGkKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBEwqt0meKaN+QVE6OImc+cVMksXACayFJH6E8Bn2B2bAiB0RSW5wtPK+ylxa72meXohtqCpSKTvUVKuauCcN6g/yw=="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.5":{"name":"nohm","version":"0.9.5","engines":{"node":">=0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"0.2.9","redis":"0.10","traverse":"0.6.3"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"homepage":"https://github.com/maritz/nohm","_id":"nohm@0.9.5","dist":{"shasum":"205e30945a7147a68c3a7a36addaf135b7991acc","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.5.tgz","integrity":"sha512-XZAxVx+gxAGCf2NToXlthq2JFjuwsAp4WoLLGr0C4vzHPLxjQ/ba8i3vGlEXOyTK/OPFdEyyDmBNXulxkF4vIQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAm+5tH1RnNBR9gtwVAlmMhXADVKVju81cwHxKZyCdwIAiEA6jr27UuNdWWKKt3ZiF/vi3fP9GBZeMANAFCOUECbgtQ="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"maintainers":[{"name":"maritz","email":"maritz.peters@gmail.com"}]},"0.9.6":{"name":"nohm","version":"0.9.6","engines":{"node":">=0.6"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","dependencies":{"async":"^0.9.0","redis":"^0.12.1","traverse":"^0.6.6"},"devDependencies":{"nodeunit":"0.6.4"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"homepage":"https://github.com/maritz/nohm","_id":"nohm@0.9.6","dist":{"shasum":"c752642be183597f69e128a9ad7939e4feb4b3b8","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.6.tgz","integrity":"sha512-7KuI7ceuxIvSr5QJXvh+XEVAvqFzqgSJPJgDoKzDcw5K6Rfe2oc++5C5cblnW2LyJc5GdYdhS2ecEsWxF67OxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDCumUv5TbNBNBHuDc0qz7ADHyNH3iz1XBJ/J/bWDhjAIhAL0s7JsN5HHuu2O+j+A7PxlKOej/dsY60DZ/OwCYNE3x"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.7":{"name":"nohm","version":"0.9.7","engines":{"node":">=0.10"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","scripts":{"test":"node test/tests.js"},"dependencies":{"async":"^1.2.1","redis":"^0.12.1","traverse":"^0.6.6"},"devDependencies":{"nodeunit":"^0.9.0"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"687c048842fc1c2cd70b1f02c86218392ae23730","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@0.9.7","_shasum":"5a20268dca82cbadbb28d6724e6563b4167172a8","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"shasum":"5a20268dca82cbadbb28d6724e6563b4167172a8","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.7.tgz","integrity":"sha512-Eilf/8Kux9VvtLz/70Z/ZCmpmimf8YRgnW1QfvRAc7/XX2DTSd2/R1ImKfy4TZfwnFO5fNKvipZ+tOYfuTMr4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTG5e61VeuKU9VUrgWWZbKNdKnMdUqSUlPEdFZXkWl/QIhAKli34hQjk7DQMvev+wLJP3voRlyUe/aTDSlXgxDAKlQ"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}]},"0.9.8":{"name":"nohm","version":"0.9.8","engines":{"node":">=0.10"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","scripts":{"test":"node test/tests.js"},"dependencies":{"async":"^1.2.1","redis":"^2.4.2","traverse":"^0.6.6"},"devDependencies":{"nodeunit":"^0.9.1"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"fe237cc314a282f348c79916687a696ccbd44d85","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@0.9.8","_shasum":"f2d2060bc551c4be9fcb6b88c6e5cea62b1dc738","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.5.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"shasum":"f2d2060bc551c4be9fcb6b88c6e5cea62b1dc738","tarball":"https://registry.npmjs.org/nohm/-/nohm-0.9.8.tgz","integrity":"sha512-dWpoRStXxoX72j7jLLUeEUyLP1urEAjTT1HcO8HRrZuCDs+XbsApN2Rvas2GwFGbDe7q2FYO1sNnlIBmRdKIkw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIERMxmsHKo/tAyeyZTqObPorLrk3arXMmrTxvDngxgpVAiEAqSf80Afzcaz89+kfDH/2LcgVAKabA2n87jAaQ6a+Db0="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/nohm-0.9.8.tgz_1454789850011_0.47563745081424713"}},"1.0.0-alpha.1":{"name":"nohm","version":"1.0.0-alpha.1","description":"redis ORM (Object relational mapper)","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"lodash":"^4.17.4","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.1.0"},"devDependencies":{"@types/async":"^2.0.45","@types/express":"^4.0.39","@types/lodash":"^4.14.87","@types/node":"^8.0.54","@types/redis":"^2.8.1","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.12.1","nodemon":"^1.12.4","nodeunit":"^0.11.2","pkg-ok":"^1.1.0","rimraf":"^2.6.2","tslint":"^5.8.0","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"fefdc5d6b427d47820de58fc1b04d43fdc28b4b9","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@1.0.0-alpha.1","_npmVersion":"5.5.1","_nodeVersion":"9.1.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-BTB+nqyd4CpMR98Bs+f33GbB++cRtB4b22ecQGyTXzkxVNMbZQ9b6HqplvYBw6u1UZThMdVRBRq5E4MFexx/Dg==","shasum":"4f5f663827efa3591bb5c5083380eb4a58696cd3","tarball":"https://registry.npmjs.org/nohm/-/nohm-1.0.0-alpha.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDEOr5Feyobl+8Nvx6VdfZGf9G4rqOnt3qhqkv8JfjwpAiBEhnqXBCj6jazLgIdtHIq81IapCykBzOUgn3R0tS4dFg=="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm-1.0.0-alpha.1.tgz_1512513160321_0.31389117892831564"}},"1.0.0-alpha.2":{"name":"nohm","version":"1.0.0-alpha.2","description":"redis ORM (Object relational mapper)","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"lodash":"^4.17.4","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.1.0"},"devDependencies":{"@types/async":"^2.0.45","@types/express":"^4.0.39","@types/lodash":"^4.14.87","@types/node":"^8.0.54","@types/redis":"^2.8.1","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.12.1","nodemon":"^1.12.4","nodeunit":"^0.11.2","pkg-ok":"^1.1.0","rimraf":"^2.6.2","tslint":"^5.8.0","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"2926ba967fc4750935e6bc154b545e51177ee1eb","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@1.0.0-alpha.2","_npmVersion":"5.5.1","_nodeVersion":"9.1.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-g0QZPXhW4smixCs0vSw9kfbAsftUTW/5lLjUd9pQFw0IUxCDCLQ5MAIFk33YpOu/r9WGzlj69KMXf0OkG4fLzw==","shasum":"4d26691dcadd273222cd6269c4647ea1ddad560b","tarball":"https://registry.npmjs.org/nohm/-/nohm-1.0.0-alpha.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDF0aelBAbOCpf8PzO6WHKA25J9uo7EOiwE9jqWnMHSZAIgcpK9emtdrtbuqLciAG1QPy8UL5rtiy27ii3mPwd08Xg="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm-1.0.0-alpha.2.tgz_1512587920355_0.4204703252762556"}},"1.0.0-alpha.3":{"name":"nohm","version":"1.0.0-alpha.3","description":"redis ORM (Object relational mapper)","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"lodash":"^4.17.4","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.1.0"},"devDependencies":{"@types/async":"^2.0.45","@types/express":"^4.0.39","@types/lodash":"^4.14.87","@types/node":"^8.0.54","@types/redis":"^2.8.1","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.12.1","nodemon":"^1.12.4","nodeunit":"^0.11.2","pkg-ok":"^1.1.0","rimraf":"^2.6.2","tslint":"^5.8.0","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"85a939922f6361c1f67cbbbffc19ace73003f881","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@1.0.0-alpha.3","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-snM2L4QwMT/I8QaD0XKNXjUeOv2IPQ2PXEEZpcjXs9Gc7RrxWPVqd0Rw6HTAAG+T7AIsKT3dmmgb+Bms3UKcJQ==","shasum":"2fda294f7b75cfe6e962abfb8926cff33fd78ab6","tarball":"https://registry.npmjs.org/nohm/-/nohm-1.0.0-alpha.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpGf89MlshYvNCti3SKrd5g8L2P/i/mPEnQfw2LGJyJwIhALKmwf+YgZk4j7vBTu+YwBGKIjXH8xLgAFVaz9s5+zyK"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm-1.0.0-alpha.3.tgz_1513665445486_0.6807594986166805"}},"1.0.0-alpha.4":{"name":"nohm","version":"1.0.0-alpha.4","description":"redis ORM (Object relational mapper)","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"lodash":"^4.17.4","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.1.0"},"devDependencies":{"@types/async":"^2.0.46","@types/express":"^4.11.0","@types/lodash":"^4.14.91","@types/node":"^8.5.2","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.14.0","nodemon":"^1.14.7","nodeunit":"^0.11.2","pkg-ok":"^1.1.0","rimraf":"^2.6.2","tslint":"^5.8.0","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"a8ca4db9a560ae87b95e957b423b35691eb89796","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@1.0.0-alpha.4","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-3BPWCEpxEEaoKVyR1t/lNOG9kcmj/B4/jDHeE67oR6KRRLgA26Mc6/d+2A30WySb+8vPyS82vRgljFtxebCcmg==","shasum":"526e980090abe257bfa3c89996d6461ba23772df","tarball":"https://registry.npmjs.org/nohm/-/nohm-1.0.0-alpha.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+CqgYaZrsiifeZjz1LnmMtpb9nLNYxGdd5njqD8oCEQIhAPNltjrt6oOr8oeBSXix/DsAMlBIvwz7BFUJF6MyEWse"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm-1.0.0-alpha.4.tgz_1514815750635_0.3166731158271432"}},"1.0.0-alpha.5":{"name":"nohm","version":"1.0.0-alpha.5","description":"redis ORM (Object relational mapper)","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"lodash":"^4.17.4","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.1.0"},"devDependencies":{"@types/async":"^2.0.46","@types/express":"^4.11.0","@types/lodash":"^4.14.91","@types/node":"^8.5.2","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.14.0","nodemon":"^1.14.7","nodeunit":"^0.11.2","pkg-ok":"^1.1.0","rimraf":"^2.6.2","tslint":"^5.8.0","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"7cbe3cff278344bdd94cba42c4787e0d2561c432","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@1.0.0-alpha.5","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-UvgUheDxiL88nAD+3El6pHf42PzZkT4LK2nl1oqU+gFi2jQCwDubmVq3ENWVcVOV9XorwqEt4XFA2ByDFvx57g==","shasum":"5ad89a56dfb27302624fae258a0975cc6e42d264","tarball":"https://registry.npmjs.org/nohm/-/nohm-1.0.0-alpha.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEZNPrpmbEBVCEtKl7mxdpWw8tPc4Oo5gBvjU9TtZaQwIhAPnOSbUkD8jRVbXdSiv4XeUXaSVZ2lGCKPyQ0L00Jnz+"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm-1.0.0-alpha.5.tgz_1515689208673_0.8160723296459764"}},"2.0.0-alpha.6":{"name":"nohm","version":"2.0.0-alpha.6","description":"redis ORM (Object relational mapper)","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"lodash":"^4.17.4","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.1.0"},"devDependencies":{"@types/async":"^2.0.47","@types/express":"^4.11.0","@types/lodash":"^4.14.92","@types/node":"^9.3.0","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.15.0","nodemon":"^1.14.11","nodeunit":"^0.11.2","pkg-ok":"^1.1.0","rimraf":"^2.6.2","tslint":"^5.9.1","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"cfe66e2ee9c3c7505168a56ee7d6ee5255117255","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.0.0-alpha.6","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-lmY4SLMpSj3TVFVmh4hX1Blo8EulmQyakTp6qMeSpKzkBw6dfS/QcFpPkfJIJxyWF3ZrjumgIWIGlgncTYa4BA==","shasum":"dec48942305f8da8691db89dfd87551f2fe65037","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.0.0-alpha.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/azNNOf/N3HZ5irw/Qj/BtWxoZ0ZFVSjRuE4UrbdpZAIgRgCJi8qeJPotNlCAfO2BsS8JcHKDweDTm3aWCxrjFjs="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm-2.0.0-alpha.6.tgz_1516034300649_0.23928344040177763"}},"2.0.0-alpha.7":{"name":"nohm","version":"2.0.0-alpha.7","description":"redis ORM (Object relational mapper)","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"debug":"^3.1.0","lodash":"^4.17.4","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.2.1"},"devDependencies":{"@types/async":"^2.0.47","@types/debug":"0.0.30","@types/express":"^4.11.0","@types/lodash":"^4.14.92","@types/node":"^9.3.0","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.15.0","nodemon":"^1.14.11","nodeunit":"^0.11.2","pkg-ok":"^1.1.0","rimraf":"^2.6.2","tslint":"^5.9.1","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"aa1a5c15b547e1a9c83a90c0a3628336a4a4bf1f","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.0.0-alpha.7","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-/wfGwMMj7jObxba3cZrPqPGRMPV/wK85prZS/dK1uL3dhE0iQyVswt/eC6DRzxOhajnjyhP0M7IvClkNC+pTiw==","shasum":"02a29f60869b55e00b4919b5eee3eb2a65b9615a","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.0.0-alpha.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID3max0z249tReQ4WEPbJJA+CISKt6eAB4KPWyvGDjnJAiA8l7IQnCQjzwkZTRBYgkn8LZJu9xDblBzUaGkZ/JJo5A=="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm-2.0.0-alpha.7.tgz_1516210704773_0.513205953175202"}},"2.0.0-alpha.8":{"name":"nohm","version":"2.0.0-alpha.8","description":"redis ORM (Object relational mapper)","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"debug":"^3.1.0","lodash":"^4.17.4","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.2.1"},"devDependencies":{"@types/async":"^2.0.47","@types/debug":"0.0.30","@types/express":"^4.11.0","@types/lodash":"^4.14.92","@types/node":"^9.3.0","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.15.0","nodemon":"^1.14.11","nodeunit":"^0.11.2","pkg-ok":"^1.1.0","rimraf":"^2.6.2","tslint":"^5.9.1","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"1d30142a6d7ab71d3547a6157dc9c5a2f24815ea","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.0.0-alpha.8","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-jwU8JUbrc3VTUdCtkOXA2eJoUc/p0HPMmw+VaOMjF2R+9cB4bTYPq3lSh0EWzCYaYAhckqK9PFIUTYQtm+d4UA==","shasum":"410ccf6edf3ca5a7f391919b85246b8e0a03fb89","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.0.0-alpha.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANL7zH0AFNiGD7YeRFnZNqepoBnF63XLBximJqngdj7AiEA2fzQSke1zO8E8bZmPITHJ4xQaLugwkNeddGkNrS3Tc0="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm-2.0.0-alpha.8.tgz_1517734064340_0.12995842099189758"}},"2.0.0-alpha.9":{"name":"nohm","version":"2.0.0-alpha.9","description":"redis ORM (Object relational mapper)","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"debug":"^3.1.0","lodash":"^4.17.4","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.2.1"},"devDependencies":{"@types/async":"^2.0.47","@types/debug":"0.0.30","@types/express":"^4.11.0","@types/lodash":"^4.14.92","@types/node":"^9.3.0","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.15.0","nodemon":"^1.14.11","nodeunit":"^0.11.2","pkg-ok":"^1.1.0","rimraf":"^2.6.2","tslint":"^5.9.1","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"9e2273df424d45612f3b33d33d30b0bd00010682","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.0.0-alpha.9","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-sA3D6592xItTL7WLJgUnkXEsTMJj4Khxz5StcYdTLLq/2rfOgffe88gmaJhgrsvOfN/o5A01TJ6G7qGN0IMIxg==","shasum":"532336636ee9d8997c7e448716d910811c1cf88c","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.0.0-alpha.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJMWaxeCh5Im3ydkhOaBxvoOu4/q3XMI7Fs7lfVuzOPQIhAJIMIfzo+rycd0Wn8+iCCG9us7jC6Qm4u2VYrc3KVB3t"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm-2.0.0-alpha.9.tgz_1517734299652_0.7749629977624863"}},"1.0.0":{"name":"nohm","version":"1.0.0","engines":{"node":">=0.10"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"files":["lib/","HISTORY.md","README.md","LICENSE"],"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","scripts":{"test":"node test/tests.js"},"dependencies":{"async":"^1.2.1","redis":"^2.4.2","traverse":"^0.6.6"},"devDependencies":{"nodeunit":"^0.11.2"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"8e5b150e11706e44e2c9242a9f2a11d9396ab787","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@1.0.0","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-l1/R4i5E5c6JUgwhK604capmrBn0oSCM2DHC28e5WLwRDpdTF6PcMGcLwS/9fmLHJdLaPl7/aqe5AQ5McggrJg==","shasum":"a4006e0c9c1657e9f2c1acdcde19eccab8ae095f","tarball":"https://registry.npmjs.org/nohm/-/nohm-1.0.0.tgz","fileCount":14,"unpackedSize":94656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbCAFkCRA9TVsSAnZWagAAJ/EP/RlttESOHEfy1wQK+ZiH\nbwGTbIfqGSNFqX2GAjQSSq/W38OJVSluAKUiCk5Tgr27Bx2UjHVKZj+P0n/g\nATeCFefczhZEiKHdH5ytflFOE1nZTmnyNdcsh5fva64dMzkG517iBVfaYEgc\ng0gvdKferHQIkwBP1wxP8uF5PwiytDQY3Jz+gVZ2aVFuDP1r0FpWvGyncIkV\n/Rfil/4h07WVHhqMuX9EiAc7prhLf7a6OVg6G9nFTx3OOEhg1ozKWmSew77P\njFefqh4AtkGoxkEykhKmQuHKr4Lp4o2sJM3EskBXoR1v/kPFamMKzX8Ni/a5\nmLXYNAdUzzUMp6xzVTP6R4Hdsa3GF3qYCk0Bmlx8yptD1z/NMTiQnSO3faIg\n5Xh79nZNEWHBCZOmrzQBO4rgaiPQGrjyXnZdnBc6cRkqFmdAjw0WGrRIakKy\n27FuFTGg1UFVZglJxFg7UELh5VpBw4yhbC2QTFehF1TLeUqm5CKiFLwhFCHe\nHTeYjVkCslNed2nnoy504kH6HjVR5K5QYgQMRy5pZPjpLYfezK0hkp57XQM2\n5Z7ujHcjHWFCyPVYoZ+fy/nCWQGovGiRRWc9CU5ALMKQQRLiaQIGo8yCK37i\nYcEp+ZdoLRQJtQsbjOan6Cq4jNtVjMbmsNJiiPApFY+2sDfYO0VjTKW2y2SL\nVFOQ\r\n=iyjE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgnw6cPFsqxW5qcQ1t8QwK0yrwKXx52QuRDwjA7vg3gAIhAOsDUiloiSBDL7+0+MYu1rhsDXxtj7Mf/eSSnA2VHnsx"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_1.0.0_1527251299196_0.06512226978480729"},"_hasShrinkwrap":false},"2.0.0-alpha.10":{"name":"nohm","version":"2.0.0-alpha.10","description":"redis ORM (Object relational mapper)","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","files":["ts/","tsOut/","HISTORY.md","README.md","LICENSE"],"scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"debug":"^3.1.0","lodash":"^4.17.4","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.2.1"},"devDependencies":{"@types/async":"^2.0.47","@types/debug":"0.0.30","@types/express":"^4.11.0","@types/lodash":"^4.14.92","@types/node":"^10.1.2","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.15.0","nodemon":"^1.14.11","nodeunit":"^0.11.2","pkg-ok":"^2.2.0","rimraf":"^2.6.2","tslint":"^5.9.1","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"6c0f51b89ebef7836897fb3c717dc2f4d086f33e","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.0.0-alpha.10","_npmVersion":"6.1.0","_nodeVersion":"10.2.1","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-uvwfsI5RjG7/RQPpxfZSD6POD9h8qKGxd7PvijtJd5EHzO8vPotP94lrIcUKoVstnicdcquVfsz+WrwjusA8Eg==","shasum":"162fc3d6bc344a554d1e742ec6883deab45f5f16","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.0.0-alpha.10.tgz","fileCount":53,"unpackedSize":397694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbCEkkCRA9TVsSAnZWagAA93EP/RO79MC59duLqUFfIfox\nPd2qqfA2VvXPgMFN+Eq8OOsRT7RvUBVWTIncl776vZjmJYddF7jVuLnFY5X8\nNV6KrgLM8+Lm6yhZAKxSwYoxF6FlWOFP4TK6Kn1f3bha/oqiOec0mPCuul3N\nU+DxoekwJS4Ppaq/OtQHndAGDKe8hACCTJg84WlYlN2HV2obj5jkLzvwzZVG\njeyZkG0su+aROxA6zGMvZsWvHRuHc5W/Q/ScrNvdyL107HF6hj7ANJIAqlFn\nAnx544Px8Ako1PqehDAcfd0STjg2muPH2Lq6KJq7DHi3KWQyVEmvO3Q2TL3n\nL/j2nHJ10WqC6VQhIkrEllZBX9mfQOI3mQfxiJ4Qn1nwI40bnSSdEmX5eJ71\ndlohqk8lREF1Oh03zj2CcBH30VW2PhMPn3q+bdupeEhGlRUa3iTnTHy0lTXT\n4trO2RgSC3BUjgOB4CQvQsCj8oTEhOvJWmlffnk/orAQ8vuDmV4PbXhDm+ra\nPn1LV5c7k8+Q6ge4OwZr5sHs2/eTjZwc+ynx+k9dRVKWc/oW/28lrjOUjXN/\n83PGYJTci3U9OaB9olJv4WVxbhgqMjGgLWN1Y/Zlpwu67I9NYyAoiK7/0Z7p\nqqvEKNWESMcDujxdOjn0CmJu24v+AnTxmLciCIrOwyydxualtj0+eAsN6xb2\n9/N4\r\n=ANb5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICioNU1wfem69HnScQUtRTkIfPGDZQmgGF7tDICuYzV6AiBMzU1mKLWG8X0X8dp4TgknfnGyOBgRa/k6CnB4XKKJfQ=="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_2.0.0-alpha.10_1527269666650_0.16053584560669587"},"_hasShrinkwrap":false},"2.0.0-alpha.11":{"name":"nohm","version":"2.0.0-alpha.11","description":"redis ORM (Object relational mapper)","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","files":["ts/","tsOut/","HISTORY.md","README.md","LICENSE"],"scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"debug":"^3.1.0","lodash":"^4.17.10","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.2.1"},"devDependencies":{"@types/async":"^2.0.47","@types/debug":"0.0.30","@types/express":"^4.11.0","@types/lodash":"^4.14.92","@types/node":"^10.1.2","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.15.0","nodemon":"^1.14.11","nodeunit":"^0.11.2","pkg-ok":"^2.2.0","rimraf":"^2.6.2","tslint":"^5.9.1","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"760ec3cd08ee3f6da4e87c51d8002aba26341cc7","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.0.0-alpha.11","_npmVersion":"6.1.0","_nodeVersion":"10.2.1","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-0rxCSMdi+ZkjGMntPAi0U1y5IgimCL0aeKUTfON1zVjgClWsnXiLI5UU6k+XvwppWfx71tn4RyF4axfB0wBNOQ==","shasum":"f0965cc34c121986d8fca216ec077f795533d69f","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.0.0-alpha.11.tgz","fileCount":53,"unpackedSize":403648,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbCauyCRA9TVsSAnZWagAAAF8P/2d/kUzAghfsvdI2tXr4\nCJwvzrbu3EsJMK1Yy8DWcVfr5PwstO6fjPcoy7F79xDbBXT79kvnOXDOwm8K\nFV1BlIREIVw78JxbiJZyErI5jUxESTz7fiL2Us0BpgS1pumbcK7kPwdN+7Ix\nuqQkrI8l1Y2VbQilK2WeBd7vLwb9xF2MqX9jXXyqaVaCN5upMsyhUHt2ERhm\nwEKfbnNkYb1uOEPclwIexZtqLrzwe0nsaItyWa+iVjJSJoj4uNORaav/3HNo\nQ/ooCAGGGYFc2KNB1p47xcgkgCdF4hJyOuPf7yvYnxN0brKqvAfyZ0Jol2KC\nj+Uo22dmqbN6NW0FBEbMZBV1lbBMXRuYy/Iw0WiPGtQ+DBvp2QhI15jgdq0Q\nAo0As7T80PRmTzKUhSE4bZ0X6iepilDMoQfP33q88LpVmbSwu745s7EMidLG\nK7KtD8b+K4lemIoNTPKvvkpoluh1Icmedy8XNwzjUjsNbtqgs1fT3R7yYtel\nmIp5rlwL50rlhHjBnSkxGig8Ria23rpNG2m3lU/8suah3o62+q2uI6XmvllU\n/wJBV0NxbwnIIpaVlxRHUP2VqbzA4F1dm9iJDnW5Nm35cP7i9JY0R/cj94W+\nZ5W0gR3ZvaoV/0lYvjq114WCe0+UibtsJ2n4cfrE2OSUBR9Ev3M4NN4qBl8k\nQ9Us\r\n=s7rD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBHTDRsUqGgrvFJ501zX9XJH/ioGEgyDMnK4tFhZLeeAIhAIl+X7rj2IQNUUFSicAoC7gSytixDZ06SE13AjNPT4Hq"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_2.0.0-alpha.11_1527360433002_0.9428097947725287"},"_hasShrinkwrap":false},"2.0.0-alpha.12":{"name":"nohm","version":"2.0.0-alpha.12","description":"redis ORM (Object relational mapper)","lisense":"MIT","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","files":["ts/","tsOut/","HISTORY.md","README.md","LICENSE"],"scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"debug":"^3.1.0","lodash":"^4.17.10","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.2.1"},"devDependencies":{"@types/async":"^2.0.47","@types/debug":"0.0.30","@types/express":"^4.11.0","@types/lodash":"^4.14.92","@types/node":"^10.1.2","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.15.0","nodemon":"^1.14.11","nodeunit":"^0.11.2","pkg-ok":"^2.2.0","rimraf":"^2.6.2","tslint":"^5.9.1","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"f50f83a369ed7a81e583a8c44e84cb6b4bd103d8","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.0.0-alpha.12","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-sb7PT4lNCGJsr0HpDmZ6UEKjE7Ms2O+cQUJJpPSG5o//Dh+HPcqdZqbNtb50a3NG5nAGz2CJpJP01Sl+GQQP+w==","shasum":"0e437a7c2c6d7fe55dacac229e31ed2fe2c70274","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.0.0-alpha.12.tgz","fileCount":65,"unpackedSize":413773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbETb1CRA9TVsSAnZWagAARlgQAIwQISOYQGDXQqd3WEAy\nx2skjlINkATUO9JtrxSJufqeCWXoNF5j/6L/uS/9+jv4MjkBanKk9COZEU4R\nOcqd6PSWln+FQKoaZpfZStWKCskF6YSL+eLnplt7z8NYMHCoIVUCDe7PLCB+\nfMyg6sRyfYQJuFVeaMVNwJn0uO3b/w2UejI4z3vyq9KlwHWThfwGmeudU2fc\nDrYIXU5+PFCrICM/fu+3ALclV1301hAZkHhBEfmb4bZURLvZD2PgqDXnOsos\nPGaPJxMYHD8RGLGOcmqQPv/Kbrubk+ulIGMvISomBK1ySI+S767rJ6MizTbu\nTolrAPboTnXdrJ8p49bcLxVvzDxBJVL9MTCoxDNcogSF9MeL07UOQS70iPWv\niawpA2p0rjHeYXbqLCscym+UUoWrMyBGRHI2G97NKao21hTyl8XN67W8S3TM\nGIUxCzRbhdQae+m1CtNP8jewCT5ybDfkGMqRLufRCAIsY+6yinqSpdsH62X0\n9WtcN38cVWvQDAdevUd7SX5WkG2ZxzEWZ6SJS80LlbE8c5Xz4qgPZYSD/Rd1\n24U3eSK/qCup27c16B1taD9NsRMN2ds3epUcXYJU9duQjvkvzx1fVx1+s2x5\nqElLxCDnnVuc+a2fVAhHYFwWpgg1f+iWByZo+DjeD9En6wz4BTMWVOPc6I/v\n9vGZ\r\n=Vbcj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRDV4cQFp/5La2EOWl4UmQMpXiL6lt4OJcwBL9aBBOdQIhAPdGBRXL51l9dNsTQU0OzB6FnWZC/PBgiKPmOEtejG1n"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_2.0.0-alpha.12_1527854835258_0.9214315333409056"},"_hasShrinkwrap":false},"2.0.0-alpha.13":{"name":"nohm","version":"2.0.0-alpha.13","description":"redis ORM (Object relational mapper)","lisense":"MIT","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","files":["ts/","tsOut/","HISTORY.md","README.md","LICENSE"],"scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok"},"dependencies":{"debug":"^3.1.0","lodash":"^4.17.10","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.2.1"},"devDependencies":{"@types/async":"^2.0.47","@types/debug":"0.0.30","@types/express":"^4.16.0","@types/lodash":"^4.14.92","@types/node":"^10.3.2","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","eslint":"^4.15.0","nodemon":"^1.14.11","nodeunit":"^0.11.2","pkg-ok":"^2.2.0","rimraf":"^2.6.2","tslint":"^5.9.1","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"8d3d259f0f6cedb005b3aa23be42099bc27d64af","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.0.0-alpha.13","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-N8Zv+CpAJGqlUJ8xl7fn7f0okuivqhljg5RXmsKFDWaNJ0bceJgdXQKyg5FfknC/ngIMwX0qljW5L8AFe32q2Q==","shasum":"561845ecbc4b322252417c5d5b57356beee63d70","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.0.0-alpha.13.tgz","fileCount":65,"unpackedSize":414339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGuSECRA9TVsSAnZWagAA7iMP/jHfgr9sIey3eng1TaE1\nGn4jbFt5g/iUraHYUT+cBpE1Cg0LiJxXlr7vE1NHeSWoZMrVFqxOBbDMJkXM\nnfoQbo+wXI2ZUnRs/YFzHSfjgNQb46d/7hTWU5uTnTesuJjHCAEUMEvF9a3d\nd4RZ8+llR3wpnQReNXxVb5zvDs2VyqRBHNHxcpDgWZ6Uc3aS6P0owXSF/Fcq\nFE7y75Mjbxsg+0ZmIzeqAO+WDuONRohLHiX4Dy+xAA1zWRkGdAT47dB866SA\nzdgT4/kpa7ZSEOPQFwk0XoPrfDWKTxYB7yW01xN0urAF/hcys8S5rfE2DZNo\npZDK8x21qocnd58I5h/LzS8tU9PsRbdj1b8xfQh6whYFDjEG0BRpOMux/x5+\neyn7w0DPRQyqt1qqF8SGMiI6OwQgSut6ISpcCsSsvOYU+0LgaUsKZez/yVYI\n6V1H7CYB4i9iozB8G949Q22oVkBf1sWTl6KufOMlBnR06V1IWW1loHqBy5fU\nwBcNXXvbR5ZsUJARgjN7mbWxym7809UbDrpZtlA+Clglb/6Pw5PD8Y+V2RA0\niTWdiY+d4KQ1OUDoi9OYg+7kJngNQhy1Hc5lSEjWg94TtvjcV8YUWCrWlQUr\nfxI9u0w4lwrPF31KsrmS78Uwnq5dcbm7qtxWo95OTQ8p13DwKrbd6gj7cwQL\nEYfa\r\n=dTJg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCe+yn8UdIyrzumd2lYwrDST/GP3PvDF7d78gSEptYT4wIgE8rEgjiCnoZ0ZWqiqCKo8sjcTuRcSnsKb3OxsSzqK+M="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_2.0.0-alpha.13_1528489091379_0.47804103810306375"},"_hasShrinkwrap":false},"1.1.0-breaking":{"name":"nohm","version":"1.1.0-breaking","engines":{"node":">=0.10"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"directories":{"lib":"./lib"},"description":"redis ORM (Object relational mapper)","main":"./lib/nohm","scripts":{"test":"node test/tests.js"},"dependencies":{"async":"^1.2.1","redis":"^2.4.2","traverse":"^0.6.6"},"devDependencies":{"nodeunit":"^0.11.2"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"readme":"# Nohm\n\n[![Build Status](https://travis-ci.org/maritz/nohm.svg?branch=v1_breaking_maintenance)](https://travis-ci.org/maritz/nohm)\n\n## Description\n\nNohm is an object relational mapper (ORM) written for node.js and redis.\n\n## Version v1-breaking\n\nThis branch and its tags are a special branch for maintaining some support for v1 where a fix or needed change would be a beaking change.\nUse this branch/tag at your own risk and be very careful when you update it.\n\nThe better way would be to migrate to v2+ where semver is followed.\n\n## Requirements\n\n* redis >= 2.4\n\n## Install\n\n### Installing nohm\n\n    npm install nohm@v1-breaking\n\n## Documentation\nhttp://maritz.github.com/nohm/\n\n## Examples\n\n~~~~ javascript\n  var nohm = require('nohm').Nohm;\n  var redis = require('redis').createClient();\n\n  nohm.setClient(redis);\n\n  nohm.model('User', {\n    properties: {\n      name: {\n        type: 'string',\n        unique: true,\n        validations: [\n          'notEmpty'\n        ]\n      },\n      email: {\n        type: 'string',\n        unique: true,\n        validations: [\n          'email'\n        ]\n      },\n      country: {\n        type: 'string',\n        defaultValue: 'Tibet',\n        validations: [\n          'notEmpty'\n        ]\n      },\n      visits: {\n        type: function incrVisitsBy(value, key, old) {\n          return old + value;\n        },\n        defaultValue: 0,\n        index: true\n      }\n    },\n    methods: {\n      getContryFlag: function () {\n        return 'http://example.com/flag_'+this.p('country')+'.png';\n      },\n    }\n  });\n\n  var user = nohm.factory('User');\n  user.p({\n    name: 'Mark',\n    email: 'mark@example.com',\n    country: 'Mexico',\n    visits: 1\n  });\n  user.save(function (err) {\n    if (err === 'invalid') {\n      console.log('properties were invalid: ', user.errors);\n    } else if (err) {\n      console.log(err); // database or unknown error\n    } else {\n      console.log('saved user! :-)');\n      user.remove(function (err) {\n        if (err) {\n          console.log(err); // database or unknown error\n        } else {\n          console.log('successfully removed user');\n        }\n      });\n    }\n  });\n\n  // try to load a user from the db\n  var otherUser = nohm.factory('User', 522, function (err) {\n    if (err === 'not found') {\n      console.log('no user with id 522 found :-(');\n    } else if (err) {\n      console.log(err); // database or unknown error\n    } else {\n      console.log(otherUser.allProperties());\n    }\n  });\n~~~~\n\n\n* [nohm/examples/rest-user-server](https://github.com/maritz/nohm/tree/master/examples/rest-user-server) (needs express)\n* [Beauvoir](https://github.com/yuchi/Beauvoir) Simple project management app - by yuchi\n\nDo you have code that should/could be listed here? Message me!\n\n## Contribute?\n\nYes, please contact me or just fork and request pulls. Any help or feedback is appreciated. If you use nohm I'd also be happy if you just drop me a quick msg about it.\n\n## Running tests\nTo run the tests you need to have nodeunit v0.6.4. This will be installed if you installed nohm with the --dev argument.\nOtherwise you can run:\n\n    npm install nodeunit@0.6.4\n\nThen run\n\n    node test/tests.js\n\n*Careful*: This requires a running redis server. (you can configure host/port with the command line arguments --redis-host 1.1.1.1 --redis-port 1234)\nThe tests also create a lot of keys in your database that look something like this:\n\n    nohmtests:something:something\n\nAfter the tests have run all keys that match the pattern nohmtests:* are deleted!\nYou can prevent this by passing --no-cleanup (which will leave hundreds or thousands of test keys in your database).\nYou may also change the prefix (\"nohmtests\") part doing something like\n\n    node test/tests.js --nohm-prefix YourNewPrefix\n\nNow the keys will look like this:\n\n    YourNewPrefix:something:something\n","readmeFilename":"README.md","gitHead":"43f3f595ef9bd15bdb5601c88281586a6c067d00","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@1.1.0-breaking","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-1xiLCg7hju2nxiqy84Vi2Avfde4ZRkb/6pouFUWBrKXlxHDUQGIE2sogNHwh2yexRl7j29ppPCpiBknL7DceTw==","shasum":"4ad213837ce9e0fc94e68deee3f05db452c8cb5f","tarball":"https://registry.npmjs.org/nohm/-/nohm-1.1.0-breaking.tgz","fileCount":91,"unpackedSize":492503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGucwCRA9TVsSAnZWagAAAxAP/2IVwftlA182lT+yok1E\nfU/Y0XEfctqB2btmObO3KnYNgzNH+vmb9/W7ySJjp6Ba8mxCxkGnV2N3wSbZ\n5Q5bj1UBQAs0+ZBzFJukJvT/xFzcQzTWqqjOQPZOhQh8zQkhD2gP8J9GRYAO\nbn9i0dd9mEE7wbtv7wbwj3NSz5iQcYOe3fBQBGZhtuzqoiwCIIOM7/7LgbSL\nVHUWJVgcsSZNhwPdgYCf/p0WK7aINzEyPzi6Y70yuQS6ebZvqS5RUNctZCIC\n5ZQIPKpTp0aUZtN+4H7bIEfleJ7ZvGtdB7C5Za1YlBBgX2Lu4NY0le6X2hd5\nULOrr30fn6kTifX55/wdySSSbZ7b94GmPo/tTR0bZnCpSPg3DsiCYvzliiv8\nrmWu6FNum+ErGLVq0KdwVeMikrruQAF5xfTtrZuZz27AINS+ny3MGkEWktGm\n98mYvibPpgbJI1lrUQhgYfDlnGClM63dJr01wmXNb4iRSa6M0FfztYJQ+0x2\nCqMl8mKejkFVCtc/t9CX5u7wRbLvn/l7JkDzgJOn9sQ5QXImnvv8Q2jT0MYF\nTZJa9mHBzIF5WR3QzB7apD5XjEwgDCEP52ujkUsJ4QNfNzwXaPUIjlSQjDYF\n806S5+/F2x+HeDdqERq5Nn842lHg6J8wmvktt5zeiCvvlgagknWiXY/1eqgI\nZtiG\r\n=BiQY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+WmrV5afgmg7BwZXeNfZLzixKchE3KMsiMw4QA35X2wIgQOeCPrfdZT/twbu2DphvU6mt3oUn/6Gg6G8KXwEzbyI="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_1.1.0-breaking_1528489776363_0.19452669991287497"},"_hasShrinkwrap":false},"2.0.0":{"name":"nohm","version":"2.0.0","description":"redis ORM (Object relational mapper)","lisense":"MIT","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","files":["ts/","tsOut/","HISTORY.md","README.md","LICENSE"],"scripts":{"test":"node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./ && npm run generateDocs","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok","generateDocs":"rimraf docs/api/ && jsdoc -c jsdoc.json"},"dependencies":{"debug":"^3.1.0","lodash":"^4.17.10","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.2.1"},"devDependencies":{"@types/async":"^2.0.47","@types/debug":"0.0.30","@types/express":"^4.16.0","@types/lodash":"^4.14.92","@types/node":"^10.3.2","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","docdash":"^0.4.0","eslint":"^4.15.0","jsdoc":"^3.5.5","nodemon":"^1.14.11","nodeunit":"^0.11.2","pkg-ok":"^2.2.0","rimraf":"^2.6.2","tslint":"^5.9.1","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"2b417fac65ba3fd741b923ad7a574ab4c0cf5524","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-owkig44fXb61FqwmWpXRKbeVw+InVaCrI9wGjF27LGOkTqwN+IwMHByrwhHRk7DGvriKId7N26ADt616RZ93/g==","shasum":"5e75d519e69c98f0734bee0186655b31b0514358","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.0.0.tgz","fileCount":65,"unpackedSize":435438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbHTFJCRA9TVsSAnZWagAAU4EP/1vNhrY0ViC6fBqut2nP\n/41NktSemb5//FjkMOq5GuN88yLbXiPAY81uMadm3ZPhu+elddpwwGntBYqm\nSRaPO8PocX5mERWARS2fFnOHuB0AkdO1AmqT9kj8pcldqU++ciMmEtow67KB\n31hRrwFLbYLnv/Y+GYpVNB1a/1kPyghPq9jAcdvuGU0PZr7+JwbQIcohPWoI\nrHNpRs9xbNDMeZ58RjrmvdlEnxa1QmplZ62Mmc2VAywfNZh2jIB0ykez+Bl6\nUPT0ZRSuKqyTnvmS1PORXhKpMmdjVt9rp9nx5TLcX5wUYgONtj8y028Ya9IF\nLYPpCilJtpzIWgurQyK5NPXfBqTjX1AUMs7Rxj9fijUkIOvfonJBehtB6H6v\n24/phYshhhZrzJPV4onEyplVWctRFtp/4FddI7Nuy5KxPBpczjgdfOjF4W8i\nBtN9AqlLs/jcILfLeuj9i5OVhhbcjpwKC9y3XlevHuFotfdhwOB6BuY0/VOL\nUBG6HYVWFv4BHpT1tb7/W0yW9c5jWwz+RwZZuSK3lZc2eZBempxGSq1VP6TF\ndwuawI/XNlNtYohePwFvxk0bp3yt9m+bc17NHuQIqNKyMcgAASw9WS6KR21n\nEClFhb1AgGPKEclgoytr3nM9nMVW5oA6T2d7H8zOOgwSEsmgHFf3U7Uw8Y8V\nm+Jl\r\n=Xgtd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkh1RGL0mvcUJiD1OC6J1hH2hEVXjsYSmxVhrOp+e39gIgLdGybcqd0cBVles/zjVIpYluO19wBCcjQfgOREhSyfk="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_2.0.0_1528639815324_0.4003832954169557"},"_hasShrinkwrap":false},"2.0.1":{"name":"nohm","version":"2.0.1","description":"redis ORM (Object relational mapper)","lisense":"MIT","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"types":"./tsOut/index.d.ts","files":["docs/index.md","ts/","tsOut/","CHANGELOG.md","README.md","LICENSE"],"scripts":{"test":"nyc node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","coverage:failIfLow":"nyc check-coverage --lines 90 --functions 90 --branches 80","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok","generateDocs":"rimraf docs/api/ && jsdoc -c jsdoc.json","prerelease":"npm run generateDocs","release":"git add docs/api/ && standard-version -a"},"dependencies":{"debug":"^3.1.0","lodash":"^4.17.10","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.2.1"},"devDependencies":{"@types/async":"^2.0.47","@types/debug":"0.0.30","@types/express":"^4.16.0","@types/lodash":"^4.14.92","@types/node":"^10.3.2","@types/redis":"^2.8.4","@types/traverse":"^0.6.29","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.5.1","coveralls":"^3.0.1","docdash":"^0.4.0","eslint":"^4.15.0","jsdoc":"^3.5.5","nodemon":"^1.14.11","nodeunit":"^0.11.2","nyc":"^12.0.2","pkg-ok":"^2.2.0","rimraf":"^2.6.2","standard-version":"^4.4.0","testdouble":"^3.8.1","tslint":"^5.9.1","typescript":"^2.6.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"readme":"# Nohm\n\n[![Build Status](https://travis-ci.org/maritz/nohm.svg?branch=master)](https://travis-ci.org/maritz/nohm)\n[![Dependency Status](https://david-dm.org/maritz/nohm.svg)](https://david-dm.org/maritz/nohm)\n[![Known Vulnerabilities (Snyk)](https://snyk.io/test/github/maritz/nohm/badge.svg)](https://snyk.io/test/github/maritz/nohm)\n[![Coverage Status](https://coveralls.io/repos/github/maritz/nohm/badge.png?branch=master)](https://coveralls.io/github/maritz/nohm?branch=master)\n\n## Description\n\nNohm is an object relational mapper (ORM) written for node.js and redis written in Typescript.\n\n### Features\n\n- **Standard ORM features (validate, store, search, sort, link/unlink, delete)**\n- **Share validations with browser.**  \n  Allows using the same code for clien validations that is used for backend. Includes filtering which validations are shared.\n- **Subscribe to orm events (save, delete, link, unlink)**  \n  With this you can do things like socket connections to get live updates from stored models.  \n  Since it uses redis PUBSUB you can scale your node app and clients can connect to seperate node app instances but will still get the same live updates.\n- **Typescript typings**  \n  nohm is written in Typescript and thus provides first-class typings for most things, including the option to type your model properties. This means if you use Typescript you don't have to remember every single property name of each model anymore, your IDE can tell you.\n- **Dynamic relations**  \n  This is a double-edged sword. Usually ORMs describe relations statically and you have to do database changes before you can add new relations.  \n  In nohm all relations are defined and used at run-time, since there are no schemas stored in the database.\n\n## Requirements\n\n- redis >= 2.4\n\n## Documentation\n\n[v2 documentation](https://maritz.github.io/nohm/index.html)\n\n[API docs](https://maritz.github.io/nohm/api/index.html)\n\n[v1 documentation](http://maritz.github.com/nohm/)\n\n[v1 to v2 migration guide](https://github.com/maritz/nohm/blob/master/CHANGELOG.md#v200-currently-in-alpha)\n\n## Example\n\nThe [examples/rest-user-server](https://github.com/maritz/nohm/tree/master/examples/rest-user-server) is running as a demo on [https://nohm-example.maritz.space](https://nohm-example.maritz.space). It showcases most features on a basic level, including the shared validation and PubSub.\n\n<details>\n\n<summary>Example ES6 code (click to expand)</summary>\n\n```javascript\nimport { Nohm, NohmModel, ValidationError } from 'nohm';\n// or if your environment does not support module import\n// const NohmModule = require('nohm'); // access NohmModule.Nohm, NohmModule.NohmModel and NohmModule.ValidationError\n\n// This is the parent object where you set redis connection, create your models and some other configuration stuff\nconst nohm = Nohm;\n\nnohm.setPrefix('example'); // This prefixes all redis keys. By default the prefix is \"nohm\", you probably want to change it to your applications name or something similar\n\n// This is a class that you can extend to create nohm models. Not needed when using nohm.model()\nconst Model = NohmModel;\n\nconst existingCountries = ['Narnia', 'Gondor', 'Tatooine'];\n\n// Using ES6 classes here, but you could also use the old nohm.model definition\nclass UserModel extends Model {\n  getCountryFlag() {\n    return `http://example.com/flag_${this.property('country')}.png`;\n  }\n}\n// Define the required static properties\nUserModel.modelName = 'User';\nUserModel.definitions = {\n  email: {\n    type: 'string',\n    unique: true,\n    validations: ['email'],\n  },\n  country: {\n    type: 'string',\n    defaultValue: 'Narnia',\n    index: true,\n    validations: [\n      // the function name will be part of the validation error messages, so for this it would be \"custom_checkCountryExists\"\n      async function checkCountryExists(value) {\n        // needs to return a promise that resolves to a bool - async functions take care of the promise part\n        return existingCountries.includes(value);\n      },\n      {\n        name: 'length',\n        options: { min: 3 },\n      },\n    ],\n  },\n  visits: {\n    type: function incrVisitsBy(value, key, old) {\n      // arguments are always string here since they come from redis.\n      // in behaviours (type functions) you are responsible for making sure they return in the type you want them to be.\n      return parseInt(old, 10) + parseInt(value, 10);\n    },\n    defaultValue: 0,\n    index: true,\n  },\n};\n\n// register our model in nohm and returns the resulting Class, do not use the UserModel directly!\nconst UserModelClass = nohm.register(UserModel);\n\nconst redis = require('redis').createClient();\n// wait for redis to connect, otherwise we might try to write to a non-existant redis server\nredis.on('connect', async () => {\n  nohm.setClient(redis);\n\n  // factory returns a promise, resolving to a fresh instance (or a loaded one if id is provided, see below)\n  const user = await nohm.factory('User');\n\n  // set some properties\n  user.property({\n    email: 'mark13@example.com',\n    country: 'Gondor',\n    visits: 1,\n  });\n\n  try {\n    await user.save();\n  } catch (err) {\n    if (err instanceof ValidationError) {\n      // validation failed\n      for (const key in err.errors) {\n        const failures = err.errors[key].join(`', '`);\n        console.log(\n          `Validation of property '${key}' failed in these validators: '${failures}'.`,\n        );\n\n        // in a real app you'd probably do something with the validation errors (like make an object for the client)\n        // and then return or rethrow some other error\n      }\n    }\n    // rethrow because we didn't recover from the error.\n    throw err;\n  }\n  console.log(`Saved user with id ${user.id}`);\n\n  const id = user.id;\n\n  // somewhere else we could then load the user again\n  const loadedUser = await UserModelClass.load(id); // this will throw an error if the user cannot be found\n\n  // alternatively you can use nohm.factory('User', id)\n\n  console.log(`User loaded. His properties are %j`, loadedUser.allProperties());\n  const newVisits = loadedUser.property('visits', 20);\n  console.log(`User vists set to ${newVisits}.`); // Spoiler: it's 21\n\n  // or find users by country\n  const gondorians = await UserModelClass.findAndLoad({\n    country: 'Gondor',\n  });\n  console.log(\n    `Here are all users from Gondor: %j`,\n    gondorians.map((u) => u.property('email')),\n  );\n\n  await loadedUser.remove();\n  console.log(`User deleted from database.`);\n});\n```\n\n</details>\n\n<details>\n\n<summary>Example Typescript code (click to expand)</summary>\n\n```typescript\nimport { Nohm, NohmModel, TTypedDefinitions } from 'nohm';\n\n// We're gonna assume the basics are clear and the connection is set up etc. - look at the ES6 example otherwise.\n// This example highlights some of the typing capabilities in nohm.\n\ninterface IUserProperties {\n  email: string;\n  visits: number;\n}\n\nclass UserModel extends NohmModel<IUserProperties> {\n  public static modelName = 'User';\n\n  protected static definitions: TTypedDefinitions<IUserProperties> = {\n    // because of the TTypedDefinitions we can only define properties keys here that match our interface keys\n    // the structure of the definitions is also typed\n    email: {\n      type: 'string', // the type value is currently not checked. If you put a wrong type here, no compile error will appear.\n      unique: true,\n      validations: ['email'],\n    },\n    visits: {\n      defaultValue: 0,\n      index: true,\n      type: function incrVisitsBy(value, _key, old): number {\n        return old + value; // TS Error: arguments are all strings, not assignable to number\n      },\n    },\n  };\n\n  public getVisitsAsString(): string {\n    return this.property('visits'); // TS Error: visits is number and thus not asignable to string\n  }\n\n  public static async loadTyped(id: string): Promise<UserModel> {\n    // see main() below for explanation\n    return userModelStatic.load<UserModel>(id);\n  }\n}\n\nconst userModelStatic = nohm.register(UserModel);\n\nasync function main() {\n  // currently you still have to pass the generic if you want typing for class methods\n  const user = await userModelStatic.load<UserModel>('some id');\n  // you can use the above defined loadTyped method to work around that.\n\n  const props = user.allProperties();\n  props.email; // string\n  props.id; // any\n  props.visits; // number\n  props.foo; // TS Error: Property foo does not exist\n  user.getVisitsAsString(); // string\n}\n\nmain();\n```\n\n</details>\n\n### More detailed examples\n\n- [nohm/examples/rest-user-server](https://github.com/maritz/nohm/tree/master/examples/rest-user-server)\n- [Beauvoir](https://github.com/yuchi/Beauvoir) Simple project management app - by yuchi (uses node v0.6 - very old)\n\nDo you have code that should/could be listed here? Message me!\n\n## Add it to your project\n\n    npm install --save nohm\n\n## Debug\n\nNohm uses the [debug](https://github.com/visionmedia/debug) module under the namespace \"nohm\". To see detailed debug logging set the environment variable DEBUG accordingly:\n\n    DEBUG=\"nohm:*\" node yourApp.js\n\nAvailable submodule debug namespaces are `nohm:index`, `nohm:model`, `nohm:middleware`, `nohm:pubSub` and `nohm:idGenerator`.\n\n## Developing nohm\n\nIf you want to make changes to nohm, you can fork or clone it. Then install the dependencies:\n\n    npm install\n\nand run the development scripts (compile & watch & tests):\n\n    npm run dev\n\nWhen submitting PRs, please make sure that you run the linter and that everything still builds fine. The CI will catch these problems, but it's better to check locally first.  \nThe easiest way to do that is to run the `prepublishOnly` script:\n\n    npm run prepublishOnly\n\n## Running tests seperately\n\nBuild the javascript files:\n\n    npm run build\n\nThen run the tests:\n\n    npm run test\n\nThis requires a running redis server. (you can configure host/port with the command line arguments --redis-host 1.1.1.1 --redis-port 1234)\n\n**WARNING**: The tests also create a lot of keys in your database that look something like this:\n\n    nohmtests:something:something\n\nAfter the tests have run all keys that match the pattern nohmtests:\\* are deleted!\nYou can prevent this by passing --no-cleanup (which will leave hundreds or thousands of test keys in your database).\nYou may also change the prefix (\"nohmtests\") part doing something like\n\n    node test/tests.js --nohm-prefix YourNewPrefix\n\nNow the keys will look like this:\n\n    YourNewPrefix:something:something\n\nDo note that the tests intentionally log out some warnings and errors. However these have (blue) log lines before them, announcing them. Any warnings/errors that do not have these announcements are actual problems.\n\n## Note about npm audit warnings\n\nCurrently npm audit detects 5 minor vulnerabilities in nohm, all of which are under nodeunit -> tap.\n\nnodeunit is only installed when you install the dev dependencies (aka. `npm install` in a checked out version of this repo for example).\n\nIn addition to that the tap reporter of nodeunit is not used at all.\n\nThus these vulnerabilities do not affect nohm. There is however an [open task](https://github.com/maritz/nohm/issues/116) to switch away from nodeunit anyways, so these warnings will hopefully go away soon™.\n","readmeFilename":"README.md","gitHead":"aae636cc0d847e9968f254e15f7efceb63a0f3db","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.0.1","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-s3Vo9tW/FIAvg5FFdFCTPDXBeqhj3blA9KBq9Z8pFcGtpTTlImJUzA84rt9HI9yTT0WpqeCdV7R4mPWQauxJWw==","shasum":"dd416be56566dbd0d1757d0aada3cbc0ee6b7f89","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.0.1.tgz","fileCount":66,"unpackedSize":475551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbK4/TCRA9TVsSAnZWagAAl1kQAIOhSAhLIa7LT/YPcUsS\n9apssrX2ZIH9h7iVGlxWASjLe2uf7oGG0PAOGssaTWeCRUqnUxNOpD4Q93c7\nbc4QlhIhLxo9dewVpwbF1ysZ2l/jsYjhUQ1s7bx6yUHoVov3CKMo/R0VEDwr\npE0g8ncH5I48scXjYAEsRbe3eWZHE2F2jhSuy4s/iZcF1fFIgFUpCjQQnPmh\nn++zBTiCJpWgq2A5ZFmRsjvznFz7Rn+Op9vd+DZQHst7e65l5PrgEqrt0Byc\nEeKTnDZtMfdWeQbbfqmfYEnnsTTLicOMLH9Fwxe6AmJcnMSA7o0Vs9pMjq8F\n/2+ja52wDCEW3d6dWbAhOp0A1+0759v6lRivv19iIaSDiboeV5Gl6PYSyZGa\nM8AYREqMIOImbek6ZQsF5GEkiEB24P3rJDilaQb3NXYCSBAw9IHAfGYovqUq\n3co4fLNa/JH+3Ft0LLX/ILFFmsudCKgLk8yOtx9HG+bkLuK/KZ53tWgP3kxq\nOH83cbmkjXIDGm9uEcydHqyZNy+fKdX8L+F1faGHw/JNEHcIyBGJZACGzw2n\n4oJblSzzpSRhxcSMSA1M5Sne34muEop5qnr3Y2ROg/Nq/EZR9w2JPg/NFqgg\n7q59LSJtKAVt72py6v84WY/RCDZfj1yFUUzFZZ6z+mSVM/Rvq6RI3+Zm88DH\n0SSy\r\n=Xby1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEfRLg567bMthSBAAWkIe/UvcvxU0lb8LgxyHbO5v+BQIhANyiZu/mScLMpvxXJTdr4bYxkFvHUhHX7/Rtfr2qfcYs"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_2.0.1_1529581523041_0.5991905778128157"},"_hasShrinkwrap":false},"2.1.0":{"name":"nohm","version":"2.1.0","description":"redis ORM (Object relational mapper)","lisense":"MIT","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"keywords":["redis","orm","database","pubsub","typescript","odm"],"types":"./tsOut/index.d.ts","files":["docs/index.md","ts/","tsOut/","CHANGELOG.md","README.md","LICENSE"],"scripts":{"test":"nyc node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","coverage:failIfLow":"nyc check-coverage --lines 90 --functions 90 --branches 80","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok","generateDocs":"rimraf docs/api/ && jsdoc -c jsdoc.json","prerelease":"npm run generateDocs","release":"git add docs/api/ && standard-version -a"},"dependencies":{"debug":"^3.1.0","lodash":"^4.17.10","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.3.2"},"devDependencies":{"@types/async":"^2.0.47","@types/debug":"0.0.30","@types/express":"^4.16.0","@types/lodash":"^4.14.112","@types/node":"^10.5.2","@types/redis":"^2.8.4","@types/traverse":"^0.6.31","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.6.0","coveralls":"^3.0.2","docdash":"^0.4.0","eslint":"^5.1.0","jsdoc":"^3.5.5","nodemon":"^1.18.2","nodeunit":"^0.11.3","nyc":"^12.0.2","pkg-ok":"^2.2.0","rimraf":"^2.6.2","standard-version":"^4.4.0","testdouble":"^3.8.1","tslint":"^5.9.1","typescript":"^2.9.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"3179117fa0ac256a7ccee7b42dfd809d4656fe74","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.1.0","_npmVersion":"6.1.0","_nodeVersion":"10.6.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-ytRyvktdeIZu8YkMQUg4/UsBifeZPeo4wtMH3a9eRt1MIPzolJiMFjaPFyM0Zgs++8+egGH6E4qSgJ/VPxxhyQ==","shasum":"b5b02dc0ca40ea0b4b4fcac6ee7a079a61ffd733","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.1.0.tgz","fileCount":66,"unpackedSize":488685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbSfzOCRA9TVsSAnZWagAAQVcP/RxqYJJaxf3w9/r1fFOS\nKeD/KlelStOkWYKR5EwB5g5x28pM3YES6ZyfbNjxzgR/Ie/AZLRJQZ2xu/nl\nXl84zvz9fVfuP4M8VgZ1tyXha0QO1t3+nNko0N+Jkqq0I6YroO+bJ7oLQSZ9\njeKAM9PRmhjhT7Zj2smVSzRcDpRtpnpvze3Pt0PEe6iDmHe+OCPUHIqzUme8\n1aMgDStAMQWIvXNt6CQ915YeRYViWdaGiHYI/ZofjDTbT4dGHZZ/aVzuR84G\ncLIbFppC1gmFJDnMXuzG4BvgyuQrcbl4y9cDSE5Ch9CM5mWOtg077fU8BELw\n3wOMQ761xlcDxEGhN8HomOPgBVqH5qTXdBwu9ANC3P9QBs/SQWZ+naRVsiNn\n4h2aMDhq9lP+nUQfEK5+pXN8u++xjTbMNllLBYG+kHNhVg6LFOAevKdViFR2\nwZeGi7okpb+Sw09xvAign5mT0D0WedaXOBPZJdG7ZmPupskk/4he4YSQzOGg\nBQayBwVlDnDXlw1KXYGPfrLfouYqTc2FP+J/CELmWtKQt7Gwo2OVcynULdeh\nRGXh+VUh3jgLSJ3y43BF+ng7Tn5C+H6s7rcVKS6bmztyCC744Zj1AV+7BnWp\nytkZL+z4GlDJikIjYca/MDsXWpaswDD+USD+3IqHuBfgGFEHQfOR2S8ubJe+\ncB0l\r\n=bDU/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnPGSp5K9NksXyTxW6BR2oWUgO0CCux/1hkzS0c30ljgIgUrhGwpUK/rkjUi7viguj/xTxZkg5PbW69j6N3NDeHDI="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_2.1.0_1531575502896_0.3772278896958723"},"_hasShrinkwrap":false},"2.2.0":{"name":"nohm","version":"2.2.0","description":"redis ORM (Object relational mapper)","lisense":"MIT","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"keywords":["redis","orm","database","pubsub","typescript","odm"],"types":"./tsOut/index.d.ts","scripts":{"test":"nyc node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","coverage:failIfLow":"nyc check-coverage --lines 90 --functions 90 --branches 80","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok","generateDocs":"rimraf docs/api/ && jsdoc -c jsdoc.json","prerelease":"npm run generateDocs","release":"git add docs/api/ && standard-version -a"},"dependencies":{"debug":"^3.1.0","ioredis":"^4.0.0","lodash":"^4.17.10","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.3.2"},"devDependencies":{"@types/async":"^2.0.47","@types/debug":"0.0.30","@types/express":"^4.16.0","@types/ioredis":"^4.0.1","@types/lodash":"^4.14.112","@types/node":"^10.5.2","@types/redis":"^2.8.4","@types/traverse":"^0.6.31","@types/uuid":"^3.4.3","async":"^1.2.1","concurrently":"^3.6.0","coveralls":"^3.0.2","docdash":"^0.4.0","eslint":"^5.1.0","jsdoc":"^3.5.5","nodemon":"^1.18.2","nodeunit":"^0.11.3","nyc":"^12.0.2","pkg-ok":"^2.2.0","rimraf":"^2.6.2","standard-version":"^4.4.0","testdouble":"^3.8.1","tslint":"^5.9.1","typescript":"^2.9.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"398e56f042e673a0a7a7017f71aef4170f60546b","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.2.0","_npmVersion":"6.3.0","_nodeVersion":"10.6.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-SvCSC3uqV4joZL2FDxoo1ODQjMfGdzC5ADFeLIbgGHmwvzkBfh1pYXDJilRi74UGZYem2ClZegg4kLnj2MND2Q==","shasum":"f5952e192bdf74e79962752dfaf424c65540b252","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.2.0.tgz","fileCount":66,"unpackedSize":493464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkkpWCRA9TVsSAnZWagAA/NEQAKOqtnXMOw67NAkWOiV/\n/zw1R9jWHTf7B71KylWfAoT1k9fdszMmdalXhMiTxzWf/OtfDaPgkFa0zfin\noB8QRz4gpXmTAKgUJO5ZQHHLjfn7xQI9gc/Lvu8saUsm9SQlc1Hl9XgOwewK\newEoA0A7VyrRjLHvf5wnyn5FO7q1il1rHAbV4PI+gnCiK7Nil3DdtLb7dZfz\n/lpHS+LohhqloTE44k31UtSzcVsk0AS7+chBljVxWW/1QLvo4VvYgcyZLpmD\nHqY4HTUEjjqC4jSiCsne96fsHXG4rrodHIz1if/ipe+UhIJO5Fjp7eSKLUy0\nopTT1GCu1KEPpGj9IejdOtigzH5rnNaAQhP3NBR9uJ0l0PbQW8cpTQ2sHb4Q\nnmrmVRoH10gt9JdWA9SwtKvQYNrB8+WVTrW2XviuHDgAXMtTPUTatkG+b0Q9\nWSk4e9n8efG5ZtIFd6MBojvvT9bxyQ17qV5p+YIW6RQreDkpF/38PQKmst74\ni0L1ZgV3vC9rgPfRjl+Zo9nW5Z23sHWZ11x2ceLBMY8jIbZ/QbfoThSGDmSI\n6EtDndMvkVQps+e4KTxI8kZS9QNo7k4xuHZ4sgAyf3Z8KQpoaXpcxczo+0Hn\nbTTLhoM+xIA1Ntm+mlOSs1KO+eZb2ClthxlXEYLDLXwLeWnGiVUsgFwtxKEy\ny3AV\r\n=VCuS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvb06yNGuz5Xk1IxETsYjWqof4In+jJZqVBA8KAH49XwIhALFS0oRtgnj6OWxgR10c4BbaYc6HjdHCVSuqlDtM8N1h"}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_2.2.0_1536313942189_0.03612935360543812"},"_hasShrinkwrap":false},"2.2.1":{"name":"nohm","version":"2.2.1","description":"redis ORM (Object relational mapper)","lisense":"MIT","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"keywords":["redis","orm","database","pubsub","typescript","odm"],"types":"./tsOut/index.d.ts","scripts":{"test":"nyc node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","coverage:failIfLow":"nyc check-coverage --lines 90 --functions 90 --branches 80","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok","generateDocs":"rimraf docs/api/ && jsdoc -c jsdoc.json","prerelease":"npm run generateDocs","release":"git add docs/api/ && standard-version -a"},"dependencies":{"debug":"^4.1.1","ioredis":"^4.3.0","lodash":"^4.17.11","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.3.2"},"devDependencies":{"@types/async":"^2.0.50","@types/debug":"0.0.31","@types/express":"^4.16.0","@types/ioredis":"^4.0.4","@types/lodash":"^4.14.119","@types/node":"^10.12.18","@types/redis":"^2.8.10","@types/traverse":"^0.6.32","@types/uuid":"^3.4.4","async":"^1.2.1","concurrently":"^4.1.0","coveralls":"^3.0.2","docdash":"^1.0.1","eslint":"^5.11.1","jsdoc":"^3.5.5","nodemon":"^1.18.9","nodeunit":"^0.11.3","nyc":"^13.1.0","pkg-ok":"^2.3.1","rimraf":"^2.6.2","standard-version":"^4.4.0","testdouble":"^3.9.1","tslint":"^5.12.0","typescript":"^3.2.2"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"gitHead":"520eee5478d2c0f5de2739075b9a0740757b0605","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.2.1","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"dist":{"integrity":"sha512-KzpdUlwCicYiOHCKGgo+BpClyqlJuRsxEkr6ommgiG2Uay2iZTgGmWmaSgm3c9sTmspsLt1AErQBP7YBr2Idfg==","shasum":"9ea47068ecb058d63d0332bdcf7d1d1404bb60a6","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.2.1.tgz","fileCount":66,"unpackedSize":496141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKMorCRA9TVsSAnZWagAAvhAP/RxfXPJcxeZrFyoGlRh8\n1BYlrfzXZpFR4yDH0i1oNI2TilKfNUr1Ib8OLQvM0u0jOqWHWFUnou4Qusss\nA74Pjcq5td9Sc/diTIRDX0SaC8ntG3p/zqsuHehYMoFxemW0pSAxobwKDhj+\n23Y4fLGBMDWjg3yZAZVGRRSKzolU525J/JyrwK8hCKO++mtMGKYGpXaacfWd\nksrICM2GscmxC5Z84fxmM4boo6kbuXkNzkE4qR3Jc8fwLiSgr3D7qRS1uIBK\nrRwZVcj0MfZ1RM5A+6n1nsNXFiHzpoTO9STEqo16YvtChsrMdBXKOP615zka\nuV49JNqru7N2vLGvEBd9sL5w+LZMVxasLZp3Bl9DDciCAtxqd4zZXMpBir0a\nXDAL9w+BJkFpsuXkx2lSlJ08Xma1fF8ssZFpdynyIFebNs+QQzljjG+WFiJU\nZOz8ckr85bWgfFhK9w43J+33XCGSSQ7t0tsLL8jAMZ/j5mrPFORAKgAI8l3U\nbtGuAV/k1dxmULeyOHk1MbBDJgslmlGgGGhWxIF1GheUdkyLh2WREDWhBBJl\nqEpI0imcKvPmOFKyR07SyOCALQv5Ncf0DIb+9j4oKrg3E6E+zTjDYsr6sTJy\nvNwPYzlFm0KYOr13xylG+SaBU2CLJ+fqxDSFWlrGOGAp2NnFuXOUc9QUe9rL\n2gy/\r\n=OkPH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCd3HWlosMPekM6AvlUKi/xkw1ucuivJpQDXEaJAYMYagIgQX0shUDjslwVTivWmId4RQ0WiGJpdjeQQa1WLb/9nUI="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_2.2.1_1546177066682_0.5107746190362621"},"_hasShrinkwrap":false},"2.2.2":{"name":"nohm","version":"2.2.2","description":"redis ORM (Object relational mapper)","lisense":"MIT","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"keywords":["redis","orm","database","pubsub","typescript","odm"],"types":"./tsOut/index.d.ts","scripts":{"test":"nyc node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","coverage:failIfLow":"nyc check-coverage --lines 90 --functions 90 --branches 80","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok","generateDocs":"rimraf docs/api/ && jsdoc -c jsdoc.json","prerelease":"npm run generateDocs","release":"git add docs/api/ && standard-version -a"},"dependencies":{"debug":"^4.1.1","ioredis":"^4.9.5","lodash":"^4.17.11","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.3.2"},"devDependencies":{"@types/async":"^2.4.2","@types/debug":"^4.1.4","@types/express":"^4.16.1","@types/ioredis":"^4.0.11","@types/lodash":"^4.14.133","@types/node":"^12.0.4","@types/redis":"^2.8.13","@types/traverse":"^0.6.32","@types/uuid":"^3.4.4","async":"^1.2.1","concurrently":"^4.1.0","coveralls":"^3.0.3","docdash":"^1.1.1","eslint":"^5.16.0","jsdoc":"^3.6.2","nodemon":"^1.19.1","nodeunit":"^0.11.3","nyc":"^14.1.1","pkg-ok":"^2.3.1","rimraf":"^2.6.3","standard-version":"^6.0.1","testdouble":"^3.11.0","tslint":"^5.17.0","typescript":"3.4.5"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"standard-version":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Other"},{"type":"docs","hidden":true},{"type":"style","hidden":true},{"type":"refactor","hidden":true},{"type":"perf","section":"Other"},{"type":"test","hidden":true}]},"gitHead":"c22b4916fca29fb7baba73082b9880ffc59c24e3","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.2.2","_nodeVersion":"12.3.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-bj4q9g3rAWR+d3vqEEOCrwFt0+gRLEcO2dhmH9ZCAIOeAlmCXScnfc4zh/S3NxsxvWCvREMc5SSkKVLjUlBYdw==","shasum":"cd85eecfa834d009c2d9f3c52b113cc4756ca105","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.2.2.tgz","fileCount":66,"unpackedSize":500642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc87S5CRA9TVsSAnZWagAA708P/j4aQQU/HOq5+fYs7sFE\n6XZ+7F+4XiRM0tEhQMybDYd/Nnpyx1ButXzqyZSDT4dYpLL9AdDmD1uSrvYE\nEZUBDFBZ91gSc3C8PSyz0q5LSgxCa7HzcIUnfa65CXNthp5KW5DbkMxmS6eX\nuKngl7aGRJAqJNkD+HcJ9FZxBapOFueKYdcbkRudjfnU5KbNUQmvrLF3CMay\nMY9WXy8NirGsSDNzDuMpKz4igPb2Lk22gCSbjuzZdHqG754mtH5pwYIgy0Ql\nRrXRJPCQzLU/iIIHrxPMdR+aRXld6/Pr9xBxZEZUC8RDJkHwYmbiCj1LdqbL\nXrcpc8IrQ52zzo764TYpplx9Mxp0jdE5FXrGjNpbkJ+2ylfdfXsZGIZQ0UB0\na08OCom/SSUEy1x14SJXpcYqDgCUTm8iiAixhXcEe5zHkN3t0SATII+I9lo2\nfI3WtlIL8qVI/wc9tMeLGaEGMtrkd4TAIzAgXRTXpqbMITR1WKoxFviwx3Dx\nGZY7InMQYhs73wFG864SbGq5NAwsE6N4gU/+hB9pG7EGRp3xSI/yFkkdEmRj\nM0dVIs7j7w/RXvcJtjRohs2bUpaW0CsiWSYWD9Vd0Dmvwjv9LUfVNzkiro/Z\nR0HUxYLsOcpiHKFpSlwfIdTMT3oPmNG+HcYPDWf7px2zbVT9O4lLXRR/TU3w\nbpIh\r\n=/tYX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBpcRPjLGOBKwZ6rnsYpCfHUxbLOqxEhtV4k9ZjXEGYeAiEAlSANRmg43l85hZSMZntrXAaXTFgTPEGheIy2f6rSX+A="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_2.2.2_1559475385207_0.19937678544020843"},"_hasShrinkwrap":false},"2.2.3":{"name":"nohm","version":"2.2.3","description":"redis ORM (Object relational mapper)","lisense":"MIT","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"keywords":["redis","orm","database","pubsub","typescript","odm"],"types":"./tsOut/index.d.ts","scripts":{"test":"nyc node test/tests.js","test:watch":"nodemon -w test/ -w tsOut/ test/tests.js","coverage:failIfLow":"nyc check-coverage --lines 90 --functions 90 --branches 80","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue","prepublishOnly":"npm run build && npm run test && pkg-ok","generateDocs":"rimraf docs/api/ && jsdoc -c jsdoc.json","prerelease":"npm run generateDocs","release":"git add docs/api/ && standard-version -a"},"dependencies":{"debug":"^4.1.1","ioredis":"^4.9.5","lodash":"^4.17.11","redis":"^2.8.0","traverse":"^0.6.6","uuid":"^3.3.2"},"devDependencies":{"@types/async":"^2.4.2","@types/debug":"^4.1.4","@types/express":"^4.16.1","@types/ioredis":"^4.0.11","@types/lodash":"^4.14.133","@types/node":"^12.0.4","@types/redis":"^2.8.13","@types/traverse":"^0.6.32","@types/uuid":"^3.4.4","async":"^1.2.1","concurrently":"^4.1.0","coveralls":"^3.0.3","docdash":"^1.1.1","eslint":"^5.16.0","jsdoc":"^3.6.2","nodemon":"^1.19.1","nodeunit":"^0.11.3","nyc":"^14.1.1","pkg-ok":"^2.3.1","rimraf":"^2.6.3","standard-version":"^6.0.1","testdouble":"^3.11.0","tslint":"^5.17.0","typescript":"3.4.5"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"standard-version":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Other"},{"type":"docs","hidden":true},{"type":"style","hidden":true},{"type":"refactor","hidden":true},{"type":"perf","section":"Other"},{"type":"test","hidden":true}]},"gitHead":"720ebccf8c05d19929c78c7854ddc4186183efa1","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@2.2.3","_nodeVersion":"12.13.1","_npmVersion":"6.13.2","dist":{"integrity":"sha512-Nlj/zyd5DdBr8SvpKNWwMaU0ZoiHH9uXQb+OfptWXPvLaf7HnSZYYXP/Iv4C8LWYKpYQr6nM51W1x8zLIQ0dCg==","shasum":"8bb4175782797a091483c89fbb286790d750e30c","tarball":"https://registry.npmjs.org/nohm/-/nohm-2.2.3.tgz","fileCount":66,"unpackedSize":501150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6+c6CRA9TVsSAnZWagAAmeMP/RM3HYl3qC1ZBB/qFP0+\nk9olmV23MYc9E6M6STDjCz0QLllbzkaoTRk1aKGRe5nUVyBSNauIgVUi9i5B\njs8O7mwIjn4mFn4TioWCrafNfH7aID77HOdJCEugiyPw8/nnOwzBZSzo5s+6\nDuaAGCrVf3tR+J79dOVWptnxLzRStS2gs63Mfsz4juj850s7bLfYQdqpQTsn\n0s35IhmDYPK2Im17DJlyN0VnPdDLKOxEEJt4OLQ9NcDq4Tk7Dxr9dL53RKDG\no5J1rLWpKn4y6en9jZnKMINGv08c4XFcdtqjEGnFMwlTO+XAFteiK3iCHRpu\nS+qH2X9hIKPq8VlZSVvf1ro48J/xIAoc2TtfCHLPGs+hVSvR2WJ3D+nwBJHX\nkZhumd+YWuwNJqw4sk+3BLNP7TYtlgbPAsyHvB/Net6oiI2OqLyk8/8E4oo2\nqJVDw1wp5raDJ8LmwEg0vVkY7n4AxUup4d5rTkoMjhNrnbGH+L20iozIwWVD\ngmDcv4YC8xqImtUeI6v9OU6yuicpEAKBNjREdae7JhuFBNJAUoZwIw10EIga\nJh105zUXU2OPlZQg9jvtP7/MAMhh3X/nSCJucyRZEreCUUOGPpBZ5V26/Sjc\np6K8ohz49hZabDV0RbJqs9ZsSxoUkKMo9KZ7b06qnSJQ0kR7BpOGjjlUy1Ds\nGSUg\r\n=YwEY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEGP8/jxtkILnEfyDiVsUW/2R1Ty4DyPrdudeUvSrVLDAiEA7Mc8F0IQrP02+qCKfvL0B236NmOHee8F5/ygDZNI654="}]},"maintainers":[{"name":"maritz","email":"moritz@mpeters.biz"}],"_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_2.2.3_1575741241485_0.4899829534985185"},"_hasShrinkwrap":false},"3.0.0":{"name":"nohm","version":"3.0.0","description":"redis ORM (Object relational mapper)","license":"MIT","engines":{"node":">=8"},"main":"./tsOut/index.js","directories":{"lib":"./ts"},"keywords":["redis","orm","database","pubsub","typescript","odm"],"types":"./tsOut/index.d.ts","scripts":{"test":"nyc ava --timeout=20s","test:watch":"ava --watch --timeout=5s","coverage:failIfLow":"nyc check-coverage --lines 90 --functions 90 --branches 80","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls","lint":"tslint --project ./ && eslint test/ ts/universalValidators.js","lint:auto-fix":"tslint--project ./ --fix","prebuild":"rimraf tsOut/","build":"npm run lint && tsc --project ./","build:watch":"tsc --project ./ --watch --pretty","predev":"npm run build","dev":"concurrently --names build,test -k \"npm run build:watch\" \"npm run test:watch\" -c cyan,blue --handle-input","prepublishOnly":"npm run build && npm run test && pkg-ok","generateDocs":"rimraf docs/api/ && jsdoc -c jsdoc.json","prerelease":"npm run generateDocs","release":"git add docs/api/ && standard-version -a"},"dependencies":{"debug":"^4.3.3","ioredis":"^4.28.5","lodash":"^4.17.11","redis":"^3.0.2","traverse":"^0.6.6","uuid":"^8.3.2"},"devDependencies":{"@abraham/pkg-ok":"^3.0.0-next.2","@types/debug":"^4.1.7","@types/express":"^4.17.13","@types/ioredis":"^4.28.8","@types/lodash":"^4.14.179","@types/node":"<=14.15.0","@types/redis":"^2.8.28","@types/traverse":"^0.6.32","@types/uuid":"^8.3.4","ava":"^4.0.1","concurrently":"^7.0.0","coveralls":"^3.1.1","docdash":"^1.2.0","eslint":"^8.10.0","jsdoc":"^3.6.10","nodemon":"^2.0.15","nyc":"^15.1.0","rimraf":"^3.0.2","standard-version":"^9.3.2","testdouble":"^3.16.4","ts-node":"^10.5.0","tslint":"^6.1.3","typescript":"3.4.5"},"author":{"name":"Moritz Peters"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"bugs":{"url":"https://github.com/maritz/nohm/issues"},"contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"ava":{"extensions":["ts"],"files":["test/*.test.ts","ts/typescript.test.ts"],"require":["ts-node/register/transpile-only"]},"standard-version":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Other"},{"type":"docs","hidden":true},{"type":"style","hidden":true},{"type":"refactor","hidden":true},{"type":"perf","section":"Other"},{"type":"test","hidden":true}]},"gitHead":"e6edf38d061a8f7f5ffd32b3f4c88b2c5e9d6cd6","homepage":"https://github.com/maritz/nohm#readme","_id":"nohm@3.0.0","_nodeVersion":"17.3.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-RGhLtEq3n529qKizwWb6pWiIkp6NgtiGLRgz13Ws0nff6kKYUGzhFHpUbf/jZOcp7fAJi5HyUrYiHNz5/06gqg==","shasum":"f85d223d53789122eee10b0f379ddc2e2aabe9a4","tarball":"https://registry.npmjs.org/nohm/-/nohm-3.0.0.tgz","fileCount":61,"unpackedSize":479133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHV/HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJuw/+IUVYcff7fzcBrGROofIHMVM/vnHIhWZ+ND/ccu0cc9jm/rXy\r\nk/MOoZdnY5n44fbHmJ+Xq8qO8FGiao1e3Pc/GHLHftj0hfJtPm6cjZuWapmn\r\n7gDvdji8DIUxSHyLC5Erun4CCzmnA7ozo+DBlz0ewP/H+s6l4JTAwflDMq1W\r\nZZwLaQov9MiS9qhbfy48fg3GREEEsPpdxIfzP8+kUj4/uUqAqidyooJVVSTx\r\njYgmPSewLf36hncPlnUM1BeNv0m5NBogbJ2MlED70Z3XR80mZTLQlxznFbwJ\r\naitFuMI7k6K8DZ7ihLJ4z338nfFe/Eukxv4dX6hexpPXjvBtt/yx8HcgmktR\r\nul5f1heNjzMsVfS/9OXoBGPf3cOzxA/f6wNlPR+5s7JXxexz5WGVOddZexsH\r\nMpbOXQr/KyxFYK3a4bxSxLw/tOAJ4xDHiSGJ/v0qXY7aqHQu8t1r2TUY7twg\r\ng27qTlY2ziBc6FugM3YpQMGmYK+IDZ4uztQs7WVXOAMo4GJWDePqvxY+9jIA\r\nF8PqirE9OamLA5Nf/kR7TPulyySArO0GMOM5tZ4m7/Hi7y931iiGgfojSBET\r\n4hfY7HY8sxg3ogJB0tGigpup43htnV3S7lc+gZN0m73TL5krLfG2mallOZQh\r\n+E2Gw8VwwN8fW3WPwc1TcgnWap1eMPl0tac=\r\n=bHi9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICEXyLPLvPCbYAlKL0ehV5Utyg81Kqs3xYu8kcJNuxynAiAbW6YTsdhHxJMKQd6r6JWNvjBH2RS+TN6LRlDkn2706g=="}]},"_npmUser":{"name":"maritz","email":"maritz.peters@gmail.com"},"maintainers":[{"name":"maritz","email":"maritz.peters@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nohm_3.0.0_1646092231476_0.1722553584924782"},"_hasShrinkwrap":false}},"maintainers":[{"name":"maritz","email":"maritz.peters@gmail.com"}],"author":{"name":"Moritz Peters"},"time":{"modified":"2022-06-22T04:32:51.128Z","created":"2011-01-31T18:05:53.946Z","0.1.0":"2011-12-07T21:27:40.746Z","0.1.1":"2011-12-07T21:27:40.746Z","0.1.2":"2011-12-07T21:27:40.746Z","0.1.3":"2011-12-07T21:27:40.746Z","0.1.6admin":"2011-12-07T21:27:40.746Z","0.1.6admin-conductorfix":"2011-12-07T21:27:40.746Z","0.1.7admin":"2011-12-07T21:27:40.746Z","0.1.8admin":"2011-12-07T21:27:40.746Z","0.1.9admin":"2011-12-07T21:27:40.746Z","0.1.10admin":"2011-12-07T21:27:40.746Z","0.2.0":"2011-12-07T21:27:40.746Z","0.2.1":"2011-12-07T21:27:40.746Z","0.3.0":"2011-12-07T21:27:40.746Z","0.4.0":"2011-12-07T21:27:40.746Z","0.5.0":"2011-12-07T21:27:40.746Z","0.6.0":"2011-12-07T21:27:40.746Z","0.6.1":"2011-12-07T21:27:40.746Z","0.6.2":"2011-11-09T21:35:15.409Z","0.6.3":"2011-11-22T12:02:37.856Z","0.6.4":"2011-11-27T16:21:20.455Z","0.7.0":"2011-12-07T21:27:40.746Z","0.7.1":"2011-12-09T11:53:40.079Z","0.7.2":"2012-01-19T14:47:25.772Z","0.8.0":"2012-02-01T14:14:36.470Z","0.9.0-pre":"2012-03-14T15:01:09.468Z","0.9.0-pre2":"2012-03-19T23:18:15.666Z","0.9.0-pre3":"2012-04-02T22:56:19.172Z","0.9.0-pre3fixed":"2012-04-02T23:10:50.984Z","0.9.0":"2012-06-06T15:04:28.341Z","0.9.1":"2012-08-21T06:46:43.286Z","0.9.2":"2012-12-04T16:42:36.559Z","0.9.2hotfix":"2012-12-04T17:01:21.192Z","0.9.3":"2012-12-05T08:11:29.927Z","0.9.4":"2013-07-05T22:07:12.769Z","0.1.6-admin":"2014-01-25T06:48:30.258Z","0.1.6-admin-conductorfix":"2014-01-25T06:48:30.258Z","0.1.7-admin":"2014-01-25T06:48:30.258Z","0.1.8-admin":"2014-01-25T06:48:30.258Z","0.1.9-admin":"2014-01-25T06:48:30.258Z","0.1.10-admin":"2014-01-25T06:48:30.258Z","0.9.2-hotfix":"2014-01-25T06:48:30.258Z","0.9.5":"2014-01-25T06:48:30.258Z","0.9.6":"2014-09-05T21:32:59.827Z","0.9.7":"2015-06-10T13:15:06.975Z","0.9.8":"2016-02-06T20:17:31.481Z","1.0.0-alpha.1":"2017-12-05T22:32:40.437Z","1.0.0-alpha.2":"2017-12-06T19:18:41.631Z","1.0.0-alpha.3":"2017-12-19T06:37:26.543Z","1.0.0-alpha.4":"2018-01-01T14:09:11.883Z","1.0.0-alpha.5":"2018-01-11T16:46:50.051Z","2.0.0-alpha.6":"2018-01-15T16:38:20.711Z","2.0.0-alpha.7":"2018-01-17T17:38:25.973Z","2.0.0-alpha.8":"2018-02-04T08:47:45.414Z","2.0.0-alpha.9":"2018-02-04T08:51:40.919Z","1.0.0":"2018-05-25T12:28:19.666Z","2.0.0-alpha.10":"2018-05-25T17:34:26.726Z","2.0.0-alpha.11":"2018-05-26T18:47:13.068Z","2.0.0-alpha.12":"2018-06-01T12:07:15.345Z","2.0.0-alpha.13":"2018-06-08T20:18:11.481Z","1.1.0-breaking":"2018-06-08T20:29:36.430Z","2.0.0":"2018-06-10T14:10:15.402Z","2.0.1":"2018-06-21T11:45:23.102Z","2.1.0":"2018-07-14T13:38:22.954Z","2.2.0":"2018-09-07T09:52:22.314Z","2.2.1":"2018-12-30T13:37:46.809Z","2.2.2":"2019-06-02T11:36:25.308Z","2.2.3":"2019-12-07T17:54:01.639Z","3.0.0":"2022-02-28T23:50:31.728Z"},"repository":{"type":"git","url":"git+https://github.com/maritz/nohm.git"},"readme":"# Nohm\n\n[![Known Vulnerabilities (Snyk)](https://snyk.io/test/github/maritz/nohm/badge.svg)](https://snyk.io/test/github/maritz/nohm)\n[![Coverage Status](https://coveralls.io/repos/github/maritz/nohm/badge.png?branch=master)](https://coveralls.io/github/maritz/nohm?branch=master)\n\n## Description\n\nNohm is an object relational mapper (ORM) written for node.js and redis written in Typescript.\n\n### Features\n\n- **Standard ORM features (validate, store, search, sort, link/unlink, delete)**\n- **Share validations with browser.**  \n  Allows using the same code for client validations that is used for backend. Includes filtering which validations are shared.\n- **Subscribe to orm events (save, delete, link, unlink)**  \n  With this you can do things like socket connections to get live updates from stored models.  \n  Since it uses redis PUBSUB you can scale your node app and clients can connect to separate node app instances but will still get the same live updates.\n- **Typescript typings**  \n  nohm is written in Typescript and thus provides first-class typings for most things, including the option to type your model properties. This means if you use Typescript you don't have to remember every single property name of each model anymore, your IDE can tell you.\n- **Dynamic relations**  \n  This is a double-edged sword. Usually ORMs describe relations statically and you have to do database changes before you can add new relations.  \n  In nohm all relations are defined and used at run-time, since there are no schemas stored in the database.\n\n## Requirements\n\n- redis >= 2.4\n\n## Documentation\n\n[v2 documentation](https://maritz.github.io/nohm/index.html)\n\n[API docs](https://maritz.github.io/nohm/api/index.html)\n\n[v1 documentation](http://maritz.github.com/nohm/)\n\n[v1 to v2 migration guide](https://github.com/maritz/nohm/blob/master/CHANGELOG.md#v200-currently-in-alpha)\n\n## Example\n\nThe [examples/rest-user-server](https://github.com/maritz/nohm/tree/master/examples/rest-user-server) is running as a demo on [https://nohm-example.maritz.space](https://nohm-example.maritz.space). It showcases most features on a basic level, including the shared validation and PubSub.\n\n<details>\n\n<summary>Example ES6 code (click to expand)</summary>\n\n```javascript\nimport { Nohm, NohmModel, ValidationError } from 'nohm';\n// or if your environment does not support module import\n// const NohmModule = require('nohm'); // access NohmModule.Nohm, NohmModule.NohmModel and NohmModule.ValidationError\n\n// This is the parent object where you set redis connection, create your models and some other configuration stuff\nconst nohm = Nohm;\n\nnohm.setPrefix('example'); // This prefixes all redis keys. By default the prefix is \"nohm\", you probably want to change it to your applications name or something similar\n\n// This is a class that you can extend to create nohm models. Not needed when using nohm.model()\nconst Model = NohmModel;\n\nconst existingCountries = ['Narnia', 'Gondor', 'Tatooine'];\n\n// Using ES6 classes here, but you could also use the old nohm.model definition\nclass UserModel extends Model {\n  getCountryFlag() {\n    return `http://example.com/flag_${this.property('country')}.png`;\n  }\n}\n// Define the required static properties\nUserModel.modelName = 'User';\nUserModel.definitions = {\n  email: {\n    type: 'string',\n    unique: true,\n    validations: ['email'],\n  },\n  country: {\n    type: 'string',\n    defaultValue: 'Narnia',\n    index: true,\n    validations: [\n      // the function name will be part of the validation error messages, so for this it would be \"custom_checkCountryExists\"\n      async function checkCountryExists(value) {\n        // needs to return a promise that resolves to a bool - async functions take care of the promise part\n        return existingCountries.includes(value);\n      },\n      {\n        name: 'length',\n        options: { min: 3 },\n      },\n    ],\n  },\n  visits: {\n    type: function incrVisitsBy(value, key, old) {\n      // arguments are always string here since they come from redis.\n      // in behaviors (type functions) you are responsible for making sure they return in the type you want them to be.\n      return parseInt(old, 10) + parseInt(value, 10);\n    },\n    defaultValue: 0,\n    index: true,\n  },\n};\n\n// register our model in nohm and returns the resulting Class, do not use the UserModel directly!\nconst UserModelClass = nohm.register(UserModel);\n\nconst redis = require('redis').createClient();\n// wait for redis to connect, otherwise we might try to write to a non-existent redis server\nredis.on('connect', async () => {\n  nohm.setClient(redis);\n\n  // factory returns a promise, resolving to a fresh instance (or a loaded one if id is provided, see below)\n  const user = await nohm.factory('User');\n\n  // set some properties\n  user.property({\n    email: 'mark13@example.com',\n    country: 'Gondor',\n    visits: 1,\n  });\n\n  try {\n    await user.save();\n  } catch (err) {\n    if (err instanceof ValidationError) {\n      // validation failed\n      for (const key in err.errors) {\n        const failures = err.errors[key].join(`', '`);\n        console.log(\n          `Validation of property '${key}' failed in these validators: '${failures}'.`,\n        );\n\n        // in a real app you'd probably do something with the validation errors (like make an object for the client)\n        // and then return or rethrow some other error\n      }\n    }\n    // rethrow because we didn't recover from the error.\n    throw err;\n  }\n  console.log(`Saved user with id ${user.id}`);\n\n  const id = user.id;\n\n  // somewhere else we could then load the user again\n  const loadedUser = await UserModelClass.load(id); // this will throw an error if the user cannot be found\n\n  // alternatively you can use nohm.factory('User', id)\n\n  console.log(`User loaded. His properties are %j`, loadedUser.allProperties());\n  const newVisits = loadedUser.property('visits', 20);\n  console.log(`User visits set to ${newVisits}.`); // Spoiler: it's 21\n\n  // or find users by country\n  const gondorians = await UserModelClass.findAndLoad({\n    country: 'Gondor',\n  });\n  console.log(\n    `Here are all users from Gondor: %j`,\n    gondorians.map((u) => u.property('email')),\n  );\n\n  await loadedUser.remove();\n  console.log(`User deleted from database.`);\n});\n```\n\n</details>\n\n<details>\n\n<summary>Example Typescript code (click to expand)</summary>\n\n```typescript\nimport { Nohm, NohmModel, TTypedDefinitions } from 'nohm';\n\n// We're gonna assume the basics are clear and the connection is set up etc. - look at the ES6 example otherwise.\n// This example highlights some of the typing capabilities in nohm.\n\ninterface IUserProperties {\n  email: string;\n  visits: number;\n}\n\nclass UserModel extends NohmModel<IUserProperties> {\n  public static modelName = 'User';\n\n  protected static definitions: TTypedDefinitions<IUserProperties> = {\n    // because of the TTypedDefinitions we can only define properties keys here that match our interface keys\n    // the structure of the definitions is also typed\n    email: {\n      type: 'string', // the type value is currently not checked. If you put a wrong type here, no compile error will appear.\n      unique: true,\n      validations: ['email'],\n    },\n    visits: {\n      defaultValue: 0,\n      index: true,\n      type: function incrVisitsBy(value, _key, old): number {\n        return old + value; // TS Error: arguments are all strings, not assignable to number\n      },\n    },\n  };\n\n  public getVisitsAsString(): string {\n    return this.property('visits'); // TS Error: visits is number and thus not assignable to string\n  }\n\n  public static async loadTyped(id: string): Promise<UserModel> {\n    // see main() below for explanation\n    return userModelStatic.load<UserModel>(id);\n  }\n}\n\nconst userModelStatic = nohm.register(UserModel);\n\nasync function main() {\n  // currently you still have to pass the generic if you want typing for class methods\n  const user = await userModelStatic.load<UserModel>('some id');\n  // you can use the above defined loadTyped method to work around that.\n\n  const props = user.allProperties();\n  props.email; // string\n  props.id; // any\n  props.visits; // number\n  props.foo; // TS Error: Property foo does not exist\n  user.getVisitsAsString(); // string\n}\n\nmain();\n```\n\n</details>\n\n### More detailed examples\n\n- [nohm/examples/rest-user-server](https://github.com/maritz/nohm/tree/master/examples/rest-user-server)\n- [Beauvoir](https://github.com/yuchi/Beauvoir) Simple project management app - by yuchi (uses node v0.6 - very old)\n\nDo you have code that should/could be listed here? Message me!\n\n## Add it to your project\n\n    npm install --save nohm\n\n## Debug\n\nNohm uses the [debug](https://github.com/visionmedia/debug) module under the namespace \"nohm\". To see detailed debug logging set the environment variable DEBUG accordingly:\n\n    DEBUG=\"nohm:*\" node yourApp.js\n\nAvailable submodule debug namespaces are `nohm:index`, `nohm:model`, `nohm:middleware`, `nohm:pubSub` and `nohm:idGenerator`.\n\n## Developing nohm\n\nIf you want to make changes to nohm, you can fork or clone it. Then install the dependencies:\n\n    npm install\n\nand run the development scripts (compile & watch & tests):\n\n    npm run dev\n\nWhen submitting PRs, please make sure that you run the linter and that everything still builds fine.\nThe easiest way to do that is to run the `prepublishOnly` script:\n\n    npm run prepublishOnly\n\n## Running tests\n\nBuild the javascript files:\n\n    npm run build\n\nThen run the tests:\n\n    npm run test\n    # or\n    npm run test:watch\n\nThis requires a running redis server. (you can configure host/port with the command line arguments --redis-host 1.1.1.1 --redis-port 1234)\n\n**WARNING**: The tests also create a lot of temporary keys in your database that look something like this:\n\n    nohmtestsuniques:something:something\n\nAfter the tests have run all keys that match the pattern nohmtests\\* are deleted!\n\nYou can change the prefix (\"nohmtests\") part doing something like\n\n    node test/tests.js --nohm-prefix YourNewPrefix\n\nNow the keys will look like this:\n\n    YourNewPrefixuniques:something:something\n","readmeFilename":"README.md","homepage":"https://github.com/maritz/nohm#readme","contributors":[{"name":"Pier Paolo Ramon","url":"https://github.com/yuchi"}],"bugs":{"url":"https://github.com/maritz/nohm/issues"},"keywords":["redis","orm","database","pubsub","typescript","odm"],"license":"MIT"}