{"_id":"seraph-model","_rev":"136-b1aa4c2a41343a96eac795c4d9d8df3c","name":"seraph-model","description":"model layer for seraph/neo4j","dist-tags":{"latest":"0.10.1"},"versions":{"0.1.1":{"name":"seraph-model","version":"0.1.1","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3"},"devDependencies":{"mocha":"*"},"_id":"seraph-model@0.1.1","dist":{"shasum":"d3b2bbb7b6e0f64883ba4c4ce75dc0469f5932c3","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.1.1.tgz","integrity":"sha512-llRWrYtGVeql8wbxF9hBgFxy+uBKm++FSEtQyLfRfMVKfjGeoI0ojJRKobuQH1lMRDJeOnxHk3LVrFzfkq1MWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHX/vRvVM05RI0Lq8LFEpZrXvERv5nW/2j/m3bh63Tw+AiEAjzGq3vZtPO6YYw8Ry71nnUnzw0PlU/COKnS/x794j8I="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.2.0":{"name":"seraph-model","version":"0.2.0","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3"},"devDependencies":{"mocha":"*"},"_id":"seraph-model@0.2.0","dist":{"shasum":"4888226377887af44d14bf407b5183943dc03585","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.2.0.tgz","integrity":"sha512-s3MoQqJsy3fo0IUNETYZ8ZwB8VX3BAQ8Y+oOOY6t+uswOSpE3uZsiA+BGlqhZ5yi6695ECnrOwlH6zdwd0mQGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCutRX8j2bTwjM7mtqjJUnQJOMMc8pzPwBch72XMSFwcwIhAPu1l85Pi1A1khRewgqK+N00eQ4Q2zjSLjWkQsodJoR8"}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.2.1":{"name":"seraph-model","version":"0.2.1","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.2.1","dist":{"shasum":"629d2ddc94666495c985d89b7dec94ce3f713359","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.2.1.tgz","integrity":"sha512-YzYRDrulaq+7yTE0zorgrgoS3A/jb7luhmOwYNe3ohwctSigb+S/3Dfd4NfoT+HpJSqRKLysx1be6PYl7jDTrw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAgyUJHVyF/jJPIkhjtxUsXC86DzP6jeeF+17z1SNn9BAiAnka0KYK7NpzTuCYSkxs/TfYP82QoZvlgB9rIW47YeXQ=="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.2.2":{"name":"seraph-model","version":"0.2.2","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.2.2","dist":{"shasum":"d737123c4ec9f88e92b6af0860a2c3ab2f8a0cbf","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.2.2.tgz","integrity":"sha512-hW1+X/6Ji9pmyFV68q7cydKHWNAlkIgnJ7RjvT4U5OOM8kjfnDnv35m3E9fwxFid85gIm0enaucwifp51Gxpcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFzWeJRwzG2svJ7epImW8h1x5vZtxhuVwkGLhqaKt59oAiAtY9AfiI/kuEOjEmC831M2lkoV530JsypgFsbwjXIoiQ=="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.0":{"name":"seraph-model","version":"0.3.0","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.0","dist":{"shasum":"7c81acf45b5033aeff2abd9ee89099418dcb7d74","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.0.tgz","integrity":"sha512-/4vqAMV0U0daznEnsFuvbzh2AmGsco+qPVzAHIXu3m85RGLzEdftw/0I5jDn1HWyIvg2Hrt0JiBZuEzdD3TRJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHYKfriOd85N38Lr/H2JtIx33mHP4pdrOfYrfNxtx59UAiEAwg55AvqdQDS2TdjrPTNuBxCNXp1oduxy//CE8JQbcqk="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.1":{"name":"seraph-model","version":"0.3.1","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8","collect":"~0.3.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.1","dist":{"shasum":"948aaa04204179738e62524c073ec981a8e3eb62","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.1.tgz","integrity":"sha512-zddgYSTvcshKm9BKswzMXr8bVaR+nttxDoKaqcU3o7vIAq3Y2eogwxTmXDlClRjIq2WobEv/NaPsiqJPh0+2Fg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEOkdX+ZnBa4tQ9CLSwnaQwFMCUnFawjs/3E3f37IxD+AiBBc9CsWaYPHGNDENVDsJN2KV08ev6rCJ3t6Uk4VWEgsQ=="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.2":{"name":"seraph-model","version":"0.3.2","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8","collect":"~0.3.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.2","dist":{"shasum":"332fe476851d8b4fa93319f41ed8b0b787522a61","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.2.tgz","integrity":"sha512-EjcfyjBP4u9zo3plC3djuro+PLJo9+rOLcFiOoGZu7XjF1KPkF1kGVVKXER6lo7U3qpwf7aKA8ZaYG3Leaq3xA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGMiiUpzT/Q9UiDBOJnNFdEQ4uVknQbHnKZDgqWaCPB+AiBKEqVbFEXp4b6Yx/lIT9F/JxrkU1azICgbzTpmEhJRPw=="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.3":{"name":"seraph-model","version":"0.3.3","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8","collect":"~0.3.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.3","dist":{"shasum":"2bf05e3bcacfe5245f81b9dbbe927f5dd9445fd5","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.3.tgz","integrity":"sha512-JNAV/mErF8DEb5pWzz+rXA0rLiVT6SxH8Dg2WNXpFwBkpzH4SuBviG+LGpKDWly0UY1WxATFyPmiQ9Ym+lE7hA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmuktdJy/EO8ukucbUOCuRVSAlchv4VxsVTrWB2O47BAiAAmqMNS6ntX09A+x3l0kkbED+6jDDZOmIta5G2z2LWHg=="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.4":{"name":"seraph-model","version":"0.3.4","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8","collect":"~0.3.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.4","dist":{"shasum":"7c118401f3e0e077784a35c9042b78118446abdb","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.4.tgz","integrity":"sha512-2S/ri/H609H8ROv9Jt0Rw4SqKeF/SaLv1Aklmnv/v90PO9HFCq3aGNSSvdFjuHTYWVpVeKAYZWdF8VyPSdNBMA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGRyYEtpXJR3gn2eUDniCTBlMDEMNFM1M0q1EIiUI/WJAiEA1/ec4/3VMgAyCvbkMB4wSWLcdp4YSAuAgEvs0yNQloc="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.5":{"name":"seraph-model","version":"0.3.5","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8","collect":"~0.3.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.5","dist":{"shasum":"a06291f6aa32c2d425f4971bd2bb713c48021804","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.5.tgz","integrity":"sha512-hHRYVZ4JVUL2tCU0BN0E0rxZEsOaYRWu6q8asbr7Dx6nM2f6V2JTHkVZLwp2BkcGxwYzdCOiQ7OcWyp2YgY8cA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCO1VCTTcnCVg6sIVlqQcI2zxE4lNYVYgvliRimUeRzqgIgZGJzX4a5LklAHVB7qK59NgHtMy1DApg4I1/S2wC8HiM="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.6":{"name":"seraph-model","version":"0.3.6","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8","collect":"~0.3.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.6","dist":{"shasum":"69d6b11d2f07f4b812dc5810c9f505ec0003e2dd","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.6.tgz","integrity":"sha512-AfcslbaMXfEvud/SnmvK4G/8IfOsazcxf4Ae0d/4/GwzECJFegiljuvMXmwNIwxS9WZOzOvYkRaZSz0A182Wag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDa3NCIsoJXHyfQ/un8qBtu46bavmQYBeFW3+uce7ZcKgIgJvbKaxLUaf3+vIciGx9nUrOfI8qptM3F9j1kAE7JKvI="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.7":{"name":"seraph-model","version":"0.3.7","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8","collect":"~0.3.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.7","dist":{"shasum":"7b684eaebe47a77f77167e6b2fa49bb83cc97a89","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.7.tgz","integrity":"sha512-EcZvGjPNBWXCgH/iiKgUDZq95HU+Zt4lyqf86igKSiuosOEFh0LhLSS1AhWTE6zBNU7Vw87Aps47n1V8EFqn/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCH6Opd/w/9kPJSv1+uCybt5zbkdPvmHJftcY1UfO0chwIgJz3FaxaOmyEGhebZkCM1MMUX5qqRIDQAHawDp21fEPc="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.8":{"name":"seraph-model","version":"0.3.8","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8","collect":"~0.3.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.8","dist":{"shasum":"51d5498f9c031c51da5f2ada548a895d462a2880","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.8.tgz","integrity":"sha512-nvOZHY48D4v8GYYGm6HWR9pFm/HjbXi4am0UJ+wQegHTIp3odt5TtXyO3TeC4jrVwgy8A2mpr+CUc0SL2Nqdsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZQQQPOzAyxr3j3G0Ctsqkahyn6IoATHN9jD4JglGvugIhALDIwtDs3yhF/DAp9a7bVVnCzEQ+UW3pQEJ969UOlS0q"}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.9":{"name":"seraph-model","version":"0.3.9","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8","collect":"~0.3.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.9","dist":{"shasum":"33bc70d5167e1858a34cda8fb0aa063a6589b50e","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.9.tgz","integrity":"sha512-nbSbrR7lSxKKUnSOec2VSctVT6sQaT1HSrZK/xf/cOq87x/xHtp5x3jRvVD4EbgmX26MIKQNKAtDctG+/oyHEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjFgOquB+Q9KZJd40P4mJ+Bw3d01am2uv6D4jPiphavwIgYwrWw+ZlIVQ/+dHzLz5+Pow6vyWdMVyCfJQz4UO3VEU="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.10":{"name":"seraph-model","version":"0.3.10","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8","collect":"~0.3.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.10","dist":{"shasum":"f51fe250fb8f64e85447772160798b3da0e8af15","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.10.tgz","integrity":"sha512-nBRQlIJdfFxry6u+puq/fI5sNZgq/SOTse3ef519phcjfzKVTSNr4dcbZg29av5M6ujt2OTVw7os3cBFirZpkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBbfbA7wLDF7v+EpuDX4PVmMfIZmJQRnnNirXN3GniQmAiEAtQubvgP9491YtAlR5WCgkbDmvnZnDWT5TBJOD7ZetK0="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.3.11":{"name":"seraph-model","version":"0.3.11","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","disposable-seraph":"~0.1.8","collect":"~0.3.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.1.4"},"_id":"seraph-model@0.3.11","dist":{"shasum":"9ff45707db4a50d9b5e55b22af66afd1da66198b","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.3.11.tgz","integrity":"sha512-DGsb/VcqLaFD/1yNQWZ4efnd0TZPYN/KZUEBliKQQvtaeGpC4jpJb+0W9UwWpxqP6BPelh0vpQRkybLOloRtsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAlpkCbZ2dyhB9FpsxVuviXB72RzhA1oK5HPibn0kVgBAiAMFb6cL5UaCka4Qh+mwso+aEyDx+SXXkLzzczbfFSi+w=="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.0":{"name":"seraph-model","version":"0.4.0","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2"},"peerDependencies":{"seraph":"~0.6.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.0","dist":{"shasum":"1b624c98c9e85749f41bd20648d8b367a6f9ad59","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.0.tgz","integrity":"sha512-ai7hfFGqoBszhuBEt7pGqyZtbjrNWOr+mtpbJB6t6Ekht6cxrqYgtDHU6DKJ8prfAlx/bBqDrNNz9iXQp09i5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcYnq+SK+gs77uJVMwNrZRChQjrvabndp1HUo1/8kROQIgSDWb1jKNdc4vIK05aOClpX5IjaJkc9fdD7yM5QpFPoQ="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.1":{"name":"seraph-model","version":"0.4.1","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2"},"peerDependencies":{"seraph":"~0.6.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.1","dist":{"shasum":"60f9e603924d19b729054252e7ff006186154faf","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.1.tgz","integrity":"sha512-UcgqT5SUqwl46g95kwmW/qgrsN5oBcJcf+r1SUnLulJYLUAKATHzxUvoSHPuby2Oshpk9qnafbx0vRAZTb9KFQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2owlmUhIbJrscnjhEOQadvaOUEqOT6yESRQ5V5ZIyagIhANWNCZxzJK+JMBzLqCvSh+Flwt54CTBWWN5j+5vWDObs"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.2":{"name":"seraph-model","version":"0.4.2","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.2","dist":{"shasum":"983fac300f66b70cca734a88b6d40bca70ebb943","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.2.tgz","integrity":"sha512-Bi4i8Zx3EOtx/csvG0ennDb7B7JQDYNeet9PYdvHljR1nY/RSVc3KcG6tx9yRDARD5k89aRRV8+EchML2JPV3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGsyFo9XLx8QJh/nigdJpw0m3ld9IevyxJI03wL2GvY+AiEA+AR+YgDulVQTUTfOnoNxdDOlo/NzZ1gADe5Qell8qHI="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.3":{"name":"seraph-model","version":"0.4.3","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.3","dist":{"shasum":"614b961cef5de7356f454e1a4ae68602a1dd3d47","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.3.tgz","integrity":"sha512-oftQdLpRVx9ACoBuLxQK1chnKzAE4hES4aFTpvi6Gw/ze5E4lF0VOeXSBoOrh28Hx/IgyIQhxV/MFErVN+gLug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAkIdDic/cDCxM+jDZ/3a7ssTvKjWfMWKweSRNZcGkwIAiAynx/hVp3H/APwku/J94RQyQV3yOLeaZjUh6Re60AEKQ=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.4":{"name":"seraph-model","version":"0.4.4","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.4","dist":{"shasum":"64e4ff7954bca25a5a13c76a8876d056acdbd7e0","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.4.tgz","integrity":"sha512-Nrx9at+XmBigCPZYXBsBVDtuP50rT57DAYEwSBGuRxwMzV7INvn9va4ogwqIITLieop0hEOVVf5jORFn3c20PQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOX+PW3BNlJ24m7RF5Zp4gfM415432CRT6nB9IJCVyowIgSHXEV9u4FMQxZi80tG9+t98KdCvymkVxr8s77uzFHIU="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.5":{"name":"seraph-model","version":"0.4.5","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.5","dist":{"shasum":"dc9ac3c33f490d2cf8863cbe4dbb241e2b45b02f","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.5.tgz","integrity":"sha512-iFI/ULAG+IiyByZRkiwEU5bFomGhH9UIWdYjypkma54Ca4emX3aZCu4+ZD4SoSq/Vyz1BgmJoXz8iZjoABEDKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqL+3j7KYO9DKMjUC0lJjXWlgILoA7BJnhaQBiJy693wIhANmTxSogtqqIxC/Qucy30oTA9iyWYFjdZTWMjz8YtwEZ"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.6":{"name":"seraph-model","version":"0.4.6","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.6","dist":{"shasum":"4fac849765583b2a284c0cc7cedd7153ec0cdc4a","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.6.tgz","integrity":"sha512-BmeiPTY0MfBmATpeF3SvIwBKhaQDJhFbFK/9fjqvooizckw+K68KCxgTJBAOZyXbkQvKvywomJpGYQbXtGRAEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAwxliOcLjQSwOoEGF+mGOyyxOgjFNAnekvACEko+jfXAiBiXciDsIFf57kzbKuSgAf//jMLuFwcMzRhIjuINQHpgQ=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.8":{"name":"seraph-model","version":"0.4.8","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.8","dist":{"shasum":"2967565e64d5a62259e792ca570a4f7f45674245","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.8.tgz","integrity":"sha512-cHnIwDrWlfnCT/QtcRUWcrvNkFFApwKRV/AQcA/bZ0MPlZicVesLPvrig0od1ZbClsO6DaX1lX8nrW+t4qf2Ew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID+RmNBT7yBXqzCqrPTZ1fZYVZNKV/2vao+aCXx9aqzwAiEA8kfEiiucl6bOV+9Tg5u2va90nugk9m6Og9asyjfhGOA="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.9":{"name":"seraph-model","version":"0.4.9","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.4"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.9","dist":{"shasum":"fee875cc9f6384ebbb4876731c070f35cb5b9c45","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.9.tgz","integrity":"sha512-mbOO7as+W+AxcfVlinCvjzxZjN94W6jQuGc5MOn6DEpOAdjtu6RPA4+8ny8p1teTJPwAXCF/5V2AuJ0jUDjFWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGWncR0qCspp/KWTFIPTWYT+4DWjt5FwTBDmBViASqcgIgYTd0kgKw+eax1iyreahWfOwdhC5jPtf03Y4n26h5urw="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.10":{"name":"seraph-model","version":"0.4.10","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.3.3","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.4"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.10","dist":{"shasum":"7da3606a21d7686f11b4bfaf1b90692909e61604","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.10.tgz","integrity":"sha512-47ux53rXyHYpNnW+bnfzCKHC29nFBUvAHUaySV4T1RQ74lzWR+RSp8wGBZLxp/eINuoz+2+KCpo6CoJOucpwAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjoCyn1nH+/0j+2wDOVxCmgTfz0lYAuSDPkrEXlUmTwQIgD2EJKQW2ixih/9MbXK9B6wMkqKICL4KWt/AWcu5saMY="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.11":{"name":"seraph-model","version":"0.4.11","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.11","dist":{"shasum":"a135b5d2d66194e51dbd98cfe6bae91237c93310","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.11.tgz","integrity":"sha512-j+hRx9S2+lOe/gTKoSX4wiGUgtlM1nj+Ncg0CI9XGqG0bDCqmI/C6KSnkwkBVIPsWJg9dPPqPx0qCygBCxgWDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB60N+/juMiuqEZlWPrEwY7XAVnYSa8c0wOyfeehSImHAiBBHTJIN1l8j7U+i8hMUAT4dvFkvlizwkzJcbYFCjP+1A=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.12":{"name":"seraph-model","version":"0.4.12","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.12","dist":{"shasum":"bb0e6c6760df3314f08eb7f9b8b3d2d581e3def9","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.12.tgz","integrity":"sha512-j+JR2APQu1L+Zo8GHNl0cvI2d6l8f6tZ2NuWT1/r9nZqbdVy04aVIyDGyvrQezlLaKUH6diWf6xcGauy1SBJ2A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDSl2fxu3U+CBIVCQDzb4ZD+Rb2yavWdg7H3sn0Fkqt8AiBBBC277WPpMdBd33S7az5y9WEdBVjsfpgDTjcvlY1aNQ=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.4.13":{"name":"seraph-model","version":"0.4.13","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.4.13","dist":{"shasum":"59b14292d1f93f3ea74708e4b6c44b98ffcd1ce7","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.4.13.tgz","integrity":"sha512-Y3c7/DBlgCta6pkXl2aFAlzD7amjLqpcGp8d4R5RqWttTylOPSNISAJObbR31iuYg6HpHcnxjYXzkssgGX92dg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/w0kKzFScFAsEi0CdwoaBto+U97+Bvbx9NgM8NmwU9wIgcYJ7dZ2I3W3bmA24yWRJbwFT+cfPoOgYNmB+Shtkmfc="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.5.0":{"name":"seraph-model","version":"0.5.0","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0","disposable-seraph":"~0.2.7"},"peerDependencies":{"seraph":"~0.6.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.5"},"_id":"seraph-model@0.5.0","dist":{"shasum":"3776b381d0510621e19b43f0172748e68f0d765b","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.5.0.tgz","integrity":"sha512-2g+iavyPThWMWtU1N8OQNkQ32RdwesfjjYRPmQ6/nCLkA15rTqIJMaj2KppjNhqX02tl+XkMnKivI4qwANQ3Tw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFt1pjDKgNUYb1Pq303L8RNykNrXj6XCuk1ORkl5LTbIAiEAhg8rMq9TSreUwFAkxPgdzuIzLXr+3gNF8lyeYaWNkqY="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.5.1":{"name":"seraph-model","version":"0.5.1","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.7"},"_id":"seraph-model@0.5.1","dist":{"shasum":"407e555e4d577d2f2d0836772cb6b67219af502c","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.5.1.tgz","integrity":"sha512-fi7qAVj/PPH/59luBIVAZAK5OMsKwFklRXT54VNFgiDIY9Lq4T7A5paZOkgYJkP/L5v3Yd/9g6g7srm+hecMeg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyWZ0Bwyoo9N15TfBs/quhOjKQ+gcLfq8/Lb0g7DSJdwIgHS6Dj5jCXYRSgKPNownN7LkKWQQm5pCnZqxNwQSNyT4="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.5.2":{"name":"seraph-model","version":"0.5.2","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.6.5"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.7"},"_id":"seraph-model@0.5.2","dist":{"shasum":"8da7fa196ecb7eab55c1c3584fabd49b67c4f811","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.5.2.tgz","integrity":"sha512-0NLB2rI/AeGgHl+vTyscYFcaeB85XT+ySbrMMP7NKS83AkVyCY4Ngumezg2VbDhodyHr3bWx1ppU4SZW3+tBgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOqSuKeWM0RBNNMEXWTTzZEULiAdvuQgMsNNbIyzPSJAIhAPJl7Np5U4lcaMc7NO+JO0gIlxm5yVENbjQvE8yXNEST"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.5.3":{"name":"seraph-model","version":"0.5.3","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.7.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.7"},"_id":"seraph-model@0.5.3","dist":{"shasum":"251d5674f4293ca8682e3b63a28cb9d0d4805ba4","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.5.3.tgz","integrity":"sha512-CZD/PP/NyUFWEwj7EBeFe1oAZZg/eMyyb6nuWyGreo6PjjWQypF48l5TAVFJyAMFM46148oikC55kDMK7bvMrA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFNcB/96iB1gbK74lKM3FRktcyDiP92cMVgNXkjIPwFmAiBwuUWlvouqDN7rqAx9/4MYPEHTw8vnzwfljjhFC4CbEw=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.5.4":{"name":"seraph-model","version":"0.5.4","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"peerDependencies":{"seraph":"~0.7.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.7"},"_id":"seraph-model@0.5.4","dist":{"shasum":"3b388217107c663ac282689988381d8a6b260182","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.5.4.tgz","integrity":"sha512-XMp1ByaD13sCFNjjaMDkBiUydc/qp4kh/o7BgSWd1drmmmqR+P6S7dmMQCA0tMWCZwIJHUNGPHoQnFIobzKzvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJ0qtGFOxh/a2K76KyEwrduKMbxo5nmbOJTwXj+8mPlAIgbCN/WME0Iumf9AsXZULD+G41g/H6bSjyLqew4uN8bQU="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.5.5":{"name":"seraph-model","version":"0.5.5","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","collect":"~0.3.5","inflection":"~1.2.6","augur":"~1.0.2","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.2.7"},"_id":"seraph-model@0.5.5","dist":{"shasum":"3e277861e8b33224cde6cb7ce503b3f450c9fd44","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.5.5.tgz","integrity":"sha512-yl1q7GtSup+dp3fyV/ANuXkl5hHvyAnDvM+f6UvYFJt41cRvFGZAV+apUg9Z1/fjTpPfQrFf3z98evKLPznYSw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHCFI2hvUtmxXncTTDba5ZmCj5Z8FVWdZ1DX6S8HbqBfAiBMCpRee84wtMU/GQnH3ySBpHdBFPhQhlJxwKTgPR6IbA=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.0":{"name":"seraph-model","version":"0.6.0","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.0","dist":{"shasum":"bb118795136add21492b28591cebd481b0d944d3","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.0.tgz","integrity":"sha512-l/lSKwE7GWaiBvu4cjSozdP9lomeQ4kmGY3qAOberR/Wy9BkM12jBobaImGbkxLF/DLM3zJY4xsQYB+bcmwzzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEl0OLfN5SdozcIKIARwwB+tjCxMZcPCr270lWqS2IRrAiB/pvISMh0swxuZeHNurGz3AhmgwoedOpwr/webCnZBdw=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.1":{"name":"seraph-model","version":"0.6.1","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.1","dist":{"shasum":"6f6c64c727b537115cbb4cc27bfa2f434c7242fa","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.1.tgz","integrity":"sha512-fd9hM8zX73+ehpdJvs40OWwCftvej4ZFBnvW2ipLGPxureN52MG+RrwIAegFQFkk09ke7DVXAYpc3B0o3kAVrA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEZSaUe5otKfsji614bn4dOAww0YTtFmcByOuDuyNxShAiBFgm9nviVZs0uPmoCab0dx9hJzrzQ6ls/Y1zw+STUQLQ=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.2":{"name":"seraph-model","version":"0.6.2","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.2","dist":{"shasum":"3f885f57b9f4d06f52429b1dea3b744847deebca","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.2.tgz","integrity":"sha512-WcWVP02gaKvU9H1pppoyMzqy4v6Yog3cOdpdOvFJ3h1gDMD6jrS+Dqc6h7Y/DM040GJEBnOLg+3UZHCB14UaFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCk+EiGLmPGgMd4e4ddwT96viRV1od5G72DQU/wTA2OCgIhAPh2B8hdliNagSHM2QRdelkdY9e2q6Id54G0q/78luBa"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.3":{"name":"seraph-model","version":"0.6.3","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.3","dist":{"shasum":"72e0a2fc66f06df7342a693f39a2de6d0cbbcfa5","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.3.tgz","integrity":"sha512-6ttehq6zuyiL+LWlYxvoPyyQzy6ppkMx0+WkJQdX0gZZUodHYKYzTzrtJzEnvDeyFHUzKVNpYhC2N3/qB4anTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIErvAmYAVonIv+eioOj+3SbgUinBlF2xoQWEipPalV89AiAbG6WtLT6M420kPNfXZDy254cp4ZC+hGp5mY14NBoOzQ=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.4":{"name":"seraph-model","version":"0.6.4","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.4","dist":{"shasum":"44c78e4ecfc2efc7964a5794f75deaa64e610949","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.4.tgz","integrity":"sha512-odWCRKP5OQL3/S9roq7Lm7S+4jRerVEIEjct9ZpD4shOHMptYxYss6phc4QK1tjj1zgFVDIUxuiNoomTJkk/Yw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAFCXAVzL1R4wTi948e7O8YEyDdD3AmTIW+Ulo4aICyeAiBv9wHZ6ayCkPx70ZSrZLtvh3wRkDE0o+/2BSH0n37/YA=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.5":{"name":"seraph-model","version":"0.6.5","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.5","dist":{"shasum":"94e4175445a94453bd135473e0c6c38aa0c0dc61","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.5.tgz","integrity":"sha512-f+QCpeWcg1S3MFOAZ7A2tlCk7gHnnSx8pTiSxyPWGhwHgfZ7hnuDeSO9XveNJsaL4O3VnAirQgrfvmSdPSms+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEHNkTIhK4GNCpXyafvK4QNVmpSokKPrMK3fk8N6TowiAiAgt6R4HyHFBaE/UhOpWP19YKVgsT2arn6vHqVKGCJw6g=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.6":{"name":"seraph-model","version":"0.6.6","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.6","dist":{"shasum":"9d732fcca1d0d103cb8c84b472d43ea454e89d37","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.6.tgz","integrity":"sha512-i86iJILo9BZvtDPiE5hN/u7NVIYDDIXTu3zKkIzpYlwdTU7v4Ds4QTuJ989g7FRXjmI5jZqglf6zc3WFFrkxHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd0Czs3Lnhz7lAl4U+XX2udCaGtfKcrCdhLKfL8atkHwIhAKVdvzcC/5MgaYO/+EUc0m+UCVAQH4gI4TuN96L9SwC+"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.7":{"name":"seraph-model","version":"0.6.7","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.7","dist":{"shasum":"6c5a418068a5a5a6ad5f24ae18029f2a3c71b265","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.7.tgz","integrity":"sha512-koIVLWxnh0tOYa9jnb2uxNk23BvOywIPqAuoHxkQdMiOvuowa1dEtS4jmeEc9rc4B+o2jHWK57ifwqDaxGdPxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjIXQDQ/UpfFaLhdTUADdVmRNoRbr4s587QDW2dWRtYwIgSATDZAT5stX4inZLfRivXAcWDagkNGqs/MU9mNdBubo="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.8":{"name":"seraph-model","version":"0.6.8","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.8","dist":{"shasum":"a60d9138376c8cb07c4867ed2ca93c0c76975b67","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.8.tgz","integrity":"sha512-hOORGc8GjZ5lGQT3ZVPYTMXaySRhxU6HIiERkgIl6zRIfnJ5vqfm5c3WglJjobA/vFDu6Bhn6qk6V2jHXA0jSw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKSWSrzUNAFxfa2KZHDQFi3HaJF83qR1qKgmCutt+GtQIhAJxgh0wSyADudOzr685+p0budi8uUBe2hXaypkr5G07w"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.9":{"name":"seraph-model","version":"0.6.9","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.9","dist":{"shasum":"03b8d149b14348b8d4f3192d79575c4baa766e1d","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.9.tgz","integrity":"sha512-nluCWe5/221uXeYup9nanJbrPRTIODSPtSPmyW5F/NLF5twlLUpZC5uHlU7dK5pPCD90Z7n1zhUN5bwOV/yJYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAIswu+bzipeOgNsUFHssWh0KVQma/zbLLUlVHSSz2GmAiBl0uqUV4HoYqMuwnizJhjzNI7TJKrymeNy5JgZyGs0UQ=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.10":{"name":"seraph-model","version":"0.6.10","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"BSD","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.10","dist":{"shasum":"03b81671faf2d1d88f15f65090c4d4e1d3cca9ef","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.10.tgz","integrity":"sha512-wUNj/7/nf7fdjqpdWX8c9t315WUrnIZbPuQoYiMu5oLXd0kxAWqbRS89MOhavZew1Cf8dB+JQ+qJ6z6CfxSaBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtWPmh1GrXo02S/qOKy2ZxaNXwv+ErUemBB9KsYlS+xgIgcgZwcf6NDdebU+XCkholAScbhtwza3beY+RHPxGby18="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.12":{"name":"seraph-model","version":"0.6.12","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.12","dist":{"shasum":"9b55f1adaeb3e8ebeccc0668c6139750ada8f132","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.12.tgz","integrity":"sha512-zSd7m2jPueUF+BLrASh8a1zrSavI6KCsV3UZZNPOgg4e3nUsmPs4pCse5w3GiE02f4LR2V0fYzsWKk7aeoWj7w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIErqE0XMcobI5TF1jgcQt+/OjNs35IbZ9D8/qW5rG7+SAiEA6094UYzj09Uh9/T/xw1LVBT5UWJkkVPNSCFOAM0UOP4="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.13":{"name":"seraph-model","version":"0.6.13","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","underscore":"~1.5.0","moment":"~2.0.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.13","dist":{"shasum":"63f57fd344af3ecf0f6f9e2f8976bd5427c9f490","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.13.tgz","integrity":"sha512-3/L8RgeqMnYTAsS78xLlhwnBbZkVyA0+s09BoXI0c3CdhGOmkshTrsVYTL0R165qlK7pHrx9IK+b5/Qvl7maxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBEcC/WvJqg5kBTZEuz8D9R0+zCCD4vi9bclR1xOtnNGAiEA1K6xx7gjbJ29MjABHm0vyYmvL8zd02jhu4Gd/bHtxEE="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.14":{"name":"seraph-model","version":"0.6.14","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","disposable-seraph":"^0.3.1","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.14","dist":{"shasum":"aa6b6116df2aeed24db0f6a26f4926831f537019","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.14.tgz","integrity":"sha512-Jzi3fAtlEDUaf55gwRigOFFaINqx962ytZeac33Ooy959FIl/DYdMEMVUArgA1x8vPmxjb1dPrLv35ZL5X316A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbJHDAvVNHb6LoEDgxXq456laOBMabixrcfWHslv4+iwIhAMlbeJZPzBHKGxpoENO/x+3woL4ZQpUPAORaL1/XKsRU"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.15":{"name":"seraph-model","version":"0.6.15","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","disposable-seraph":"^0.3.1","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.15","dist":{"shasum":"14f8b96cf0a63085d7bd9a4776711239e92eac57","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.15.tgz","integrity":"sha512-cSHX6zr6HbjbHtQ9n88uMtdmGMGI5hOY6UZzP73jktyjnie/1mPRdHcNeMNUm95zsRYZnQxPJm/QoW0/A5AW9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDbvfHlu8qxg5aUgsinUPpbJpTisgIDO7E+gunpguLa7AiEAkRgRVFEXS4mHZ+U8m+8MY3ohU3o4BRhseNwiBuasFlA="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.16":{"name":"seraph-model","version":"0.6.16","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","disposable-seraph":"^0.3.1","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"_id":"seraph-model@0.6.16","dist":{"shasum":"e5fd9fdc0e97b8daf75fa149638bd8aa73fa750f","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.16.tgz","integrity":"sha512-vxaf6QlO6n9nrVe1Nbobe8AHYzivz5GGifaDX9aIW7XVjq42J1bgk5Bj3W+a1mVdGIva9HqOIsfJk44cKEyJrg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDGKaOAq5HaEG1q33R+9zle7kM7nm+Rs4hd1a7UCZZ5VAiB7KNdDBp1DXT6XR1OES39dxQG7QEvzzfDrFfHyJTEC+A=="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.6.17":{"name":"seraph-model","version":"0.6.17","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","disposable-seraph":"^0.3.1","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"gitHead":"f30901eefdf6f77dcd125d550c1a280c310eeb1f","_id":"seraph-model@0.6.17","_shasum":"c459794fb8cdb7fc8a162adbae92275eb4e6901e","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}],"dist":{"shasum":"c459794fb8cdb7fc8a162adbae92275eb4e6901e","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.17.tgz","integrity":"sha512-UXC1SbkbYCrSD4BTPZeSQ9pAgyDTsn2ztAQKSaKseTWmIlCDw67BGfbeecFj00G+gsO+9b8kf1XH1aPLfTkzjA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFVaLhNrHJOAsDkzNNu3kqbmk+iDxgcOgfxChUYOmrRiAiEA28IsGLzEydjHpFW0IWrucTg1egX/jYCfSB/cVBkU13I="}]}},"0.6.18":{"name":"seraph-model","version":"0.6.18","description":"thin model layer for seraph/neo4j","main":"lib/model.js","scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","disposable-seraph":"^0.3.1","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"mocha":"*","disposable-seraph":"~0.3.0"},"gitHead":"4a42fb668a245cb0dd10c3b8903aee75dc1af1fc","_id":"seraph-model@0.6.18","_shasum":"0d34b327265e5c359aaa68983da21c486e9844af","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}],"dist":{"shasum":"0d34b327265e5c359aaa68983da21c486e9844af","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.6.18.tgz","integrity":"sha512-PhEJsMWmTTBMlkVseiIAwAETkI7+q4Pw4za5B6+2wkADgWb5lAP4HffnX4l0G4zdjHl99Sh1PXV1XHOU9FAq2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDT+NVh3qBJUq4w6S2clvV3D+gWmgQ5SdtsskwDJPiRkQIgTu/Nzxgtdvu6vCyXnop7BIrT1A9nHPR0MsstGm4jyik="}]}},"0.7.0":{"name":"seraph-model","version":"0.7.0","description":"thin model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git@github.com:brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","disposable-seraph":"^0.3.1","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"disposable-seraph":"^0.3.2","mocha":"*"},"bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model","_id":"seraph-model@0.7.0","dist":{"shasum":"8a08e1dece8bcae0e25ef1ff4dc266125083ef2d","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.7.0.tgz","integrity":"sha512-JeYfovoPuHuwcf1r7ckLtxY3fwH6HVQEEZMoWIT8+IGWB8aM5p+PXEHOfS5kgz4MXpFj9UVgt9uJKPHckuoauw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/l8RWKf9sgeVX0vLGsBq08dmW+nEa3LbA5V9Mm/uIWAiEAmkF5O1/i5hmoGnoOtrE3mBM302U9je4H5EivWjSoI9k="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.7.1":{"name":"seraph-model","version":"0.7.1","description":"thin model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git@github.com:brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"disposable-seraph":"^0.3.4","mocha":"*"},"bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model","_id":"seraph-model@0.7.1","dist":{"shasum":"167cf4fcbed80b70527a0e81fbd03ae1fc10c5ab","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.7.1.tgz","integrity":"sha512-oIlfemD+nRlkLHdfWwneP/iSCL2dCatYoVjNN7fT/YfW1zBkOT1wIvbVYh1HCwiqKLXaeLBcyx0/zsjqVsCFFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGHSB/jLQd/HJpRHNC47ynXkUTRj4nDhcQj3XAOeF2VJAiEAj2KDOOnuMC9uMayqu5TAFyKSPcr2eIehL1s7khSnUzU="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.7.2":{"name":"seraph-model","version":"0.7.2","description":"thin model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git@github.com:brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"disposable-seraph":"^0.3.4","mocha":"*"},"bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model","_id":"seraph-model@0.7.2","dist":{"shasum":"7b3be196abd59236f9fd32a160be97b6d08cbacf","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.7.2.tgz","integrity":"sha512-7ZP+y7jqsYsRHNBIiwq24RvtEoA/wIQA9waZasK6a4XFYvQoO4Ez8eAHKoTNVUrjAwViqRE5KG7eBQOmN/Os0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDD0hLrDUJKngkcNhd0Q+DUpqNFOwLIWWARN6UGumkvgQIhAIq/TIKs7uXXSQRS5kBpYLSJmEeBJmUfQI5E9KfU6n/R"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.7.3":{"name":"seraph-model","version":"0.7.3","description":"thin model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git@github.com:brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"disposable-seraph":"^0.3.4","mocha":"*"},"gitHead":"c643c619063415821a3dfd6ba6094c37c19cea7c","bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model","_id":"seraph-model@0.7.3","_shasum":"0263fac68f2ed25e27cd845fd94fe1100de878c9","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"dist":{"shasum":"0263fac68f2ed25e27cd845fd94fe1100de878c9","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.7.3.tgz","integrity":"sha512-XFeaTpfBE1BWLEVlMWkafHY35wykRMWgOweCSuXff8C/k4Olgkfk392McDyLHt5Vqq8zWtYqON3/JyhMyJZl5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMjvyQ5pdf9BOSP0e04S+/POU+GMHm8w8CpStuh7le0wIhAOWIjJCzSF++evwvMVsWz/r8WeiE8pOJdES0lJvJ8bI8"}]},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.7.4":{"name":"seraph-model","version":"0.7.4","description":"thin model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git@github.com:brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"disposable-seraph":"^0.3.4","mocha":"*"},"gitHead":"f5b4b5d73c661c26fd73c6c044125a668ebf7860","bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model","_id":"seraph-model@0.7.4","_shasum":"f4af27a2bf382936d533d9658d48333859deeeff","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"dist":{"shasum":"f4af27a2bf382936d533d9658d48333859deeeff","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.7.4.tgz","integrity":"sha512-9ilM9+ddi3hCoVdI2AqiZ//MOZT7DUVDKgtMNEQUvmsthGBEY7sdKMrImkgVXTYNDoUUOR/aPRCgAebNE4qG2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBUDKui7mb0InOEkNNw3XiIb7+vcLSm+DT/iB/H6AeXiAiB4xiryuTPssZH48f36Kq5YtfQOFjJrbRxS7ydh0BGOPA=="}]},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.7.5":{"name":"seraph-model","version":"0.7.5","description":"thin model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git@github.com:brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"disposable-seraph":"^0.3.4","mocha":"*"},"bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model","_id":"seraph-model@0.7.5","dist":{"shasum":"f6cfa233264366e56becb9b1463fc3efebf62a40","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.7.5.tgz","integrity":"sha512-SkY37BNWpotnKdppt5c4IN7YJ3bs0Yp/s5e9m1g5CHFfZ9WoRVLMECqnCaYWkdTZGzXB4++mTah7UgmQsea7UA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1+8M48uv3lB4Eqdj5WFmthUx68mcnOArLbJTeeIbcoAIgMja6Qtb+uDny7AdiGZQp6X/UfYdhF28DgOqAZ5IKtNk="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.7.6":{"name":"seraph-model","version":"0.7.6","description":"thin model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git+ssh://git@github.com/brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"~0.1.22","moment":"~2.0.0","underscore":"~1.5.0"},"devDependencies":{"disposable-seraph":"^0.4.1","mocha":"*"},"gitHead":"2b24785906ccfeab84d7ca366cd10e6d24546ea6","bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model#readme","_id":"seraph-model@0.7.6","_shasum":"18cb42ba1212af477882f5fa1d39bc9d0103d18d","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"dist":{"shasum":"18cb42ba1212af477882f5fa1d39bc9d0103d18d","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.7.6.tgz","integrity":"sha512-UFDa4LulvmR3ycnVIkDLVMqumnFxcA8EBrkxsWPo4gcob596Q/n4kgxztuWZo8GY+39Vmp/bZjeW42uYx2obwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDp5Azn2tWN5+kbCopGz0uFiMTI+jUMaUF/cSPScJyvUAiBjvTNAKwEw3ZtkI+eC9iH3MjXl16/+jtHj1kdr9FJbiQ=="}]},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.7.7":{"name":"seraph-model","version":"0.7.7","description":"model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git+ssh://git@github.com/brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"^1.5.2","moment":"^2.11.1","underscore":"^1.8.3"},"devDependencies":{"disposable-seraph":"^0.4.1","mocha":"*"},"gitHead":"5fdde507f0e847f9f4b60dfae7edf69be6121349","bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model#readme","_id":"seraph-model@0.7.7","_shasum":"1699c2da35b6a9c8779b5f19a9c03849baae4b32","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"dist":{"shasum":"1699c2da35b6a9c8779b5f19a9c03849baae4b32","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.7.7.tgz","integrity":"sha512-Fd7uVVeOZor/kbrvW+ESsbzwXinlcU/YaI4wzXfM22t4D0HMMInrAk/qzy4NCRzQ1N+McwExaxfergT1MJDjYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFU0vchntOXBL2TfSF3ETpJKF/J8PAALvaNtdL5r44OHAiEA3fMnUr6+ZBPW696rB0M84Yb0bvU+xQ8KlxeET4OyUOo="}]},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}]},"0.8.1":{"name":"seraph-model","version":"0.8.1","description":"model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git+ssh://git@github.com/brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"^1.5.2","moment":"^2.11.1","underscore":"^1.8.3"},"devDependencies":{"disposable-seraph":"^0.4.1","mocha":"*"},"gitHead":"cf30714a08f4bc4c6cfa2fee83dd18458d7a35e5","bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model#readme","_id":"seraph-model@0.8.1","_shasum":"2e687d68610a5658f181621faaa032f5f35c4acc","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"dist":{"shasum":"2e687d68610a5658f181621faaa032f5f35c4acc","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.8.1.tgz","integrity":"sha512-QVLQG2DUS1SQIMcU+sJIeM25yZEdM5BSQ7LtQiF7nUxzcN4hxNgqXMExbhJ/qQGaWz29JGmToCjfpxmzL5MjTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvcBcbdShuOyhDxuOytU32NEuHEruJ51CHlXw0IKOUMgIgfIbJ/GdECh09VUmzs3a+fPSesAPYMjJVpQ4PLPFiyK4="}]},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/seraph-model-0.8.1.tgz_1463749104104_0.2186819810885936"}},"0.8.2":{"name":"seraph-model","version":"0.8.2","description":"model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git+ssh://git@github.com/brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"^1.5.2","moment":"^2.11.1","underscore":"^1.8.3"},"devDependencies":{"disposable-seraph":"^0.4.1","mocha":"*"},"gitHead":"6bec7a49f697f4833ed73e7088fa484240de9956","bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model#readme","_id":"seraph-model@0.8.2","_shasum":"e5bed34f3534f0cfa08863140a33e23f3ca79731","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"dist":{"shasum":"e5bed34f3534f0cfa08863140a33e23f3ca79731","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.8.2.tgz","integrity":"sha512-tw6WktxFLYU9dopD7sDKjbsn2aKg6aSsG87WiutK81tSLLH7GqDIX3xHXBctOTDFhK88G/OzCF5DNjIkK13JZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID4PBXfAJOjZ8fJUGwW3R/QwK3TRZji2RAp/rv71gTH8AiEA4j4PY6a3ahWenxi3hohae59iNAzYqUawGKnj4/Vuj1s="}]},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/seraph-model-0.8.2.tgz_1467111794986_0.32277599768713117"}},"0.8.3":{"name":"seraph-model","version":"0.8.3","description":"model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git+ssh://git@github.com/brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000"},"license":"MIT","dependencies":{"async":"^2.0.0","moment":"^2.11.1","underscore":"^1.8.3"},"devDependencies":{"disposable-seraph":"^0.5.1","mocha":"^2.5.3"},"gitHead":"93035fa728b410d09586a40e70ad35f61b8da576","bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model#readme","_id":"seraph-model@0.8.3","_shasum":"05748faadc3f01cc8fae23178eb410ff65fb4f01","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"dist":{"shasum":"05748faadc3f01cc8fae23178eb410ff65fb4f01","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.8.3.tgz","integrity":"sha512-eclYQJsvofjUMDSgJYOM6cz8z4li0EOpT1RvhMZT5rrEA5m+1j1Nq+50TdqZE+yfRlI4Xls6RJA994xhWFcZJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGVHhzjTXkfnO9H2nptzZ1Ne2AeN9kRnkzRGITBVEO9tAiEAiL+Aj7c9cwEZq4bnW/W9uP98qG/srmeW8bFDBVXBamQ="}]},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/seraph-model-0.8.3.tgz_1469181542110_0.94785989029333"}},"0.9.0":{"name":"seraph-model","version":"0.9.0","description":"model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git+ssh://git@github.com/brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000","bolt-test":"BOLT=1 ./node_modules/mocha/bin/mocha -R spec -t 360000 -b"},"license":"MIT","dependencies":{"async":"^2.0.0","moment":"^2.11.1","underscore":"^1.8.3"},"devDependencies":{"disposable-seraph":"^0.5.1","mocha":"^2.5.3","seraph":"^0.15.2"},"gitHead":"3654f1780f357c7cd6e062914de93e820eccda23","bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model#readme","_id":"seraph-model@0.9.0","_shasum":"8d2b9aca912bc2178fa3af87b9fb496416f371b7","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"dist":{"shasum":"8d2b9aca912bc2178fa3af87b9fb496416f371b7","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.9.0.tgz","integrity":"sha512-Cmcusx+6GkeS/1/5uUOoRfEjuHuyzBrqWNFGVsPZCpQFXsVl3K+YFzuZwiAfB/rpx1uYf4XWxCnx1YVDdPaPjA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKRWAIep4VB7N2kvDXiy/rOBLOybFZJL1EScHw8z6tewIgXhBLuiycm3SU0DLP2X41tnkfpt9D6OIrL/OrycZlujU="}]},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/seraph-model-0.9.0.tgz_1469797975328_0.6731056335847825"}},"0.9.1":{"name":"seraph-model","version":"0.9.1","description":"model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git+ssh://git@github.com/brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000","bolt-test":"BOLT=1 ./node_modules/mocha/bin/mocha -R spec -t 360000 -b"},"license":"MIT","dependencies":{"async":"^2.0.0","moment":"^2.11.1","underscore":"^1.8.3"},"devDependencies":{"disposable-seraph":"^0.5.1","mocha":"^2.5.3","seraph":"^0.15.2"},"gitHead":"198e9a08dc0aa502f704386e13a3d62d77e9c364","bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model#readme","_id":"seraph-model@0.9.1","_shasum":"0127c9fa731dc9695bb2ece5c32587218efc39bf","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"dist":{"shasum":"0127c9fa731dc9695bb2ece5c32587218efc39bf","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.9.1.tgz","integrity":"sha512-81iHjxBz2ExtKaUzm/o8PmxcgIn2tunI2zsdK0jtdwyDugzrKTragIQgq5bXCKD9JjMlEzZc6kow5RD43q5S8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkXwsrsNApdlbtPMkWDhh3J1BngjnVrZyShYLaSTz5RQIgP1/XPvxmwftXUPv/5z7MguGD589qVWmMss6NfabzIVA="}]},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/seraph-model-0.9.1.tgz_1470987628482_0.874296665424481"}},"0.10.1":{"name":"seraph-model","version":"0.10.1","description":"model layer for seraph/neo4j","main":"lib/model.js","repository":{"type":"git","url":"git+ssh://git@github.com/brikteknologier/seraph-model.git"},"scripts":{"test":"./node_modules/mocha/bin/mocha -R spec -t 360000","bolt-test":"BOLT=1 ./node_modules/mocha/bin/mocha -R spec -t 360000 -b"},"license":"MIT","dependencies":{"async":"^2.0.0","moment":"^2.11.1","underscore":"^1.8.3"},"devDependencies":{"disposable-seraph":"^0.5.1","mocha":"^2.5.3","seraph":"^0.15.2"},"gitHead":"9badb8261b46e0bd5e74cd8e048685d492c85e28","bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"homepage":"https://github.com/brikteknologier/seraph-model#readme","_id":"seraph-model@0.10.1","_shasum":"8b7a633b339dbf86a254097bd697a046add29e9a","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.6","_npmUser":{"name":"jonpacker","email":"contact@jonpacker.com"},"dist":{"shasum":"8b7a633b339dbf86a254097bd697a046add29e9a","tarball":"https://registry.npmjs.org/seraph-model/-/seraph-model-0.10.1.tgz","integrity":"sha512-Xl7CKW1if+fRcQsy6kQEu/eg6y6E0XtWa4U89e5SXsuuigmF9or/KZZIWSVs90/a5OWcoluBJtNwhc0Cw2s96Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFQ4xeEvQiKVSdK5piZ5vv1NUZl/bzRqj5pMBgLqa0IVAiA2qyh9Cb/shO4P9pF0wgzVoPkH4tbjLLW+jGjgy3TtQQ=="}]},"maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/seraph-model-0.10.1.tgz_1487600403463_0.31041464069858193"}}},"readme":"__seraph-model__ provides some convenient functions for storing and retrieving\ntyped nodes from a neo4j database. It is intended to work with \n[seraph](https://github.com/brikteknologier/seraph). \n\n<a name=\"quick\"/>\n### Quick example\n\n```javascript\nvar db = require('seraph')('http://localhost:7474')\nvar model = require('seraph-model');\n\nvar User = model(db, 'user');\n\nUser.save({ name: 'Jon', city: 'Bergen' }, function(err, saved) {\n  if (err) throw err;\n\n  User.findAll(function(err, allUsers) {\n    // allUsers -> [{ name: 'Jon', city: 'Bergen', id: 0 }]\n  });\n  User.where({ city: 'Bergen' }, function(err, usersFromBergen) {\n    // usersFromBergen -> all user objects with city == bergen\n  });\n})\n\n```\n\n## Compatibility\n\nseraph-model ^0.8.3 works with Neo4j 2 and 3.\n\nTo check if it works with your version, you should check out the repo, and\nchange the Neo4j version at the start of the tests to the version you're running\n\n## Changelist\n\nIs [here](#thechangelist).\n\n## License\n\nseraph-model is licensed with the MIT license.\n\n# Documentation\n\n## How to do things\n\n* [Creating a new Model](#create)\n* [Adding preparers](#preparation)\n* [Adding validators](#validation)\n* [beforeSave/afterSave events](#saveevents)\n* [Setting a properties whitelist](#settingfields)\n* [Composition of models](#composition)\n* [Setting a unique key](#uniqueness)\n* [Computed fields](#computed-fields)\n* [Schemas](#schemas)\n\n## Model instance methods\n* [model.read](#read)\n* [model.exists](#exists)\n* [model.save](#save)\n* [model.update](#update)\n* [model.push](#push)\n* [model.saveComposition](#saveComposition)\n* [model.findAll](#findAll)\n* [model.where](#where)\n* [model.query](#query)\n* [model.prepare](#prepare)\n* [model.validate](#validate)\n* [model.fields](#fields)\n* [model.setUniqueKey](#setUniqueKey)\n* [model.useTimestamps](#useTimestamps)\n* [model.addComputedField](#addComputedField)\n* [model.addComputer](#addComputer)\n* [model.cypherStart](#cypherStart)\n\n<a name=\"create\"/>\n## Creating a new model\n\n`model = require('seraph-model)(seraphDbObject, modelTypeName)`\n\nYou can create a new model by calling the function returned by requiring\n`seraph-model`. There are no instances of this model, only objects, which are \npassed to the model itself in order to perform work on it. Much like seraph\nitself.\n\nIt works by labelling each object with a `type` that you specify.\n\n### Example\n```javascript\nvar db = require('seraph')('http://localhost:7474');\nvar Beer = require('seraph-model')(db, 'beer');\n\nBeer.save({name: 'Pacific Ale', brewery: 'Stone & Wood'}, function(err, beer) {\n  // saved!\n});\n```\n\nAfter running this, your node is saved, and labelled as a `beer`, so a cypher\nquery like `MATCH node:beer RETURN node` would return your node.\n\n<a name=\"preparation\"/>\n## Adding preparers\n\n__Preparers__ are functions that are called upon an object to transform it\nbefore saving it. A preparer is a function that takes an object and a callback,\nand calls back with an error and the updated object.\n\nPreparers can also do validation. If a preparer returns an error, it will be\npassed to the save callback as if it were a validation error. However, if you\njust want to do validation and not mutate the object, use a\n[validator](#validation) instead.\n\nPreparers are called before validators.\n\nYou can manually prepare an object by using the [model.prepare](#prepare)\nfunction.\n\n### Example\n\n```javascript\nvar prepareFileSize = function(object, callback) {\n  fs.stat(object.file, function(err, stat) {\n    if (err) return callback('There was an error finding the file size');\n    object.filesize = stat.size;\n    callback(null, object);\n  });\n}\n\nmodel.on('prepare', prepareFileSize);\n\nmodel.save({file: 'foo.txt'}, function(err, object) {\n  // object -> { file: 'foo.txt', filesize: 521, id: 0 }\n});\n\nmode.save({file: 'nonexistant.txt'}, function(err, object) {\n  // err -> 'There was an error finding the file size'\n});\n```\n\n<a name=\"validation\"/>\n## Adding validators\n__Validators__ are functions that are called with an object before it is saved.\nIf they call back with anything that is not falsy, the saving process is halted,\nand the error from the validator function is returned to the save callback.\n\nValidators are called after preparers.\n\nYou can manually validate an object by using the [model.validate](#validate)\nfunction.\n\n### Example\n\n```javascript\nvar validateAge = function(person, callback) {\n  if (object.age >= 21) {\n    callback();\n  } else {\n    callback('You must be 21 or older to sign up!');\n  }\n}\n\nmodel.on('validate', validateAge);\n\nmodel.save({ name: 'Jon', age: 23 }, function(err, person) {\n  // person -> { name: 'Jon', age: 23, id: 0 }\n});\n\nmodel.save({ name: 'Jordan', age: 17 }, function(err, person) {\n  // err -> 'You must be 21 or older to sign up!'\n});\n```\n\n<a name=\"saveevents\"/>\n## Save events\n\nThere's a few events you can listen on:\n\n* `beforeSave` fired after preparation and validation, but before saving.\n* `afterSave` fired after saving. \n\n### Example\n\n```javascript\nmodel.on('beforeSave', function(obj) {\n  console.log(obj, \"is about to be saved\");\n  obj.foo = 'bar';\n  return obj;\n})\n```\n\n<a name=\"settingfields\"/>\n## Setting a properties whitelist\n\n__Fields__ are a way of whitelisting which properties are allowed on an object \nto be saved. Upon saving, all properties which are not in the whitelist are \nstripped. Composited properties are automatically whitelisted.\n\n### Example\n\n```javascript\nbeer.fields = ['name', 'brewery', 'style'];\n\nbeer.save({\n  name: 'Rye IPA', \n  brewery: 'Lervig', \n  style: 'IPA',\n  country: 'Norway'\n}, function(err, theBeer) {\n  // theBeer -> { name: 'Rye IPA', brewery: 'Lervig', style: 'IPA', id: 0 }\n})\n```\n\n<a name=\"composition\"/>\n## Composition of Models.\n\nComposition allows you to relate two models so that you can save nested objects\nfaster, and atomically. When two models are composed, even though you might be\nsaving 10 objects, only 1 api call will be made.\n\nWith this, you can also nest objects, which can make your life a bit easier when\nsaving large graphs of different objects.\n\n**Composited objects will also be implicitly retrieved when reading from the\ndatabase, to a specified depth.**.\n\nBecause of this, you should be careful and sparing about what you compose. Compose\nonly those models which you want to have *every time* you read an instance of this\nmodel.\n\n**example**\n\n```javascript\nvar beer = model(db, \"Beer\");\nvar hop = model(db, \"Hop\");\n\nbeer.compose(hop, 'hops', 'contains_hop');\n\nvar pliny = {\n  name: 'Pliny the Elder',\n  brewery: 'Russian River',\n  hops: [\n    { name: 'Columbus', aa: '13.9%' },\n    { name: 'Simcoe', aa: '12.3%' },\n    { name: 'Centennial', aa: '8.0%' }\n  ]\n};\n\n// Since objects were listed on the 'hops' key that I specified, they will be \n// saved with the `hop` model, and then related back to my beer.\nbeer.save(pliny, function(err, saved) {\n  // if any of the hops or the beer failed validation with their model, err\n  // will be populated and nothing will be saved.\n  \n  console.log(saved); \n  /* -> { brewery: 'Russian River',\n          name: 'Pliny the Elder',\n          id: 11,\n          hops: \n           [ { name: 'Columbus', aa: '13.9%', id: 12 },\n             { name: 'Simcoe', aa: '12.3%', id: 13 },\n             { name: 'Centennial', aa: '8.0%', id: 14 } ] }\n  */\n\n  db.relationships(saved, function(err, rels) {\n    console.log(rels) // -> [ { start: 11, end: 12, type: 'contains_hop', properties: {}, id: 0 },\n                      // { start: 11, end: 13, type: 'contains_hop', properties: {}, id: 1 },\n                      // { start: 11, end: 14, type: 'contains_hop', properties: {}, id: 2 } ]\n  });\n\n  // Read directly with seraph\n  db.read(saved, function(err, readPlinyFromDb) {\n    console.log(readPliny)\n    /* -> { brewery: 'Russian River',\n            name: 'Pliny the Elder',\n            id: 11 }\n    */\n  })\n\n  // Read with model, and you get compositions implicitly.\n  beer.read(saved, function(err, readPliny) {\n    console.log(readPliny)\n    /* -> { brewery: 'Russian River',\n            name: 'Pliny the Elder',\n            id: 11,\n            hops: \n             [ { name: 'Columbus', aa: '13.9%', id: 12 },\n               { name: 'Simcoe', aa: '12.3%', id: 13 },\n               { name: 'Centennial', aa: '8.0%', id: 14 } ] }\n    */\n  });\n\n  hop.read(14, function(err, hop) {\n    console.log(hop); // -> { name: 'Centennial', aa: '8.0%', id: 14 }\n  });\n});\n```\n\n<a name=\"composition.relations.properties\"/>\n### Relations properties\n\nWhen you save a composed object, you can specify the relationship properties\nthrough the `_rel` key.\n\n**example**\n\n```javascript\n\nvar pliny = {\n  name: 'Pliny the Elder',\n  brewery: 'Russian River',\n  hops: [\n    { name: 'Columbus', aa: '13.9%', _rel: { quantity: \"a bit\" } },\n    { name: 'Simcoe', aa: '12.3%', _rel: { quantity: \"a lot\" } },\n    { name: 'Centennial', aa: '8.0%' }\n  ]\n};\n\nbeer.save(pliny, function(err, saved) {\n  console.log(saved);\n  /* -> { brewery: 'Russian River',\n          name: 'Pliny the Elder',\n          id: 11,\n          hops:\n           [ { name: 'Columbus', aa: '13.9%', _rel: { quantity: \"a bit\" } id: 12 },\n             { name: 'Simcoe', aa: '12.3%', _rel: { quantity: \"a lot\" }, id: 13 },\n             { name: 'Centennial', aa: '8.0%', id: 14 } ] }\n  */\n});\n```\n\n### Updating models with compositions\n\nYou can use the regular `model.save` function to update a model with \ncompositions on it. If the compositions differ from the previous version of the\nmodel, the relationships to the previously composed nodes will be deleted **but\nthe nodes themselves will not be**. If you want to update the base model but\ndon't want the overhead that the compositions involves, you can use `model.save`\nwith `excludeCompositions` set to true. See the [model.save](#save) docs for\nmore info.\n\nA couple of alternatives for updating compositions exist: [`model.push`](#push)\nfor pushing a single object to a composition without having to first read the\nmodel from the database, and [`model.saveComposition`](#saveComposition) for \nupdating an entire composition in one go.\n\n### model.compose(model, key, relName[, opts])\n\nAdd a composition.\n\n* `model` — the model which is being composed\n* `key` — the key on an object being saved which will contained the composed \n  models.\n* `relName` — the name/label of the relationship that is created between\n  a root model and its composed models. These relationships are always outgoing.\n* `opts` - an object with a set of options. possible options are documented\n  below.\n\n#### composition options\n\n* `many` (default = `false`) — whether this is a *-to-many relationship. If \n  truthy, the this composition will always be represented as an array on the \n  base object.\n* `orderBy` (default = `null`) - how this composition should be ordered. This\n  can be set to either the name of a property on the composed node to order with\n  (ascending), or an object with the name of the property value and the order\n  direction. Possible values might include: `'age'`, \n  `{property: 'age', desc: true}`, `{property: 'age', desc: false}`.\n* `updatesTimestamp`: (default = `false`) - if true, whenever a composed model is\n  saved, it will update the `updated` timestamp of the root model. Does nothing\n  if `this` is not using timestamps.\n\n### model.readComposition(objectOrId, compositionKey, callback)\n\nRead a single composition from a model.\n\n* `objectOrId` — an id or an object that contains an id that refers to a model.\n* `compositionKey` – the composition which to retrieve.\n* `callback` — callback for result, format (err, resultingComp). `resulingComp`\n  will either be an array of composed objects or a single object if there was\n  only one\n\nExample (from the above context)\n```javascript\nbeer.readComposition(pliny, 'hops', function(err, hops) {\n  console.log(hops); \n  /* [ { name: 'Columbus', aa: '13.9%', id: 12 },\n      { name: 'Simcoe', aa: '12.3%', id: 13 },\n      { name: 'Centennial', aa: '8.0%', id: 14 } ]  */\n});\n```\n<a name=\"uniqueness\"/>\n## Setting a unique key \n\nIn neo4j, you can enforce uniqueness of nodes by using a uniqueness constraint\non a given key for a label. You can add this constraint yourself, but doing so\nthrough seraph-model will give you the option to use the existing node in the event of a \nconflict. \n\n### Unique Key\n\nSpecifiying a unique key will create a constraint on that key. This means that\nno two nodes saved as this kind of model can have the same value for that key.\n\nFor example:\n\n```javascript\nvar Car = model(db, 'car');\nCar.setUniqueKey('model');\nCar.save({make: 'Citroën', model: 'DS4'}, function(err, ds4) {\n  // ds4 -> { id: 1, make: 'Citroën', model: 'DS4' }\n  Car.save({make: 'Toyota', model: 'DS4'}, function(err, otherDs4) {\n    // err.statusCode -> 409 (conflict)\n  });\n});\n\nCar.save({make: 'Subaru'}, function(err, subaru) {\n  // err -> 'The `model` key is not set, but is required to save this object'\n});\n```\n\nYou can also specify that instead of returning a conflict error, that you want\nto just return the old object when you attempt to save a new one at the same\nindex. For example:\n\n```javascript\nvar Tag = model(db, 'tag');\nTag.setUniqueKey('tag', true, function() {\n  Tag.save({tag: 'finnish'}, function(err, tag) {\n    // tag -> { id: 1, tag: 'finnish' }\n    \n    // presumably later on, someone wants to save the same tag \n    Tag.save({tag: 'finnish'}, function(err, tag) {\n      // instead of saving another tag 'finnish', the first one was returned\n      // tag -> { id: 1, tag: 'finnish' }\n    });\n  });\n});\n```\n\n<a name=\"computed-fields\"/>\n## Computed fields\n\nComputed fields are fields on a model that exist transiently (they aren't stored\nin the database) and can be composed of other fields on the object or external\ninformation. You specify the field that you want to be computed, and the function \nthat should be used to compute the value of that field for the model, and it will \nautomatically be computed every time the model is read (and removed from the\nmodel just before saving). You can use [addComputedField](#addComputedField) or\n[addComputer](#addComputer) to add a computed field.\n\nExample:\n\n```\nvar Car = model(db, 'car');\nCar.addComputedField('name', function(car) {\n  return car.make + ' ' + car.model;\n});\nCar.addComputedField('popularity', function(car, cb) {\n  fetchPopularityRating(car.make, car.model, function(err, rating) {\n    if (err) return cb(err);\n    cb(null, rating.numberOfOwners);\n  });\n});\n\nCar.save({ make: 'Citroën', model: 'DS4' }, function(err, car) {\n  // car.name = 'Citroën DS4'\n  // car.popularity = 8599\n});\n```\n\n<a name=\"schemas\"/>\n## Schemas\n\nSchemas are a way of defining some constraints on a model and enforcing them\nwhile saving. An example of a schema might be:\n\n```javascript\nvar User = model(db, 'user');\nUser.schema = {\n  name: { type: String, required: true },\n  email: { type: String, match: emailRegex, required: true },\n  age: { type: Number, min: 16, max: 85 },\n  expiry: Date\n}\n```\n\nSetting a schema will automatically use the keys of the schema as the model's\n[`fields`](#fields) property.\n\nEach of the constraints and their behaviour are explained below.\n\n* [`type`](#schema.type)\n  + [`'date'` or `Date`](#schema.type.date)\n  + [`'string'` or `String`](#schema.type.string)\n  + [`'number'` or `Number`](#schema.type.number)\n  + [`'array'` or `Array`](#schema.type.number)\n  + [`'boolean'` or `Boolean`](#schema.type.number)\n  + [Other types](#schema.type.others)\n* [`default`](#schema.default)\n* [`trim`](#schema.trim)\n* [`lowercase`](#schema.lowercase)\n* [`uppercase`](#schema.uppercase)\n* [`required`](#schema.required)\n* [`match`](#schema.match)\n* [`enum`](#schema.enum)\n* [`min`](#schema.min)\n* [`max`](#schema.max)\n\n<a name=\"schema.type\">\n### `type`\n\nA `type` property on the schema indicates the type that this property should be.\nUpon saving, seraph-model will attempt to coerce properties that have a `type`\nspecified into that type.\n\n<a name=\"schema.type.date\"/>\n#### `'date'` or `Date`\n\nExpects a date, and coerces it to a number using [`Date.getTime`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime).\nValues will be parsed using [Moment.js' date parser](http://momentjs.com/docs/#/parsing/).\n\nExamples of coercion:\n\n```\nnew Date(\"2013-02-08T09:30:26\")    ->   1360315826000\n\"2013-02-08T09:30:26\"              ->   1360315826000\n1360315826000                      ->   1360315826000\n```\n\n<a name=\"schema.type.string\"/>\n#### `'string'` or `String`\n\nExpects a string. Values will be coerced to a string using `.toString()`.\n\n<a name=\"schema.type.number\"/>\n#### `'number'` or `Number`\n\nExpects a number. Values will be coerced to a number. If the coercion results\nin `NaN`, validation will fail.\n\n<a name=\"schema.type.boolean\"/>\n#### `'boolean'` or `Boolean`\n\nExpects a boolean. Values that are not already a boolean will be coerced based on\ntheir truthiness (i.e. `!!value`), with the exception of `'0'` which is coerced\nto `false`.\n\n<a name=\"schema.type.array\"/>\n#### `'array'` or `Array`\n\nExpects an array. If the value is not an array, it will be coerced to an array\nby inserting the value into an array and returning that.\n\nExamples of coercion:\n\n```\n[1,2,3]     -> [1,2,3]\n'cat'       -> ['cat']\n```\n\n<a name=\"schema.type.others\"/>\n#### Other types\n\nYou can give your own types to check against. If `type` is set to a string value\nthat is not one of the above, the value's type is checked with \n`typeof value == type`. If `type` is a function, the value's type is checked with\n`value instanceof type`. \n\n<a name=\"schema.default\"/>\n### `default`\n\nSupply a default value for this property. If the property is undefined or null\nupon saving, the property will be set to this value.\n\n**Default value:** `undefined`.\n**Example values:** `'Anononymous User'`, `500`, `[1, 2, 3]`. \n\nExample:\n\n```javascript\nUser.schema = {\n  name: { default: 'Anonymous User' }\n}\n```\n\n<a name=\"schema.trim\"/>\n### `trim`\n\nTrim leading/trailing whitespace from a string.\n\n**Default value:** `false`.\n**Example values:** `true`, `false`. \n\n<a name=\"schema.uppercase\"/>\n### `uppercase`\n\nTransform a string to uppercase.\n\n**Default value:** `false`.\n**Example values:** `true`, `false`. \n\n<a name=\"schema.lowercase\"/>\n### `lowercase`\n\nTransform a string to lowercase.\n\n**Default value:** `false`.\n**Example values:** `true`, `false`. \n\n<a name=\"schema.required\"/>\n### `required`\n\nEnsure this property exists. Validation will fail if it null or undefined.\n\n**Default value:** `false`.\n**Example values:** `true`, `false`. \n\n<a name=\"schema.match\"/>\n### `match`\n\nValues should match this regular expression. Validation will fail if the value\ndoes not.\n\n**Default value:** `undefined`.\n**Example values:** `/^user/i`, `new RegExp(\"^user\", \"i\")`. \n\n<a name=\"schema.enum\"/>\n### `enum`\n\nValues should be one of the values in the enum. Validation will fail if the value\nis not in the enum.\n\n**Default value:** `undefined`.\n**Example values:** `['male', 'female']`, `[10, 20, 30]`. \n\n<a name=\"schema.min\"/>\n### `min`\n\nValues should be greater than or equal to the given number. Validation will fail\nif the value is less.\n\n**Default value:** `undefined`.\n**Example values:** `10`, `0.05`. \n\n<a name=\"schema.max\"/>\n### `max`\n\nValues should be less than or equal to the given number. Validation will fail\nif the value is greater.\n\n**Default value:** `undefined`.\n**Example values:** `100`, `0.95`. \n\n<a name=\"save\"/>\n#### `model.save(object, [excludeCompositions,] callback(err, savedObject))`\n\nSaves or updates an object in the database. The steps for doing this are:\n\n1. `object` is prepared using [model.prepare](#prepare)\n2. `object` is validated using [model.validate](#validate). If validation\n   fails, the callback is called immediately with an error.\n3. The `beforeSave` event is fired.\n4. A cypher query is assembled that will save/update the node with the appropriate\n   label, as well as any relevant composited nodes.\n5. `object` is saved.\n6. The `afterSave` event is fired.\n\nIf `excludeCompositions` is truthy, any composed models attached to `object`\nwill not be altered in the database (they will be ignored), and the object which \nis returned will exclude compositions.\n\nYou need to remember that the `_rel` key of any object is a reserved word for\nrelations properties (see [Relations properties](#composition.relations.properties))\nand will be stripped from the object when saving, so it's not recommended using\nthis name in your model.\n\n<a name=\"update\"/>\n#### `model.update(object, [excludeCompositions,] callback(err, savedObject))`\n\nAdditive version of [model.save](#save). Will not rewrite all properties on\nan object, and instead will only update the properties given on `object`. Otherwise\nbehaves in the same way as [model.save](#save).\n\n<a name=\"push\"/>\n#### `model.push(rootId, compName, object(s), callback(err, savedObject(s)))`\n\nPushes a single object as a composed model on the model represented by `rootId`.\nThis does not read the database first so there is no danger of a race condition.\n\n<a name=\"saveComposition\"/>\n#### `model.saveComposition(rootId, compName, objects, callback(err, savedObjects))`\n\nUpdates a composition set on a model. The models composed under `compName` on the\nmodel will be replaced with those specified by objects. This can be a partial\nupdate if you have an already existing array of composited objects.\n\n<a name=\"read\"/>\n#### `model.read(idOrObject, callback(err, model))`\n\nReads a model from the database given an id or an object containing the id. \n`model` is either the returned object or `false` if it was not found.\n\n<a name=\"exists\"/>\n#### `model.exists(idOrObject, callback(err, doesExist))`\n\nCheck if a model exists.\n\n<a name=\"findAll\"/>\n#### `model.findAll([opts,] callback(err, allOfTheseModels))`\n\nFinds all of the objects that were saved with this type. Returns composited nodes.\n\n`opts` is a set of options to pass to the read call. See [query](#query) for\navailable settings.\n\n<a name=\"where\"/>\n#### `model.where(predicate, [opts,] callback(err, matchingModels))`\n\nThis is a operationally similar to \n[seraph.find](https://github.com/brikteknologier/seraph#node.find), but is\nrestricted to searching for nodes marked as this kind of model only. Will also\nreturn composited nodes.\n\n`predicate` can also contain Javascript RegExp objects for some values. For instance, to make a case \ninsensitive request, one might use :\n\n```javascript\nCar.where({ make: new RegExp('Aston Martin', 'i') }, { varName: \"car\" }, function(err, cars) {\n  // `cars` might have 'ASTON MARTIN', 'aston martin', 'AsToN mArTiN' (and many others) as `make` values... as long as James Bond's driving.\n});\n```\n\n`opts` is a set of options to pass to the [query](#query) call. Special options\nfor `where`:\n\n* `any` (default = `false`) - if set to true, will match nodes with any of the\n  specified values, rather than nodes with all of them. \n\n<a name=\"query\"/>\n#### `model.query(query, params, [opts,] callback)`\n\nTakes a partial cypher query and extends it to retrieve seraph-models of this \ntype. This is useful if you have computed properties or compositions. The `query`\nshould be a regular cypher query, but it should not have a RETURN statement. It\nshould also have a `node` variable (name is configurable via the `opts.varName`\nsetting) that represents the model. So for example, lets say I want to find\nall Cars with an age greater than `x` years. I might do a query like this:\n\n**Available options**\n\n* `varName` (default = `node`) - the variable name in the query referring to\n  nodes of the current model.\n* `skip` (default = 0) - skip this many nodes in the resultset (exactly the same\n  as cypher's SKIP)\n* `limit` (default = none) - limit to this many results (exactly the same as\n  cypher's LIMIT)\n* `orderBy` - an order by clause. to order by a property, use `varName` as well.\n  For example, if `varName` is `beer`, I can have a `orderBy` value of `beer.abv DESC`.\n* `otherVars` - an array of other variable names that you want to return. they \n  will be attached to each node in the result. for example if you have a variable\n  in your query `age`, and you specify it in `otherVars`, its value will be returned\n  on each return model as the `age` property. Note that if a property with that\n  name already exists, it will be overwritten (on the client, not in the database)\n* `include` - an array of included models. These are models which are related to\n  the model you'd like to retrieve, but not composed. Specifying them here will\n  automatically fetch these relations, and run any computations for that model\n  after reading. It's also just convenient so that you don't have to specify your\n  own MATCHes when you have non-composed relations. `include` should be an object,\n  where each key is the name of the property on the resulting node, and each value\n  is an object with the following options:\n  * `model` the seraph-model that will be read\n  * `relName` the name/label of the relationship relating the root node and this model\n  * `direction` (optional - default: `out`) the direction of the relationship\n    (valid options are: `in`, `out` or `many`).\n  * `many` (optional - default: `false`) if set to true, the result is always\n    and array\n* `computeLevels` - compute computed variables on models up to this depth in the\n  composition graph. This may be desirable if you are reading many nodes, and\n  you have computations that cause a database query to be executed. This can\n  grow very quickly to a lot of http calls, and so `computeLevels` can be used\n  to restrict the computation to only your root model (0) or the closest\n  compositions (1, etc).\n  \n\n```javascript\nCar.query('MATCH (car:car) WHERE car.age > {x}', { x: 10 }, { varName: 'car' }, function(err, cars) {\n  // `cars` is always an array\n});\n```\n\n<a name=\"prepare\"/>\n#### `model.prepare(object, callback(err, preparedObject))`\n\nPrepares an object by using the `model.preparers` array of functions to mutate\nit. For more information, see [Adding preparers](#preparation)\n\n<a name=\"validate\"/>\n#### `model.validate(object, callback(err, preparedObject))`\n\nValidates that an object is ready for saving by calling each of the functions in\nthe `model.validators` array. For more information, see \n[Adding validators](#validation)\n\n<a name=\"fields\"/>\n#### `model.fields`\n\nThis is an array of property names which acts as a whitelist for property names\nin objects to be saved. If it is set, any properties in objects to be saved that\nare not included in this array are stripped. Composited properties are \nautomatically whitelisted. See \n[Setting a properties whitelist](#settingfields) for more information and\nexamples.\n\n<a name=\"setUniqueKey\"/>\n#### `model.setUniqueKey(keyName, [returnOldOnConflict = false], [callback])`\n\nAdds a uniqueness constraint to the database that makes sure `keyName` has a\nunique value for any nodes labelled as this kind of model. If the constraint\nalready exists, no changes are made.\n\n**Note**: If you do not specify a callback, this mode will be set only on the\nseraph-model client. No constraint will be added to the database.\n\nSee the [using a unique key](#unique-key) section for more information and\nexamples.\n\n<a name=\"useTimestamps\"/>\n#### `model.useTimestamps([createdField = 'created', [updatedField = 'updated'])`\n\nIf called, the model will add a `created` and `updated` timestamp field to each\nmodel that is saved. These are timestamps based on the server's time (in ms). \n\nYou can also use the `model.touch(node, callback)` function to update the\n`updated` timestamp without changing any of the node's properties. This is useful\nif you're updating composed models seperately but still want the base model to\nbe updated.\n\n<a name=\"addComputedField\"/>\n#### `model.addComputedField(fieldName, computer)`\n\nAdd a [computed field](#computed-fields) to a model.\n\n<a name=\"addComputer\"/>\n#### `model.addComputer(fieldNameArray, computer)`\n\nAdd multiple [computed fields](#computed-fields) to a model, that are computed\nwith a single computer. `computer` is a function that takes arguments `obj` and\n`callback`, and calls a callback with `err` and a modified `obj` with the computed\nfields added. `fieldNameArray` is an array of names of computed properties. These\nneed to be known so that they will not be persisted back into the database.\n\n<a name='thechangelist'/>\n# Changelist\n\n## 0.6.0\n\nSee [migration guide](#migration) for details on migrating from 0.5.0 to 0.6.0.\nIf you've been using 0.5.0 this is mandatory, your models won't work if you don't\nmigrate.\n\n* Models now use [labels](http://docs.neo4j.org/chunked/milestone/graphdb-neo4j-labels.html) (new in neo4j 2) instead of legacy indexes to keep track of their type.\n* Removed all legacy indexing. Any legacy indexes you use should be now created\n  manually. The `afterSave` or `beforeSave` events are recommended for this\n  purpose.\n* `setUniqueKey` now uses neo4j 2.0.0 uniqueness constraints.\n* `cypherStart` becomes redundant.\n* `addUniqueKey` now has a callback, since it is now adding a uniqueness constraint\n  to the database.\n* Saving a model that has its uniqueness set to `returnOld` will now update the\n  existing node's properties on save, to the specified ones (old behaviour was\n  to discard the specified properties, make no changes, and return the existing node).\n* All timestamps are now in milliseconds, and can no longer be customised.\n* New option on `compose`: `updatesTimestamp` - allows the composed node to update\n  the `updated` timestamp of any nodes it is composed upon, when updating. This\n  functionality existed already, but was not optional. It is now opt-in.\n* Both read and write now use only a single API call.\n\n<a name='migration'/>\n# Migration Guide\n\n## to 0.6.0\n\nThis will remove the `nodes` legacy index that was used to keep track of seraph-models\npre 0.6.0. It will label all of the nodes that were in that index with the type of\nthe model. If you specify, it will also migrate your created/updated timestamps.\nYou will need to write your own script to use it.\n\nYou can include the migration function like so:\n\n```\nvar migrate = require('seraph-model/migrations/0.5-to-0.6');\n```\n\nThis function has the following signature:\n\n```\nmigrate(db, models, [migrateTimestamps,] [migrateTimestampsFn,] callback)\n```\n\n* `db` - an instance of seraph pointing to your neo4j db that you want to migrate\n* `models` - an array of your seraph-models that you would like to migrate.\n* `migrateTimestamps` - whether or not this migration should attempt to update your\n  timestamps to the new millisecond-only format\n* `migrateTimestampsFn` - a function to take a timestamp of your old format, and\n  conver it to milliseconds since 1970/01/01. defaults to `function(ts) { return ts * 1000 }`.\n* `callback` - function to call when the migration is complete.\n","maintainers":[{"name":"jonpacker","email":"contact@jonpacker.com"}],"time":{"modified":"2022-06-26T17:52:55.119Z","created":"2013-03-01T14:17:09.611Z","0.1.1":"2013-03-01T14:17:12.002Z","0.2.0":"2013-03-01T16:53:33.835Z","0.2.1":"2013-03-10T12:34:27.060Z","0.2.2":"2013-03-10T12:37:01.928Z","0.3.0":"2013-03-27T13:12:06.374Z","0.3.1":"2013-04-09T16:52:29.426Z","0.3.2":"2013-04-10T15:27:12.872Z","0.3.3":"2013-04-11T12:28:06.903Z","0.3.4":"2013-04-15T13:12:36.426Z","0.3.5":"2013-04-15T15:29:54.955Z","0.3.6":"2013-04-16T11:22:35.665Z","0.3.7":"2013-04-16T11:47:13.388Z","0.3.8":"2013-04-16T12:12:23.098Z","0.3.9":"2013-04-22T12:35:54.767Z","0.3.10":"2013-04-22T15:47:27.554Z","0.3.11":"2013-06-15T15:57:59.292Z","0.4.0":"2013-06-25T15:12:28.429Z","0.4.1":"2013-06-27T13:46:25.576Z","0.4.2":"2013-07-04T19:47:58.185Z","0.4.3":"2013-07-04T21:53:58.714Z","0.4.4":"2013-07-15T08:23:01.665Z","0.4.5":"2013-07-15T08:23:59.082Z","0.4.6":"2013-07-15T10:06:28.264Z","0.4.8":"2013-08-14T16:17:54.361Z","0.4.9":"2013-08-15T13:12:34.455Z","0.4.10":"2013-08-15T14:43:38.519Z","0.4.11":"2013-08-16T15:29:37.640Z","0.4.12":"2013-08-19T12:56:28.171Z","0.4.13":"2013-09-16T20:59:10.608Z","0.5.0":"2013-10-29T15:39:57.681Z","0.5.1":"2013-10-29T15:45:22.706Z","0.5.2":"2013-10-29T15:52:08.563Z","0.5.3":"2013-11-07T17:44:46.408Z","0.5.4":"2013-11-21T13:50:06.612Z","0.5.5":"2013-12-03T11:54:06.621Z","0.6.0":"2014-01-29T14:42:13.887Z","0.6.1":"2014-01-29T14:48:57.417Z","0.6.2":"2014-01-30T09:05:32.630Z","0.6.3":"2014-01-30T12:11:41.379Z","0.6.4":"2014-01-30T14:39:41.881Z","0.6.5":"2014-01-30T14:53:22.055Z","0.6.6":"2014-01-31T09:39:52.893Z","0.6.7":"2014-01-31T13:40:03.586Z","0.6.8":"2014-01-31T13:51:00.501Z","0.6.9":"2014-02-25T16:43:27.816Z","0.6.10":"2014-03-05T14:48:06.092Z","0.6.12":"2014-03-24T16:14:47.827Z","0.6.13":"2014-06-07T08:44:46.056Z","0.6.14":"2014-07-04T11:16:29.414Z","0.6.15":"2014-08-09T19:48:15.953Z","0.6.16":"2014-08-15T10:55:51.624Z","0.6.17":"2014-08-25T13:01:44.638Z","0.6.18":"2014-08-27T13:58:25.830Z","0.7.0":"2015-03-18T16:01:59.130Z","0.7.1":"2015-04-24T11:58:29.939Z","0.7.2":"2015-04-27T09:03:27.689Z","0.7.3":"2015-08-12T12:22:02.280Z","0.7.4":"2015-08-17T21:20:03.472Z","0.7.5":"2015-08-18T22:39:17.476Z","0.7.6":"2016-01-30T20:51:38.901Z","0.7.7":"2016-01-30T21:12:14.042Z","0.8.1":"2016-05-20T12:58:27.030Z","0.8.2":"2016-06-28T11:03:16.183Z","0.8.3":"2016-07-22T09:59:04.193Z","0.9.0":"2016-07-29T13:12:59.007Z","0.9.1":"2016-08-12T07:40:30.076Z","0.10.1":"2017-02-20T14:20:05.634Z"},"readmeFilename":"README.md","license":"MIT","homepage":"https://github.com/brikteknologier/seraph-model#readme","repository":{"type":"git","url":"git+ssh://git@github.com/brikteknologier/seraph-model.git"},"bugs":{"url":"https://github.com/brikteknologier/seraph-model/issues"},"users":{"pompeu":true,"franxyzxyz":true,"garrickajo":true}}