{"_id":"lore-models","_rev":"82-46248cd22b17ffd5c694f1720c4ab491","name":"lore-models","description":"Convention over configuration for CRUD actions against models and collections","dist-tags":{"latest":"0.13.0","stable":"0.6.15","next":"0.13.0-rc.2"},"versions":{"0.3.0":{"name":"lore-models","author":{"name":"Storcery"},"version":"0.3.0","description":"Convention over configuration for CRUD actions against models and collections.","keywords":["lore","models","collections","fetch","api","react","redux","CRUD"],"homepage":"http://github.com/storcery/lore","main":"lib/index.js","files":["lib","src"],"scripts":{"clean":"rimraf lib coverage .tmp","lint":"eslint src test","test":"mocha --compilers js:babel-core/register --recursive","test:watch":"npm test -- --watch","test:cov":"babel-node $(npm bin)/isparta cover $(npm bin)/_mocha -- --recursive","check":"npm run lint && npm run test","build":"babel src --out-dir lib","preversion":"npm run clean && npm run check","version":"npm run build","postversion":"git push && git push --tags && npm run clean","prepublish":"npm run clean && npm run build"},"repository":{"type":"git","url":"git://github.com/storcery/lore.git"},"engines":{"node":">=0.9.0"},"dependencies":{"backbone":"^1.2.3","jquery":"^2.1.4","lodash":"^3.10.1"},"devDependencies":{"babel-cli":"^6.4.0","babel-core":"^6.2.1","babel-eslint":"^4.1.6","babel-preset-es2015":"^6.1.18","backbone-super-sync":"^1.1.1","chai":"^3.4.1","eslint":"^1.7.1","eslint-config-airbnb":"^1.0.2","eslint-plugin-react":"^3.6.3","gulp":"^3.9.0","gulp-babel":"^6.1.1","isparta":"^3.0.3","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"^2.4.4"},"bugs":{"url":"https://github.com/storcery/lore/issues"},"license":"MIT","_id":"lore-models@0.3.0","_shasum":"9e8af3c69ae0a691a3c134cdd9c6d26a931aa9be","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mikrofusion","email":"mike.groseclose@gmail.com"},"maintainers":[{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"dist":{"shasum":"9e8af3c69ae0a691a3c134cdd9c6d26a931aa9be","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.3.0.tgz","integrity":"sha512-mypXHM1bgF0Bbctv+byxMDWIiYYsIxiCT4F8Ap2CTo+brhn35BUdjq5EbsKE07A8uWnJl+ACUFDSUIWbjKpi5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEVJPT7SWqEHkE9yEGyJ2UvJgfxHBuRVDmULpfm9Uq38AiEAkqw5dgTnkhWvw4P68jxfXDThCRU39S/cWEm95DSCB/4="}]},"directories":{}},"0.3.1":{"name":"lore-models","author":{"name":"Storcery"},"version":"0.3.1","description":"Convention over configuration for CRUD actions against models and collections.","keywords":["lore","models","collections","fetch","api","react","redux","CRUD"],"homepage":"http://github.com/storcery/lore","main":"lib/index.js","files":["lib","src"],"scripts":{"clean":"rimraf lib coverage .tmp","lint":"eslint src test","test":"mocha --compilers js:babel-core/register --recursive","test:watch":"npm test -- --watch","test:cov":"babel-node $(npm bin)/isparta cover $(npm bin)/_mocha -- --recursive","check":"npm run lint && npm run test","build":"babel src --out-dir lib","preversion":"npm run clean && npm run check","version":"npm run build","postversion":"git push && git push --tags && npm run clean","prepublish":"npm run clean && npm run build"},"repository":{"type":"git","url":"git://github.com/storcery/lore.git"},"engines":{"node":">=0.9.0"},"dependencies":{"backbone":"^1.2.3","jquery":"^2.1.4","lodash":"^3.10.1"},"devDependencies":{"babel-cli":"^6.4.0","babel-core":"^6.2.1","babel-eslint":"^4.1.6","babel-preset-es2015":"^6.1.18","backbone-super-sync":"^1.1.1","chai":"^3.4.1","eslint":"^1.7.1","eslint-config-airbnb":"^1.0.2","eslint-plugin-react":"^3.6.3","gulp":"^3.9.0","gulp-babel":"^6.1.1","isparta":"^3.0.3","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"^2.4.4"},"bugs":{"url":"https://github.com/storcery/lore/issues"},"license":"MIT","_id":"lore-models@0.3.1","_shasum":"8555f240f201b5b529d8ed67ded85cb58f972649","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"mikrofusion","email":"mike.groseclose@gmail.com"},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"dist":{"shasum":"8555f240f201b5b529d8ed67ded85cb58f972649","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.3.1.tgz","integrity":"sha512-VkthUQRR4L78x+QJzsJrJdryRFWmkGjzAiuSh62uu/0EHtpK5Ggy2kAU74zpiWqIlCcBcNmW3GtHHQm6yfabYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFUR0qFoSI8GaRv6se+ypQNE/ru7pflC79Luc5698XprAiEA8OyQLXMg4xtbvM/tKm2kO+6VQs1FkKE7Nz9KMzq4rnE="}]},"_npmOperationalInternal":{"host":"packages-8-eu.internal.npmjs.com","tmp":"tmp/lore-models-0.3.1.tgz_1454385869140_0.19930641795508564"},"directories":{}},"0.4.0":{"name":"lore-models","version":"0.4.0","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"^0.8.1","lodash.assign":"^3.2.0","lodash.clone":"^4.0.2","lodash.result":"^3.1.2","lodash.uniqueid":"^3.0.0"},"devDependencies":{"chai":"^3.4.1","chai-as-promised":"^5.2.0","chai-spies":"^0.7.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.4.0","_shasum":"c18fd0d6b64d0979063a7faa49de8a5e10820e11","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"c18fd0d6b64d0979063a7faa49de8a5e10820e11","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.4.0.tgz","integrity":"sha512-YsX4Z/U/NOQHj2Rp6TTSLEmthb1KR3idYUCHD1JR2Ys+yHKfdd+gzxrVXsU72TCUDeWLm6cpUJ6oJtXo0qNImQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXF4nCw9v83uzV3wzT2cJBngYTWkgCVJOrRk19guQ9YAiBOiAgohxLXWPOrzfpXP53v68K/Qs0xynelZhsYtdSYSQ=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.4.0.tgz_1457078005609_0.03340969164855778"},"directories":{}},"0.6.12":{"name":"lore-models","version":"0.6.12","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"^0.8.1","lodash.assign":"^3.2.0","lodash.clone":"^4.0.2","lodash.result":"^3.1.2","lodash.uniqueid":"^3.0.0"},"devDependencies":{"chai":"^3.4.1","chai-as-promised":"^5.2.0","chai-spies":"^0.7.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.6.12","_shasum":"5ae4822a9b54fc99aedf03df3172211444f9c551","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"5ae4822a9b54fc99aedf03df3172211444f9c551","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.6.12.tgz","integrity":"sha512-pQHge4x0hiP001jBK9mt/NXb6ymxOnebcfLXeqzzqPlrfYzSzqRRfNDGpsh7encsWQg7OfUWZ24APk6Y/sUrsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC34772MIwkaIUPSP9NVp097c8Joilsvsc0kh6/esyQrAiEA3pOKytPrx4McfuygRH2Ae+/YvbY1x9Xu8idXpal8LUk="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.6.12.tgz_1457080184707_0.719951341394335"},"directories":{}},"0.6.15":{"name":"lore-models","version":"0.6.15","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"^0.8.1","lodash.assign":"^3.2.0","lodash.clone":"^4.0.2","lodash.result":"^3.1.2","lodash.uniqueid":"^3.0.0"},"devDependencies":{"chai":"^3.4.1","chai-as-promised":"^5.2.0","chai-spies":"^0.7.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.6.15","_shasum":"2ab7e6c3d56e74d874e41c20d28b771ea42c73e7","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"2ab7e6c3d56e74d874e41c20d28b771ea42c73e7","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.6.15.tgz","integrity":"sha512-Y3qqdOycaqSRhnECE8TOVPozvWrzNcS5f+OZ/JFw0n5uFU44uYbfxY+PCRY+fBRcKd+lY/Tn43Wf//1HOEpe/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDg94v+y+FATinj0wWWUJnzPfJunPgdgAQfPDC97PapBQIhANuhK8pHyfJOxJvasME4oe0EqfUcCOVuEwu+7zvOjE0v"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/lore-models-0.6.15.tgz_1457433101515_0.7117958639282733"},"directories":{}},"0.6.26":{"name":"lore-models","version":"0.6.26","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"^0.8.1","lodash.assign":"^3.2.0","lodash.clone":"^4.0.2","lodash.result":"^3.1.2","lodash.uniqueid":"^3.0.0"},"devDependencies":{"chai":"^3.4.1","chai-as-promised":"^5.2.0","chai-spies":"^0.7.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.6.26","_shasum":"8431b07d0d00eb8a7ea5efe2b73dfb02b073ac28","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"8431b07d0d00eb8a7ea5efe2b73dfb02b073ac28","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.6.26.tgz","integrity":"sha512-vuR87RnaiL1lq0DCdYtZdRr0gXl+pUtIXbBbXzrdh3hSv8F9RyOrFudbrz268Z8BS8KeVNarPlHJp9qgv0wl7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA1S4/GPlUqp5VIzGY4Q0A8PKWt839/n13wrHjFMuZX2AiEAv4CF4bkdMa8n5aPG9+NEZOJ+q2ZNxy8aLLju1XRMtSw="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.6.26.tgz_1460066932022_0.4287540903314948"},"directories":{}},"0.6.27":{"name":"lore-models","version":"0.6.27","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"^0.8.1","lodash.assign":"^3.2.0","lodash.clone":"^4.0.2","lodash.result":"^3.1.2","lodash.uniqueid":"^3.0.0"},"devDependencies":{"chai":"^3.4.1","chai-as-promised":"^5.2.0","chai-spies":"^0.7.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.6.27","_shasum":"fc0020ffed2371f858088270cb00240edebaf643","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"fc0020ffed2371f858088270cb00240edebaf643","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.6.27.tgz","integrity":"sha512-AzopLd2we1EguNfcKsAI1My4fmJBM2d6zDHiiA59xHg0ibYTA58tFvP29JEol6U/TsxGj+SCL6V6loXcZTohTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBVmvlDLcj0I5b5qbV/B3qnzdEBtbNhqupnT1IQsKeJNAiAvLLRUntq7GjUj9RBYS39vhE5yYxgtE3VD+ZkRqefDvQ=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/lore-models-0.6.27.tgz_1466913217284_0.25678566843271255"},"directories":{}},"0.6.30":{"name":"lore-models","version":"0.6.30","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"^0.8.1","lodash.assign":"^3.2.0","lodash.clone":"^4.0.2","lodash.result":"^3.1.2","lodash.uniqueid":"^3.0.0"},"devDependencies":{"chai":"^3.4.1","chai-as-promised":"^5.2.0","chai-spies":"^0.7.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.6.30","_shasum":"cbd7419c1753f09a106edee99de4a9fec5d35cd1","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"cbd7419c1753f09a106edee99de4a9fec5d35cd1","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.6.30.tgz","integrity":"sha512-EHvjIr+QeSHFiKOZ6lvOXNwXl/L19yaoPOhdk6x3B7RxILYlgCDwGAlbFCrj56VXy+QHI9spXc2kgUSECMWT+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHcOD+I/6+DkA5iIRZGvckS2GCbzfUEWapsXNQTAfjQ5AiEA7Jv+uL05X6hn7PzfRh+Wzi6EoXDIckrJzutGlFN5cPY="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/lore-models-0.6.30.tgz_1466913891153_0.08793038362637162"},"directories":{}},"0.7.0":{"name":"lore-models","version":"0.7.0","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"^0.8.1","lodash.assign":"^3.2.0","lodash.clone":"^4.0.2","lodash.result":"^3.1.2","lodash.uniqueid":"^3.0.0"},"devDependencies":{"chai":"^3.4.1","chai-as-promised":"^5.2.0","chai-spies":"^0.7.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.7.0","_shasum":"e58ae5e992cde6ee924faaa38a986e25b0ee84ae","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"e58ae5e992cde6ee924faaa38a986e25b0ee84ae","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.7.0.tgz","integrity":"sha512-Yn1tugzakixOP7WqSZL3K1PSUdm4VEdaGss3SeVSCl5iCLY7LLSA02pGlN4FBIIM5okZcRcKB6Zl2I9sf2407Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOXiBntsoU58/fCbBaAs26ooePQ5vJbMP5zOfG9RVthgIhAMirzADpIsJV73DDhuKk6SuOYfyBybMzqlGzRyNLyab6"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.7.0.tgz_1467283746736_0.9757974562235177"},"directories":{}},"0.8.0":{"name":"lore-models","version":"0.8.0","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.8.0","_shasum":"bb7ecf23123bc1aef1d718134310239b842c8e89","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"bb7ecf23123bc1aef1d718134310239b842c8e89","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.8.0.tgz","integrity":"sha512-SZiFJWso6vPc3NWVG6M4aJZLaYcGd9jpoZZo6xEICsqx59CZZsm/Qm7dUb19/NjWlmlFa09by/k38+qfan0xNQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5B4fg0Sj1OYmqqUU6OO1q4ti1YZgF6+enjGoRc6tvhgIhAPx0zTZq9PRDZaI1FHss1lucwDSLrS4cMu4WTqfevAGR"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.8.0.tgz_1468971718422_0.20407099300064147"},"directories":{}},"0.8.1":{"name":"lore-models","version":"0.8.1","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.8.1","_shasum":"c9ae4a1a97f87fed5e3f993d0a135d9751449e17","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"c9ae4a1a97f87fed5e3f993d0a135d9751449e17","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.8.1.tgz","integrity":"sha512-aHph67xyfSNlGJvJOy4eldaarTAnRVUICgMINNep1SXxqz/jDcEJS8vZL0N68DAFM0NoCcKo45DhM8YcUmsi1A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEIhQGSxBTjR2ycaJrZVbIhogVzNH6iDk76P14D9o0YAIgGtF+LQ+YPwH/FtUnPFFCj26fVPWOiQQ9pMVy0eWgy8Q="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.8.1.tgz_1471728379309_0.4095184786710888"},"directories":{}},"0.9.0":{"name":"lore-models","version":"0.9.0","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.9.0","_shasum":"a2293d5633db8730224e0e37622e0729e957fa6d","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"a2293d5633db8730224e0e37622e0729e957fa6d","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.9.0.tgz","integrity":"sha512-b/Spf7na1uXNTWp7j/sVg7ip4EdzBmlX8fOa1sKzID0Ta4iKY9mZCrJcEZ6D/dibUEYNbKFYp9tDnUnDJQDT3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCxz+rCbIFIY+17PtkryXkImNjkY/emt2CW5GYn2ZlbgIhAPKOeB1Wj1VekZCUT52yVCFVZhn06C4jVDgdvX8vG+FA"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.9.0.tgz_1473582766422_0.2440703611355275"},"directories":{}},"0.10.0-beta.1":{"name":"lore-models","version":"0.10.0-beta.1","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.10.0-beta.1","_shasum":"af58f2490b82a8b1729bcdaf0c12083da6ac13fb","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"af58f2490b82a8b1729bcdaf0c12083da6ac13fb","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.10.0-beta.1.tgz","integrity":"sha512-1YRSMedxWsgvp/3V5SKeGtYhlHy5KFABtYI0FkghaxyZYe2F3/jN0TJadSaKqevaotmDopoeQr2iNtRgNuCamw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCab3LAR27BT58V7LEg+UJTk0VV/pgginE0XJ+wTUE+7AIhAN1Rlr2ii0PcJZuCrCc6QP+0vJhWhppqBOQa7YJP4Ysk"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.10.0-beta.1.tgz_1475572931768_0.6097969622351229"},"directories":{}},"0.10.0":{"name":"lore-models","version":"0.10.0","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.10.0","_shasum":"99cf19975d0b32bfddd51ac75d40a86d6e3cc074","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"99cf19975d0b32bfddd51ac75d40a86d6e3cc074","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.10.0.tgz","integrity":"sha512-98HiURlIp5vTEUDKpBMv9rCX7W6ajUFTFOuXaXcINmZsOTJjhp6+jgqe0OLQv9eLAKs2nJAzQhF24vQv1GeqSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTNjIW1Mcr/kcda2HPM3ucdk3eTs7xzIX2iUwzK5o6NwIhAIsn0ziMVWonf3uKMHFdo4z7EUtTqm8ZDHyp8zTmiLgM"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/lore-models-0.10.0.tgz_1476337348004_0.2148366430774331"},"directories":{}},"0.10.1":{"name":"lore-models","version":"0.10.1","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.10.1","_shasum":"1b526dba362d8b7b0525051e62ca9af05bd6b460","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"1b526dba362d8b7b0525051e62ca9af05bd6b460","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.10.1.tgz","integrity":"sha512-kR2L24+JOX56l32ToNt6wgVOlW9o3n9tirHH4IZ9pWs1y5S8AMuOhD05d5oiOw/s3UkhNACtK/xEaHRlEVXbiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG8EnchUIxri5MwFwZtOCxRb3VYAVQSOfdYsDt1mREOwAiEA5ANsO4NQXfa2Q7FIkX6TugCIrLVVi88xbVgHDr3sUZs="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.10.1.tgz_1477897873938_0.1628299904987216"},"directories":{}},"0.11.0-beta.1":{"name":"lore-models","version":"0.11.0-beta.1","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.11.0-beta.1","_shasum":"eb9e5910bcd4bef89bd6c1d4cc66e75781f611ac","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"eb9e5910bcd4bef89bd6c1d4cc66e75781f611ac","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.11.0-beta.1.tgz","integrity":"sha512-tTZg/FT05BaopJYKcJ5JdARvPP8uqh/sNckdieoMQ4CE+MdPvvfgSkOtbdIA+BeOCidIoiOiRT+4mrYNTbNxoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEv7R2Mx9Y2V0Qs9ObQCEnmhXqY8E9QaahG3fm1HIt3jAiEA/AZrHIHYRHWMhk9i44cguWqSiQiaetjwOerte7IA9Go="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.11.0-beta.1.tgz_1481523876452_0.2638379940763116"},"directories":{}},"0.11.0-rc.1":{"name":"lore-models","version":"0.11.0-rc.1","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.11.0-rc.1","_shasum":"c204b2ea23a2aec5a4f09c247c875ae911195230","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"c204b2ea23a2aec5a4f09c247c875ae911195230","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.11.0-rc.1.tgz","integrity":"sha512-IUYn+mgk2PN8NSv0mo/FStTRkQdBpiFCSaYpiKJ975mJT71jfWuQTaalanQY/RkMbLqnfEjIbhd+Dk3FRyWw8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2Pxv23/Pmawe9BFNFZWNLuhW+v2o0yku5EeAiSMHZ6QIhAJcjd92PTInrSaA36pCHjBx+yA2ezgXf7DCsBrBPK71M"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-models-0.11.0-rc.1.tgz_1485239121829_0.1785808433778584"},"directories":{}},"0.11.0":{"name":"lore-models","version":"0.11.0","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.11.0","_shasum":"e5335826b27bfaa4a3f4b11205801a99405b0841","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"e5335826b27bfaa4a3f4b11205801a99405b0841","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.11.0.tgz","integrity":"sha512-hUy7owEodYzTnVggRXpkt0k/R34284P1TAstuvO0YtdP4wT/JtDSnQTcFfHJIuMTFELq0CVZEbxYKtcbM6RlDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1ChzvrWV8vDvMUx/RqiqLJ3qt0OUluhg+eHPIBK0bdgIgR5onqe3xZnjuNbZosU8lDG+ikUXtZXxSupvKRSnYLjA="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-models-0.11.0.tgz_1485665722722_0.06970616802573204"},"directories":{}},"0.12.0-beta.1":{"name":"lore-models","version":"0.12.0-beta.1","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.12.0-beta.1","_shasum":"8eeeb81de606c31af405f0b9f60adbc527c786e9","_from":".","_npmVersion":"4.4.0","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"8eeeb81de606c31af405f0b9f60adbc527c786e9","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.12.0-beta.1.tgz","integrity":"sha512-tZtH0nngC+wkAuX2KPbjDcuQinOoh9FFc2h2h1IcUYCody4TanEq1Ihd6l3hkwWizIqaT8qXZW8NynsO+HCBCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID25u1B5ok0w8YvvH1ahhMFEWWXseUF28vyTkml4dPmzAiEAnIHybEqdGGS2qU4fqN97lSzw7Z5s7WipOc3Si13anmE="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-models-0.12.0-beta.1.tgz_1488758369400_0.5873257820494473"},"directories":{}},"0.11.5":{"name":"lore-models","version":"0.11.5","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.11.5","_shasum":"f2f45928a48e18bf54e9caa8e0444e4c906f7b66","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"f2f45928a48e18bf54e9caa8e0444e4c906f7b66","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.11.5.tgz","integrity":"sha512-qj4Y2uc2vEepng//7ugHcq5UvxzuHKl/XM/RMhK4ACb5wGvjnw+rKa1b5LVV2BQ8QpVmN+LYK5zrMgHoWAIipg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1pJKt3kCmRbyCRH6MISLiRwjgJqGb0d4kh7ub9BBYWgIgLeoMRbz3zchPvckey8ORM+H/fVzuCQE3343AcDcGroo="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.11.5.tgz_1493712330203_0.6293040760792792"},"directories":{}},"0.12.0-rc.1":{"name":"lore-models","version":"0.12.0-rc.1","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.12.0-rc.1","_shasum":"87cab94e507de297e81edbcd7a84759d68675af9","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"87cab94e507de297e81edbcd7a84759d68675af9","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.12.0-rc.1.tgz","integrity":"sha512-OXRlLwOcIj7jn2WzQEr3d2QtEH5b8t32cSNaA8UpMJwRf9g+tb3ArcSjwcnP6qiJXgfucDMX0/YNsp6teBQKjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsbvYtHSF6Lq5NFeU4yanB8ixMXqa40D6kDsQeQcOAAwIgWbXFYcWcnULzTE5kHS3qQHvpVzjxkCLZ1YeyuYzXj78="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lore-models-0.12.0-rc.1.tgz_1493715339852_0.9307341740932316"},"directories":{}},"0.12.0":{"name":"lore-models","version":"0.12.0","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.12.0","_shasum":"b6c57a98e6356838cacc55847dd4242aa82eb103","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"shasum":"b6c57a98e6356838cacc55847dd4242aa82eb103","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.12.0.tgz","integrity":"sha512-W7OXrJeSwKEGaPK0HMI5ckeUCa/zCNKMeDauD3oQx7drakcT8yqrnqky61qS9VYPG7gKYPzKc7Fd2dxTbOVZOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDFOaNqiywQOTa4zLfJPW0ga6sEhzUGM9r099kIJO2ycAiEA0eZeFJsMrCXLavP4J+n9cdBVtuzXdmSaFMl5XdZ/i70="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/lore-models-0.12.0.tgz_1494219603898_0.355821828590706"},"directories":{}},"0.12.6":{"name":"lore-models","version":"0.12.6","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"../../node_modules/.bin/babel src --out-dir lib","clean":"rimraf lib","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.12.6","_npmVersion":"5.0.4","_nodeVersion":"6.11.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-KfaV9K5Gvzvm9jscLooIQsGVaAzpqnk0cZrQ6ZgvGIG6WFgupFoprTWXxeGV4kGrIIJSfymZCaKVY0kZIl9p+g==","shasum":"4481938ec8112648c343fdb82cdcb7931a8f89b9","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.12.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICLiXNvJK93uxCOABQnR+QRjgzJW0sv59sNbS2xoUckAAiBVIryCNDIEeOVEUbb/5QfRUkT1vG3ZPIqaUAgM9j0uHg=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models-0.12.6.tgz_1499144963619_0.16993747046217322"},"directories":{}},"0.12.7-rc.1":{"name":"lore-models","version":"0.12.7-rc.1","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.12.7-rc.1","_npmVersion":"5.1.0","_nodeVersion":"6.11.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-nZMZlGoeNZckdfh3ks9obGTB+DBkF0FgbGDGk1jtySVeQMGCHEzM06ZAxptVrLDE1XRHhpmIyYOdTU92pmVoBQ==","shasum":"141611e8f0cc48327a9170bc31805b8a758ba142","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.12.7-rc.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaBlkXnFxELkWCPsb75ICrzWeUwI6qrr5vyAobHe6q2QIhAPB6Y7VU8qaM0HnV8zObLkSDTGCeMQv7Nwab9YC3P6xO"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models-0.12.7-rc.1.tgz_1499638557089_0.6520578775089234"},"directories":{}},"0.13.0-beta.1":{"name":"lore-models","version":"0.13.0-beta.1","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.13.0-beta.1","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-4+mGe8I9qLxjEOJhQSn8ZgEsEl8YPNhSUyH2FMfIItyLIa9bINNf1azSR9PezZqG77UafBhHejpgKS0F4CCfpQ==","shasum":"dcb9e5dea4318c9721f826c9b41fb963d1c39be2","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIETRaKlbeV51Z5k8tly0yXMza+cI51crhhWp3ZLIzVLTAiEArSABLzCSFt/u0vellQBejW4ObBoXzgWMN1DgLWpFiIA="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models-0.13.0-beta.1.tgz_1505764635530_0.8816552669741213"},"directories":{}},"0.13.0-beta.3":{"name":"lore-models","version":"0.13.0-beta.3","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.13.0-beta.3","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-B6oX13PUJZE2O+LRlSKknJEDJ5vROO7I3gEJwUVEb96E1Wl4ZleDf31sqJuxcObpBuScDeGIsL9kLDBV9x9cKQ==","shasum":"b17188d42afd6f815f903a03980a922cf341af9e","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAU8ekC3TtrbRocyaZmdk4Fz+U4fDjJrD19+tnu0yWX6AiEAqXtgAHT9/kelVT7voLww76fDLn8RjUxROsYBn1AcdE8="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models-0.13.0-beta.3.tgz_1505773898848_0.06756851682439446"},"directories":{}},"0.13.0-beta.5":{"name":"lore-models","version":"0.13.0-beta.5","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.13.0-beta.5","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-MO2hVXZAmnEX6QDDtYzQ3ahQvT9phvAe8Gi1Xmn8U6/igarZZhRnsWVaDuwzgcPaV0YWeA+Uxfeom+oel2nUDg==","shasum":"3276636cf0f1a9bff62058608b0edfcec5eb31f0","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICLxeE+XrJs+hm1Z0ytWYOtbkbirmuL0d0b4amJqpZkJAiBMSkyoOnmZAzd8A/e7R6MnfF4uqvgIIUV6VYGwtbf6KA=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models-0.13.0-beta.5.tgz_1510692764226_0.06575642386451364"},"directories":{}},"0.13.0-beta.6":{"name":"lore-models","version":"0.13.0-beta.6","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.13.0-beta.6","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-5ZwxTv1paI7aEyeyQgJ62TRDG7/8JcDLtDhj1CnW9dsFhInRARmuGJfgC3XCJurbxRU52quqln49Al6bhgVe7Q==","shasum":"88a05a450699aa83ac212b2bbbe2fe6140f9bb4b","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCiIg71VpP7un1h3J9PyomHXya6+94mr8hYUhWYUaT4wIgDku4usrVts17CQkq7dZD++M83nHgUxUbqbYn8DdFCTc="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models-0.13.0-beta.6.tgz_1510698369712_0.3514722166582942"},"directories":{}},"0.13.0-beta.7":{"name":"lore-models","version":"0.13.0-beta.7","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.13.0-beta.7","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-RETFp9MQhQaWK24JzfU1FuS+Kd7E9qaHo6L7vT3T7uP7qpQQ3ZZl9vbpD+bmnnIXBwIibWaSl53hdkEvsP8Rww==","shasum":"9d0a8f8cfcce4aeaecbefe3b1a68a068ef6c262d","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQDlDR1q3dlHDuQmXo0+o5kj/9JUu1ANtK/IizkDRv8gIhAPJh6DJE7H3e5yCZx6ygieTqGGSKxS1KOU8bTWxlnMA0"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models-0.13.0-beta.7.tgz_1510699118901_0.04139421018771827"},"directories":{}},"0.13.0-beta.9":{"name":"lore-models","version":"0.13.0-beta.9","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.13.0-beta.9","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-WP+5aEC1qIRt41BWVfM3xyC9tBb5AVQv3BhQ5S8/Z2NQjRO6KNx/wp3Jh6dNJhmr7m0Hb5MrCWxeMeJisbCOGg==","shasum":"f47133dff144cb33f2a661ccc0dcf90cc18a5343","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBJwz2jAX0314vKWsi+FRKyv0r0mSFHSFc63B1VFyQZ5AiAjMOns+n+t0c6NuOw6cSQrvkbDqMrE9SCckuHe5ERqpA=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models-0.13.0-beta.9.tgz_1511594299634_0.6545218718238175"},"directories":{}},"0.13.0-beta.10":{"name":"lore-models","version":"0.13.0-beta.10","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.13.0-beta.10","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-vzaNYLZpXzDyBcE7g7lc3e+7bbMGCdJF0dRo5BivoswgHYWtpyGCK9l6iApdcRjJD+vh7ecLMVbjcH4gOoT42A==","shasum":"bf7393f5b50bcd81e4212c5e7d01829e71ec9b04","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHsXq6HX6azwNnrClnRRHXP+KmP1fQ5PY0Fg4N72j1MtAiB+JVVHW/qlM8Ew6iojv+vDXiJ/rQzRnqouJ3KriVpfMg=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models-0.13.0-beta.10.tgz_1513286409084_0.4617882820311934"},"directories":{}},"0.13.0-beta.11":{"name":"lore-models","version":"0.13.0-beta.11","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.13.0-beta.11","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-VpF8gN7z/29B8Wc5kRvLgH1wrqcnfQX1eDfSw8ATRZBG2dACYH5UA5qL4JmAQRHruOWo3O2Wtms5h3PDmHvoMQ==","shasum":"4c1dfbc01c0219445a4f85ccc93c99da792baabc","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDw2y+8In/qaerqHGdNUewMtKZMQlal93Z6WT+bqHLjNQIhALr4yVxpQvU56kEwH6MLq6ek00spVTQGf/ByKpt1CSMg"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models-0.13.0-beta.11.tgz_1513716333579_0.07756507466547191"},"directories":{}},"0.13.0-beta.12":{"name":"lore-models","version":"0.13.0-beta.12","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"readme":"# lore-models\nAJAX abstraction tier for Lore.\n\n### Interface\n\nThe interface for this library is designed to mirror [Backbone.Model](http://backbonejs.org/#Model) and [Backbone.Collection](http://backbonejs.org/#Collection) with the following modifications/notes/exceptions:\n\n1. This library should not be used to pass data through your application. It is intended solely as an AJX abstraction tier. JSON data goes in, a request in made, and the response is serialized back into JSON and *then* emitted from an action for the reducers to pick up.\n2. All event emitters have been removed.  Again, this is purely an abstraction tier, not a way to store your data.\n3. The jQuery.ajax has been removed in favor of something much lighter weight that also facilitates testing in a non-browser environment (i.e. Node).\n\n\n```js\nvar Model = require('lore-models').Model;\nvar sync = require('lore-models').sync;\nvar _ = require('lodash');\n\n// The .extend() method is something that allows you to define common functionality in\n// one model (like common parse methods or url buidling logic) and then build other\n// models from that so you don't have to duplicate the code.\nvar Todo = Model.extend({\n\n  // A model's unique identifier is stored under the id attribute. If you're \n  // directly communicating with a backend (CouchDB, MongoDB) that uses a different \n  // unique key, you may set a Model's idAttribute to transparently map from that \n  // key to id\n  idAttribute: \"id\",\n\n  // The endpoint used for CRUD operations.  The real url is build from this \n  // urlRoot + information like \"if calling model.save() and there's already\n  // a model.id property, the model must already exist, so we should make a\n  // call to `PUT http://localhost:3000/api/todos/:id` to update the model.\n  // If no model.id exists, then we should make a call to \n  // `POST http://localhost:3000/api/todos` to create the model.\n  urlRoot: 'http://localhost:3000/api/todos',\n  \n  // url() is used to build the url for the request\n  // if the API follows simple/flat conventions, there's rarely a need to override it\n  // but for APIs without clear conventions, this function is quite useful\n  // The code below is Backbone's default implementation (for reference)\n  url: function() {\n    var base =\n      _.result(this, 'urlRoot') ||\n      _.result(this.collection, 'url') ||\n      urlError();\n    if (this.isNew()) return base;\n    var id = this.get(this.idAttribute);\n    return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n  },\n\n  // initialize() is  especially useful for API endpoints with deeply \n  // nested URLs to help build the url later. It's called once, during\n  // construction of the model\n  initialize: function(attributes, options) {\n    // set instance variables\n  },\n  \n  // parse is called whenever a model's data is returned by the server, in fetch, \n  // and save. The function is passed the raw response object, and should return \n  // the attributes hash to be set on the model.\n  parse: function(resp, options) {\n    return resp;\n  },\n  \n  // Uses sync to persist the state of a model to the server. Can be \n  // overridden for custom behavior.\n  // This method has two really useful applications:\n  //\n  // 1. This method is especially useful for applications that have been around for\n  // a time and survived API changes and the property names in the client side\n  // JavaScript are no longer matched up to the server-side property names that\n  // come back in the API. It allows you to trasform the data back to a format\n  // that is meaningful to the server before sending the request\n  //\n  // 2. For inspecting the response before the application gets it.  For example,\n  // if you wanted to log the user out of the application whenever an API response\n  // returns a 401 (because their token expired) sync is a method that ALL requests\n  // go through (or at least they all go through sync).  So it's a way to\n  // observe and act on or log all network requests.\n  sync: function() {\n    return sync.apply(this, arguments);\n  },\n  \n  // this interface allows you to create and refernce your own methods.  Not very\n  // useful considering this interface is now meant solely to be an AJAX abstraction\n  // teir (not answer questions about the internal data) but this quality could still\n  // be useful if you need to build a url string or make some calculation or pull\n  // something out of local storage or whatever before sending a request or parsing\n  // data in a response\n  yourOwnCustomMethod: function(){}\n  \n});\n```\n\n### Methods\n\n#### model.fetch(options)\n\nFetches the model. So assuming the model has an id that was passed in during construction, it will call `http://localhost:300/api/todos/:id` to retrieve the model data.\n\n#### model.save(key, val, options)\n\nThis will either become a PUT (update) or POST (create) request depending on whether the model has an id specified.  If you simply call `mode.save()` it will send all data attributes (model.attributs) to the server. If you pass in arguments, it will send only those attributs to the server (which is useful sometimes when certain API servers interpret the absence of data as being actionable, or throw errors when you pass in data you can't update instead of running it through a whitelist and ignoring it).\n\n#### model.destroy\n\nWill send a `DELETE http://localhost:300/api/todos/:id` request to the API server.\n\n### Response Object\nThis library uses [Axios](https://github.com/mzabriskie/axios) to make AJAX calls, which has a [response schema](https://github.com/mzabriskie/axios#response-schema) that something like this:\n\n```js\nvar response = {\n  config: {\n    headers: {\n      Accept: \"application/json, text/plain, */*\"\n    },\n    method: \"GET\",\n    parse: true,\n    responseType: \"json\",\n    url: \"http://localhost:1337/todos/91\"\n  },\n  data: {\n    id: 91,\n    title: \"Update README\",\n    createdAt: \"2016-07-02T00:00:06.407Z\",\n    updatedAt: \"2016-07-02T00:00:06.407Z\"\n  },\n  headers: {},\n  request: function() {},\n  status: 200,\n  statusText: \"OK\"\n};\n```\n\nSo when you make a call like this:\n\n```js\nvar todo = new Todo({\n  id: 91\n})\n\ntodo.fetch().then(function(response) {\n  // do something with response\n})\n```\n\nthe response object in the promise looks like the example above\n","readmeFilename":"README.md","_id":"lore-models@0.13.0-beta.12","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-6lyKN0TJhgpb/d+X4AKVS0vj/h+jZYNkb4Amfb8KtRktxEcjbsqjGm8JrtdMg56WdCTtBuC7BmynQl0AZWqevA==","shasum":"dc337cf6ca2ed1d278c76cf954117ec1f22eb7ad","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.12.tgz","fileCount":31,"unpackedSize":69953,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBtkNQvpik7fjmZNrCSkD7ILRHkLQYBluZSXI+Mt4JM7AiAdrlH5raa5PiQy6ec/C3sSazxatOalMX3apNWxB3gqVQ=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models_0.13.0-beta.12_1520214949673_0.5467664649378983"},"_hasShrinkwrap":false},"0.13.0-beta.13":{"name":"lore-models","version":"0.13.0-beta.13","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"readme":"# lore-models\nAJAX abstraction tier for Lore.\n\n### Interface\n\nThe interface for this library is designed to mirror [Backbone.Model](http://backbonejs.org/#Model) and [Backbone.Collection](http://backbonejs.org/#Collection) with the following modifications/notes/exceptions:\n\n1. This library should not be used to pass data through your application. It is intended solely as an AJX abstraction tier. JSON data goes in, a request in made, and the response is serialized back into JSON and *then* emitted from an action for the reducers to pick up.\n2. All event emitters have been removed.  Again, this is purely an abstraction tier, not a way to store your data.\n3. The jQuery.ajax has been removed in favor of something much lighter weight that also facilitates testing in a non-browser environment (i.e. Node).\n\n\n```js\nvar Model = require('lore-models').Model;\nvar sync = require('lore-models').sync;\nvar _ = require('lodash');\n\n// The .extend() method is something that allows you to define common functionality in\n// one model (like common parse methods or url buidling logic) and then build other\n// models from that so you don't have to duplicate the code.\nvar Todo = Model.extend({\n\n  // A model's unique identifier is stored under the id attribute. If you're \n  // directly communicating with a backend (CouchDB, MongoDB) that uses a different \n  // unique key, you may set a Model's idAttribute to transparently map from that \n  // key to id\n  idAttribute: \"id\",\n\n  // The endpoint used for CRUD operations.  The real url is build from this \n  // urlRoot + information like \"if calling model.save() and there's already\n  // a model.id property, the model must already exist, so we should make a\n  // call to `PUT http://localhost:3000/api/todos/:id` to update the model.\n  // If no model.id exists, then we should make a call to \n  // `POST http://localhost:3000/api/todos` to create the model.\n  urlRoot: 'http://localhost:3000/api/todos',\n  \n  // url() is used to build the url for the request\n  // if the API follows simple/flat conventions, there's rarely a need to override it\n  // but for APIs without clear conventions, this function is quite useful\n  // The code below is Backbone's default implementation (for reference)\n  url: function() {\n    var base =\n      _.result(this, 'urlRoot') ||\n      _.result(this.collection, 'url') ||\n      urlError();\n    if (this.isNew()) return base;\n    var id = this.get(this.idAttribute);\n    return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n  },\n\n  // initialize() is  especially useful for API endpoints with deeply \n  // nested URLs to help build the url later. It's called once, during\n  // construction of the model\n  initialize: function(attributes, options) {\n    // set instance variables\n  },\n  \n  // parse is called whenever a model's data is returned by the server, in fetch, \n  // and save. The function is passed the raw response object, and should return \n  // the attributes hash to be set on the model.\n  parse: function(resp, options) {\n    return resp;\n  },\n  \n  // Uses sync to persist the state of a model to the server. Can be \n  // overridden for custom behavior.\n  // This method has two really useful applications:\n  //\n  // 1. This method is especially useful for applications that have been around for\n  // a time and survived API changes and the property names in the client side\n  // JavaScript are no longer matched up to the server-side property names that\n  // come back in the API. It allows you to trasform the data back to a format\n  // that is meaningful to the server before sending the request\n  //\n  // 2. For inspecting the response before the application gets it.  For example,\n  // if you wanted to log the user out of the application whenever an API response\n  // returns a 401 (because their token expired) sync is a method that ALL requests\n  // go through (or at least they all go through sync).  So it's a way to\n  // observe and act on or log all network requests.\n  sync: function() {\n    return sync.apply(this, arguments);\n  },\n  \n  // this interface allows you to create and refernce your own methods.  Not very\n  // useful considering this interface is now meant solely to be an AJAX abstraction\n  // teir (not answer questions about the internal data) but this quality could still\n  // be useful if you need to build a url string or make some calculation or pull\n  // something out of local storage or whatever before sending a request or parsing\n  // data in a response\n  yourOwnCustomMethod: function(){}\n  \n});\n```\n\n### Methods\n\n#### model.fetch(options)\n\nFetches the model. So assuming the model has an id that was passed in during construction, it will call `http://localhost:300/api/todos/:id` to retrieve the model data.\n\n#### model.save(key, val, options)\n\nThis will either become a PUT (update) or POST (create) request depending on whether the model has an id specified.  If you simply call `mode.save()` it will send all data attributes (model.attributs) to the server. If you pass in arguments, it will send only those attributs to the server (which is useful sometimes when certain API servers interpret the absence of data as being actionable, or throw errors when you pass in data you can't update instead of running it through a whitelist and ignoring it).\n\n#### model.destroy\n\nWill send a `DELETE http://localhost:300/api/todos/:id` request to the API server.\n\n### Response Object\nThis library uses [Axios](https://github.com/mzabriskie/axios) to make AJAX calls, which has a [response schema](https://github.com/mzabriskie/axios#response-schema) that something like this:\n\n```js\nvar response = {\n  config: {\n    headers: {\n      Accept: \"application/json, text/plain, */*\"\n    },\n    method: \"GET\",\n    parse: true,\n    responseType: \"json\",\n    url: \"http://localhost:1337/todos/91\"\n  },\n  data: {\n    id: 91,\n    title: \"Update README\",\n    createdAt: \"2016-07-02T00:00:06.407Z\",\n    updatedAt: \"2016-07-02T00:00:06.407Z\"\n  },\n  headers: {},\n  request: function() {},\n  status: 200,\n  statusText: \"OK\"\n};\n```\n\nSo when you make a call like this:\n\n```js\nvar todo = new Todo({\n  id: 91\n})\n\ntodo.fetch().then(function(response) {\n  // do something with response\n})\n```\n\nthe response object in the promise looks like the example above\n","readmeFilename":"README.md","_id":"lore-models@0.13.0-beta.13","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-tjmI0eUEK8d0XhyCSQ36FzFSGzSBpw1SkCRyTEHE52pJ8zV8vdJg8yIgjWgl440WR6x19DKEq84V3lnRB3u69Q==","shasum":"11b445d3478326162140277be788775c1bf1a205","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.13.tgz","fileCount":31,"unpackedSize":69953,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB1wRaJys9uT2RU/zsCrdq1cpwB8n5JSIzYUX/A9NVr1AiEAxXqzPQms5ibdf/+VMyoMQwIxfWdU8IrorRda1B2y9ao="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models_0.13.0-beta.13_1521939993330_0.8530764446540802"},"_hasShrinkwrap":false},"0.13.0-beta.14":{"name":"lore-models","version":"0.13.0-beta.14","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"readme":"# lore-models\nAJAX abstraction tier for Lore.\n\n### Interface\n\nThe interface for this library is designed to mirror [Backbone.Model](http://backbonejs.org/#Model) and [Backbone.Collection](http://backbonejs.org/#Collection) with the following modifications/notes/exceptions:\n\n1. This library should not be used to pass data through your application. It is intended solely as an AJX abstraction tier. JSON data goes in, a request in made, and the response is serialized back into JSON and *then* emitted from an action for the reducers to pick up.\n2. All event emitters have been removed.  Again, this is purely an abstraction tier, not a way to store your data.\n3. The jQuery.ajax has been removed in favor of something much lighter weight that also facilitates testing in a non-browser environment (i.e. Node).\n\n\n```js\nvar Model = require('lore-models').Model;\nvar sync = require('lore-models').sync;\nvar _ = require('lodash');\n\n// The .extend() method is something that allows you to define common functionality in\n// one model (like common parse methods or url buidling logic) and then build other\n// models from that so you don't have to duplicate the code.\nvar Todo = Model.extend({\n\n  // A model's unique identifier is stored under the id attribute. If you're \n  // directly communicating with a backend (CouchDB, MongoDB) that uses a different \n  // unique key, you may set a Model's idAttribute to transparently map from that \n  // key to id\n  idAttribute: \"id\",\n\n  // The endpoint used for CRUD operations.  The real url is build from this \n  // urlRoot + information like \"if calling model.save() and there's already\n  // a model.id property, the model must already exist, so we should make a\n  // call to `PUT http://localhost:3000/api/todos/:id` to update the model.\n  // If no model.id exists, then we should make a call to \n  // `POST http://localhost:3000/api/todos` to create the model.\n  urlRoot: 'http://localhost:3000/api/todos',\n  \n  // url() is used to build the url for the request\n  // if the API follows simple/flat conventions, there's rarely a need to override it\n  // but for APIs without clear conventions, this function is quite useful\n  // The code below is Backbone's default implementation (for reference)\n  url: function() {\n    var base =\n      _.result(this, 'urlRoot') ||\n      _.result(this.collection, 'url') ||\n      urlError();\n    if (this.isNew()) return base;\n    var id = this.get(this.idAttribute);\n    return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n  },\n\n  // initialize() is  especially useful for API endpoints with deeply \n  // nested URLs to help build the url later. It's called once, during\n  // construction of the model\n  initialize: function(attributes, options) {\n    // set instance variables\n  },\n  \n  // parse is called whenever a model's data is returned by the server, in fetch, \n  // and save. The function is passed the raw response object, and should return \n  // the attributes hash to be set on the model.\n  parse: function(resp, options) {\n    return resp;\n  },\n  \n  // Uses sync to persist the state of a model to the server. Can be \n  // overridden for custom behavior.\n  // This method has two really useful applications:\n  //\n  // 1. This method is especially useful for applications that have been around for\n  // a time and survived API changes and the property names in the client side\n  // JavaScript are no longer matched up to the server-side property names that\n  // come back in the API. It allows you to trasform the data back to a format\n  // that is meaningful to the server before sending the request\n  //\n  // 2. For inspecting the response before the application gets it.  For example,\n  // if you wanted to log the user out of the application whenever an API response\n  // returns a 401 (because their token expired) sync is a method that ALL requests\n  // go through (or at least they all go through sync).  So it's a way to\n  // observe and act on or log all network requests.\n  sync: function() {\n    return sync.apply(this, arguments);\n  },\n  \n  // this interface allows you to create and refernce your own methods.  Not very\n  // useful considering this interface is now meant solely to be an AJAX abstraction\n  // teir (not answer questions about the internal data) but this quality could still\n  // be useful if you need to build a url string or make some calculation or pull\n  // something out of local storage or whatever before sending a request or parsing\n  // data in a response\n  yourOwnCustomMethod: function(){}\n  \n});\n```\n\n### Methods\n\n#### model.fetch(options)\n\nFetches the model. So assuming the model has an id that was passed in during construction, it will call `http://localhost:300/api/todos/:id` to retrieve the model data.\n\n#### model.save(key, val, options)\n\nThis will either become a PUT (update) or POST (create) request depending on whether the model has an id specified.  If you simply call `mode.save()` it will send all data attributes (model.attributs) to the server. If you pass in arguments, it will send only those attributs to the server (which is useful sometimes when certain API servers interpret the absence of data as being actionable, or throw errors when you pass in data you can't update instead of running it through a whitelist and ignoring it).\n\n#### model.destroy\n\nWill send a `DELETE http://localhost:300/api/todos/:id` request to the API server.\n\n### Response Object\nThis library uses [Axios](https://github.com/mzabriskie/axios) to make AJAX calls, which has a [response schema](https://github.com/mzabriskie/axios#response-schema) that something like this:\n\n```js\nvar response = {\n  config: {\n    headers: {\n      Accept: \"application/json, text/plain, */*\"\n    },\n    method: \"GET\",\n    parse: true,\n    responseType: \"json\",\n    url: \"http://localhost:1337/todos/91\"\n  },\n  data: {\n    id: 91,\n    title: \"Update README\",\n    createdAt: \"2016-07-02T00:00:06.407Z\",\n    updatedAt: \"2016-07-02T00:00:06.407Z\"\n  },\n  headers: {},\n  request: function() {},\n  status: 200,\n  statusText: \"OK\"\n};\n```\n\nSo when you make a call like this:\n\n```js\nvar todo = new Todo({\n  id: 91\n})\n\ntodo.fetch().then(function(response) {\n  // do something with response\n})\n```\n\nthe response object in the promise looks like the example above\n","readmeFilename":"README.md","_id":"lore-models@0.13.0-beta.14","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-2oCTEHDyzI1o43N1fLE8D3VSP1k4kiHST8KbcbhswSaHnk+c10N1tNWA3KIJHTStUV9reDR9kVztF3Hntl2eNA==","shasum":"8fdb9038e76cf294c806e7eaa135629ea74d352a","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.14.tgz","fileCount":31,"unpackedSize":69953,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyen1M3W8m6ncwkHiFlsIYIWNYMstdaHqw1XIYgXFaFQIhAJm4axfaB2eoBCX5t+AIZdoN7StcAALDsr7uuGUk14FJ"}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models_0.13.0-beta.14_1522531100110_0.5628548893915619"},"_hasShrinkwrap":false},"0.13.0-beta.15":{"name":"lore-models","version":"0.13.0-beta.15","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"readme":"# lore-models\nAJAX abstraction tier for Lore.\n\n### Interface\n\nThe interface for this library is designed to mirror [Backbone.Model](http://backbonejs.org/#Model) and [Backbone.Collection](http://backbonejs.org/#Collection) with the following modifications/notes/exceptions:\n\n1. This library should not be used to pass data through your application. It is intended solely as an AJX abstraction tier. JSON data goes in, a request in made, and the response is serialized back into JSON and *then* emitted from an action for the reducers to pick up.\n2. All event emitters have been removed.  Again, this is purely an abstraction tier, not a way to store your data.\n3. The jQuery.ajax has been removed in favor of something much lighter weight that also facilitates testing in a non-browser environment (i.e. Node).\n\n\n```js\nvar Model = require('lore-models').Model;\nvar sync = require('lore-models').sync;\nvar _ = require('lodash');\n\n// The .extend() method is something that allows you to define common functionality in\n// one model (like common parse methods or url buidling logic) and then build other\n// models from that so you don't have to duplicate the code.\nvar Todo = Model.extend({\n\n  // A model's unique identifier is stored under the id attribute. If you're \n  // directly communicating with a backend (CouchDB, MongoDB) that uses a different \n  // unique key, you may set a Model's idAttribute to transparently map from that \n  // key to id\n  idAttribute: \"id\",\n\n  // The endpoint used for CRUD operations.  The real url is build from this \n  // urlRoot + information like \"if calling model.save() and there's already\n  // a model.id property, the model must already exist, so we should make a\n  // call to `PUT http://localhost:3000/api/todos/:id` to update the model.\n  // If no model.id exists, then we should make a call to \n  // `POST http://localhost:3000/api/todos` to create the model.\n  urlRoot: 'http://localhost:3000/api/todos',\n  \n  // url() is used to build the url for the request\n  // if the API follows simple/flat conventions, there's rarely a need to override it\n  // but for APIs without clear conventions, this function is quite useful\n  // The code below is Backbone's default implementation (for reference)\n  url: function() {\n    var base =\n      _.result(this, 'urlRoot') ||\n      _.result(this.collection, 'url') ||\n      urlError();\n    if (this.isNew()) return base;\n    var id = this.get(this.idAttribute);\n    return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n  },\n\n  // initialize() is  especially useful for API endpoints with deeply \n  // nested URLs to help build the url later. It's called once, during\n  // construction of the model\n  initialize: function(attributes, options) {\n    // set instance variables\n  },\n  \n  // parse is called whenever a model's data is returned by the server, in fetch, \n  // and save. The function is passed the raw response object, and should return \n  // the attributes hash to be set on the model.\n  parse: function(resp, options) {\n    return resp;\n  },\n  \n  // Uses sync to persist the state of a model to the server. Can be \n  // overridden for custom behavior.\n  // This method has two really useful applications:\n  //\n  // 1. This method is especially useful for applications that have been around for\n  // a time and survived API changes and the property names in the client side\n  // JavaScript are no longer matched up to the server-side property names that\n  // come back in the API. It allows you to trasform the data back to a format\n  // that is meaningful to the server before sending the request\n  //\n  // 2. For inspecting the response before the application gets it.  For example,\n  // if you wanted to log the user out of the application whenever an API response\n  // returns a 401 (because their token expired) sync is a method that ALL requests\n  // go through (or at least they all go through sync).  So it's a way to\n  // observe and act on or log all network requests.\n  sync: function() {\n    return sync.apply(this, arguments);\n  },\n  \n  // this interface allows you to create and refernce your own methods.  Not very\n  // useful considering this interface is now meant solely to be an AJAX abstraction\n  // teir (not answer questions about the internal data) but this quality could still\n  // be useful if you need to build a url string or make some calculation or pull\n  // something out of local storage or whatever before sending a request or parsing\n  // data in a response\n  yourOwnCustomMethod: function(){}\n  \n});\n```\n\n### Methods\n\n#### model.fetch(options)\n\nFetches the model. So assuming the model has an id that was passed in during construction, it will call `http://localhost:300/api/todos/:id` to retrieve the model data.\n\n#### model.save(key, val, options)\n\nThis will either become a PUT (update) or POST (create) request depending on whether the model has an id specified.  If you simply call `mode.save()` it will send all data attributes (model.attributs) to the server. If you pass in arguments, it will send only those attributs to the server (which is useful sometimes when certain API servers interpret the absence of data as being actionable, or throw errors when you pass in data you can't update instead of running it through a whitelist and ignoring it).\n\n#### model.destroy\n\nWill send a `DELETE http://localhost:300/api/todos/:id` request to the API server.\n\n### Response Object\nThis library uses [Axios](https://github.com/mzabriskie/axios) to make AJAX calls, which has a [response schema](https://github.com/mzabriskie/axios#response-schema) that something like this:\n\n```js\nvar response = {\n  config: {\n    headers: {\n      Accept: \"application/json, text/plain, */*\"\n    },\n    method: \"GET\",\n    parse: true,\n    responseType: \"json\",\n    url: \"http://localhost:1337/todos/91\"\n  },\n  data: {\n    id: 91,\n    title: \"Update README\",\n    createdAt: \"2016-07-02T00:00:06.407Z\",\n    updatedAt: \"2016-07-02T00:00:06.407Z\"\n  },\n  headers: {},\n  request: function() {},\n  status: 200,\n  statusText: \"OK\"\n};\n```\n\nSo when you make a call like this:\n\n```js\nvar todo = new Todo({\n  id: 91\n})\n\ntodo.fetch().then(function(response) {\n  // do something with response\n})\n```\n\nthe response object in the promise looks like the example above\n","readmeFilename":"README.md","_id":"lore-models@0.13.0-beta.15","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-8mrEDNXaH52XysJMPIZz6Vi8WTq1hGr2SMv18IJU/rD1gekCntTIG+484LALlpJcKJt0J7yan3d3jNdn8b306g==","shasum":"925cb11c72c3406383c2fabe9bd0054357f1c618","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.15.tgz","fileCount":31,"unpackedSize":69953,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGLgVK66hh8G5IuSLWJ7MHvEo0QfxMrPE1O/79zK7ajqAiAsjoRQsoZGMDPEch5uYzuT025jZf5O7oTTDh3Mr0japQ=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models_0.13.0-beta.15_1523329161305_0.9025261432754501"},"_hasShrinkwrap":false},"0.13.0-beta.16":{"name":"lore-models","version":"0.13.0-beta.16","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"readme":"# lore-models\nAJAX abstraction tier for Lore.\n\n### Interface\n\nThe interface for this library is designed to mirror [Backbone.Model](http://backbonejs.org/#Model) and [Backbone.Collection](http://backbonejs.org/#Collection) with the following modifications/notes/exceptions:\n\n1. This library should not be used to pass data through your application. It is intended solely as an AJX abstraction tier. JSON data goes in, a request in made, and the response is serialized back into JSON and *then* emitted from an action for the reducers to pick up.\n2. All event emitters have been removed.  Again, this is purely an abstraction tier, not a way to store your data.\n3. The jQuery.ajax has been removed in favor of something much lighter weight that also facilitates testing in a non-browser environment (i.e. Node).\n\n\n```js\nvar Model = require('lore-models').Model;\nvar sync = require('lore-models').sync;\nvar _ = require('lodash');\n\n// The .extend() method is something that allows you to define common functionality in\n// one model (like common parse methods or url buidling logic) and then build other\n// models from that so you don't have to duplicate the code.\nvar Todo = Model.extend({\n\n  // A model's unique identifier is stored under the id attribute. If you're \n  // directly communicating with a backend (CouchDB, MongoDB) that uses a different \n  // unique key, you may set a Model's idAttribute to transparently map from that \n  // key to id\n  idAttribute: \"id\",\n\n  // The endpoint used for CRUD operations.  The real url is build from this \n  // urlRoot + information like \"if calling model.save() and there's already\n  // a model.id property, the model must already exist, so we should make a\n  // call to `PUT http://localhost:3000/api/todos/:id` to update the model.\n  // If no model.id exists, then we should make a call to \n  // `POST http://localhost:3000/api/todos` to create the model.\n  urlRoot: 'http://localhost:3000/api/todos',\n  \n  // url() is used to build the url for the request\n  // if the API follows simple/flat conventions, there's rarely a need to override it\n  // but for APIs without clear conventions, this function is quite useful\n  // The code below is Backbone's default implementation (for reference)\n  url: function() {\n    var base =\n      _.result(this, 'urlRoot') ||\n      _.result(this.collection, 'url') ||\n      urlError();\n    if (this.isNew()) return base;\n    var id = this.get(this.idAttribute);\n    return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n  },\n\n  // initialize() is  especially useful for API endpoints with deeply \n  // nested URLs to help build the url later. It's called once, during\n  // construction of the model\n  initialize: function(attributes, options) {\n    // set instance variables\n  },\n  \n  // parse is called whenever a model's data is returned by the server, in fetch, \n  // and save. The function is passed the raw response object, and should return \n  // the attributes hash to be set on the model.\n  parse: function(resp, options) {\n    return resp;\n  },\n  \n  // Uses sync to persist the state of a model to the server. Can be \n  // overridden for custom behavior.\n  // This method has two really useful applications:\n  //\n  // 1. This method is especially useful for applications that have been around for\n  // a time and survived API changes and the property names in the client side\n  // JavaScript are no longer matched up to the server-side property names that\n  // come back in the API. It allows you to trasform the data back to a format\n  // that is meaningful to the server before sending the request\n  //\n  // 2. For inspecting the response before the application gets it.  For example,\n  // if you wanted to log the user out of the application whenever an API response\n  // returns a 401 (because their token expired) sync is a method that ALL requests\n  // go through (or at least they all go through sync).  So it's a way to\n  // observe and act on or log all network requests.\n  sync: function() {\n    return sync.apply(this, arguments);\n  },\n  \n  // this interface allows you to create and refernce your own methods.  Not very\n  // useful considering this interface is now meant solely to be an AJAX abstraction\n  // teir (not answer questions about the internal data) but this quality could still\n  // be useful if you need to build a url string or make some calculation or pull\n  // something out of local storage or whatever before sending a request or parsing\n  // data in a response\n  yourOwnCustomMethod: function(){}\n  \n});\n```\n\n### Methods\n\n#### model.fetch(options)\n\nFetches the model. So assuming the model has an id that was passed in during construction, it will call `http://localhost:300/api/todos/:id` to retrieve the model data.\n\n#### model.save(key, val, options)\n\nThis will either become a PUT (update) or POST (create) request depending on whether the model has an id specified.  If you simply call `mode.save()` it will send all data attributes (model.attributs) to the server. If you pass in arguments, it will send only those attributs to the server (which is useful sometimes when certain API servers interpret the absence of data as being actionable, or throw errors when you pass in data you can't update instead of running it through a whitelist and ignoring it).\n\n#### model.destroy\n\nWill send a `DELETE http://localhost:300/api/todos/:id` request to the API server.\n\n### Response Object\nThis library uses [Axios](https://github.com/mzabriskie/axios) to make AJAX calls, which has a [response schema](https://github.com/mzabriskie/axios#response-schema) that something like this:\n\n```js\nvar response = {\n  config: {\n    headers: {\n      Accept: \"application/json, text/plain, */*\"\n    },\n    method: \"GET\",\n    parse: true,\n    responseType: \"json\",\n    url: \"http://localhost:1337/todos/91\"\n  },\n  data: {\n    id: 91,\n    title: \"Update README\",\n    createdAt: \"2016-07-02T00:00:06.407Z\",\n    updatedAt: \"2016-07-02T00:00:06.407Z\"\n  },\n  headers: {},\n  request: function() {},\n  status: 200,\n  statusText: \"OK\"\n};\n```\n\nSo when you make a call like this:\n\n```js\nvar todo = new Todo({\n  id: 91\n})\n\ntodo.fetch().then(function(response) {\n  // do something with response\n})\n```\n\nthe response object in the promise looks like the example above\n","readmeFilename":"README.md","_id":"lore-models@0.13.0-beta.16","_npmVersion":"5.5.1","_nodeVersion":"8.9.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-gOat2HnBNU6QKtYWjvOCCf6dJq8c2QsWnk9awVBvAF0w99ml0o+TB1tbLhCvxJIgoFHGLauWPvMct1O7mfAa6A==","shasum":"1d38129dcb2b5d7f596319fe165a3a6e21a670ff","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-beta.16.tgz","fileCount":31,"unpackedSize":70432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4kKHCRA9TVsSAnZWagAAzoEP+gIe3c3ufOrU1uypOMRP\nREaR/9ccNEwuTHu0c7rs1PL003hGIPLmRBvSyBiWaVnfOq0kENm2NAYd3MUj\nTUww1sD/MJkTUAqIH021+X9Pd+uDj5AgE1HnBLPl8xjbN9kax6vyNw0W3l82\nCHhpwnkvjLziKffNTIXbEl4+mat2HVUGPRmPzb6H4VlNWnMH2buIdfkGQ4jr\nr+1L7CVLDpd7mqW+Am+jmvsvCcFughjoxdE72PxO/X6zqDX4MdV5/HRji8e3\nQ4E25DxCvHOxExuGSAD0r4VbhFghJTHf+Khu9NT6q333sxE1DV0ex5El8D3Y\n/eyJjNJ5tLThA6/ZKS43J2Lvi1H2eQlXQtiQhVK5y0ucabr4ZtP+BRTVgvYf\nvJzRIzogT20Nr36u8eJ3Tg48czuNFdlU+ghmlRAmf5hSdHjgguf7rMBSwuFO\nAfwkHmAkIMucrFqLYqo7mSSdiO24Wp3J6adaqg+Xq4qQUoYozVgDDst3koPj\nJuReYV10lkupEec2s5nYVGtuzr0O6pLC3xcbIESoCRIeBl3gEFkDUXn3hIm2\n00k/3unByHWKWF4kEGGd/QOskxwo+FayD6m9kwQ6MEt1pxInCS4hINoc3pLw\nCSVRRrhkD4KP39tykohRgBCtGZFN/N6iQK2P/bOkqI5kCvg19FMHngvoZEVx\nMNlY\r\n=J4MZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAw4envyDKRzfCFMpz0AZuR0BcScLuBH7Iu7LM4rQKE8AiBR602+pjm4/sNzGezq0MZp1nK1J2ZFaPhbZtpidV0b1w=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models_0.13.0-beta.16_1524777606360_0.20084768962304622"},"_hasShrinkwrap":false},"0.13.0-rc.1":{"name":"lore-models","version":"0.13.0-rc.1","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"readme":"# lore-models\nAJAX abstraction tier for Lore.\n\n### Interface\n\nThe interface for this library is designed to mirror [Backbone.Model](http://backbonejs.org/#Model) and [Backbone.Collection](http://backbonejs.org/#Collection) with the following modifications/notes/exceptions:\n\n1. This library should not be used to pass data through your application. It is intended solely as an AJX abstraction tier. JSON data goes in, a request in made, and the response is serialized back into JSON and *then* emitted from an action for the reducers to pick up.\n2. All event emitters have been removed.  Again, this is purely an abstraction tier, not a way to store your data.\n3. The jQuery.ajax has been removed in favor of something much lighter weight that also facilitates testing in a non-browser environment (i.e. Node).\n\n\n```js\nvar Model = require('lore-models').Model;\nvar sync = require('lore-models').sync;\nvar _ = require('lodash');\n\n// The .extend() method is something that allows you to define common functionality in\n// one model (like common parse methods or url buidling logic) and then build other\n// models from that so you don't have to duplicate the code.\nvar Todo = Model.extend({\n\n  // A model's unique identifier is stored under the id attribute. If you're \n  // directly communicating with a backend (CouchDB, MongoDB) that uses a different \n  // unique key, you may set a Model's idAttribute to transparently map from that \n  // key to id\n  idAttribute: \"id\",\n\n  // The endpoint used for CRUD operations.  The real url is build from this \n  // urlRoot + information like \"if calling model.save() and there's already\n  // a model.id property, the model must already exist, so we should make a\n  // call to `PUT http://localhost:3000/api/todos/:id` to update the model.\n  // If no model.id exists, then we should make a call to \n  // `POST http://localhost:3000/api/todos` to create the model.\n  urlRoot: 'http://localhost:3000/api/todos',\n  \n  // url() is used to build the url for the request\n  // if the API follows simple/flat conventions, there's rarely a need to override it\n  // but for APIs without clear conventions, this function is quite useful\n  // The code below is Backbone's default implementation (for reference)\n  url: function() {\n    var base =\n      _.result(this, 'urlRoot') ||\n      _.result(this.collection, 'url') ||\n      urlError();\n    if (this.isNew()) return base;\n    var id = this.get(this.idAttribute);\n    return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n  },\n\n  // initialize() is  especially useful for API endpoints with deeply \n  // nested URLs to help build the url later. It's called once, during\n  // construction of the model\n  initialize: function(attributes, options) {\n    // set instance variables\n  },\n  \n  // parse is called whenever a model's data is returned by the server, in fetch, \n  // and save. The function is passed the raw response object, and should return \n  // the attributes hash to be set on the model.\n  parse: function(resp, options) {\n    return resp;\n  },\n  \n  // Uses sync to persist the state of a model to the server. Can be \n  // overridden for custom behavior.\n  // This method has two really useful applications:\n  //\n  // 1. This method is especially useful for applications that have been around for\n  // a time and survived API changes and the property names in the client side\n  // JavaScript are no longer matched up to the server-side property names that\n  // come back in the API. It allows you to trasform the data back to a format\n  // that is meaningful to the server before sending the request\n  //\n  // 2. For inspecting the response before the application gets it.  For example,\n  // if you wanted to log the user out of the application whenever an API response\n  // returns a 401 (because their token expired) sync is a method that ALL requests\n  // go through (or at least they all go through sync).  So it's a way to\n  // observe and act on or log all network requests.\n  sync: function() {\n    return sync.apply(this, arguments);\n  },\n  \n  // this interface allows you to create and refernce your own methods.  Not very\n  // useful considering this interface is now meant solely to be an AJAX abstraction\n  // teir (not answer questions about the internal data) but this quality could still\n  // be useful if you need to build a url string or make some calculation or pull\n  // something out of local storage or whatever before sending a request or parsing\n  // data in a response\n  yourOwnCustomMethod: function(){}\n  \n});\n```\n\n### Methods\n\n#### model.fetch(options)\n\nFetches the model. So assuming the model has an id that was passed in during construction, it will call `http://localhost:300/api/todos/:id` to retrieve the model data.\n\n#### model.save(key, val, options)\n\nThis will either become a PUT (update) or POST (create) request depending on whether the model has an id specified.  If you simply call `mode.save()` it will send all data attributes (model.attributs) to the server. If you pass in arguments, it will send only those attributs to the server (which is useful sometimes when certain API servers interpret the absence of data as being actionable, or throw errors when you pass in data you can't update instead of running it through a whitelist and ignoring it).\n\n#### model.destroy\n\nWill send a `DELETE http://localhost:300/api/todos/:id` request to the API server.\n\n### Response Object\nThis library uses [Axios](https://github.com/mzabriskie/axios) to make AJAX calls, which has a [response schema](https://github.com/mzabriskie/axios#response-schema) that something like this:\n\n```js\nvar response = {\n  config: {\n    headers: {\n      Accept: \"application/json, text/plain, */*\"\n    },\n    method: \"GET\",\n    parse: true,\n    responseType: \"json\",\n    url: \"http://localhost:1337/todos/91\"\n  },\n  data: {\n    id: 91,\n    title: \"Update README\",\n    createdAt: \"2016-07-02T00:00:06.407Z\",\n    updatedAt: \"2016-07-02T00:00:06.407Z\"\n  },\n  headers: {},\n  request: function() {},\n  status: 200,\n  statusText: \"OK\"\n};\n```\n\nSo when you make a call like this:\n\n```js\nvar todo = new Todo({\n  id: 91\n})\n\ntodo.fetch().then(function(response) {\n  // do something with response\n})\n```\n\nthe response object in the promise looks like the example above\n","readmeFilename":"README.md","_id":"lore-models@0.13.0-rc.1","_npmVersion":"6.0.1","_nodeVersion":"8.11.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-g7iD8CfvGN1vNtkuOqeVCmdnqeroNVHqzIRchRyscVnwKHm02z/AkRO336t022Rf0wDqjEi2SHe7VemubrLvOA==","shasum":"b5459d3b64db5660fdbf4f06234296076411f4bd","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-rc.1.tgz","fileCount":31,"unpackedSize":70477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+Ib3CRA9TVsSAnZWagAAIb8P/3VdzAGvBCgEV2vVj3mg\nYV7T03WuTsspiFpAK7H1ouikbCjnUMs6fxT5qmOBqslDKeZwAf2m5/iPub6j\nGrzirqKVZnC1N01xm9Yl2w0yy2wUuv6kZ0HUc9UFEwjcXm351D++jtEVcVP3\nfBiVZ7SYupDTeB5hw6llPD8qmHQD7FNvC/efdN+9+UGKfPlZwZz4G7/XqTAO\nq4IRNYUiQJup/G+d0i3AEIwswKsj5rQe4vS+gJhYIGvJsj6wNphl3RiHi9u4\nuXaMrLIg5/IPycs3avRuTRG5si/aLNVG+gKRftZk5iehX7mWfQ5/E8Xokxx4\nBcwEx+Hu+Rp4N+R4iX8qMbExfQZafvdlyoF1QvLOdvtcOoyN9iaUV6U9nOJp\ncByOcnJd/U4kEn6psNlcQWWMSSAKQNBgA0BLMZY7iFn57CRymEMhMBZACotr\nKvno/AenPga+O7expFxODRCz46MTx9IrmMVozY5ysJeO4vRVj0Ib2jicqieM\n98QdfbaLRkTxkVOOCPymsvBltw53tjtfJx2+UvFMnLHfQyMrL5kZSUEcydJT\nJy6HASc/APU2egfgSq74mqP2WjENPJGd6fYxkUtfU7dTgmw/K4YcFQPduEzc\n/N3TmREhIGE2riDcDxoZAQIfT5V9hWd8EHbSXOP5zBTZ2wlmqq639e+W1Lpp\ndr88\r\n=9sSt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFg0Qfirq894iYG0v54e0XL2hE1DnsOWEr2N450iH8tQIgKcyR9xOhadlgvc6KGq9AODL4yOZXFEGw0lRdG1/CCgY="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models_0.13.0-rc.1_1526236918872_0.8403600686104984"},"_hasShrinkwrap":false},"0.13.0-rc.2":{"name":"lore-models","version":"0.13.0-rc.2","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"readme":"# lore-models\nAJAX abstraction tier for Lore.\n\n### Interface\n\nThe interface for this library is designed to mirror [Backbone.Model](http://backbonejs.org/#Model) and [Backbone.Collection](http://backbonejs.org/#Collection) with the following modifications/notes/exceptions:\n\n1. This library should not be used to pass data through your application. It is intended solely as an AJX abstraction tier. JSON data goes in, a request in made, and the response is serialized back into JSON and *then* emitted from an action for the reducers to pick up.\n2. All event emitters have been removed.  Again, this is purely an abstraction tier, not a way to store your data.\n3. The jQuery.ajax has been removed in favor of something much lighter weight that also facilitates testing in a non-browser environment (i.e. Node).\n\n\n```js\nvar Model = require('lore-models').Model;\nvar sync = require('lore-models').sync;\nvar _ = require('lodash');\n\n// The .extend() method is something that allows you to define common functionality in\n// one model (like common parse methods or url buidling logic) and then build other\n// models from that so you don't have to duplicate the code.\nvar Todo = Model.extend({\n\n  // A model's unique identifier is stored under the id attribute. If you're \n  // directly communicating with a backend (CouchDB, MongoDB) that uses a different \n  // unique key, you may set a Model's idAttribute to transparently map from that \n  // key to id\n  idAttribute: \"id\",\n\n  // The endpoint used for CRUD operations.  The real url is build from this \n  // urlRoot + information like \"if calling model.save() and there's already\n  // a model.id property, the model must already exist, so we should make a\n  // call to `PUT http://localhost:3000/api/todos/:id` to update the model.\n  // If no model.id exists, then we should make a call to \n  // `POST http://localhost:3000/api/todos` to create the model.\n  urlRoot: 'http://localhost:3000/api/todos',\n  \n  // url() is used to build the url for the request\n  // if the API follows simple/flat conventions, there's rarely a need to override it\n  // but for APIs without clear conventions, this function is quite useful\n  // The code below is Backbone's default implementation (for reference)\n  url: function() {\n    var base =\n      _.result(this, 'urlRoot') ||\n      _.result(this.collection, 'url') ||\n      urlError();\n    if (this.isNew()) return base;\n    var id = this.get(this.idAttribute);\n    return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n  },\n\n  // initialize() is  especially useful for API endpoints with deeply \n  // nested URLs to help build the url later. It's called once, during\n  // construction of the model\n  initialize: function(attributes, options) {\n    // set instance variables\n  },\n  \n  // parse is called whenever a model's data is returned by the server, in fetch, \n  // and save. The function is passed the raw response object, and should return \n  // the attributes hash to be set on the model.\n  parse: function(resp, options) {\n    return resp;\n  },\n  \n  // Uses sync to persist the state of a model to the server. Can be \n  // overridden for custom behavior.\n  // This method has two really useful applications:\n  //\n  // 1. This method is especially useful for applications that have been around for\n  // a time and survived API changes and the property names in the client side\n  // JavaScript are no longer matched up to the server-side property names that\n  // come back in the API. It allows you to trasform the data back to a format\n  // that is meaningful to the server before sending the request\n  //\n  // 2. For inspecting the response before the application gets it.  For example,\n  // if you wanted to log the user out of the application whenever an API response\n  // returns a 401 (because their token expired) sync is a method that ALL requests\n  // go through (or at least they all go through sync).  So it's a way to\n  // observe and act on or log all network requests.\n  sync: function() {\n    return sync.apply(this, arguments);\n  },\n  \n  // this interface allows you to create and refernce your own methods.  Not very\n  // useful considering this interface is now meant solely to be an AJAX abstraction\n  // teir (not answer questions about the internal data) but this quality could still\n  // be useful if you need to build a url string or make some calculation or pull\n  // something out of local storage or whatever before sending a request or parsing\n  // data in a response\n  yourOwnCustomMethod: function(){}\n  \n});\n```\n\n### Methods\n\n#### model.fetch(options)\n\nFetches the model. So assuming the model has an id that was passed in during construction, it will call `http://localhost:300/api/todos/:id` to retrieve the model data.\n\n#### model.save(key, val, options)\n\nThis will either become a PUT (update) or POST (create) request depending on whether the model has an id specified.  If you simply call `mode.save()` it will send all data attributes (model.attributs) to the server. If you pass in arguments, it will send only those attributs to the server (which is useful sometimes when certain API servers interpret the absence of data as being actionable, or throw errors when you pass in data you can't update instead of running it through a whitelist and ignoring it).\n\n#### model.destroy\n\nWill send a `DELETE http://localhost:300/api/todos/:id` request to the API server.\n\n### Response Object\nThis library uses [Axios](https://github.com/mzabriskie/axios) to make AJAX calls, which has a [response schema](https://github.com/mzabriskie/axios#response-schema) that something like this:\n\n```js\nvar response = {\n  config: {\n    headers: {\n      Accept: \"application/json, text/plain, */*\"\n    },\n    method: \"GET\",\n    parse: true,\n    responseType: \"json\",\n    url: \"http://localhost:1337/todos/91\"\n  },\n  data: {\n    id: 91,\n    title: \"Update README\",\n    createdAt: \"2016-07-02T00:00:06.407Z\",\n    updatedAt: \"2016-07-02T00:00:06.407Z\"\n  },\n  headers: {},\n  request: function() {},\n  status: 200,\n  statusText: \"OK\"\n};\n```\n\nSo when you make a call like this:\n\n```js\nvar todo = new Todo({\n  id: 91\n})\n\ntodo.fetch().then(function(response) {\n  // do something with response\n})\n```\n\nthe response object in the promise looks like the example above\n","readmeFilename":"README.md","_id":"lore-models@0.13.0-rc.2","_npmVersion":"6.0.1","_nodeVersion":"8.11.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-GdQY0m5N0m7O58oRBdLNPWshknurOM3DYp9Kiy6kTFnzFZR+fHcjQ9kvr2gLnyffgwZ97uo2t8rZXCwW5lXeLA==","shasum":"648218782676a4e8362eb27884464e85a01775df","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0-rc.2.tgz","fileCount":31,"unpackedSize":70477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAhLXCRA9TVsSAnZWagAAJR4P/3hJ+WsU+Ij8Xuk9nIbX\ncSivmTiNuusV86W+B6KsX3hHQXfd3zCR8XMA9Y2E7cu3SJIaFi+/6lABTH8j\nuXVd8Os19z/DQQ80x0Tn34DI3p+Vp/qFTqo4RwOHzXOAr9lbwez2KSyCCsp0\nppiReYOKXnQWfE2m4VP8M5n1L8c4pBs0J0aBbH+XhIqk3VWxYXB9hQzsyyFy\n4wU5At82tqz/l2czrWJlnzFD97xTI5XRch756hZrg2HfzrYJUuV3lZrcsXre\nqKlSbKTKBXTmy5rL0Z9b+Wl409wcOm5AKAlsvqRzKGkkfeKc84nqN4OiY99W\nDXey/nHXmbPHA3NKFZDwPkAoxEblaJQGogrTbmOGbH1BmhJDqR0u75Jz42dK\nEqDJo/8dvXhjJAWnOU81YymfNO9lAtoOcvyUPkGJDf3wJtVJvgCigo8D4HC6\nnwPUgjcVwrhyKu1uXGJEMrkFlB7mq2Liilbcz8y9jx+k01Cjd/0Bmwwmzp02\nqr/i4q+Zn1zWtqD/8gOZFQu46u8fjpiVF7EcZzt3Jkw4LSm4VcDOXjuXnotX\n0MJzrYb8aWZwMQHl9wU7KbWjIq4GT0oF7NUY6WQkleuPAYfwKCSMsL3qQ+Hl\nMLFdQE8yw8sXlF1/7s6dSySMqdiekgqXrI/OnBEdGTw4uf0o1H6exCFVB1BW\nq7bS\r\n=C5iF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFFlZkP3nhrMpvHpGwjt40qkVhs9iX8wQqvjR9J2C8xAIgT1cXbaHfU60I8AgW31olQxryqa7zakCPzMrFmhfYDpo="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models_0.13.0-rc.2_1526862550827_0.18462393929678655"},"_hasShrinkwrap":false},"0.13.0":{"name":"lore-models","version":"0.13.0","license":"MIT","description":"Convention over configuration for CRUD actions against models and collections","homepage":"http://github.com/lore/lore","main":"lib/index.js","module":"es/index.js","engines":{"node":">=0.9.0"},"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"keywords":["lore","models","collections","ajax","api","CRUD"],"scripts":{"build":"npm run build:cjs && npm run build:es","build:cjs":"BABEL_ENV=cjs ../../node_modules/.bin/babel src --out-dir lib","build:es":"BABEL_ENV=es ../../node_modules/.bin/babel src --out-dir es","clean":"rimraf lib && rimraf es","debug":"mocha debug --compilers js:babel-core/register --recursive","lint":"../../node_modules/.bin/eslint src","prepublish":"npm run build","test":"BABEL_ENV=test mocha --compilers js:babel-core/register --recursive"},"dependencies":{"axios":"~0.12.0","lodash":"^4.0.0"},"devDependencies":{"chai":"^3.4.1","mocha":"^2.3.4","nock":"^3.3.2","rimraf":"2.5.2"},"_id":"lore-models@0.13.0","_npmVersion":"6.0.1","_nodeVersion":"8.11.1","_npmUser":{"name":"jchansen","email":"jason_hansen@outlook.com"},"dist":{"integrity":"sha512-PzfUuDmATUcg2bZo8TdZnP7blGaDxG6MzOgI63Q8fCUkqpD50T1X/r1F2j/RKzHOMXBYmWzV2SN2ET5pe799WA==","shasum":"731831120f97b87626c63844fcae3376f7604eca","tarball":"https://registry.npmjs.org/lore-models/-/lore-models-0.13.0.tgz","fileCount":31,"unpackedSize":70473,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLvi0CRA9TVsSAnZWagAAxEMP/iK75nDdTo1ZEIyyTI1A\nxnTgt1NnyApRULWXcfduiblOXzBsR4xXz3HQhyeijwPr6/9H5URshJ+eeBzL\nSOItYGL3oOnCNUIb0SvZkJpSjTVxNMC6lxKJTq5jxRORfd8wvNPK6VNWfkBH\neloctcfFwRFZmNZHM44kMu+qd8ulHyoO0uNlCt+ZSrnhB+4FxxkWfRQu5z66\nXoOCppYZFxfkIdki1Vj2YoX/o7ip3hEaXHVD0BAbVpuxxNjkvqaHVrP7aCHz\nZjMu0Fm2uWxPnpbFJB1ZO54bfoYH36SjTr1Dq93xe3YG8SIAJpQHrSNJ1Znf\nJ2ouyeokvsfCTTd6PoDNxh/L6bC+prTyJr6yqB2c0YYjelG0QFHNQCf0MgOY\nTpVIVMZXbsKKkbaE+MnkuuH4UaNwhoPi+PhHwriAsGHnQdRiCf/LBHgqObUg\nMpA8qm1D86u3tzlzpswEOLo2oL9bIG3LuJJOE+AO+ANAPbOFZNNAWgE2Giew\nth5E0C3I6nnhXOORd3Zp0N39eaicSaid2mED5YUEyWL7Xs1BryXUXHp3kgwt\nE3g0wEL9K2tTx3zZEciCeFnJICkTH/gdBnHarAkGjqDOcgJjM7ClHUMv4uWX\nbb42xF6jIPTsaSob/PogVnTMF5BQXoSRqblfXD8S/V0OC0C5yoHDMRJzsDGs\nV5/A\r\n=QhNF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBPji7Dq52uaUfyV+zyaEpe18fTGWRbiWlP9nozVlruwAiBjIygqLC1bAzkwZkDsFb4vW+UNVb7dsrXMjmB2NIiJ1Q=="}]},"maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lore-models_0.13.0_1529804980245_0.9749962816070739"},"_hasShrinkwrap":false}},"readme":"# lore-models\nAJAX abstraction tier for Lore.\n\n### Interface\n\nThe interface for this library is designed to mirror [Backbone.Model](http://backbonejs.org/#Model) and [Backbone.Collection](http://backbonejs.org/#Collection) with the following modifications/notes/exceptions:\n\n1. This library should not be used to pass data through your application. It is intended solely as an AJX abstraction tier. JSON data goes in, a request in made, and the response is serialized back into JSON and *then* emitted from an action for the reducers to pick up.\n2. All event emitters have been removed.  Again, this is purely an abstraction tier, not a way to store your data.\n3. The jQuery.ajax has been removed in favor of something much lighter weight that also facilitates testing in a non-browser environment (i.e. Node).\n\n\n```js\nvar Model = require('lore-models').Model;\nvar sync = require('lore-models').sync;\nvar _ = require('lodash');\n\n// The .extend() method is something that allows you to define common functionality in\n// one model (like common parse methods or url buidling logic) and then build other\n// models from that so you don't have to duplicate the code.\nvar Todo = Model.extend({\n\n  // A model's unique identifier is stored under the id attribute. If you're \n  // directly communicating with a backend (CouchDB, MongoDB) that uses a different \n  // unique key, you may set a Model's idAttribute to transparently map from that \n  // key to id\n  idAttribute: \"id\",\n\n  // The endpoint used for CRUD operations.  The real url is build from this \n  // urlRoot + information like \"if calling model.save() and there's already\n  // a model.id property, the model must already exist, so we should make a\n  // call to `PUT http://localhost:3000/api/todos/:id` to update the model.\n  // If no model.id exists, then we should make a call to \n  // `POST http://localhost:3000/api/todos` to create the model.\n  urlRoot: 'http://localhost:3000/api/todos',\n  \n  // url() is used to build the url for the request\n  // if the API follows simple/flat conventions, there's rarely a need to override it\n  // but for APIs without clear conventions, this function is quite useful\n  // The code below is Backbone's default implementation (for reference)\n  url: function() {\n    var base =\n      _.result(this, 'urlRoot') ||\n      _.result(this.collection, 'url') ||\n      urlError();\n    if (this.isNew()) return base;\n    var id = this.get(this.idAttribute);\n    return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n  },\n\n  // initialize() is  especially useful for API endpoints with deeply \n  // nested URLs to help build the url later. It's called once, during\n  // construction of the model\n  initialize: function(attributes, options) {\n    // set instance variables\n  },\n  \n  // parse is called whenever a model's data is returned by the server, in fetch, \n  // and save. The function is passed the raw response object, and should return \n  // the attributes hash to be set on the model.\n  parse: function(resp, options) {\n    return resp;\n  },\n  \n  // Uses sync to persist the state of a model to the server. Can be \n  // overridden for custom behavior.\n  // This method has two really useful applications:\n  //\n  // 1. This method is especially useful for applications that have been around for\n  // a time and survived API changes and the property names in the client side\n  // JavaScript are no longer matched up to the server-side property names that\n  // come back in the API. It allows you to trasform the data back to a format\n  // that is meaningful to the server before sending the request\n  //\n  // 2. For inspecting the response before the application gets it.  For example,\n  // if you wanted to log the user out of the application whenever an API response\n  // returns a 401 (because their token expired) sync is a method that ALL requests\n  // go through (or at least they all go through sync).  So it's a way to\n  // observe and act on or log all network requests.\n  sync: function() {\n    return sync.apply(this, arguments);\n  },\n  \n  // this interface allows you to create and refernce your own methods.  Not very\n  // useful considering this interface is now meant solely to be an AJAX abstraction\n  // teir (not answer questions about the internal data) but this quality could still\n  // be useful if you need to build a url string or make some calculation or pull\n  // something out of local storage or whatever before sending a request or parsing\n  // data in a response\n  yourOwnCustomMethod: function(){}\n  \n});\n```\n\n### Methods\n\n#### model.fetch(options)\n\nFetches the model. So assuming the model has an id that was passed in during construction, it will call `http://localhost:300/api/todos/:id` to retrieve the model data.\n\n#### model.save(key, val, options)\n\nThis will either become a PUT (update) or POST (create) request depending on whether the model has an id specified.  If you simply call `mode.save()` it will send all data attributes (model.attributs) to the server. If you pass in arguments, it will send only those attributs to the server (which is useful sometimes when certain API servers interpret the absence of data as being actionable, or throw errors when you pass in data you can't update instead of running it through a whitelist and ignoring it).\n\n#### model.destroy\n\nWill send a `DELETE http://localhost:300/api/todos/:id` request to the API server.\n\n### Response Object\nThis library uses [Axios](https://github.com/mzabriskie/axios) to make AJAX calls, which has a [response schema](https://github.com/mzabriskie/axios#response-schema) that something like this:\n\n```js\nvar response = {\n  config: {\n    headers: {\n      Accept: \"application/json, text/plain, */*\"\n    },\n    method: \"GET\",\n    parse: true,\n    responseType: \"json\",\n    url: \"http://localhost:1337/todos/91\"\n  },\n  data: {\n    id: 91,\n    title: \"Update README\",\n    createdAt: \"2016-07-02T00:00:06.407Z\",\n    updatedAt: \"2016-07-02T00:00:06.407Z\"\n  },\n  headers: {},\n  request: function() {},\n  status: 200,\n  statusText: \"OK\"\n};\n```\n\nSo when you make a call like this:\n\n```js\nvar todo = new Todo({\n  id: 91\n})\n\ntodo.fetch().then(function(response) {\n  // do something with response\n})\n```\n\nthe response object in the promise looks like the example above\n","maintainers":[{"name":"jchansen","email":"jason_hansen@outlook.com"},{"name":"mikrofusion","email":"mike.groseclose@gmail.com"}],"time":{"modified":"2022-06-19T14:20:20.558Z","created":"2016-01-07T08:21:04.390Z","0.1.0":"2016-01-07T08:21:04.390Z","0.1.1":"2016-01-07T08:24:15.167Z","0.2.1":"2016-01-07T08:28:08.371Z","0.3.0":"2016-01-24T17:24:44.921Z","0.3.1":"2016-02-02T04:04:32.552Z","0.4.0":"2016-03-04T07:53:26.814Z","0.6.12":"2016-03-04T08:29:45.932Z","0.6.15":"2016-03-08T10:31:43.521Z","0.6.26":"2016-04-07T22:08:52.536Z","0.6.27":"2016-06-26T03:53:41.011Z","0.6.30":"2016-06-26T04:04:55.069Z","0.7.0":"2016-06-30T10:49:07.198Z","0.8.0":"2016-07-19T23:41:58.657Z","0.8.1":"2016-08-20T21:26:19.549Z","0.9.0":"2016-09-11T08:32:46.647Z","0.10.0-beta.1":"2016-10-04T09:22:12.015Z","0.10.0":"2016-10-13T05:42:29.874Z","0.10.1":"2016-10-31T07:11:14.157Z","0.11.0-beta.1":"2016-12-12T06:24:36.677Z","0.11.0-rc.1":"2017-01-24T06:25:23.921Z","0.11.0":"2017-01-29T04:55:24.627Z","0.12.0-beta.1":"2017-03-05T23:59:31.323Z","0.11.5":"2017-05-02T08:05:30.435Z","0.12.0-rc.1":"2017-05-02T08:55:41.584Z","0.12.0":"2017-05-08T05:00:04.133Z","0.12.6":"2017-07-04T05:09:23.710Z","0.12.7-rc.1":"2017-07-09T22:15:57.572Z","0.13.0-beta.1":"2017-09-18T19:57:15.637Z","0.13.0-beta.3":"2017-09-18T22:31:38.921Z","0.13.0-beta.5":"2017-11-14T20:52:44.313Z","0.13.0-beta.6":"2017-11-14T22:26:09.897Z","0.13.0-beta.7":"2017-11-14T22:38:39.124Z","0.13.0-beta.9":"2017-11-25T07:18:19.748Z","0.13.0-beta.10":"2017-12-14T21:20:09.199Z","0.13.0-beta.11":"2017-12-19T20:45:33.696Z","0.13.0-beta.12":"2018-03-05T01:55:49.713Z","0.13.0-beta.13":"2018-03-25T01:06:33.395Z","0.13.0-beta.14":"2018-03-31T21:18:20.203Z","0.13.0-beta.15":"2018-04-10T02:59:21.424Z","0.13.0-beta.16":"2018-04-26T21:20:06.435Z","0.13.0-rc.1":"2018-05-13T18:41:58.963Z","0.13.0-rc.2":"2018-05-21T00:29:10.980Z","0.13.0":"2018-06-24T01:49:40.353Z"},"homepage":"http://github.com/lore/lore","keywords":["lore","models","collections","ajax","api","CRUD"],"repository":{"type":"git","url":"git://github.com/lore/lore.git"},"bugs":{"url":"https://github.com/lore/lore/issues"},"license":"MIT","readmeFilename":"README.md"}