{"_id":"@ampatspell/sofa-store","_rev":"6-c8121f996ffef0c8125f5d7d946eb0d2","name":"@ampatspell/sofa-store","description":"CouchDB json library","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@ampatspell/sofa-store","version":"0.0.1","description":"CouchDB json library","repository":{"type":"git","url":"git+https://bitbucket.org/ampatspell/s2.git"},"main":"dist/index.js","scripts":{"build":"babel src --out-dir dist","build:watch":"babel src --out-dir dist --watch","lint":"eslint ./src --ext js || true","test":"babel-node node_modules/.bin/_mocha --require test/setup --recursive test","test:watch":"babel-node node_modules/.bin/_mocha --watch --require test/setup --recursive test","cover":"babel-node node_modules/.bin/babel-istanbul cover node_modules/.bin/_mocha -- --require test/setup --recursive test; open coverage/lcov-report/index.html","es":"babel-node","prepublish":"npm run test && npm run build"},"keywords":["sofa","couch","couchdb","json"],"author":{"name":"ampatspell","email":"ampatspell@gmail.com"},"license":"ISC","devDependencies":{"babel":"^5.0.0","babel-core":"^5.0.0","babel-eslint":"^4.1.4","babel-istanbul":"^0.4.1","chai":"^3.4.0","eslint":"^1.8.0","mocha":"^2.3.3"},"dependencies":{"@ampatspell/sofa-util":"^0.0.1","@ampatspell/sofa-logger":"^0.0.2","@ampatspell/sofa-request":"^0.0.1","bluebird":"^3.0.5","deep-equal":"^1.0.1","lodash":"^3.10.1"},"homepage":"https://bitbucket.org/ampatspell/s2#readme","_id":"@ampatspell/sofa-store@0.0.1","_shasum":"391ce4a6c2d46767072efb141f467fd2ebb742a0","_from":".","_npmVersion":"2.14.3","_nodeVersion":"3.3.1","_npmUser":{"name":"ampatspell","email":"ampatspell@gmail.com"},"dist":{"shasum":"391ce4a6c2d46767072efb141f467fd2ebb742a0","tarball":"https://registry.npmjs.org/@ampatspell/sofa-store/-/sofa-store-0.0.1.tgz","integrity":"sha512-GPozTTUwdfm8WHaVbA37eGkVce/kmdd3bQv64ukJf0DSCx8L0y2Tj+hBvcpQ6P8EmXy4qiG/o+hnTH/E7e48HQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUmBQ3FnUQOaSjT0K2rhRIao6tThHAAmRGHBGGurLlSwIgB09WzKsm2BViih6S+NKDwWsUginsqgfiQcP/ilWonbY="}]},"maintainers":[{"name":"ampatspell","email":"ampatspell@gmail.com"}]},"0.0.2":{"name":"@ampatspell/sofa-store","version":"0.0.2","description":"CouchDB json library","repository":{"type":"git","url":"git+https://bitbucket.org/ampatspell/s2.git"},"main":"dist/index.js","scripts":{"build":"babel src --out-dir dist","build:watch":"babel src --out-dir dist --watch","lint":"eslint ./src --ext js || true","test":"babel-node node_modules/.bin/_mocha --require test/setup --recursive test","test:watch":"babel-node node_modules/.bin/_mocha --watch --require test/setup --recursive test","cover":"babel-node node_modules/.bin/babel-istanbul cover node_modules/.bin/_mocha -- --require test/setup --recursive test; open coverage/lcov-report/index.html","es":"babel-node","prepublish":"npm run test && npm run build"},"keywords":["sofa","couch","couchdb","json"],"author":{"name":"ampatspell","email":"ampatspell@gmail.com"},"license":"ISC","devDependencies":{"babel":"^5.0.0","babel-core":"^5.0.0","babel-eslint":"^4.1.4","babel-istanbul":"^0.4.1","chai":"^3.4.0","eslint":"^1.8.0","mocha":"^2.3.3"},"dependencies":{"@ampatspell/sofa-util":"^0.0.1","@ampatspell/sofa-logger":"^0.0.2","@ampatspell/sofa-request":"^0.0.1","bluebird":"^3.0.5","deep-equal":"^1.0.1","lodash":"^3.10.1"},"homepage":"https://bitbucket.org/ampatspell/s2#readme","_id":"@ampatspell/sofa-store@0.0.2","_shasum":"1bf3313f4f633688fff149bfa1a939a0a50946b6","_from":".","_npmVersion":"2.14.3","_nodeVersion":"3.3.1","_npmUser":{"name":"ampatspell","email":"ampatspell@gmail.com"},"dist":{"shasum":"1bf3313f4f633688fff149bfa1a939a0a50946b6","tarball":"https://registry.npmjs.org/@ampatspell/sofa-store/-/sofa-store-0.0.2.tgz","integrity":"sha512-Lmw4SnVlltryHILDowbDrpADg9FrYiZx9KOKFbonSGAeN65+qz4EaluwE5Bqsw7Ty5Vs9rs78dG3rSkoyP6h8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvMeJxtnPH+tcA9OI72UhM/DEbjRy+IRrU1DgZ4K5tAwIgc8V9w7ukEhp+esBwvh0/4hiWGz8v8l7mhjaEBDXDuac="}]},"maintainers":[{"name":"ampatspell","email":"ampatspell@gmail.com"}]},"0.0.3":{"name":"@ampatspell/sofa-store","version":"0.0.3","description":"CouchDB json library","repository":{"type":"git","url":"git+https://bitbucket.org/ampatspell/s2.git"},"main":"dist/index.js","scripts":{"build":"babel src --out-dir dist","build:watch":"babel src --out-dir dist --watch","lint":"eslint ./src --ext js || true","test":"babel-node node_modules/.bin/_mocha --require test/setup --recursive test","test:watch":"babel-node node_modules/.bin/_mocha --watch --require test/setup --recursive test","cover":"babel-node node_modules/.bin/babel-istanbul cover node_modules/.bin/_mocha -- --require test/setup --recursive test; open coverage/lcov-report/index.html","es":"babel-node","prepublish":"npm run test && npm run build"},"keywords":["sofa","couch","couchdb","json"],"author":{"name":"ampatspell","email":"ampatspell@gmail.com"},"license":"ISC","devDependencies":{"babel":"^5.0.0","babel-core":"^5.0.0","babel-eslint":"^4.1.4","babel-istanbul":"^0.4.1","chai":"^3.4.0","eslint":"^1.8.0","mocha":"^2.3.3"},"dependencies":{"@ampatspell/sofa-util":"0.0.2","@ampatspell/sofa-logger":"0.0.3","@ampatspell/sofa-request":"0.0.2","bluebird":"^3.0.5","deep-equal":"^1.0.1","lodash":"^3.10.1"},"homepage":"https://bitbucket.org/ampatspell/s2#readme","_id":"@ampatspell/sofa-store@0.0.3","_shasum":"602e477446bff597a7d329e7e71e96b37ed54489","_from":".","_npmVersion":"2.14.3","_nodeVersion":"3.3.1","_npmUser":{"name":"ampatspell","email":"ampatspell@gmail.com"},"dist":{"shasum":"602e477446bff597a7d329e7e71e96b37ed54489","tarball":"https://registry.npmjs.org/@ampatspell/sofa-store/-/sofa-store-0.0.3.tgz","integrity":"sha512-C1ogiIw/KF9I8iQcBZBHCRc7EMXOw2Ln/8Z/ocpbBXTTZuGjE8UrRLZ4S2b9CxaokYeAK0RbpWXcCu1wasrrVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpqTAbYwC75X0luWpXMOHqrREF3BMomlu4HeILmK9zGgIgGxwx/ZCAFid91er6NT0o39Csx8DzjIBGwXiXO75l+9k="}]},"maintainers":[{"name":"ampatspell","email":"ampatspell@gmail.com"}]},"0.0.4":{"name":"@ampatspell/sofa-store","version":"0.0.4","description":"CouchDB json library","repository":{"type":"git","url":"git+https://bitbucket.org/ampatspell/s2-store.git"},"main":"dist/index.js","scripts":{"build":"babel src --out-dir dist","build:watch":"babel src --out-dir dist --watch","lint":"eslint ./src --ext js || true","test":"babel-node node_modules/.bin/_mocha --require test/setup --recursive test","test:watch":"babel-node node_modules/.bin/_mocha --watch --require test/setup --recursive test","cover":"babel-node node_modules/.bin/babel-istanbul cover node_modules/.bin/_mocha -- --require test/setup --recursive test; open coverage/lcov-report/index.html","es":"babel-node","prepublish":"npm run test && npm run build"},"keywords":["sofa","couch","couchdb","json"],"author":{"name":"ampatspell","email":"ampatspell@gmail.com"},"license":"ISC","devDependencies":{"@ampatspell/sofa-test-support":"0.0.1","babel":"^5.0.0","babel-core":"^5.0.0","babel-eslint":"^4.1.4","babel-istanbul":"^0.4.1","chai":"^3.4.0","eslint":"^1.8.0","mocha":"^2.3.3"},"dependencies":{"@ampatspell/sofa-util":"0.0.3","@ampatspell/sofa-logger":"0.0.4","@ampatspell/sofa-request":"0.0.3","bluebird":"^3.0.5","deep-equal":"^1.0.1","lodash":"^3.10.1"},"homepage":"https://bitbucket.org/ampatspell/s2-store#readme","_id":"@ampatspell/sofa-store@0.0.4","_shasum":"f46d349cf4db54273332a753de6a506163c9e0e8","_from":".","_npmVersion":"2.14.3","_nodeVersion":"3.3.1","_npmUser":{"name":"ampatspell","email":"ampatspell@gmail.com"},"dist":{"shasum":"f46d349cf4db54273332a753de6a506163c9e0e8","tarball":"https://registry.npmjs.org/@ampatspell/sofa-store/-/sofa-store-0.0.4.tgz","integrity":"sha512-9n5Z+/6SouepdDe9JaQR/y4OvRZ+GBEFoGfAM/nFAFjKiLCkIPIL2XySTBTCxy8yYeemiKTB+QMlKlkEkQDYzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICVilVK6pAbQSgIi9rB/lq4RGYJLDIeq/XURlBNgpivLAiEAwU5wK4nkoOLtihBH/Bekl8k8cyRQkRyLtT5UKoaLSB0="}]},"maintainers":[{"name":"ampatspell","email":"ampatspell@gmail.com"}]}},"readme":"# sofa-store\n\n``` javascript\nimport Store from '@ampatspell/sofa-store';\n\nlet url = 'http:/127.0.0.1:5984';\n\nlet database = function(name) {\n  return `${name}_development`;\n}\n\nlet store = new Store({ url, database });\n```\n\n## Init variants\n\nWith name and password\n\n``` javascript\nlet name = 'ampatspell';\nlet password = 'hello';\nlet store = new Store({ url, name, password, database });\n```\n\nWith cookie\n\n``` javascript\nlet store = new Store({ url, cookie, database });\n```\n\n## Store\n\n``` javascript\nstore.cookie = '...' // sets cookie\nstore.cookie // returns cookie\n\nstore.url = url // sets url\nstore.url // returns url\n\nstore.request(opts) // => response\nstore.info() // => database info\nstore.uuid() // => single uuid\nstore.uuids(count) // => uuids\nstore.databases() // => database names\n\nstore.session // Session\nstore.database(name) // Database\n```\n\n## Session\n\n``` javascript\nsession.request(opts) // => response\nsession.load() // =>\nsession.save(name, password) // =>\nsession.delete() // =>\n```\n\n## Database\n\n``` javascript\ndb.name // in-app used name\ndb.databaseName // mapped actual database name\n\ndb.database // DatabaseManagement\ndb.security // DatabaseSecurity\ndb.design // DesignDocuments\n\ndb.request // => response\ndb.info // =>\ndb.ensureFullCommit // =>\n\ndb.save(doc) // =>\ndb.load(id, opts) // =>\ndb.delete(id, rev) // =>\ndb.view(ddoc, name, opts) // =>\ndb.first(ddoc, name, opts) // => first document in view. rejects if no results\ndb.all(opts) // => _all_docs\n```\n\n## DatabaseManagement\n\n```javascript\ndatabase.request(opts) // => response\ndatabase.create(opts) // { optional: false } => response\ndatabase.delete(opts) // { optional: false } => response\ndatabase.recreate(opts) // { type: 'database|documents', all: true|false } => response\n```\n\n## DatabaseSecurity\n\n``` javascript\nsecurity.request(opts) // => response\nsecurity.load() // => security doc\nsecurity.save(hash) // => response\n```\n\n## DesignDocuments\n\n``` javascript\ndesign.id(name) // _design/${name}\ndesign.load(name, opts) // { optional: false } => loaded doc or undefined if optional\ndesign.save(name, hash) // => response with { saved: true|false }\ndesign.delete(name, opts) // { optional: false } => response\n```\n\n> Save checks document deepEqual before saving and if documents are identical, doesn't do anything.\n\n``` javascript\nlet ddoc = {\n  views: {\n    'by-name': {\n      map(doc) {\n        if(doc.type !== 'thing') {\n          return;\n        }\n        emit(doc._id, null);\n      }\n    }\n  }\n};\n\nstore.database('main').design.save('thing', ddoc).then(json => {\n  // { id: '_design/main', rev: '1-qweasd', saved: true }\n});\n```\n","maintainers":[{"name":"ampatspell","email":"ampatspell@gmail.com"}],"time":{"modified":"2022-06-12T14:39:42.921Z","created":"2015-11-07T18:31:04.213Z","0.0.1":"2015-11-07T18:31:04.213Z","0.0.2":"2015-11-07T18:39:13.038Z","0.0.3":"2015-11-07T19:23:30.916Z","0.0.4":"2015-11-10T19:18:31.279Z"},"homepage":"https://bitbucket.org/ampatspell/s2-store#readme","keywords":["sofa","couch","couchdb","json"],"repository":{"type":"git","url":"git+https://bitbucket.org/ampatspell/s2-store.git"},"author":{"name":"ampatspell","email":"ampatspell@gmail.com"},"license":"ISC","readmeFilename":"README.md"}