{"_id":"save","_rev":"4211111","name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","dist-tags":{"latest":"2.9.0"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"time":{"modified":"2026-03-04T17:06:00.000Z","created":"2012-08-26T07:22:28.338Z","2.9.0":"2022-09-23T04:45:03.165Z","2.5.0":"2022-04-19T11:02:11.175Z","2.4.0":"2019-05-18T12:02:50.237Z","2.3.3":"2018-11-26T22:12:13.682Z","2.3.2":"2017-12-05T17:28:48.807Z","2.3.1":"2017-06-08T23:15:24.461Z","2.3.0":"2016-03-10T15:18:10.988Z","2.2.1":"2016-02-09T15:38:59.614Z","2.2.0":"2016-02-09T15:34:25.188Z","2.1.2":"2016-02-09T10:53:02.036Z","2.1.1":"2015-06-24T20:14:56.534Z","2.1.0":"2015-02-18T23:03:31.925Z","2.0.0":"2015-01-27T00:51:56.523Z","1.0.1":"2015-01-12T16:56:33.829Z","0.0.20":"2013-11-19T17:50:51.302Z","0.0.19":"2013-09-20T14:52:33.586Z","0.0.18":"2013-05-03T13:10:06.086Z","0.0.17":"2013-04-09T00:03:27.734Z","0.0.16":"2013-03-13T11:03:43.292Z","0.0.15":"2013-03-11T16:31:54.035Z","0.0.14":"2013-03-07T11:17:31.428Z","0.0.13":"2013-02-27T16:20:57.284Z","0.0.12":"2013-02-26T22:08:46.930Z","0.0.11":"2013-02-25T22:50:37.842Z","0.0.10":"2013-02-25T22:45:28.882Z","0.0.9":"2013-02-25T22:23:41.465Z","0.0.8":"2013-02-09T10:23:03.191Z","0.0.7":"2013-02-06T16:26:16.695Z","0.0.6":"2012-10-20T23:46:23.728Z","0.0.5":"2012-10-16T15:40:10.071Z","0.0.4":"2012-09-14T16:47:09.946Z","0.0.3":"2012-08-31T17:46:32.957Z","0.0.2":"2012-08-26T08:45:56.479Z","0.0.1":"2012-08-26T07:22:28.338Z"},"users":{},"author":{"name":"Paul Serby","email":"paul@serby.net"},"repository":{"type":"git","url":"git@github.com:serby/save"},"versions":{"2.9.0":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.9.0","tags":["data","database","ORM","it's not an ORM"],"license":"ISC","repository":{"type":"git","url":"git@github.com:serby/save"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"eslint -f unix .","test":"nyc mocha -- --recursive -R spec -r should","prepublish":"npm test && npm prune","pretest":"npm run-script lint","prettier":"prettier --write '**/*.js'"},"engine":">=6","dependencies":{"async":"^3.2.2","event-stream":"^4.0.1","lodash.assign":"^4.2.0","mingo":"^6.1.0"},"devDependencies":{"eslint":"^6.1.0","eslint-config-prettier":"^6.0.0","eslint-config-prettier-standard":"^3.0.1","eslint-config-standard":"^13.0.1","eslint-plugin-import":"^2.18.2","eslint-plugin-node":"^9.1.0","eslint-plugin-prettier":"^3.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.0","lodash":"^4.17.21","mocha":"^9.2.2","nyc":"^14.1.1","prettier":"^1.18.2","should":"^13.2.3","stream-assert":"^2.0.3"},"licenseText":"Copyright (c) 2015, Paul Serby <paul@serby.net>\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"save@2.9.0","dist":{"shasum":"6659375fadeaf58e4abc6a90ec6b0fb2e2232e0f","size":10832,"noattachment":false,"key":"/save/-/save-2.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.9.0.tgz"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"directories":{},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/save_2.9.0_1663908302999_0.49532184512949007"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-09-23T04:48:22.071Z","publish_time":1663908303165,"_cnpm_publish_time":1663908303165},"2.5.0":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.5.0","tags":["data","database","ORM","it's not an ORM"],"license":"ISC","repository":{"type":"git","url":"git@github.com:serby/save"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"eslint -f unix .","test":"nyc mocha -- --recursive -R spec -r should","prepublish":"npm test && npm prune","pretest":"npm run-script lint","prettier":"prettier --write '**/*.js'"},"engine":">=6","dependencies":{"async":"^3.2.2","event-stream":"^4.0.1","lodash.assign":"^4.2.0","mingo":"1"},"devDependencies":{"eslint":"^6.1.0","eslint-config-prettier":"^6.0.0","eslint-config-prettier-standard":"^3.0.1","eslint-config-standard":"^13.0.1","eslint-plugin-import":"^2.18.2","eslint-plugin-node":"^9.1.0","eslint-plugin-prettier":"^3.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.0","lodash":"^4.17.21","mocha":"^9.2.2","nyc":"^14.1.1","prettier":"^1.18.2","should":"^13.2.3","stream-assert":"^2.0.3"},"licenseText":"Copyright (c) 2015, Paul Serby <paul@serby.net>\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"save@2.5.0","dist":{"shasum":"426663ca04eeaf87f909656aec52a1ba5d7e6195","size":10749,"noattachment":false,"key":"/save/-/save-2.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.5.0.tgz"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"directories":{},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/save_2.5.0_1650366130994_0.809452333985966"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-19T11:11:56.357Z","publish_time":1650366131175,"_cnpm_publish_time":1650366131175},"2.4.0":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.4.0","tags":["data","database","ORM","it's not an ORM"],"license":"ISC","repository":{"type":"git","url":"git@github.com:serby/save"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"nyc mocha -- --recursive -R spec -r should","prepublish":"npm test && npm prune"},"engine":">=6","dependencies":{"async":"^2.6.2","event-stream":"^4.0.1","lodash.assign":"^4.2.0","mingo":"1"},"devDependencies":{"jshint":"^2.10.2","lodash":"^4.17.4","mocha":"^6.1.4","nyc":"^14.1.1","should":"^13.2.3","stream-assert":"^2.0.3"},"licenseText":"Copyright (c) 2015, Paul Serby <paul@serby.net>\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"save@2.4.0","dist":{"shasum":"af93ff9b3d7a41d0aff49a23433870613a460f9b","size":10692,"noattachment":false,"key":"/save/-/save-2.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.4.0.tgz"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"_npmUser":{"name":"serby","email":"paul@serby.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/save_2.4.0_1558180970135_0.3903751550101846"},"_hasShrinkwrap":false,"publish_time":1558180970237,"_cnpm_publish_time":1558180970237,"_cnpmcore_publish_time":"2021-12-16T12:17:14.240Z"},"2.3.3":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.3.3","tags":["data","database","ORM","it's not an ORM"],"license":"ISC","repository":{"type":"git","url":"git@github.com:serby/save"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec -r should","posttest":"istanbul check-coverage && rm -rf coverage","prepublish":"npm test && npm prune"},"engine":">=0.10","dependencies":{"async":"^2.4.1","event-stream":"^4.0.1","lodash.assign":"^4.2.0","mingo":"1"},"devDependencies":{"istanbul":"^0.4.5","jshint":"^2.9.4","lodash":"^4.17.4","mocha":"^5.2.0","should":"^13.2.3","stream-assert":"^2.0.3"},"licenseText":"Copyright (c) 2015, Paul Serby <paul@serby.net>\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"save@2.3.3","dist":{"shasum":"daa50c778c41d6982c1d387e9aac731be831d16c","size":10723,"noattachment":false,"key":"/save/-/save-2.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.3.3.tgz"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"_npmUser":{"name":"serby","email":"paul@serby.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/save_2.3.3_1543270333577_0.3375716274730436"},"_hasShrinkwrap":false,"publish_time":1543270333682,"_cnpm_publish_time":1543270333682,"_cnpmcore_publish_time":"2021-12-16T12:17:14.901Z"},"2.3.2":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.3.2","tags":["data","database","ORM","it's not an ORM"],"license":"ISC","repository":{"type":"git","url":"git@github.com:serby/save"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec -r should","posttest":"istanbul check-coverage && rm -rf coverage","prepublish":"npm test && npm prune"},"engine":">=0.10","dependencies":{"async":"^2.4.1","event-stream":"^3.3.4","lodash.assign":"^4.2.0","mingo":"^1.3.1"},"devDependencies":{"istanbul":"^0.4.5","jshint":"^2.9.4","lodash":"^4.17.4","mocha":"^3.4.2","should":"^11.2.1","stream-assert":"^2.0.3"},"licenseText":"Copyright (c) 2015, Paul Serby <paul@serby.net>\n\nPermission to use, copy, modify, and/or distribute this software for any purpose\nwith or without fee is hereby granted, provided that the above copyright notice\nand this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\nOF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\nTHIS SOFTWARE.\n","_id":"save@2.3.2","dist":{"shasum":"8592674b5565cc4e12bc6ddd9cb09f828e3ecf7d","size":10782,"noattachment":false,"key":"/save/-/save-2.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.3.2.tgz"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"_npmUser":{"name":"serby","email":"paul@serby.net"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/save-2.3.2.tgz_1512494927701_0.7821948016062379"},"directories":{},"publish_time":1512494928807,"_hasShrinkwrap":false,"_cnpm_publish_time":1512494928807,"_cnpmcore_publish_time":"2021-12-16T12:17:15.398Z"},"2.3.1":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.3.1","tags":["data","database","ORM","it's not an ORM"],"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/serby/save.git"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec -r should","posttest":"istanbul check-coverage && rm -rf coverage","prepublish":"npm test && npm prune"},"engine":">=0.10","dependencies":{"async":"^2.4.1","event-stream":"^3.3.4","lodash.assign":"^4.2.0","mingo":"^1.1.2"},"devDependencies":{"istanbul":"^0.4.5","jshint":"^2.9.4","lodash":"^4.17.4","mocha":"^3.4.2","should":"^11.2.1","stream-assert":"^2.0.3"},"gitHead":"7def0d1c40b1d11e5ab1b3bf4f8cacdba1ac8216","bugs":{"url":"https://github.com/serby/save/issues"},"homepage":"https://github.com/serby/save#readme","_id":"save@2.3.1","_npmVersion":"5.0.3","_nodeVersion":"6.10.3","_npmUser":{"name":"serby","email":"paul@serby.net"},"dist":{"shasum":"6baacbf0e64e26cee7f792ba6d47988ecd568679","size":10737,"noattachment":false,"key":"/save/-/save-2.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.3.1.tgz"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/save-2.3.1.tgz_1496963723501_0.022678623907268047"},"directories":{},"publish_time":1496963724461,"_hasShrinkwrap":false,"_cnpm_publish_time":1496963724461,"_cnpmcore_publish_time":"2021-12-16T12:17:15.957Z"},"2.3.0":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.3.0","tags":["data","database","ORM","it's not an ORM"],"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/serby/save.git"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec -r should","posttest":"istanbul check-coverage && rm -rf coverage","prepublish":"npm test && npm prune"},"engine":">=0.10","dependencies":{"async":"^1.5.2","event-stream":"^3.3.2","lodash.assign":"^4.0.2","mingo":"^0.6.3"},"devDependencies":{"istanbul":"^0.4.2","jshint":"^2.9.1","lodash":"^4.3.0","mocha":"^2.4.5","should":"^8.2.2","stream-assert":"^2.0.3"},"gitHead":"80097cb9ca2ce00193dbca2d73de0f3db6644db7","bugs":{"url":"https://github.com/serby/save/issues"},"homepage":"https://github.com/serby/save#readme","_id":"save@2.3.0","_shasum":"8726cf38dc5ea5addaea81382aa8f032f09b98a9","_from":".","_npmVersion":"2.14.22","_nodeVersion":"4.3.1","_npmUser":{"name":"serby","email":"paul@serby.net"},"dist":{"shasum":"8726cf38dc5ea5addaea81382aa8f032f09b98a9","size":10733,"noattachment":false,"key":"/save/-/save-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.3.0.tgz"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/save-2.3.0.tgz_1457623088750_0.6628579858224839"},"directories":{},"publish_time":1457623090988,"_hasShrinkwrap":false,"_cnpm_publish_time":1457623090988,"_cnpmcore_publish_time":"2021-12-16T12:17:16.471Z"},"2.2.1":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.2.1","tags":["data","database","ORM","it's not an ORM"],"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/serby/save.git"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec -r should","posttest":"istanbul check-coverage && rm -rf coverage","prepublish":"npm test && npm prune"},"engine":">=0.10","dependencies":{"async":"^1.5.2","event-stream":"^3.3.2","lodash.assign":"^4.0.2","mingo":"^0.6.3"},"devDependencies":{"istanbul":"^0.4.2","jshint":"^2.9.1","lodash":"^4.3.0","mocha":"^2.4.5","should":"^8.2.2","stream-assert":"^2.0.3"},"gitHead":"1989e58ef1d8af7f6c4a37427413162b9529c589","bugs":{"url":"https://github.com/serby/save/issues"},"homepage":"https://github.com/serby/save#readme","_id":"save@2.2.1","_shasum":"8b3c90e02e69e781f8fe07643d717b376accaaec","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.3","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"dist":{"shasum":"8b3c90e02e69e781f8fe07643d717b376accaaec","size":10697,"noattachment":false,"key":"/save/-/save-2.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.2.1.tgz"},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/save-2.2.1.tgz_1455032336648_0.9437609000597149"},"directories":{},"publish_time":1455032339614,"_hasShrinkwrap":false,"_cnpm_publish_time":1455032339614,"_cnpmcore_publish_time":"2021-12-16T12:17:16.928Z"},"2.2.0":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.2.0","tags":["data","database","ORM","it's not an ORM"],"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/serby/save.git"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec -r should","posttest":"istanbul check-coverage && rm -rf coverage","prepublish":"npm test && npm prune"},"engine":">=0.10","dependencies":{"async":"^1.5.2","event-stream":"^3.3.2","lodash.assign":"^4.0.2","mingo":"^0.6.3"},"devDependencies":{"istanbul":"^0.4.2","jshint":"^2.9.1","lodash":"^4.3.0","mocha":"^2.4.5","should":"^8.2.2","stream-assert":"^2.0.3"},"gitHead":"24f4e77055c678c11dc8d5b23435e51a15551065","bugs":{"url":"https://github.com/serby/save/issues"},"homepage":"https://github.com/serby/save#readme","_id":"save@2.2.0","_shasum":"6fe7ff9acab8902f923ffbc8fc9d1cf5ecc95ce4","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.3","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"dist":{"shasum":"6fe7ff9acab8902f923ffbc8fc9d1cf5ecc95ce4","size":10650,"noattachment":false,"key":"/save/-/save-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.2.0.tgz"},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/save-2.2.0.tgz_1455032062225_0.04043961246497929"},"directories":{},"publish_time":1455032065188,"_hasShrinkwrap":false,"_cnpm_publish_time":1455032065188,"_cnpmcore_publish_time":"2021-12-16T12:17:17.269Z"},"2.1.2":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.1.2","tags":["data","database","ORM","it's not an ORM"],"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/serby/save.git"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec -r should","posttest":"istanbul check-coverage && rm -rf coverage","prepublish":"npm test && npm prune"},"engine":">=0.10","dependencies":{"async":"^1.5.2","event-stream":"^3.3.2","lodash.assign":"^4.0.2","mingo":"^0.6.3"},"devDependencies":{"istanbul":"^0.4.2","jshint":"^2.9.1","lodash":"^4.3.0","mocha":"^2.4.5","should":"^8.2.2","stream-assert":"^2.0.3"},"gitHead":"aee600edf067da248999ec3f556db063cb2efe37","bugs":{"url":"https://github.com/serby/save/issues"},"homepage":"https://github.com/serby/save#readme","_id":"save@2.1.2","_shasum":"129ef95cbaa33b56a684d2661a15732e8d42ba09","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.3","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"dist":{"shasum":"129ef95cbaa33b56a684d2661a15732e8d42ba09","size":10381,"noattachment":false,"key":"/save/-/save-2.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.1.2.tgz"},"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/save-2.1.2.tgz_1455015179258_0.7615246148779988"},"directories":{},"publish_time":1455015182036,"_hasShrinkwrap":false,"_cnpm_publish_time":1455015182036,"_cnpmcore_publish_time":"2021-12-16T12:17:17.490Z"},"2.1.1":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.1.1","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec -r should","posttest":"istanbul check-coverage && rm -rf coverage","prepublish":"npm test && npm prune"},"engine":">=0.10","dependencies":{"async":"^1.2.1","event-stream":"^3.3.1","lodash.assign":"^3.2.0","mingo":"^0.6.0"},"devDependencies":{"istanbul":"^0.3.5","jshint":"^2.5.11","lodash":"^2.4.1","mocha":"^2.1.0","should":"^4.5.1","stream-assert":"^2.0.2"},"gitHead":"c88da4fe7661851e5d9f3bae2e5d0e0fa95891a8","bugs":{"url":"https://github.com/serby/save/issues"},"homepage":"https://github.com/serby/save","_id":"save@2.1.1","_shasum":"2823255f0ec0b3914f05e84bb6d70a6b3b94ac54","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"dist":{"shasum":"2823255f0ec0b3914f05e84bb6d70a6b3b94ac54","size":9818,"noattachment":false,"key":"/save/-/save-2.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.1.1.tgz"},"directories":{},"publish_time":1435176896534,"_hasShrinkwrap":false,"_cnpm_publish_time":1435176896534,"_cnpmcore_publish_time":"2021-12-16T12:17:17.995Z"},"2.1.0":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.1.0","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec -r should","posttest":"istanbul check-coverage && rm -rf coverage","prepublish":"npm test && npm prune"},"engine":">=0.10","dependencies":{"async":"^0.9.0","event-stream":"^3.2.1","lodash.assign":"^3.0.0","mingo":"^0.3.1"},"devDependencies":{"istanbul":"^0.3.5","jshint":"^2.5.11","lodash":"^2.4.1","mocha":"^2.1.0","should":"^4.5.1","stream-assert":"^2.0.2"},"gitHead":"e5e3ea58c2fb8920253165b6671e624a28f1ab90","bugs":{"url":"https://github.com/serby/save/issues"},"homepage":"https://github.com/serby/save","_id":"save@2.1.0","_shasum":"7f0c45d5f3d04237f33bf6214671346eb53362b6","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"dist":{"shasum":"7f0c45d5f3d04237f33bf6214671346eb53362b6","size":9476,"noattachment":false,"key":"/save/-/save-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.1.0.tgz"},"directories":{},"publish_time":1424300611925,"_hasShrinkwrap":false,"_cnpm_publish_time":1424300611925,"_cnpmcore_publish_time":"2021-12-16T12:17:18.300Z"},"2.0.0":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"2.0.0","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec -r should","posttest":"istanbul check-coverage && rm -rf coverage","prepublish":"npm test && npm prune"},"engine":">=0.10","dependencies":{"async":"^0.9.0","event-stream":"^3.2.1","lodash.assign":"^3.0.0","mingo":"^0.3.1"},"devDependencies":{"istanbul":"^0.3.5","jshint":"^2.5.11","lodash":"^2.4.1","mocha":"^2.1.0","should":"^4.5.1","stream-assert":"^2.0.2"},"gitHead":"4d8b4bed9a15a3a47e99d83c13ee4e23ba30bfe5","bugs":{"url":"https://github.com/serby/save/issues"},"homepage":"https://github.com/serby/save","_id":"save@2.0.0","_shasum":"85aed80920a87d00feadbfe0ea862eaebcf9570b","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"dist":{"shasum":"85aed80920a87d00feadbfe0ea862eaebcf9570b","size":9374,"noattachment":false,"key":"/save/-/save-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-2.0.0.tgz"},"directories":{},"publish_time":1422319916523,"_hasShrinkwrap":false,"_cnpm_publish_time":1422319916523,"_cnpmcore_publish_time":"2021-12-16T12:17:18.568Z"},"1.0.1":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"1.0.1","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"lint":"jshint .","pretest":"npm run-script lint","test":"istanbul cover ./node_modules/.bin/_mocha -- --recursive -R spec -r should","posttest":"istanbul check-coverage && rm -rf coverage","prepublish":"npm test && npm prune"},"engine":">=0.8","dependencies":{"async":"*","lodash":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*","istanbul":"~0.1.45","jshint":"~2.3.0"},"gitHead":"de387547d1400f70b87c2dda27344c589118e744","bugs":{"url":"https://github.com/serby/save/issues"},"homepage":"https://github.com/serby/save","_id":"save@1.0.1","_shasum":"acbd419030b07576b390f86dc7738a42716d71ba","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"dist":{"shasum":"acbd419030b07576b390f86dc7738a42716d71ba","size":8706,"noattachment":false,"key":"/save/-/save-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-1.0.1.tgz"},"directories":{},"publish_time":1421081793829,"_hasShrinkwrap":false,"_cnpm_publish_time":1421081793829,"_cnpmcore_publish_time":"2021-12-16T12:17:18.836Z"},"0.0.20":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.20","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*","lodash":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","bugs":{"url":"https://github.com/serby/save/issues"},"_id":"save@0.0.20","dist":{"shasum":"dd6ad08427a9ab48143e964d7655d9feda88e5f4","size":31662,"noattachment":false,"key":"/save/-/save-0.0.20.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.20.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1384883451302,"_hasShrinkwrap":false,"_cnpm_publish_time":1384883451302,"_cnpmcore_publish_time":"2021-12-16T12:17:19.289Z"},"0.0.19":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.19","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*","lodash":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","bugs":{"url":"https://github.com/serby/save/issues"},"_id":"save@0.0.19","dist":{"shasum":"106ac85d906af668fbbfdd065ab6a0e93918d0e9","size":8503,"noattachment":false,"key":"/save/-/save-0.0.19.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.19.tgz"},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1379688753586,"_hasShrinkwrap":false,"_cnpm_publish_time":1379688753586,"_cnpmcore_publish_time":"2021-12-16T12:17:19.499Z"},"0.0.18":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.18","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*","lodash":"~1"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.18","dist":{"shasum":"74dabc4f818721cc2965700804d471af8d26ca73","size":8461,"noattachment":false,"key":"/save/-/save-0.0.18.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.18.tgz"},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1367586606086,"_hasShrinkwrap":false,"_cnpm_publish_time":1367586606086,"_cnpmcore_publish_time":"2021-12-16T12:17:19.714Z"},"0.0.17":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.17","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*","lodash":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.17","dist":{"shasum":"d044afc95ea9389c967e0ce79f412abe58cdd6df","size":8389,"noattachment":false,"key":"/save/-/save-0.0.17.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.17.tgz"},"_from":".","_npmVersion":"1.2.15","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1365465807734,"_hasShrinkwrap":false,"_cnpm_publish_time":1365465807734,"_cnpmcore_publish_time":"2021-12-16T12:17:19.974Z"},"0.0.16":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.16","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*","lodash":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.16","dist":{"shasum":"985d249d73a8b9c7ee58419b8ea0a8a0a98bb6af","size":8272,"noattachment":false,"key":"/save/-/save-0.0.16.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.16.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1363172623292,"_hasShrinkwrap":false,"_cnpm_publish_time":1363172623292,"_cnpmcore_publish_time":"2021-12-16T12:17:20.223Z"},"0.0.15":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.15","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*","lodash":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.15","dist":{"shasum":"9a5328b93bd240d0623d2f5a8f00a4052dbbb2c5","size":7894,"noattachment":false,"key":"/save/-/save-0.0.15.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.15.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1363019514035,"_hasShrinkwrap":false,"_cnpm_publish_time":1363019514035,"_cnpmcore_publish_time":"2021-12-16T12:17:20.446Z"},"0.0.14":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.14","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*","lodash":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.14","dist":{"shasum":"35c0a6586937928fea4aa2e21506b807f82caf3d","size":7699,"noattachment":false,"key":"/save/-/save-0.0.14.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.14.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1362655051428,"_hasShrinkwrap":false,"_cnpm_publish_time":1362655051428,"_cnpmcore_publish_time":"2021-12-16T12:17:20.640Z"},"0.0.13":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.13","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.13","dist":{"shasum":"17aa1c89e14fe3fe108e245ca89c94eb42f151e7","size":7317,"noattachment":false,"key":"/save/-/save-0.0.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.13.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1361982057284,"_hasShrinkwrap":false,"_cnpm_publish_time":1361982057284,"_cnpmcore_publish_time":"2021-12-16T12:17:20.859Z"},"0.0.12":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.12","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.12","dist":{"shasum":"db8392e1f72f4076253a8c12169d63b478d582cc","size":7304,"noattachment":false,"key":"/save/-/save-0.0.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.12.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1361916526930,"_hasShrinkwrap":false,"_cnpm_publish_time":1361916526930,"_cnpmcore_publish_time":"2021-12-16T12:17:21.053Z"},"0.0.11":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.11","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.11","dist":{"shasum":"f10e84103cffaebe8565ef02fb7e179e85d553ae","size":7172,"noattachment":false,"key":"/save/-/save-0.0.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.11.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1361832637842,"_hasShrinkwrap":false,"_cnpm_publish_time":1361832637842,"_cnpmcore_publish_time":"2021-12-16T12:17:21.298Z"},"0.0.10":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.10","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.10","dist":{"shasum":"5d5921fbba24ac686b97723b2c541269e6ce89b4","size":7165,"noattachment":false,"key":"/save/-/save-0.0.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.10.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1361832328882,"_hasShrinkwrap":false,"_cnpm_publish_time":1361832328882,"_cnpmcore_publish_time":"2021-12-16T12:17:21.758Z"},"0.0.9":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.9","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"./node_modules/mocha/bin/mocha -r should"},"engine":">=0.8","dependencies":{"async":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.9","dist":{"shasum":"a633f5d7175f6d626826a6f0e072b583de4692d1","size":7166,"noattachment":false,"key":"/save/-/save-0.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.9.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1361831021465,"_hasShrinkwrap":false,"_cnpm_publish_time":1361831021465,"_cnpmcore_publish_time":"2021-12-16T12:17:22.040Z"},"0.0.8":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.8","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"mocha -r should"},"engine":">=0.8","dependencies":{"async":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.8","dist":{"shasum":"c47a2b18a44987d575b9897d9aa642341972a335","size":5940,"noattachment":false,"key":"/save/-/save-0.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.8.tgz"},"_from":".","_npmVersion":"1.2.10","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1360405383191,"_hasShrinkwrap":false,"_cnpm_publish_time":1360405383191,"_cnpmcore_publish_time":"2021-12-16T12:17:22.403Z"},"0.0.7":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.7","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"mocha -r should"},"engine":">=0.8","dependencies":{"async":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"readmeFilename":"README.md","_id":"save@0.0.7","dist":{"shasum":"c976206808514927c952b33c8d723e37d39441f6","size":6430,"noattachment":false,"key":"/save/-/save-0.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.7.tgz"},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1360167976695,"_hasShrinkwrap":false,"_cnpm_publish_time":1360167976695,"_cnpmcore_publish_time":"2021-12-16T12:17:23.059Z"},"0.0.6":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.6","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"mocha -r should"},"engine":">=0.8","dependencies":{"async":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"_id":"save@0.0.6","dist":{"shasum":"160ba533437e28f4dc4fd138bc194eb555088b7f","size":5732,"noattachment":false,"key":"/save/-/save-0.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.6.tgz"},"_npmVersion":"1.1.63","_npmUser":{"name":"serby","email":"paul@serby.net"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1350776783728,"_hasShrinkwrap":false,"_cnpm_publish_time":1350776783728,"_cnpmcore_publish_time":"2021-12-16T12:17:23.292Z"},"0.0.5":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.5","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"mocha -r should"},"engine":">=0.8","dependencies":{"async":"*"},"devDependencies":{"mocha":"*","should":"*","lodash":"*"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"save@0.0.5","optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.8.9","_defaultsLoaded":true,"dist":{"shasum":"2e7f140e99a0e2e3d8afde034fc1d80f88800694","size":5464,"noattachment":false,"key":"/save/-/save-0.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.5.tgz"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1350402010071,"_hasShrinkwrap":false,"_cnpm_publish_time":1350402010071,"_cnpmcore_publish_time":"2021-12-16T12:17:23.561Z"},"0.0.4":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.4","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"mocha -r should"},"engines":{"node":">=0.6.0"},"dependencies":{"lodash":"~0.3","async":"~0.1"},"devDependencies":{"mocha":"~1","should":"~1"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"save@0.0.4","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.8.9","_defaultsLoaded":true,"dist":{"shasum":"a30536be82eb1504bc4ede5aeef01f7239899a61","size":5520,"noattachment":false,"key":"/save/-/save-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.4.tgz"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1347641229946,"_hasShrinkwrap":false,"_cnpm_publish_time":1347641229946,"_cnpmcore_publish_time":"2021-12-16T12:17:23.778Z"},"0.0.3":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.","version":"0.0.3","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"mocha -r should"},"engines":{"node":">=0.6.0"},"dependencies":{"lodash":"~0.3","async":"~0.1"},"devDependencies":{"mocha":"~1","should":"~1"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"save@0.0.3","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.8.8","_defaultsLoaded":true,"dist":{"shasum":"0f81509b80ea9a6edd576ace6af78e8c144f5652","size":5419,"noattachment":false,"key":"/save/-/save-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.3.tgz"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1346435192957,"_hasShrinkwrap":false,"_cnpm_publish_time":1346435192957,"_cnpmcore_publish_time":"2021-12-16T12:17:24.003Z"},"0.0.2":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card","version":"0.0.2","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"mocha -r should"},"engines":{"node":">=0.6.0"},"dependencies":{"lodash":"~0.3","async":"~0.1"},"devDependencies":{"mocha":"~1","should":"~1"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"save@0.0.2","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.8.6","_defaultsLoaded":true,"dist":{"shasum":"ba971066b4540c6ea53e0fc59bdc6398b5e5f130","size":5318,"noattachment":false,"key":"/save/-/save-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.2.tgz"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1345970756479,"_hasShrinkwrap":false,"_cnpm_publish_time":1345970756479,"_cnpmcore_publish_time":"2021-12-16T12:17:24.212Z"},"0.0.1":{"author":{"name":"Paul Serby","email":"paul@serby.net"},"name":"save","description":"A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card","version":"0.0.1","tags":["data","database","ORM","it's not an ORM"],"repository":{"type":"git","url":"git@github.com:serby/save"},"main":"lib/save","scripts":{"test":"mocha -r should"},"engines":{"node":">=0.6.0"},"dependencies":{"lodash":"~0.3"},"devDependencies":{"mocha":"~1.2","should":"~0.6","async":"~0.1"},"_npmUser":{"name":"serby","email":"paul@serby.net"},"_id":"save@0.0.1","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.8.6","_defaultsLoaded":true,"dist":{"shasum":"05d412c35bd5eb34b941aeb75026a0994edf965d","size":5321,"noattachment":false,"key":"/save/-/save-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/save/download/save-0.0.1.tgz"},"maintainers":[{"name":"jack828","email":""},{"name":"microadam","email":""},{"name":"serby","email":""}],"directories":{},"publish_time":1345965748338,"_hasShrinkwrap":false,"_cnpm_publish_time":1345965748338,"_cnpmcore_publish_time":"2021-12-16T12:17:24.477Z"}},"readme":"# save - A simple CRUD based persistence abstraction for storing objects to any backend data store. eg. Memory, MongoDB, Redis, CouchDB, Postgres, Punch Card etc.\n\n[![NPM Details](https://nodei.co/npm/save.png?stars&downloads)](https://npmjs.org/package/save)\n\n[![build status](https://api.travis-ci.org/serby/save.png)](http://travis-ci.org/serby/save) [![Dependences](https://david-dm.org/serby/save.svg)](https://david-dm.org/serby/save/) [![Join the chat at https://gitter.im/serby/save](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/serby/save?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n**save** comes with a fully featured in memory engine which is super handy for testing your models.\nFor real world use you'll need to get one of the database powered engines:\n\n* [MongoDB](https://github.com/serby/save-mongodb)\n\nIf your data store of choice isn't listed here please create an engine and send me a pull request.\nTo see an example of how to create an engine, please see [save-mongodb](https://github.com/serby/save-mongodb).\n\n## Installation\n\n    npm install save\n\n## Example\n\n```js\n\nvar save = require('save')\n  , s = save('person')\n\ns.on('create', function() {\n  console.log('New person created!')\n})\n\ns.create({ name: 'Dom' }, function(err, person) {\n  // Outputs { name: 'Dom', _id: 1 }\n  console.log(person)\n})\n\n```\n\n## Usage\n\n```js\nvar save = require('save')\n```\n\n### var s = save(name, [options])\nSave by default returns an in memory engine which means you can unit test your models independently from your database. `name` is the name of your model.\n\nPossible options are:\n\n* `idProperty`. Defaults to `_id` for mongodb\n* `logger`. Defaults to console logging: `{ info: console.info, verbose: console.info }`\n* `engine`. Persistence engine to use, defaults to memory engine: `require(./memory-engine)`\n\n### s.create(object, [cb])\nCreates a new entity.\n`cb` called with `cb(err, savedObject)`.\n\n### s.read(id, [cb])\nReads a single entity with an `idProperty` of `id`.\n`cb` called with `cb(err, readObject)`.\n\n### s.update(object, overwrite, [cb])\nUpdates a single entity. Optionally overwrites the entire entity, by default just extends it with the new values.\n`cb` called with `cb(err, readObject)`.\n\n### s.delete(id, [cb])\nDeletes one entity.\nReturns an error if the object can not be found.\n`cb` called with `cb(err)`.\n\n### s.deleteMany(query, [cb])\nDeletes entities based on a query.\nPerforms a find by query, then calls delete for each item returned\nReturns an error if no items match the query.\n`cb` called with `cb(err)`.\n\n### s.find(query, options, cb)\nPerforms a find on the data.\n`cb` called with `cb(err, foundObjectsArray)`.\n\n### s.findOne(query, options, cb)\nPerforms a find on the data and limits the result set to 1.\n`cb` called with `cb(err, foundObject)`.\n\n### s.count(query, cb)\nPerforms a count by query.\n`cb` called with `cb(err, count)`.\n\n### s.idProperty\nProvides access to the `idProperty`. Mostly used for testing.\n\n## Events\n\n### s.on('create', cb)\nThis event fires with `cb(object)` where `object` is the item that will be created.\n\n### s.on('afterCreate', cb)\nThis event fires with `cb(object)` where `object` is the item that has been created.\n\n### s.on('update', cb)\nThis event fires with `cb(object, overwrite)` where `object` is the item that will be updated and `overwrite` is whether the object is to be overwritten or extended.\n\n### s.on('afterUpdate', cb)\nThis event fires with `cb(object, overwrite)` where `object` is the item that has been updated and `overwrite` is whether the object is to be overwritten or extended.\n\n### s.on('delete', cb)\nThis event fires with `cb(id)` where `id` is the item that will be deleted.\n\n### s.on('afterDelete', cb)\nThis event fires with `cb(id)` where `id` is the item that has been deleted.\n\n### s.on('deleteMany', cb)\nThis event fires with `cb(query)` where `query` is the query used to `deleteMany`.\n\n### s.on('afterDeleteMany', cb)\nThis event fires with `cb(query)` where `query` is the query that has used `deleteMany`.\n\n### s.on('read', cb)\nThis event fires with `cb(id)` where `id` is the item that has been read.\n\n### s.on('find', cb)\nThis event fires with `cb(query)` where `query` is the query used to `find`.\n\n### s.on('findOne', cb)\nThis event fires with `cb(query)` where `query` is the query used to `findOne`.\n\n### s.on('count', cb)\nThis event fires with `cb(query)` where `query` is the query used to `count`.\n\n### s.on('error', cb)\nThis event fires with `cb(err)` where `err` is any error that may have occured.\n\n## Credits\n[Paul Serby](https://github.com/serby/) follow me on twitter [@serby](http://twitter.com/serby)\n\n[Dom Harrington](https://github.com/domharrington/)\n\n## Licence\nLicenced under the [New BSD License](http://opensource.org/licenses/bsd-license.php)\n","_attachments":{},"license":"ISC"}