{"_id":"relational-pouch","_rev":"60-fd1578d53a9677391b84a3602482f31f","name":"relational-pouch","dist-tags":{"latest":"4.1.1"},"versions":{"0.1.0":{"name":"relational-pouch","version":"0.1.0","keywords":["pouch","pouchdb","plugin","seed","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@0.1.0","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"a9e11b1f54deb014fe82d03864bedd73fddd0376","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-0.1.0.tgz","integrity":"sha512-Fe+sj9sBOWw/W/ndU/icDa3y5HWHiQ3aS5D/oI/NhFS90Rtrz6BBaWJQK+JLk2hnWZLcobpUvLutcu8rCXf/Pg==","signatures":[{"sig":"MEUCIGXUWmmcgm8iDlxkzmsc9HdAJa02zirNbli1OUiI2raLAiEAi4g7edTKGLOVpd8Vk3S3p58nl2XyVZmKWoUYqct3I2A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"a9e11b1f54deb014fe82d03864bedd73fddd0376","browser":{"crypto":false},"gitHead":"00b9d3a2e8271e200243064984e5e9578da2bc8f","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"0.2.0":{"name":"relational-pouch","version":"0.2.0","keywords":["pouch","pouchdb","plugin","seed","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@0.2.0","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"19338b3a5770e01bd0783025144b07c5da182e75","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-0.2.0.tgz","integrity":"sha512-MhD53tkM3aIY3dRHN6B60QxQJaliF0asZabu66DURtgQSfzRGZSTyJJXMQl52LOAKpX5vjd0lTJ5vYm5m1C0Tw==","signatures":[{"sig":"MEYCIQCwNVfLWjyVYkeyoFR8CIHphltMXD7ea7Mthd6g1O6qAwIhAOYc/VMjqqM/ebwVMOiuDYxe01DwzUMJdoyqlSQN6a2l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"19338b3a5770e01bd0783025144b07c5da182e75","browser":{"crypto":false},"gitHead":"c000ba66e339546a2b6600375c87f5d67302a60a","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"0.2.1":{"name":"relational-pouch","version":"0.2.1","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@0.2.1","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"a166ada3f6a655ec6b375169632c70929e3a4db2","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-0.2.1.tgz","integrity":"sha512-FHyc9nhlYheu97wwiYwXCec516SZUds4hBHhKOv2ycReP3KBIi706qIdlbOLDS1K4aSs8mVrOICpMXEr1DYpTA==","signatures":[{"sig":"MEQCIGqvo8WuW8hlpZfLfQmNoeOPv8Ozh0pxqVe5C1kyZedyAiA0W99DASrXRN2RdkePqtMiExIGR+NwFt0jY1YELlGMHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"a166ada3f6a655ec6b375169632c70929e3a4db2","browser":{"crypto":false},"gitHead":"771f1a1b6b08f58facc49bb1e49012cd0cc913f0","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"0.2.2":{"name":"relational-pouch","version":"0.2.2","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@0.2.2","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"8930e45ff1063c23a05151adb09f873a8b9c109f","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-0.2.2.tgz","integrity":"sha512-Ft8aKQQl1X187hs5oQolGR4W868JaCgcbPmb3Y50c7FOKa3dVPzWERnF0R5GkCojD1hgdPUTy99FaOi/cZCJjQ==","signatures":[{"sig":"MEQCIATiH5LDgLTv1DKAE+Oflhp+FjPN1dHSyjzU5+Urfc01AiAprApaJLl65HGGG2xDAd4jUk8ec/x61aLflYaulapkPg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"8930e45ff1063c23a05151adb09f873a8b9c109f","browser":{"crypto":false},"gitHead":"29ee3a0b2f06249f2954134f3622aacfcbd69cd3","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"0.3.0":{"name":"relational-pouch","version":"0.3.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@0.3.0","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"96f5c9b7cff71677ddf3fa7c632ef38d769a025f","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-0.3.0.tgz","integrity":"sha512-pM94xKBwuD8AXczyWXeM1rabM8GUnNHSFr5RPME+NJbot+D5ztJ0qPHTf/T0xBv6IsSyukk231tYvoJVHDgLHA==","signatures":[{"sig":"MEQCIDd/0BwQP/gTNZGpJLCfudwhHVu3IJ9wXOcBEWuoCL+hAiAdHiRd+alNcZv0oPDXViO7JwMiQ7YZkeEngoHO1HcFyw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"96f5c9b7cff71677ddf3fa7c632ef38d769a025f","browser":{"crypto":false},"gitHead":"17421b4392802f9c7bb39e1c401979918e55a8a9","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"0.3.1":{"name":"relational-pouch","version":"0.3.1","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@0.3.1","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"a87315b062ca9bfc4cc8c413f8a3c3660a700355","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-0.3.1.tgz","integrity":"sha512-3qji4h2DbvFuoZ0iQu3OLRgI6AxMNvSrB2DwnzGQL7/pio4zVBzZREU1wzdB1gVUfxnVpjEeqZ80NQCek1/afg==","signatures":[{"sig":"MEUCIQCF4HbOc/i4tTZvEDezk37rexRYwb3DfG7c9psx/cIGbQIgTHtNPQMgV9tstq4RGkd5BrSV2A2YlCFcNA28jbQc5fI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"a87315b062ca9bfc4cc8c413f8a3c3660a700355","browser":{"crypto":false},"gitHead":"ca9268d89013aa0ac4f0e763e56d5fe9818ea548","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"0.3.2":{"name":"relational-pouch","version":"0.3.2","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@0.3.2","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"a337c41830239e4cdee4f2f62776a60621a54ada","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-0.3.2.tgz","integrity":"sha512-9uGbEbs4QsVUlhPYWfruC11KW1RqX/OCsYEUcAGyPG7C8MWs5E9np9Ay/XNuql850iAl3Cs7tXF5YJLNTypQQw==","signatures":[{"sig":"MEUCIQCu8bjxp+oPy4IGJxsF6ZMTGUgyztDWKt+ziyJzA7rNqQIgEjBnwkZY517F5KiPsPIK/IlJ5oFhaaoHUwrgpbBdJy0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"a337c41830239e4cdee4f2f62776a60621a54ada","browser":{"crypto":false},"gitHead":"ded4acd59ece3c5f67cc37ccc0e099194e2e199d","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"0.4.0":{"name":"relational-pouch","version":"0.4.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@0.4.0","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"c4dc8c100a9ebfd9380c8ab063212fce3b797be5","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-0.4.0.tgz","integrity":"sha512-4BWJ2gM85dzZfQI48LhG2dFzHk6Pd3Orszqs0xUl575gNIrbH+PAlTMLFDjNm3jHicA7b5sUNh4GPTCmY4vw1Q==","signatures":[{"sig":"MEYCIQDXAGaSfAGlmwLDbG4GmEoPAdIWsm3GHJVwrP/DRnMtMQIhAOurRxYyjslEX/ymUreFk8GFOmfT8XKYntp4GPm6Ibf+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"c4dc8c100a9ebfd9380c8ab063212fce3b797be5","browser":{"crypto":false},"gitHead":"de21155567f973e6bb3ff9c671c0ac0872b73f0e","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"0.4.1":{"name":"relational-pouch","version":"0.4.1","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@0.4.1","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"c09b29375cbacb98c73921787096de74c3733d72","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-0.4.1.tgz","integrity":"sha512-2SkNvrU2BVyxkNOy/Pfy2X4n2hpdDb301L4aLlfrWXvGcNbygPuw5wZrgNnEOuYhE2x5PNEg9NLYhd5L1draoA==","signatures":[{"sig":"MEUCIQC63UqUhAeptU+uQWlfelg+pEKdrc+lBgo57AwSmwty0wIgJSVzEk9oyKW9wXzX2QBdFub3TSlMs5hPixqALyzYfvA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"c09b29375cbacb98c73921787096de74c3733d72","browser":{"crypto":false},"gitHead":"5f0ddc14836c598447d4d39f7a6266a67fb0a5b8","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"1.0.0":{"name":"relational-pouch","version":"1.0.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@1.0.0","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"406ced5bf54ef74022908bf9d9ba30ec5cb18fa7","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.0.0.tgz","integrity":"sha512-SEfvWI2U5TbYWlHDB7dixW38iaX81dWm3iH7qM7+4ntLv8CUPF/IyFPDzhcSWlUKiDWYogQKisB2e6i2HyFXUQ==","signatures":[{"sig":"MEUCIFmDMma4smP04vDnou2/lOfvw0h/kOJ1uqXJhm8/cuanAiEAq9S0N0wEBWTGsP/YEc8CjkZM9kaqggeOdX2wyoaeHL4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"406ced5bf54ef74022908bf9d9ba30ec5cb18fa7","browser":{"crypto":false},"gitHead":"769935a2b21220526c4b712d419b5946c46387b5","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"1.1.0":{"name":"relational-pouch","version":"1.1.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@1.1.0","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"eeaac44c01cb915ed8aab9c97d0f06a13c655e0f","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.1.0.tgz","integrity":"sha512-YuJiuKMmcr/mUJFrvuj2QRiTikQddWxlYTx/puRj5JFTCWI0vEDU2PnmMdvAlCr1U1vcBlOYoC73rEOeZkPSzw==","signatures":[{"sig":"MEQCICMeds/mKkMMJxj9ofwOa/gaNibStt5iaKPkSqIBYlXgAiAVn124CTake5iUgAkwPl9VLM60OlEiTMy2ug+pRCZRFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"eeaac44c01cb915ed8aab9c97d0f06a13c655e0f","browser":{"crypto":false},"gitHead":"0c23e5960df7e1cc3b116a3a9e5d7129da4ab399","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"1.2.0":{"name":"relational-pouch","version":"1.2.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@1.2.0","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"a879eec125aea9e2426fb6278bf27a65a0c46131","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.2.0.tgz","integrity":"sha512-VgrEKYNGkgRixVXRjDln7gB41/NYDUt01mm/0ncFiJ+85t4RuOQSoFHDJkRhfOWssgR2Aa3KBcJ6nYHR1pMJCg==","signatures":[{"sig":"MEQCIC4jXsj70dV5l47V9XRgMULE2PSza9PHpa5iT7Pd41DlAiAuAEMavIVeqgIEJHQAl/Yh+fJu0PnyN9pJZw4FChFNrw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"a879eec125aea9e2426fb6278bf27a65a0c46131","browser":{"crypto":false},"gitHead":"38da1265b68ac99a506370c130526ef22fd07849","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"1.4.13","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","blob-util":"^1.1.0","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"1.3.0":{"name":"relational-pouch","version":"1.3.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@1.3.0","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"f2545306519b92377e0b1fda5c4124a495da51d7","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.3.0.tgz","integrity":"sha512-+bFnlgZFo7pZaZuR3Laqus6lTSV74AKpY2RsEUGoDUm7QEtSujeE4UKZR4WqWFO0wQc586jt1k8cPGMQH1q8Yg==","signatures":[{"sig":"MEQCIAsopQAmyrA7RdBnLxSY7XE1exJeLxC9T8EdgVuIstqQAiBRSEA0/bqCl9boYmWOQ9NeqAZ5/xwaLwH3dsh9FhZDqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"f2545306519b92377e0b1fda5c4124a495da51d7","browser":{"crypto":false},"gitHead":"d354284d83a2e3b162ed67b12452d548d3b3b210","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"2.0.0-alpha-5","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git+https://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","blob-util":"^1.1.0","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"1.3.1":{"name":"relational-pouch","version":"1.3.1","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@1.3.1","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"ea9ba02377bdb550b52a7e14247617d31f8b3a37","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.3.1.tgz","integrity":"sha512-oZlGOeaBipRoaATy4iu2u/S6B3KewAq+TqdANtTBqdTzVGdn/t4WW5VLRxX4s/4D4GJ3oKJ+n3N6+IGUkUgiBg==","signatures":[{"sig":"MEQCIBHBYKUdfX++UyNFZ77DQPsuApvwI9sNHt7fYD6wcc0jAiAH2BdwMhlU6ZIj5BEeCxvke0FaN98Sdpj79e6Bozbrfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"ea9ba02377bdb550b52a7e14247617d31f8b3a37","browser":{"crypto":false},"gitHead":"ff9338fdf271a024b1f8e8d8701cb5b34491a917","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"2.0.0-alpha-5","description":"PouchDB, relational style","directories":{},"dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git+https://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","blob-util":"^1.1.0","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","sauce-connect-launcher":"^0.4.2"}},"1.3.2":{"name":"relational-pouch","version":"1.3.2","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@1.3.2","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"a0b13e6900fae05ca32074859ab774feedae9fd1","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.3.2.tgz","integrity":"sha512-BprzCobTSzlkW2Vvw03ogys74k/5GOalgH13EROg3dun8KPRYPSonL/DeOwDalWZk9B/fi+UGJHydCXwd74RnQ==","signatures":[{"sig":"MEYCIQCEnpTYNUNzS2F6ZTlc61D88lL4NbFsDm+XG0QXS+sDTgIhAKYTh3+uvaVDsUKuiucdqUSARoYwUqy7NqVedBckswtQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"a0b13e6900fae05ca32074859ab774feedae9fd1","browser":{"crypto":false},"gitHead":"bcfd5455c3dd441acd115c68372063ad62d60bb6","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"2.7.0","description":"PouchDB, relational style","directories":{},"_nodeVersion":"0.10.36","dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"git+https://github.com/pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","blob-util":"^1.1.0","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","selenium-standalone":"^3.0.2","sauce-connect-launcher":"^0.4.2"}},"1.3.3":{"name":"relational-pouch","version":"1.3.3","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@1.3.3","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch#readme","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"8e22e4e14a24ce42009c18f3da0c6f02ea0e3dea","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.3.3.tgz","integrity":"sha512-EYE2SkROUEAcL8RpgnYazcn981IPMmrtWNvnlaqjXEUjMjFzJkN3zQTtR57razh+NlHwMnK7TGR92+zHSBJ3kw==","signatures":[{"sig":"MEQCIFRuXAcobfJoG3P1Qs4ba4RGQMlAERvGmQycqtnN2jlSAiBDDXJViN0aogmIFoDwjb1IvLLqJsKQKY/Zd77OnLwgpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"8e22e4e14a24ce42009c18f3da0c6f02ea0e3dea","browser":{"crypto":false},"gitHead":"0e573f1e7bab863190d56de1bbcf759a25291a98","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"2.13.2","description":"PouchDB, relational style","directories":{},"_nodeVersion":"2.5.0","dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"github:pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","blob-util":"^1.1.0","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","selenium-standalone":"^3.0.2","sauce-connect-launcher":"^0.4.2"}},"1.4.0":{"name":"relational-pouch","version":"1.4.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache","_id":"relational-pouch@1.4.0","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch#readme","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"560dac4dba6761b9f7cc002709fb317d4be4784e","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.4.0.tgz","integrity":"sha512-seLPgmKtQInyPq3eJXWsiaVOGs7rF7vqG/TVvWx52StUgef89K4lwQkxjdqrP6A9LSBd5xDE3fjkm9Yn7Gubsw==","signatures":[{"sig":"MEYCIQC4iT0hRFIBCtJq97W/dp/b0OCRSWNWWuP3KQD5o7N+cQIhAKZMZ5f/u5igGIHBETxKHCnYqcxYbI0u/PqYKf39wjAq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"560dac4dba6761b9f7cc002709fb317d4be4784e","browser":{"crypto":false},"gitHead":"a8888dd70869ced84a82a6c79426ec4eb7e95a9a","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"3.3.5","description":"PouchDB, relational style","directories":{},"_nodeVersion":"4.0.0","dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"github:pouchdb/pouchdb","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","blob-util":"^1.1.0","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","selenium-standalone":"^3.0.2","sauce-connect-launcher":"^0.4.2"}},"1.4.1":{"name":"relational-pouch","version":"1.4.1","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@1.4.1","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch#readme","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"743789ee27f17cd65f99997112f479f14a0e3858","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.4.1.tgz","integrity":"sha512-YEi6X5xkiYbkbWlMBX19cBqTYUwrNw7GJO6vejQd6Cbr3EmTQPO4Et4Bo+IxeWotx4htj0UdvdH/OuRqRNsHbw==","signatures":[{"sig":"MEYCIQCZlR3nw1Ly/0meke6hYDJjgyscjjTt67Q6Pt6LfYLhuQIhAJ8yR2YjgDkXMXc9J0XNb/9A4LmQ0x2Vx3i/2WvFyqCu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"743789ee27f17cd65f99997112f479f14a0e3858","browser":{"crypto":false},"gitHead":"aad6a9b6fb3e42a6ee77bf9c6c607112c08f3b1b","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"3.7.3","description":"PouchDB, relational style","directories":{},"_nodeVersion":"5.9.0","dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"5.3.2","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","blob-util":"^1.1.0","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","selenium-standalone":"^3.0.2","sauce-connect-launcher":"^0.4.2"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch-1.4.1.tgz_1462221954517_0.20215356745757163","host":"packages-12-west.internal.npmjs.com"}},"1.4.2":{"name":"relational-pouch","version":"1.4.2","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@1.4.2","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch#readme","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"b16aa8db00a693f5c4dfe392b733b0b6b39d98bc","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.4.2.tgz","integrity":"sha512-eFVMOBoWYsWogbuuLxdJJMDYv/y1XuxBIZFTfMu4HRFFk+48lhilQ1A4g3u2S+LbMsbh4XDqBAHwUlmTxCLuHw==","signatures":[{"sig":"MEUCIChrCojyzXs/Fd2pSv0JLYtNSBt6kTMZPIE177LqCHfQAiEAuEqXCizeGffnkc6NPKEFM1E8k7ubQRueWgRaPo88QKI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"b16aa8db00a693f5c4dfe392b733b0b6b39d98bc","browser":{"crypto":false},"gitHead":"2eacfe2d1d4e24143668e6d0ee392554d8b8d92b","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"browserify":{"transform":["es3ify"]},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"3.7.3","description":"PouchDB, relational style","directories":{},"_nodeVersion":"5.9.0","dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"5.3.2","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","blob-util":"^1.1.0","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","selenium-standalone":"^4.7.0","sauce-connect-launcher":"^0.4.2"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch-1.4.2.tgz_1462388879583_0.7598969878163189","host":"packages-16-east.internal.npmjs.com"}},"1.4.3":{"name":"relational-pouch","version":"1.4.3","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@1.4.3","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch#readme","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"6a47e1ba0690029b27475a09326aa2ad6fc48662","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.4.3.tgz","integrity":"sha512-K16Xn+qcYajWnIRi00sK0X8twK96tmVMnHw+FqJq75ou7/frAqtP2QWVgAoCCPN2dlOLmOnLAEAyHNmrRNEy7w==","signatures":[{"sig":"MEUCIFCF22cr+rvwIEQ7WbTZc1sFY3jjHtxSmW4cm1IeiqAgAiEAhG3Y70Rc+K+vgauerkcaQKJxlu3kXVfjlO8W9paX/qQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib","dist"],"_shasum":"6a47e1ba0690029b27475a09326aa2ad6fc48662","gitHead":"e032cf3f7d71bdca6630cd730172e90e16d753b2","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && ./bin/run-test.sh","build":"mkdir -p dist && browserify -t es3ify lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib/*.js test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"TEST_DB=testdb,http://localhost:5984/testdb istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"./bin/dev-server.js","test-browser":"./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"3.9.5","description":"PouchDB, relational style","directories":{},"_nodeVersion":"5.11.1","dependencies":{"lie":"^2.6.0","uniq":"^1.0.1","es3ify":"^0.1.3","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0","pouchdb-promise":"5.4.3"},"devDependencies":{"wd":"^0.2.21","chai":"~1.8.1","mocha":"~1.18","jshint":"~2.3.0","pouchdb":"5.3.2","request":"^2.36.0","bluebird":"^1.0.7","istanbul":"^0.2.7","watchify":"~0.4.1","blob-util":"^1.1.0","phantomjs":"^1.9.7-5","uglify-js":"^2.4.13","browserify":"~2.36.0","http-server":"~0.5.5","chai-as-promised":"~4.1.0","selenium-standalone":"^4.7.0","sauce-connect-launcher":"^0.4.2"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch-1.4.3.tgz_1466172396374_0.12901204056106508","host":"packages-12-west.internal.npmjs.com"}},"1.4.4":{"name":"relational-pouch","version":"1.4.4","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@1.4.4","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch#readme","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"5929b2a015e5d5e11ba261c72e8c70ad3d2df457","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.4.4.tgz","integrity":"sha512-IOoOkE4RSByDI8ajgN8hxTcK571rpdCtofrgseFHvxv/YtuHt+s/tQHNTCe3/6aWpAwAzDqo0ihdGrnuBxTsgg==","signatures":[{"sig":"MEUCIQDsJM9bm1VHJq14IP0L0goG14+0KUsL79bM4F11/0q6JgIgdftVAjhCXlwjdSzkzJ0YmjEMoBKHrqqTy8eSyNT4ogw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib","dist"],"_shasum":"5929b2a015e5d5e11ba261c72e8c70ad3d2df457","gitHead":"d1d70a43f61ed7b0435980e1aae532c234dffc94","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && bash ./bin/run-test.sh","build":"mkdir -p dist && browserify -t es3ify -s RelationalPouch lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"node ./bin/dev-server.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"nolanlawson","email":"nolan@nolanlawson.com"},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"3.10.3","description":"PouchDB, relational style","directories":{},"_nodeVersion":"6.3.0","dependencies":{"lie":"^3.1.0","uniq":"^1.0.1","es3ify":"^0.2.2","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-extend":"^0.1.0","pouchdb-promise":"5.4.5"},"devDependencies":{"wd":"^0.4.0","chai":"~3.5.0","mocha":"~3.0","jshint":"2.8.0","request":"^2.36.0","bluebird":"^3.4.1","istanbul":"^0.4.4","watchify":"~3.7.0","blob-util":"^1.1.0","phantomjs":"^2.1.7","uglify-js":"^2.4.13","browserify":"^13.0.0","http-server":"~0.9.0","pouchdb-memory":"^1.0.0","chai-as-promised":"~5.3.0","selenium-standalone":"^5.5.0","sauce-connect-launcher":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch-1.4.4.tgz_1470794244348_0.5113537430297583","host":"packages-16-east.internal.npmjs.com"}},"1.4.5":{"name":"relational-pouch","version":"1.4.5","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@1.4.5","maintainers":[{"name":"broerse","email":"broerse@martinic.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/nolanlawson/relational-pouch#readme","bugs":{"url":"https://github.com/nolanlawson/relational-pouch/issues"},"dist":{"shasum":"212ba20fd99317cad8c5f5fc89bbe0cdf75102c2","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.4.5.tgz","integrity":"sha512-j1h9PrZVuL3c0/q7j2buhQPYP64V7w/wsBbSQyTFxfZQo4iLGRkA4KomfADC9P/glaXyL4g/5Ro8UMNt3nDE8Q==","signatures":[{"sig":"MEUCIBJWjimDRZSTgFnO08LCTh5+gauyqzXfFKKAnxnIb2BvAiEA2layjhOMqnXITZ+wll37trfqk4WfYVaFjzlts8cjmrE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib","dist"],"_shasum":"212ba20fd99317cad8c5f5fc89bbe0cdf75102c2","gitHead":"3d3d9c99b14f33c2abef581ee8a5aaf47fcfb5f9","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && bash ./bin/run-test.sh","build":"mkdir -p dist && browserify -t es3ify -s RelationalPouch lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"node ./bin/dev-server.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/nolanlawson/relational-pouch.git","type":"git"},"_npmVersion":"2.15.8","description":"PouchDB, relational style","directories":{},"_nodeVersion":"4.4.7","dependencies":{"lie":"^3.1.0","uniq":"^1.0.1","es3ify":"^0.2.2","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-find":"^0.10.2","pouchdb-extend":"^0.1.0","pouchdb-promise":"5.4.5"},"devDependencies":{"wd":"^0.4.0","chai":"~3.5.0","mocha":"~3.0","jshint":"2.8.0","request":"^2.36.0","bluebird":"^3.4.1","istanbul":"^0.4.4","watchify":"~3.7.0","blob-util":"^1.1.0","phantomjs":"^2.1.7","uglify-js":"^2.4.13","browserify":"^13.0.0","http-server":"~0.9.0","pouchdb-memory":"^1.0.0","chai-as-promised":"~5.3.0","selenium-standalone":"^5.5.0","sauce-connect-launcher":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch-1.4.5.tgz_1479732688246_0.7590900564100593","host":"packages-18-east.internal.npmjs.com"}},"1.4.6":{"name":"relational-pouch","version":"1.4.6","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@1.4.6","maintainers":[{"name":"broerse","email":"broerse@martinic.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"d2772ee1a36992bd8b28d4aaff2ef1a4a0410857","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-1.4.6.tgz","integrity":"sha512-IvJMFdFS7/ARH01mvNriJqqWXsU9Y/5iaveDzHGNzSFZ6jQpMTGdhnDZhDlQVlDuf9P2vVO6c7Hbsr6wZ6On3w==","signatures":[{"sig":"MEYCIQDV9TPURkBB83uEyt/naWt5TFfj7TslqSWZCvNVhcSgEwIhAPPDawgLtqof7A2X3mhZ1QITyhOZxZU2j/UHrerLHa4W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib","dist"],"_shasum":"d2772ee1a36992bd8b28d4aaff2ef1a4a0410857","gitHead":"188eb3d56a42ee887a396836993cbbe0454f2319","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && bash ./bin/run-test.sh","build":"mkdirp dist && browserify -t es3ify -s RelationalPouch lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"node ./bin/dev-server.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"3.10.8","description":"PouchDB, relational style","directories":{},"_nodeVersion":"6.9.1","dependencies":{"lie":"^3.1.0","uniq":"^1.0.1","es3ify":"^0.2.2","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-find":"^6.3.4","pouchdb-extend":"^0.1.2","pouchdb-promise":"^6.3.4"},"devDependencies":{"wd":"^0.4.0","chai":"~3.5.0","mocha":"~3.0","jshint":"2.8.0","mkdirp":"^0.5.1","request":"^2.36.0","bluebird":"^3.4.1","istanbul":"^0.4.4","watchify":"~3.7.0","blob-util":"^1.1.0","phantomjs":"^2.1.7","uglify-js":"^2.4.13","browserify":"^13.1.1","http-server":"~0.9.0","pouchdb-memory":"^6.0.0","chai-as-promised":"~5.3.0","selenium-standalone":"^5.5.0","sauce-connect-launcher":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch-1.4.6.tgz_1504622198842_0.006384293083101511","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"relational-pouch","version":"2.0.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@2.0.0","maintainers":[{"name":"broerse","email":"broerse@martinic.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"1ee4746d0bee53a1ad9862eaddc96f9e61d1258c","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-2.0.0.tgz","integrity":"sha512-ACeXY0E6qKjC4UcriirrgixS1b28xXvwZezSIdhu21wnasH7Rz9l+iKv8Yah0jRIX5poU1BDJhQYDMdb6sR5Aw==","signatures":[{"sig":"MEYCIQCVd/RtrWnVRV6M8/S5HFGqiI+40f6/pip6uX4l4dpHBQIhALDl5GF+cGhz82HPQ+EdgQbWPOWucMm/dIAjOZcx00YX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib","dist"],"_shasum":"1ee4746d0bee53a1ad9862eaddc96f9e61d1258c","gitHead":"73617e02afbc61b5cd28903f7bb020825f0653d5","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && bash ./bin/run-test.sh","build":"mkdirp dist && browserify -t es3ify -s RelationalPouch lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"node ./bin/dev-server.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"3.10.8","description":"PouchDB, relational style","directories":{},"_nodeVersion":"6.9.1","dependencies":{"lie":"^3.1.0","uniq":"^1.0.1","es3ify":"^0.2.2","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-find":"^6.3.4","pouchdb-extend":"^0.1.2","pouchdb-promise":"^6.3.4"},"devDependencies":{"wd":"^0.4.0","chai":"~3.5.0","mocha":"~3.0","jshint":"2.8.0","mkdirp":"^0.5.1","request":"^2.36.0","bluebird":"^3.4.1","istanbul":"^0.4.4","watchify":"~3.7.0","blob-util":"^1.1.0","phantomjs":"^2.1.7","uglify-js":"^2.4.13","browserify":"^13.1.1","http-server":"~0.9.0","pouchdb-memory":"^6.0.0","chai-as-promised":"~5.3.0","selenium-standalone":"^5.5.0","sauce-connect-launcher":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch-2.0.0.tgz_1504693005920_0.5282475627027452","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"relational-pouch","version":"2.1.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@2.1.0","maintainers":[{"name":"broerse","email":"broerse@martinic.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"0a5fde6466b98bdc326b80f90c0be0626ea8b27a","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-2.1.0.tgz","integrity":"sha512-4MWZUHe+Ni0sGgpkEdikjKGjpMtTzit6ilYw9UWNqRVj6bukFzQZ/ca7buGe+m1gBsNTcajptXYrk9U1Rsoa/A==","signatures":[{"sig":"MEUCIQDqE753gCCf/j5POrVH75jXjNRoyTsRVSgYQoa8Mc8a/gIgLTlkus6kN4s583E2fLCf47RhnDX+7+kIR8/i4A1z2XE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib","dist"],"_shasum":"0a5fde6466b98bdc326b80f90c0be0626ea8b27a","gitHead":"598f1576cf90e42af38befa0586797505d9a517e","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && bash ./bin/run-test.sh","build":"mkdirp dist && browserify -t es3ify -s RelationalPouch lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"node ./bin/dev-server.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"3.10.8","description":"PouchDB, relational style","directories":{},"_nodeVersion":"6.9.1","dependencies":{"lie":"^3.1.0","uniq":"^1.0.1","es3ify":"^0.2.2","inherits":"~2.0.1","argsarray":"0.0.1","pouchdb-find":"^6.3.4","pouchdb-extend":"^0.1.2","pouchdb-promise":"^6.3.4"},"devDependencies":{"wd":"^0.4.0","chai":"~3.5.0","mocha":"~3.0","jshint":"2.8.0","mkdirp":"^0.5.1","request":"^2.36.0","bluebird":"^3.4.1","istanbul":"^0.4.4","watchify":"~3.7.0","blob-util":"^1.1.0","phantomjs":"^2.1.7","uglify-js":"^2.4.13","browserify":"^13.1.1","http-server":"~0.9.0","pouchdb-memory":"^6.0.0","chai-as-promised":"~5.3.0","selenium-standalone":"^5.5.0","sauce-connect-launcher":"^0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch-2.1.0.tgz_1504879326778_0.9580486989580095","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"relational-pouch","version":"3.0.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@3.0.0","maintainers":[{"name":"broerse","email":"broerse@martinic.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"8ab6962d445cd2561068de106113c2ee853ac963","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-3.0.0.tgz","integrity":"sha512-cpvVEaBVi9ifTHmItVtQ6jTVeAwhzMdJL7jKP2cMXeYG4wvTqc07WwuDibmdICfEUhPCOCUwlJ6ZMfHqQDhhcA==","signatures":[{"sig":"MEUCICtVHdVEfGOWHg/1VK84950umW5luzAXjFTBuge9za/sAiEAjdW3qNjHYJW23/u9sC6PFYJ/2XhUIgBcp8ai3Dfm7CA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","files":["lib","dist"],"_shasum":"8ab6962d445cd2561068de106113c2ee853ac963","gitHead":"5ca932067f3c9a604dc52e7b5dbc9f90ca77bbd3","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && bash ./bin/run-test.sh","build":"mkdirp dist && browserify -t es3ify -s RelationalPouch lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"node ./bin/dev-server.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"3.10.8","description":"PouchDB, relational style","directories":{},"_nodeVersion":"6.9.1","dependencies":{"lie":"^3.1.1","uniq":"^1.0.1","es3ify":"^0.2.2","inherits":"~2.0.3","argsarray":"0.0.1","pouchdb-extend":"^0.1.2","pouchdb-promise":"^6.4.1"},"devDependencies":{"wd":"^1.5.0","chai":"~3.5.0","mocha":"~4.1.0","jshint":"2.9.5","mkdirp":"^0.5.1","request":"^2.83.0","bluebird":"^3.5.1","istanbul":"^0.4.5","watchify":"~3.9.0","blob-util":"^1.3.0","uglify-js":"^3.3.5","browserify":"^15.0.0","http-server":"~0.10.0","pouchdb-find":"^6.4.1","pouchdb-memory":"^6.0.0","chai-as-promised":"~5.3.0","phantomjs-prebuilt":"^2.1.16","selenium-standalone":"^6.12.0","sauce-connect-launcher":"^1.2.3"},"peerDependencies":{"pouchdb-find":"^6.4.1"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch-3.0.0.tgz_1515666467178_0.03769150678999722","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"relational-pouch","version":"3.0.1","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@3.0.1","maintainers":[{"name":"broerse","email":"broerse@martinic.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"3b7227af73dd226328f6538d46149c11b1850454","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-3.0.1.tgz","integrity":"sha512-yk//v2TD6HC9kTJaMpvofQiOtsnTFR/l8qwIkON6k3iT380mDMh2P0GYxyFbF2QwRS1DSvtL/8nOoJRMKdMvvA==","signatures":[{"sig":"MEUCIGH45q6+tuWiH1tgJNtyPeMRBcfuvdWSOZXpJ+5mMNEBAiEAy/TnYjXDcXcOKUd9S2ZmdpdJRvD460styHokuOBV14k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","files":["lib","dist"],"gitHead":"bfd96010a54cd00e5ae84a1436f815161447059f","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && bash ./bin/run-test.sh","build":"mkdirp dist && browserify -t es3ify -s RelationalPouch lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"node ./bin/dev-server.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"5.6.0","description":"PouchDB, relational style","directories":{},"_nodeVersion":"8.9.4","dependencies":{"lie":"^3.1.1","uniq":"^1.0.1","es3ify":"^0.2.2","inherits":"~2.0.3","argsarray":"0.0.1","pouchdb-extend":"^0.1.2","pouchdb-promise":"^6.4.2"},"devDependencies":{"wd":"^1.5.0","chai":"~3.5.0","mocha":"~4.1.0","jshint":"2.9.5","mkdirp":"^0.5.1","request":"^2.83.0","bluebird":"^3.5.1","istanbul":"^0.4.5","watchify":"~3.9.0","blob-util":"^1.3.0","uglify-js":"^3.3.5","browserify":"^15.0.0","http-server":"~0.10.0","pouchdb-find":"^6.4.2","pouchdb-memory":"^6.0.0","chai-as-promised":"~5.3.0","phantomjs-prebuilt":"^2.1.16","selenium-standalone":"^6.12.0","sauce-connect-launcher":"^1.2.3"},"peerDependencies":{"pouchdb-find":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch-3.0.1.tgz_1516974869413_0.6357098699081689","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"relational-pouch","version":"3.1.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@3.1.0","maintainers":[{"name":"broerse","email":"broerse@martinic.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"ea4c03bbcbb345bddc0d7d54a42ec56f7baaf51d","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-3.1.0.tgz","fileCount":9,"integrity":"sha512-Y8OgX0whbS/F8I9OyAlUtw10DBpwNudpnR4FxgexIFSbnghNdflnP024VtsjuBbA4dkrUQ1AXreLgeeWoptWoA==","signatures":[{"sig":"MEUCIC7+8RRxj08XtrCJRgHVZUaJQFu1PiHr9a5/Vbi568U1AiEA0Z42ISJKaHPe8Dsr41M9LKHUGKp/0CBuBq1cyTkn1/4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":124455,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbMjjxCRA9TVsSAnZWagAA9bkP/012LFdGH6IwPuwK6K4l\nMAp8/l4mhvV42VuzyJqpzLYXmkYvkCJexUI58wO7zp97QhibtIDmGW7X5dS2\n+WiiaJfKdcITkNIEq6L7ar5os3vA56+4ZDjAZwlcc9nwG5kiWsrAB+atV7rH\njeaZVcO3zLNJlV5VdYbw7jtDVxn33pVqvgWXa65v93geraABFlCfbFh+95o6\nRS0eRdcRTrky/vPOpddkjArekfDmGEW6NutVB77fovzvXn4DY5wX4Z69OM6X\nzS9Lx5fnC1r3AuLT6bjazlfyKwTxkilXh7kotJE4OO5CfwX8YMCVi+gNds4z\nHBzpmmIsnigK/Ub7IEd5AWbhDv7rpAe1oGyAN/iqqySDJ8XEc9kpSZjLFYMw\nlkLY0RNBpZ/Qtp9/9VFCGfYnoz3pFRH2VNsTDU4zWui7wjLYtuE4wmzvPYdw\nLGLV1d5DmFvD5e9tqbANw1O0/tXnMpwVmToNsKujpOMvko8yQc/rMroCOxed\nVqyFBbqTpVakeHiZLdkQiouZUblQhplIGUJSO99XvRcnJpKPPI+f8nv6bx5z\nhV9Vd2kQrg/pkb1vk7dtxrot9LecmQqFU3pKg2AtsTnyLnNWgvd4ESozkctc\nD4pW/N63KCk6OGR1y8espB+Gr6/+ALEpQjAckZ73PAPrlMSLSlDMdleh5kRv\ntXSJ\r\n=mv7Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","files":["lib","dist"],"gitHead":"905d90b3f885ef97f7f708d101c668af595447c4","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && bash ./bin/run-test.sh","build":"mkdirp dist && browserify -t es3ify -s RelationalPouch lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"node ./bin/dev-server.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"5.6.0","description":"PouchDB, relational style","directories":{},"_nodeVersion":"8.9.4","dependencies":{"lie":"^3.1.1","uniq":"^1.0.1","es3ify":"^0.2.2","inherits":"~2.0.3","argsarray":"0.0.1","pouchdb-extend":"^0.1.2","pouchdb-promise":"^6.4.2"},"_hasShrinkwrap":false,"devDependencies":{"wd":"^1.5.0","chai":"~3.5.0","mocha":"~4.1.0","jshint":"2.9.5","mkdirp":"^0.5.1","request":"^2.83.0","bluebird":"^3.5.1","istanbul":"^0.4.5","watchify":"~3.9.0","blob-util":"^1.3.0","uglify-js":"^3.3.5","browserify":"^15.0.0","http-server":"~0.10.0","pouchdb-find":"^6.4.2","pouchdb-memory":"^6.0.0","chai-as-promised":"~5.3.0","phantomjs-prebuilt":"^2.1.16","selenium-standalone":"6.12.0","sauce-connect-launcher":"^1.2.3"},"peerDependencies":{"pouchdb-find":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch_3.1.0_1530018033269_0.32337230009269935","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"relational-pouch","version":"3.2.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@3.2.0","maintainers":[{"name":"broerse","email":"broerse@martinic.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"e677066c8348ff81ecfa3699c72bed21018b81ca","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-3.2.0.tgz","fileCount":9,"integrity":"sha512-6562+2d7gRoSV3ymsttdM/7EdNvh3WI9AXB7QUhhRbg+qbPZt5ZQWprWwLmTbH0ODAgKm+esOARizRlQgn9VnQ==","signatures":[{"sig":"MEYCIQCWZyZcUeSRWkCaEkVkiO3gfBwRglHHlotvpS2C1LFJkgIhAMY1qQDxHZjCPEWB5JUHz6OQWklH+H4+AC73H3Bz7YLB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":124534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcxt53CRA9TVsSAnZWagAA7dEQAJ0oJx07AutNst+/yUux\ntpO6Jf9gkzVbo7hPLba7RAVUyEycVlHvsWEFNr4jftk0UHzW1Bw3L/5YguRz\njYhrhxeIs2RZ3zlF+AKeKX+Lp2dOqqx2EgHV7ZzxfiZUa4/1a3hcjRKijDpU\nxtYerAsRqJGJF7Qi26wGDnXkXbiWYnk/O4xNTNmCSZPZXT8hMseuuwyT+G4S\nXxmpKgiQiDJSULDHeOdOPam6089C86ocVsLwI/eXgKLW/bUsr+SCbWVKvhXD\n0ClIyvs1q6uJLv6b8YQzbnHlU3PNF7lV2+bQQvz03Kh3ShoFLVHB79ahPF9I\nmwGPkFxY9KfRlwwB2OR4UZxi6OiOHZ5DD/vwNhrs3tHneD0O+wKHXRhf5oqv\nkeQGcFPjRm5UyoTgEmgyGqRv1dpy2MZkIJi21KC7nYcA5bgOv0go2gcRHSGm\nWJ5IzNzI89RzmwR2zn2CWyjtRaJF4ZitOx+c0ETvFZy54i0LS32PMZAmv34+\nniOh5Y5rgz5SlwHiSeiRxHUehJ2+8BT31KTw+6+MMHv8XcSbOKF00BE/TPcE\n/MapFg0Rak6Jw8IoNGsKUPitM9w3C32Dea70KTh/HzpD8FlKkAY6BUU+jeKt\n8s0VKlcjiAThHFGm/VerJRHAqV70zSjbmXT414Vojqa3ap8tJyGsi7OrLb2Y\nj1Pw\r\n=lFl3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"19e871a10522c074ce5f59d57faa3f0b2e6337e3","scripts":{"dev":"browserify test/test.js > test/test-bundle.js && npm run dev-server","min":"uglifyjs dist/pouchdb.relational-pouch.js -mc > dist/pouchdb.relational-pouch.min.js","test":"npm run jshint && bash ./bin/run-test.sh","build":"mkdirp dist && browserify -t es3ify -s RelationalPouch lib/index.js -o dist/pouchdb.relational-pouch.js && npm run min","jshint":"jshint -c .jshintrc lib test/test.js","coverage":"npm test --coverage && istanbul check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"istanbul test ./node_modules/mocha/bin/_mocha test/test.js","dev-server":"node ./bin/dev-server.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"6.9.0","description":"PouchDB, relational style","directories":{},"_nodeVersion":"10.15.3","dependencies":{"lie":"^3.3.0","uniq":"^1.0.1","es3ify":"^0.2.2","inherits":"~2.0.3","argsarray":"0.0.1","pouchdb-extend":"^0.1.2","pouchdb-promise":"^6.4.3"},"_hasShrinkwrap":false,"devDependencies":{"wd":"1.11.2","chai":"~3.5.0","mocha":"~4.1.0","jshint":"2.9.5","mkdirp":"^0.5.1","request":"^2.88.0","bluebird":"^3.5.4","istanbul":"^0.4.5","watchify":"~3.9.0","blob-util":"^1.3.0","uglify-js":"^3.5.6","browserify":"^15.2.0","http-server":"~0.10.0","pouchdb-find":"^7.0.0","pouchdb-memory":"^6.0.0","chai-as-promised":"~5.3.0","phantomjs-prebuilt":"^2.1.16","selenium-standalone":"6.16.0","sauce-connect-launcher":"1.2.6"},"peerDependencies":{"pouchdb-find":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch_3.2.0_1556536950297_0.9230861097841689","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"relational-pouch","version":"4.0.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@4.0.0","maintainers":[{"name":"broerse","email":"broerse@martinic.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"nolanlawson","email":"nolan@nolanlawson.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"f2702e0f756e4cf161323e51888bd836c5956303","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-4.0.0.tgz","fileCount":11,"integrity":"sha512-1BH3SIPMKqFAOeg6pOu/fpfEYgMQHOM24JheP6d9COCHze7FoGfgY4dC+9C/gkBLFeLVXDcuiY5oZy/U1aPZIQ==","signatures":[{"sig":"MEUCIA9WFyBAEohPHPJvOtZvl4bKOQC1XNoAfpLNMc0eZK3AAiEAtPCJJBDElPy5ansoyYHRNdRuqO8ulDVC3KsS3yqn474=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113655,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeX4tMCRA9TVsSAnZWagAA5q4P/26hTRI5GObHfI+410Qd\nDbyvp22QowIuk3gPxnluwbNN4l/efQ8OYKsKuFdhH662q8Z7tYvAmAoOUKIX\nl4Q6ttyegVb5Q1BQ/YHJG5n3ISRSBzN4wPVa0z4vSfKFTU/J6m8GCsjOJf4h\n/aSCXi+5xtAG0x20GmZ2f0HywyGCYWMhHKJpXYorrIrnA7vGJKufQyBc4s8J\npNEhyQzOYy8+3NSWdJwlINDhnQMsoOS68GlaDrX1AVJgGFWMPmquSDJQQRs/\nWQ7/8QQcBe3Fp9tOwHbC6AZVKpGdKQluVEMZOJNTz/v3HbDE5VWVWHwWLGYF\nofIhjccWzwI4OzhDKtOQZdy9DOg/ymiDgbrYhxQDmomszte10NR+uyFIEQB0\nk81wkjjoN6vqJRTlisJtcazpYwdF91nhLri6s7AT9LHskv3KEov9I7QHrQUd\nAgmanjRLjB6rWsztOxr/xN2bbkdnUoQ9fdHb5+bDvrNlHQHxsPOchpGuX3bp\nMZ+uN0XVCLRdTLJeDy7b4CqohH698Si/LKXqR74ML5L3BfeIba5ohuE8WNGS\nk//srVs2VinNrxPkW+6dmkoPWzMRTxZYLcjGQzzMHxuvuj3QsQJ2S5sKFrAC\nvfKYT94xRqkJTijwNVuVsF6d6ibwmEvSMhbL02Y1uzjFoGmMTnaxuTFmBaKt\nNBBU\r\n=Sl7X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/pouchdb.relational-pouch.node.js","types":"lib/index.d.ts","module":"lib/index.js","gitHead":"fecdbbdbc38863effccf0bfbc75e2a19cc9ab0bf","scripts":{"dev":"node ./bin/dev-server.js","tsc":"tsc --build tsconfig.json","lint":"eslint --ext .js,.ts src test/test.ts","test":"npm run lint && bash ./bin/run-test.sh","build":"tsc && webpack --mode=production","prepare":"npm run build","coverage":"npm test --coverage && nyc check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"webpack --config webpack.test.node.config.js && nyc ./node_modules/mocha/bin/_mocha test/test-node.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"6.14.2","description":"PouchDB, relational style","directories":{},"jsnext:main":"lib/index.js","_nodeVersion":"10.15.3","dependencies":{"uniq":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"wd":"^1.12.1","nyc":"^15.0.0","chai":"~3.5.0","acorn":"^6.4.0","mocha":"~4.1.0","eslint":"^6.8.0","jshint":"2.11.0","mkdirp":"^0.5.1","core-js":"^3.6.4","request":"^2.88.0","webpack":"^4.41.5","blob-util":"^2.0.2","ts-loader":"^6.2.1","typescript":"^3.7.5","@babel/core":"^7.8.4","@types/chai":"^4.2.8","@types/node":"^13.7.0","@types/uniq":"0.0.27","http-server":"~0.12.0","webpack-cli":"^3.3.10","@types/mocha":"^7.0.1","babel-loader":"^8.0.6","pouchdb-core":"^7.1.1","pouchdb-find":"^7.1.0","eslint-loader":"^3.0.3","@babel/register":"^7.8.3","chai-as-promised":"~5.3.0","@babel/preset-env":"^7.8.4","pouchdb-mapreduce":"^7.1.1","@types/pouchdb-core":"^7.0.5","@types/pouchdb-find":"^6.3.4","regenerator-runtime":"^0.13.3","selenium-standalone":"6.16.0","pouchdb-adapter-http":"^7.1.1","babel-plugin-istanbul":"^6.0.0","eslint-plugin-promise":"^4.2.1","pouchdb-adapter-memory":"^7.1.0","sauce-connect-launcher":"1.2.6","@types/chai-as-promised":"^7.1.2","@types/pouchdb-mapreduce":"^6.1.4","@typescript-eslint/parser":"^2.19.0","@types/pouchdb-adapter-http":"^6.1.3","@types/pouchdb-adapter-memory":"^6.1.3","fork-ts-checker-webpack-plugin":"^4.0.3","@typescript-eslint/eslint-plugin":"^2.19.0"},"peerDependencies":{"pouchdb-find":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch_4.0.0_1583319883848_0.6690748056721418","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"relational-pouch","version":"4.0.1","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@4.0.1","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"broerse","email":"broerse@martinic.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"813751d2951fd0b8f8a839f3b2ab98213d5ee77e","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-4.0.1.tgz","fileCount":11,"integrity":"sha512-2jqnOfBR/2/xGJiS+KXsjw43VsBXS9wj5PQ9bTpg6Mo2Bss/ZNT9CNYhCoKrCadQL2HMo+wPx1O9pCgEuv0e4w==","signatures":[{"sig":"MEUCIEYiedZyl5mqqskhWAoc8EKWhXv4g3v/+mpRwjT6S/xFAiEAkCPsoUNi/kkGpLzzeFTJO65rWt3KHR80CrKWvnsLIZc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhN7PACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomgQ/9H9ltV9DAvCnHIRLd5tfdJ64DjJQ2QlhjrzATb1Zk/fVZ/3qF\r\n5vKnu2ZNFG/A5QA+IaidmvxjiXGR1ruop7Tnbjvgw090UPCVOOp6Yrwls19b\r\nAnCOPfPNAKSrXHbT/Zh6SQXCTqMUWqk5S8zKuQBQQKqCPp5m7SRWpW9rOzTY\r\nRBDW4T/ZVXtSyoNVhdT5yqi2M7zUbY7g9TO1TXop6TdN9W61Srehpqgbw8T6\r\nGsEu90C1/rP5d6xic0zfre3925ZSu3neZaz1+7fRlFdP0W3yBIQj74PtX0jy\r\nooRAotjxATPMozj6wqkLJwia3j5E5jkiaV3MvP1BtUfxdG98XtGvm7kbzO6v\r\nEMjsn/N0+5Ff+OqoWgow4xJLlG3BrxPTSH26QkBL+ZshsIqcj2I2DI/vkKyT\r\nFGHhDNbx3B28fZQBRUYfEhvwaWzpr4gofK8XvUw2Cmi0bh1kBsM7RbIS5vtO\r\njhSMp/z1gA+Jthy8n+ulVSCYN9J2BJCvGi53co5A3tPkUkhECz1tOcoTE2bU\r\niKpDMaTQXy2qrnjGKDLlf5WkRTrexv7YIluKoUwU/kJtBXKmVRFXIm5BlJAP\r\nIBkxuC1wG3jMAG+JaNUvhuAxZ6HL82gqaOhoI3jd0LZ28Bs0mVKuNb13h6s6\r\nsTEbtmYsApzjeM7JSrXMm3y6yXaCy4Jo+xY=\r\n=Pmx7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/pouchdb.relational-pouch.node.js","types":"lib/index.d.ts","module":"lib/index.js","gitHead":"a5e37733783ce3370de02a7e63b7e5b1aaba7e59","scripts":{"dev":"node ./bin/dev-server.js","tsc":"tsc --build tsconfig.json","lint":"eslint --ext .js,.ts src test/test.ts","test":"npm run lint && bash ./bin/run-test.sh","build":"tsc && webpack --mode=production","prepare":"npm run build","coverage":"npm test --coverage && nyc check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"webpack --config webpack.test.node.config.js && nyc ./node_modules/mocha/bin/_mocha test/test-node.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"8.12.2","description":"PouchDB, relational style","directories":{},"jsnext:main":"lib/index.js","_nodeVersion":"14.19.1","dependencies":{"uniq":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"wd":"^1.12.1","nyc":"^15.0.0","chai":"~3.5.0","acorn":"^6.4.0","mocha":"~4.1.0","eslint":"^6.8.0","jshint":"2.11.0","mkdirp":"^0.5.1","core-js":"^3.6.4","request":"^2.88.0","webpack":"^4.41.5","blob-util":"^2.0.2","ts-loader":"^6.2.1","typescript":"^3.7.5","@babel/core":"^7.8.4","@types/chai":"^4.2.8","@types/node":"^13.7.0","@types/uniq":"0.0.27","http-server":"~0.12.0","webpack-cli":"^3.3.10","@types/mocha":"^7.0.1","babel-loader":"^8.0.6","pouchdb-core":"^7.1.1","pouchdb-find":"^7.1.0","eslint-loader":"^3.0.3","@babel/register":"^7.8.3","chai-as-promised":"~5.3.0","@babel/preset-env":"^7.8.4","pouchdb-mapreduce":"^7.1.1","@types/pouchdb-core":"^7.0.5","@types/pouchdb-find":"^6.3.4","regenerator-runtime":"^0.13.3","selenium-standalone":"6.16.0","pouchdb-adapter-http":"^7.1.1","babel-plugin-istanbul":"^6.0.0","eslint-plugin-promise":"^4.2.1","pouchdb-adapter-memory":"^7.1.0","sauce-connect-launcher":"1.2.6","@types/chai-as-promised":"^7.1.2","@types/pouchdb-mapreduce":"^6.1.4","@typescript-eslint/parser":"^2.19.0","@types/pouchdb-adapter-http":"^6.1.3","@types/pouchdb-adapter-memory":"^6.1.3","fork-ts-checker-webpack-plugin":"^4.0.3","@typescript-eslint/eslint-plugin":"^2.19.0"},"peerDependencies":{"pouchdb-find":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch_4.0.1_1669652175019_0.10893548419476207","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"relational-pouch","version":"4.0.2","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@4.0.2","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"broerse","email":"broerse@martinic.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"0a9c6c21060abec657e0d3fea4d436ae976eecb9","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-4.0.2.tgz","fileCount":11,"integrity":"sha512-Cb1xChFUWWkxF5COPObPtdQ+TT5UIJzJJ1QMUcRBpPLg91eGjmdc5vPdSyBv5sgdkvS+/tgr+Y2M6+a+ajmDjQ==","signatures":[{"sig":"MEYCIQCV2BekExtJy6D/lsulUsWrucaMaeMtAyIoY7zQSv/d2wIhANybEp5fCsUMlPA+VzL6XKrNuKZgNGu9tGEC0mnwnB4K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113655,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjzbzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9wA//eaYRViWbNUR0/6b3551MaWkEXnh0qF49D8FAJLlbiL+Ezh6H\r\nFmVhpVzB8zbqT1W59DmMYqsjRx6rd8qcoypLfJEY1Na3iudy6or8YLmPqTii\r\n/kE18q90w7uvHHTvvqn5in6GT0ux0FWaaqrk5fes4/mzpqyhVAihCiCorvBE\r\nmSs97zZFXjW12PsAzfHzE+SxUmjf4hvszDAWqBM8jQ01mwE8YW4p5VTwZy0l\r\n10BixA2Q7glBozg43d6XpqcNtIHjks8tUaNqGpiU6PXKM4PHw5bpqH8kFBqy\r\nsu2nwVle9lTab/Ls4MkYlFUj2qanWGzMYJBwE0PI2X9dZ7r5750Zoq9UoYUe\r\nm3ffCBdbQQ9PXWm7VtUI7emvy/ptW6t1nhkoaBGobs+vwysnOywCCqMlRYFT\r\nhCd4OFE1k1EoMabVedm2nKPIYJh7PHVwCmhopecmp3JVVwISD++SDlb7gRuG\r\npBLvgSkNFUxiTVN9gZn+hNup6VO46KwMwwx7QWvhCa/qOwjJLPzi58+BYnga\r\ndYEqeIiOLHScCFUjPnxBTNqEAd35uU8Exwrim8LYrvwlGfi1UnLCGanDnptn\r\nrc8lM8ms39aDoeh+Q6n1N4SttFV/QeCPtJtWD67slNpAWOg4hYt7fGzH0IfQ\r\ntXU/uzsHQoRfUoZly5OqMm4BE5iswZ+4BMU=\r\n=dqbt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/pouchdb.relational-pouch.node.js","types":"lib/index.d.ts","module":"lib/index.js","gitHead":"f9b775d97ee60f806c33c4560b76f32e1fa37262","scripts":{"dev":"node ./bin/dev-server.js","tsc":"tsc --build tsconfig.json","lint":"eslint --ext .js,.ts src test/test.ts","test":"npm run lint && bash ./bin/run-test.sh","build":"tsc && webpack --mode=production","prepare":"npm run build","coverage":"npm test --coverage && nyc check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"webpack --config webpack.test.node.config.js && nyc ./node_modules/mocha/bin/_mocha test/test-node.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"8.12.2","description":"PouchDB, relational style","directories":{},"jsnext:main":"lib/index.js","_nodeVersion":"14.19.1","dependencies":{"uniq":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"wd":"^1.12.1","nyc":"^15.0.0","chai":"~3.5.0","acorn":"^6.4.0","mocha":"~4.1.0","eslint":"^6.8.0","jshint":"2.11.0","mkdirp":"^0.5.1","core-js":"^3.6.4","request":"^2.88.0","webpack":"^4.41.5","blob-util":"^2.0.2","ts-loader":"^6.2.1","typescript":"^3.7.5","@babel/core":"^7.8.4","@types/chai":"^4.2.8","@types/node":"^13.7.0","@types/uniq":"0.0.27","http-server":"~0.12.0","webpack-cli":"^3.3.10","@types/mocha":"^7.0.1","babel-loader":"^8.0.6","pouchdb-core":"^7.1.1","pouchdb-find":"^7.1.0","eslint-loader":"^3.0.3","@babel/register":"^7.8.3","chai-as-promised":"~5.3.0","@babel/preset-env":"^7.8.4","pouchdb-mapreduce":"^7.1.1","@types/pouchdb-core":"^7.0.5","@types/pouchdb-find":"^6.3.4","regenerator-runtime":"^0.13.3","selenium-standalone":"6.16.0","pouchdb-adapter-http":"^7.1.1","babel-plugin-istanbul":"^6.0.0","eslint-plugin-promise":"^4.2.1","pouchdb-adapter-memory":"^7.1.0","sauce-connect-launcher":"1.2.6","@types/chai-as-promised":"^7.1.2","@types/pouchdb-mapreduce":"^6.1.4","@typescript-eslint/parser":"^2.19.0","@types/pouchdb-adapter-http":"^6.1.3","@types/pouchdb-adapter-memory":"^6.1.3","fork-ts-checker-webpack-plugin":"^4.0.3","@typescript-eslint/eslint-plugin":"^2.19.0"},"peerDependencies":{"pouchdb-find":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch_4.0.2_1670330099689_0.10725299109953412","host":"s3://npm-registry-packages"}},"4.0.3":{"name":"relational-pouch","version":"4.0.3","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@4.0.3","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"broerse","email":"broerse@martinic.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"99fe2c2d6db17552729c6eb13f520aacee51fdb2","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-4.0.3.tgz","fileCount":11,"integrity":"sha512-l1EiJF1nnnlNYLcUIxT4BXsM/ppMyxfckWgIhIfxQLjE8uym40G5VSlzRZhZeNC6NHwk2wRpwuD9A7u0FDQD3Q==","signatures":[{"sig":"MEUCIQC72laPDKVMTrjEjC5Y2ogtT7twvD07fPjS+ThY7AptkwIgZ03AQ73x2QUEKDkdiY5fxQ7efV7Px9O3j5F2i/NcUj8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjquGVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqiBg//dOBCswZHXOMD+6AiFPNdApwfP7Ttz9ySy20T8BM7nzr4PhNN\r\npRKu86xfjg14oJ0dw8Csvmudi3y0aD7tXNYOaJEtZoNyLDuLjlDtotBcGa5s\r\n19ja89zJsq8Y+tRdAOecxCve5B9LMhcKmOfF0gI6VTKRu5/tl/PyT87rnJqJ\r\nAAaMyy68iCnUQcFbF+j0BgfZdQBVnjWpxaRFsp1sDo+8QPPb+mRb1VOFF3hL\r\nAl8CR1khUM0+R/Zt65CcO6+vCQPYUW5RM7q2ekwcM4NEkE+89i9j9fxyRTAX\r\nAJc01Ugvhh7fpQXi8a6lqMuDr8c+NZf3ZNcPpusMrKwKsaXJeO0hpdXxzcdQ\r\nkKFGdS3XsHyG0UgkLGEn26oWhi2jGm1KVL3EUFdy5F328on5qIsU9YBswcbH\r\nHLmsGKn1WgTeMjoyUMzUWDzO7daS4JkhJi8J2K4BbBTNp+QRAqfutGwX32TO\r\n5h6muNSleBqaPRgvgnG17su96nWJIJyy0Xr6cFdd2XPmyrsiIVMt9AAOiRPL\r\noa2QprzAs44kuGPuApWuNW68GbdS/OrX2URclSRl8pV50ulQcDJoaFXTKHRx\r\nkDNvlufGcgEQ+B/thiLItwytyLjoX0cI1skJOtKqjYPdrWZeJLP5IFZySPwO\r\ngmHJ/n3KNZeicjh/rXdt9qlRIlIQO2wZS1s=\r\n=huer\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/pouchdb.relational-pouch.node.js","types":"lib/index.d.ts","module":"lib/index.js","gitHead":"c673d13324c4287af91554b85ec1501780540a3c","scripts":{"dev":"node ./bin/dev-server.js","tsc":"tsc --build tsconfig.json","lint":"eslint --ext .js,.ts src test/test.ts","test":"npm run lint && bash ./bin/run-test.sh","build":"tsc && webpack --mode=production","prepare":"npm run build","coverage":"npm test --coverage && nyc check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"webpack --config webpack.test.node.config.js && nyc ./node_modules/mocha/bin/_mocha test/test-node.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"8.12.2","description":"PouchDB, relational style","directories":{},"jsnext:main":"lib/index.js","_nodeVersion":"14.19.1","dependencies":{"uniq":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"wd":"^1.12.1","nyc":"^15.0.0","chai":"~3.5.0","acorn":"^6.4.0","mocha":"~4.1.0","eslint":"^6.8.0","jshint":"2.11.0","mkdirp":"^0.5.1","core-js":"^3.6.4","request":"^2.88.0","webpack":"^4.41.5","blob-util":"^2.0.2","ts-loader":"^6.2.1","typescript":"^3.7.5","@babel/core":"^7.8.4","@types/chai":"^4.2.8","@types/node":"^13.7.0","@types/uniq":"0.0.27","http-server":"~0.12.0","webpack-cli":"^3.3.10","@types/mocha":"^7.0.1","babel-loader":"^8.0.6","pouchdb-core":"^7.1.1","pouchdb-find":"^7.1.0","eslint-loader":"^3.0.3","@babel/register":"^7.8.3","chai-as-promised":"~5.3.0","@babel/preset-env":"^7.8.4","pouchdb-mapreduce":"^7.1.1","@types/pouchdb-find":"^6.3.4","regenerator-runtime":"^0.13.3","selenium-standalone":"6.16.0","pouchdb-adapter-http":"^7.1.1","babel-plugin-istanbul":"^6.0.0","eslint-plugin-promise":"^4.2.1","pouchdb-adapter-memory":"^7.1.0","sauce-connect-launcher":"1.2.6","@types/chai-as-promised":"^7.1.2","@types/pouchdb-mapreduce":"^6.1.4","@typescript-eslint/parser":"^2.19.0","pouchdb-adapter-indexeddb":"^7.3.1","@types/pouchdb-adapter-http":"^6.1.3","@types/pouchdb-adapter-memory":"^6.1.3","fork-ts-checker-webpack-plugin":"^4.0.3","@typescript-eslint/eslint-plugin":"^2.19.0"},"peerDependencies":{"pouchdb-find":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch_4.0.3_1672143252805_0.0978296376607064","host":"s3://npm-registry-packages"}},"4.0.4":{"name":"relational-pouch","version":"4.0.4","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@4.0.4","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"broerse","email":"broerse@martinic.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"94e9b95281c444177cd0071283daede5f7f5d59d","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-4.0.4.tgz","fileCount":11,"integrity":"sha512-bTUrLny+JzSGkLfIGgG6U2bOGvYQwscgSVmYKmTmW/TFirsEWuVeHDRab06Uz1yL1rvwDJt2to7VvoHWUNIFKg==","signatures":[{"sig":"MEUCIQDMCyQSBxyum6+PmxQKSCEsvEPwMPjnZ5UnMKOHj1vwbgIgMpzn/vF22xLoyUw5S+YD2GTvFpHM7EqOrmpSvO/8G3Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjqzFAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmojvhAApQdVHddRBm1PgS9zKoNop+86rKtjmJkVSmFO8j/GscyiE+5+\r\n1VlWOTZskjBMlBMcvqwdT7HFSrRZbR4rKwAxJb69svxYz0cgYOIqyGwN4pOi\r\neQBmdm7B/+13PvMFVPHGT1mLhlyQh0Betf6/I1vh43uoGqX80JYd6pa+U5uA\r\n3DJcV3lCx38+NK1CzgMsepA5ZFmZN83Cba3lBGyYFpbg4EqyTdnCzqQsqDQJ\r\nI0jgo+LEypMZgG4jcVaYC9vKUxRn2ONY2+ILMzonBkiTDFCLQh7EgFyeqr+7\r\n0dTuB9drsVVT3EJTGli0AiDANmSwr2pEBzWhPET2yBnpKoNA66hPv4masgN/\r\nNlUsd4JA+mw4D1kuHomXCKNnxI3ly4DsrhoZJWehocTS+99gSC3GhP4Wyfvx\r\nsmVSBgDb9nVvdHl+wlbjy3SfBHgtwv01d6+qOa8hq2CIkZ/yLilWfdyZel2G\r\naZBMm89cnSZbHS8ZZt+82pq7+b4SGE6gYd0+gm7K0QN8wYjToIQTOnlQ6YEl\r\nf9s0DKJcw6BEV3AmmKmXAzf3HXeCAKXppYXMRquioJv7lsjz5D5sQrUbP8MX\r\n8h4JHXp6zazK3/8NXknBcDKuDn+K4b5kd9TtTOsUSiUiedG3ec4IGbwPVw9C\r\njZhBMKXBGgwmoBrFy9eJjMSAnqCgDd2AQ8I=\r\n=J2DM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/pouchdb.relational-pouch.node.js","types":"lib/index.d.ts","module":"lib/index.js","gitHead":"594fa9a89a829949a80fa812dfcb0278930b8e45","scripts":{"dev":"node ./bin/dev-server.js","tsc":"tsc --build tsconfig.json","lint":"eslint --ext .js,.ts src test/test.ts","test":"npm run lint && bash ./bin/run-test.sh","build":"tsc && webpack --mode=production","prepare":"npm run build","coverage":"npm test --coverage && nyc check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"webpack --config webpack.test.node.config.js && nyc ./node_modules/mocha/bin/_mocha test/test-node.js","test-browser":"node ./bin/test-browser.js"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"9.2.0","description":"PouchDB, relational style","directories":{},"jsnext:main":"lib/index.js","_nodeVersion":"14.19.1","dependencies":{"uniq":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"wd":"^1.12.1","nyc":"^15.0.0","chai":"~3.5.0","acorn":"^6.4.0","mocha":"~4.1.0","eslint":"^6.8.0","jshint":"2.11.0","mkdirp":"^0.5.1","core-js":"^3.6.4","request":"^2.88.0","webpack":"^4.41.5","blob-util":"^2.0.2","ts-loader":"^6.2.1","typescript":"^3.7.5","@babel/core":"^7.8.4","@types/chai":"^4.2.8","@types/node":"^13.7.0","@types/uniq":"0.0.27","http-server":"~0.12.0","webpack-cli":"^3.3.10","@types/mocha":"^7.0.1","babel-loader":"^8.0.6","pouchdb-core":"^7.1.1","pouchdb-find":"^7.1.0","eslint-loader":"^3.0.3","@babel/register":"^7.8.3","chai-as-promised":"~5.3.0","@babel/preset-env":"^7.8.4","pouchdb-mapreduce":"^7.1.1","@types/pouchdb-find":"^6.3.4","regenerator-runtime":"^0.13.3","selenium-standalone":"6.16.0","pouchdb-adapter-http":"^7.1.1","babel-plugin-istanbul":"^6.0.0","eslint-plugin-promise":"^4.2.1","pouchdb-adapter-memory":"^7.1.0","sauce-connect-launcher":"1.2.6","@types/chai-as-promised":"^7.1.2","@types/pouchdb-mapreduce":"^6.1.4","@typescript-eslint/parser":"^2.19.0","pouchdb-adapter-indexeddb":"^7.3.1","@types/pouchdb-adapter-http":"^6.1.3","@types/pouchdb-adapter-memory":"^6.1.3","fork-ts-checker-webpack-plugin":"^4.0.3","@typescript-eslint/eslint-plugin":"^2.19.0"},"peerDependencies":{"pouchdb-find":">=7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch_4.0.4_1672163648291_0.701663641099832","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"relational-pouch","version":"4.1.0","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@4.1.0","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"broerse","email":"broerse@martinic.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"35ae0c4837c932c16894bf618e67b0953becde0e","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-4.1.0.tgz","fileCount":11,"integrity":"sha512-VSAwlQoUzeXCEyX8YoZv8bmwePGUNZJeHaBD2gJeXbFqYRnV8MU3hzfGukQSxceInTDeECE0kleXZKpRopMzRQ==","signatures":[{"sig":"MEYCIQC8G/BhvXdBJf/hKBNrgEjwWNxW3w0OUD7Cw+a3s7G12gIhAIG1sN8p+WzlR1MccCxlhS2vwkIisz9YI54pilGfYSz/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":105984},"main":"dist/pouchdb.relational-pouch.node.js","types":"lib/index.d.ts","module":"lib/index.js","gitHead":"265a98d215151b8f4bd2f77422cd5b88a98a86ff","scripts":{"dev":"node ./bin/dev-server.js","tsc":"tsc --build tsconfig.json","lint":"eslint --ext .js,.ts src test/test.ts","test":"npm run lint && bash ./bin/run-test.sh","build":"tsc && webpack --mode=production","coverage":"npm test --coverage && nyc check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"webpack --config webpack.test.node.config.js && nyc ./node_modules/mocha/bin/_mocha test/test-node.js","test-browser":"node ./bin/test-browser.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"10.8.2","description":"PouchDB, relational style","directories":{},"jsnext:main":"lib/index.js","_nodeVersion":"18.20.4","dependencies":{"uniq":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"wd":"^1.12.1","nyc":"^15.0.0","chai":"~3.5.0","acorn":"^6.4.0","mocha":"~4.1.0","eslint":"^6.8.0","jshint":"2.11.0","mkdirp":"^0.5.1","core-js":"^3.38.0","request":"^2.88.0","webpack":"^4.47.0","blob-util":"^2.0.2","ts-loader":"^6.2.1","typescript":"^3.7.5","@babel/core":"^7.25.2","@types/chai":"^4.3.17","@types/node":"^13.7.0","@types/uniq":"0.0.27","http-server":"~0.12.0","webpack-cli":"^3.3.10","@types/mocha":"^7.0.1","babel-loader":"^8.0.6","pouchdb-core":"^9.0.0","pouchdb-find":"^9.0.0","eslint-loader":"^3.0.3","@babel/register":"^7.24.6","chai-as-promised":"~5.3.0","@babel/preset-env":"^7.25.3","@types/node-fetch":"^2.6.11","pouchdb-mapreduce":"^9.0.0","@types/pouchdb-find":"^7.3.3","regenerator-runtime":"^0.13.3","selenium-standalone":"6.16.0","pouchdb-adapter-http":"^9.0.0","babel-plugin-istanbul":"^6.0.0","eslint-plugin-promise":"^4.2.1","pouchdb-adapter-memory":"^9.0.0","sauce-connect-launcher":"1.2.6","@types/chai-as-promised":"^7.1.8","@types/pouchdb-mapreduce":"^6.1.10","@typescript-eslint/parser":"^2.19.0","pouchdb-adapter-indexeddb":"^9.0.0","@types/pouchdb-adapter-http":"^6.1.6","@types/pouchdb-adapter-memory":"^6.1.6","fork-ts-checker-webpack-plugin":"^4.0.3","@typescript-eslint/eslint-plugin":"^2.19.0"},"peerDependencies":{"pouchdb-find":">=7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch_4.1.0_1724079965899_0.22553967049877843","host":"s3://npm-registry-packages"}},"4.1.1":{"name":"relational-pouch","version":"4.1.1","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"author":"","license":"Apache-2.0","_id":"relational-pouch@4.1.1","maintainers":[{"name":"nolanlawson","email":"nolan@nolanlawson.com"},{"name":"martinic","email":"info@martinic.com"},{"name":"broerse","email":"broerse@martinic.com"}],"homepage":"https://github.com/pouchdb-community/relational-pouch#readme","bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"dist":{"shasum":"f9474e7c5e17a8684c8e0caa95c33eaccc08d38f","tarball":"https://registry.npmjs.org/relational-pouch/-/relational-pouch-4.1.1.tgz","fileCount":11,"integrity":"sha512-Uedf74h8Y68RLLUQY8Lz54gBX5CrQA1/Cq07KKB5cBdLmMftcbT+bYjzJyyix/Um4DPzKdpoV6i6pqHbfvFfiw==","signatures":[{"sig":"MEUCICplSKn/OYv3YJmTEbJKE7pwXwizUumqPY/T3cOjOHGTAiEA3KvQMp+a9ZrgQijVzA2AzI4A/ETycLdJUXZn1YGMrfQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":105940},"main":"dist/pouchdb.relational-pouch.node.js","types":"lib/index.d.ts","module":"lib/index.js","gitHead":"6a1b8f7d1ef1e4fed041ee6792b12ae491fb1476","scripts":{"dev":"node ./bin/dev-server.js","tsc":"tsc --build tsconfig.json","lint":"eslint --ext .js,.ts src test/test.ts","test":"npm run lint && bash ./bin/run-test.sh","build":"tsc && webpack --mode=production","coverage":"npm test --coverage && nyc check-coverage --lines 100 --function 100 --statements 100 --branches 100","test-node":"webpack --config webpack.test.node.config.js && nyc ./node_modules/mocha/bin/_mocha test/test-node.js","test-browser":"node ./bin/test-browser.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"martinic","email":"info@martinic.com"},"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"_npmVersion":"10.8.2","description":"PouchDB, relational style","directories":{},"jsnext:main":"lib/index.js","_nodeVersion":"18.20.4","dependencies":{"uniq":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"wd":"^1.12.1","nyc":"^15.0.0","chai":"~3.5.0","acorn":"^6.4.0","mocha":"~4.1.0","eslint":"^6.8.0","jshint":"2.11.0","mkdirp":"^0.5.1","core-js":"^3.38.0","request":"^2.88.0","webpack":"^4.47.0","blob-util":"^2.0.2","ts-loader":"^6.2.1","typescript":"^3.7.5","@babel/core":"^7.25.2","@types/chai":"^4.3.17","@types/node":"^13.7.0","@types/uniq":"0.0.27","http-server":"~0.12.0","webpack-cli":"^3.3.10","@types/mocha":"^7.0.1","babel-loader":"^8.0.6","pouchdb-core":"^9.0.0","pouchdb-find":"^9.0.0","eslint-loader":"^3.0.3","@babel/register":"^7.24.6","chai-as-promised":"~5.3.0","@babel/preset-env":"^7.25.3","@types/node-fetch":"^2.6.11","pouchdb-mapreduce":"^9.0.0","@types/pouchdb-find":"^7.3.3","regenerator-runtime":"^0.13.3","selenium-standalone":"6.16.0","pouchdb-adapter-http":"^9.0.0","babel-plugin-istanbul":"^6.0.0","eslint-plugin-promise":"^4.2.1","pouchdb-adapter-memory":"^9.0.0","sauce-connect-launcher":"1.2.6","@types/chai-as-promised":"^7.1.8","@types/pouchdb-mapreduce":"^6.1.10","@typescript-eslint/parser":"^2.19.0","pouchdb-adapter-indexeddb":"^9.0.0","@types/pouchdb-adapter-http":"^6.1.6","@types/pouchdb-adapter-memory":"^6.1.6","fork-ts-checker-webpack-plugin":"^4.0.3","@typescript-eslint/eslint-plugin":"^2.19.0"},"peerDependencies":{"pouchdb-find":">=7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/relational-pouch_4.1.1_1726688596772_0.8391643881517072","host":"s3://npm-registry-packages"}}},"time":{"created":"2014-08-17T13:46:06.625Z","modified":"2025-12-10T12:42:43.333Z","0.1.0":"2014-08-17T13:46:06.625Z","0.2.0":"2014-08-17T13:46:49.040Z","0.2.1":"2014-08-17T13:50:30.902Z","0.2.2":"2014-08-21T04:56:32.053Z","0.3.0":"2014-10-04T18:16:55.845Z","0.3.1":"2014-10-04T18:17:38.356Z","0.3.2":"2014-10-05T16:09:28.211Z","0.4.0":"2014-10-29T03:28:00.216Z","0.4.1":"2014-10-29T03:28:54.380Z","1.0.0":"2014-11-16T20:47:54.441Z","1.1.0":"2014-11-16T21:35:10.819Z","1.2.0":"2014-11-30T23:29:32.671Z","1.3.0":"2015-02-13T20:08:55.904Z","1.3.1":"2015-02-13T22:40:28.541Z","1.3.2":"2015-05-07T12:31:32.966Z","1.3.3":"2015-08-23T14:13:35.575Z","1.4.0":"2015-10-04T17:35:41.606Z","1.4.1":"2016-05-02T20:45:54.912Z","1.4.2":"2016-05-04T19:08:02.430Z","1.4.3":"2016-06-17T14:06:36.811Z","1.4.4":"2016-08-10T01:57:28.280Z","1.4.5":"2016-11-21T12:51:29.099Z","1.4.6":"2017-09-05T14:36:40.061Z","2.0.0":"2017-09-06T10:16:47.359Z","2.1.0":"2017-09-08T14:02:08.120Z","3.0.0":"2018-01-11T10:27:48.363Z","3.0.1":"2018-01-26T13:54:30.535Z","3.1.0":"2018-06-26T13:00:33.366Z","3.2.0":"2019-04-29T11:22:30.427Z","4.0.0":"2020-03-04T11:04:43.983Z","4.0.1":"2022-11-28T16:16:15.277Z","4.0.2":"2022-12-06T12:34:59.881Z","4.0.3":"2022-12-27T12:14:13.004Z","4.0.4":"2022-12-27T17:54:08.477Z","4.1.0":"2024-08-19T15:06:06.141Z","4.1.1":"2024-09-18T19:43:17.012Z"},"bugs":{"url":"https://github.com/pouchdb-community/relational-pouch/issues"},"license":"Apache-2.0","homepage":"https://github.com/pouchdb-community/relational-pouch#readme","keywords":["pouch","pouchdb","relational","plugin","couch","couchdb"],"repository":{"url":"git://github.com/pouchdb-community/relational-pouch.git","type":"git"},"description":"PouchDB, relational style","maintainers":[{"email":"jan@apache.org","name":"jan"},{"email":"nolan@nolanlawson.com","name":"nolanlawson"},{"email":"info@martinic.com","name":"martinic"},{"email":"broerse@martinic.com","name":"broerse"}],"readme":"Relational Pouch [![Build Status](https://travis-ci.org/pouchdb-community/relational-pouch.svg)](https://travis-ci.org/pouchdb-community/relational-pouch)\n=====\n\n```js\nvar db = new PouchDB('mydb');\ndb.setSchema([\n  {singular: 'author', plural: 'authors', relations: { books: {hasMany: 'book'}}},\n  {singular: 'book', plural: 'books', relations: {author: {belongsTo: 'author'}}}\n]);\ndb.rel.save('author', {\n  name: 'George R. R. Martin', id: 1, books: [6, 7]\n}).then(function () {\n  return db.rel.save('book', { title: 'A Game of Thrones', id: 6, author: 1});\n}).then(function () {\n  return db.rel.save('book', {title: 'The Hedge Knight', id: 7, author: 1});\n}).catch(console.log.bind(console));\n```\n\nRelational Pouch is a plugin for PouchDB that allows you to interact with PouchDB/CouchDB like a relational data store, with types and relations.\n\nIt provides an enhanced API on top of PouchDB that is probably more familiar to fans of relational databases, and maybe even easier to use. At the same time, though, you still have CouchDB's awesome indexing and sync capabilities.\n\nThis plugin also uses clever tricks to avoid creating secondary indexes. This means that even if you have complex entity relations, your database operations should still be very fast.\n\nThe main goal of this is to provide an API that is as similar to [Ember Data](http://emberjs.com/api/data/) and [json:api](http://jsonapi.org/) as possible, while still being performant and Pouch-like.\n\nThis plugin is largely what powers [Ember Pouch](https://github.com/pouchdb-community/ember-pouch).\n\nInstallation\n------\n\n### In the browser\n\nDownload from GitHub, or use Bower:\n\n    bower install relational-pouch\n\nThen include it after `pouchdb.js` in your HTML page:\n\n```html\n<script src=\"pouchdb.js\"></script>\n<script src=\"pouchdb.find.js\"></script>\n<script src=\"pouchdb.relational-pouch.browser.js\"></script>\n```\n\n### In Node.js\n\n    npm install relational-pouch\n\nAnd then attach it to the `PouchDB` object:\n\n```js\nvar PouchDB = require('pouchdb');\nPouchDB.plugin(require('relational-pouch'));\nPouchDB.plugin(require('pouchdb-find'));\n```\n\n#### Typescript\n\nThis package contains its own type definitions. Due to the nature of setSchema, which alters the database on which it is called, typescript needs to know about these changes. This is done by returning a new type. So working with this plugin should look something like this:\n\n```js\nimport Pouch from 'pouchdb-core';\n//import some adapter\nimport find from 'pouchdb-find';\nimport rel from 'relational-pouch';\n\nPouch\n  //.plugin(someadapter)\n  .plugin(find)\n  .plugin(rel);\n\nconst baseDB = new Pouch(...);//adapter options\nconst relDB = baseDB.setSchema(...);//schema options\n\nlet relDoc = await relDB.rel.find('sometype', 'someid');\n\n//non relation pouch API is still available\nlet doc = await relDB.get('someid');\n```\n\n\nAPI\n----------\n\n### Summary\n\n* [`db.setSchema(schema)`](#dbsetschemaschema)\n* [`db.rel.save(type, object)`](#dbrelsavetype-object)\n* [`db.rel.find(type)`](#dbrelfindtype)\n* [`db.rel.find(type, id)`](#dbrelfindtype-id)\n* [`db.rel.find(type, ids)`](#dbrelfindtype-ids)\n* [`db.rel.find(type, options)`](#dbrelfindtype-options)\n* [`db.rel.del(type, object)`](#dbreldeltype-object)\n* [`db.rel.putAttachment(type, object, attachmentId, attachment, attachmentType)`](#dbrelputattachmenttype-object-attachmentid-attachment-attachmenttype)\n* [`db.rel.getAttachment(type, id, attachmentId)`](#dbrelgetattachmenttype-id-attachmentid)\n* [`db.rel.removeAttachment(type, object, attachmentId)`](#dbrelremoveattachmenttype-object-attachmentid)\n* [`db.rel.parseDocID(docID)`](#dbrelparsedociddocid)\n* [`db.rel.makeDocID(docID)`](#dbrelmakedocidparsedid)\n* [`db.rel.parseRelDocs(type, pouchDocs)`](#dbrelparsereldocstype-pouchdocs)\n* [`db.rel.findHasMany(type, belongsToKey, belongsToId)`](#dbrelfindhasmanytype-belongstokey-belongstoid)\n* [`db.rel.isDeleted(type, id)`](#dbrelisdeletedtype-id)\n* [Managing relationships](#managing-relationships)\n  * [One-to-one](#one-to-one-relationships)\n  * [Many-to-one](#many-to-one-relationships)\n  * [Many-to-many](#many-to-many-relationships)\n  * [Async relationships](#async-relationships)\n  * [Don't save hasMany](#dont-save-hasmany)\n  * [Advanced](#advanced)\n* [Managing revisions (\"rev\")](#managing-revisions-rev)\n\n\n### db.setSchema(schema)\n\nCall this after you initialize your PouchDB, in order to define your entities and relationships:\n\n```js\nvar db = new PouchDB('mydb');\ndb.setSchema([\n  {\n    singular: 'post',\n    plural: 'posts',\n    relations: {\n      author: {belongsTo: 'author'},\n      comments: {hasMany: 'comment'}\n    }\n  },\n  {\n    singular: 'author',\n    plural: 'authors',\n    relations: {\n      posts: {hasMany: 'post'}\n    }\n  },\n  {\n    singular: 'comment',\n    plural: 'comments',\n    relations: {\n      post: {belongsTo: 'post'}\n    }\n  }\n]);\n```\n\nThis is a synchronous method that does not return a Promise.\n\nYou can define one-to-one, one-to-many, and many-to-many relationships using any combination of `belongsTo` and `hasMany` that you want. For more examples, read the [Ember guide to models](http://emberjs.com/guides/models/defining-models/), which is what inspired this.\n\nYou need to explicitly define the singular and plural forms of your entities, because I'm not a big fan of applying magic Anglocentric defaults to everything.\n\n#### `db.rel.<method>`\n\nOnce you call `setSchema`, your `db` will be blessed with a `rel` object, which is where you can start using the rest of this plugin's API.\n\n#### documentType\n\nRarely, you might want to have two different views over the same underlying data. Use `documentType` to create a view which reads the same data as another type:\n\n```js\nvar db = new PouchDB('mydb');\ndb.setSchema([\n  {\n    singular: 'post',\n    plural: 'posts',\n    relations: {\n      author: {belongsTo: 'author'},\n      comments: {hasMany: 'comment'}\n    }\n  },\n  {\n    singular: 'postSummary',\n    plural: 'postSummaries',\n    documentType: 'post'\n  }\n]);\n```\n\nHere, when you load a \"postSummary\", it will return the same core record as \"post\", but will not resolve the relationships.\n\nBe careful when using this feature — it is probably best to treat a type declaring a documentType as read-only. Do all creates/updates via the main type.\n\n### db.rel.save(type, object)\n\nSave an object with a particular type. This returns a Promise.\n\n```js\ndb.rel.save('post', {\n  title: 'Rails is Omakase',\n  text: 'There are a lot of a-la-carte software...'\n});\n```\n\nResult:\n\n```js\n{\n  \"id\": \"14760983-285C-6D1F-9813-D82E08F1AC29\",\n  \"rev\": \"1-84df2c73028e5b8d0ae1cbb401959370\"\n}\n```\n\nYou can optionally specify an `id`, otherwise `relational-pouch` will create an `id` for you. (What's the difference between `id` and `_id`? See below.)\n\n```js\ndb.rel.save('post', {\n  title: 'Rails is Unagi',\n  text: 'Delicious unagi. Mmmmmm.',\n  id: 1\n});\n```\n\nResult:\n\n```js\n{\n  \"id\": 1,\n  \"rev\": \"1-0ae315ee597b22cc4b1acf9e0edc35ba\"\n}\n```\n\nYou'll notice the special field `rev`, which is a revision identifier. That'll come into play later.\n\n#### `id` and `rev` are reserved field names!\n\nThis plugin uses `id` and `rev`. You shouldn't use those fields for anything else. An `id` can be any string or integer. \n\n#### `id` vs `_id`\n\n[`id` belongs to `relational-pouch`](https://github.com/pouchdb-community/relational-pouch#how-does-it-work), whereas [`_id`](https://docs.couchdb.org/en/latest/best-practices/documents.html) belongs to PouchDB/PouchDB. `relational-pouch` uses `id` for references to related records. You _can_ put the same value for `id` as `_id`, but if one is autogenerated you might want to autogenerate the other, too. Use-cases vary so do what works for you! See also: `db.rel.parseDocID` and `db.rel.makeDocID`, covered in this README below.\n\n### db.rel.find(type)\n\nFind all objects with a given type. Returns a Promise.\n\n```js\ndb.rel.find('post');\n```\n\nResult:\n\n```js\n{\n  \"posts\": [\n    {\n      \"title\": \"Rails is Unagi\",\n      \"text\": \"Delicious unagi. Mmmmmm.\",\n      \"id\": 1,\n      \"rev\": \"1-0ae315ee597b22cc4b1acf9e0edc35ba\"\n    },\n    {\n      \"title\": \"Rails is Omakase\",\n      \"text\": \"There are a lot of a-la-carte software...\",\n      \"id\": \"14760983-285C-6D1F-9813-D82E08F1AC29\",\n      \"rev\": \"1-84df2c73028e5b8d0ae1cbb401959370\"\n    }\n  ]\n}\n```\n\nThe list will be empty if it doesn't find anything. The results are sorted by `id`.\n\n### db.rel.find(type, id)\n\nFind an object with the given type and `id`. Returns a Promise.\n\n```js\ndb.rel.find('post', 1);\n```\n\nResult:\n\n```js\n{\n  \"posts\": [\n    {\n      \"title\": \"Rails is Unagi\",\n      \"text\": \"Delicious unagi. Mmmmmm.\",\n      \"id\": 1,\n      \"rev\": \"1-0ae315ee597b22cc4b1acf9e0edc35ba\"\n    }\n  ]\n}\n```\n\n### db.rel.find(type, ids)\n\nFind multiple objects with multiple `id`s. Returns a Promise.\n\n```js\ndb.rel.find('post', [3, 2, 1]);\n```\n\nResult:\n\n```js\n{\n  \"posts\": [\n    {\n      \"title\": \"Rails is Unagi\",\n      \"text\": \"Delicious unagi. Mmmmmm.\",\n      \"id\": 1,\n      \"rev\": \"1-0ae315ee597b22cc4b1acf9e0edc35ba\"\n    },  \n    {\n      \"title\": \"Maybe Rails is more like a sushi buffet\",\n      \"text\": \"Heresy!\",\n      \"id\": 2,\n      \"rev\": \"1-6d8ac6d86d01b91cfbe2f53e0c81bb86\"\n    }\n  ]\n}\n```\n\nIf an `id` isn't found, it's simply not returned. Notice that above, there is no object with an `id` of `3`.\n\n`find` results are always returned ordered by id. The order of your `ids` array will not necessarily be reflected in the returned array of objects.\n\n### db.rel.find(type, options)\n\nFind all objects with a given type and limit the results via the passed in options.  Returns a Promise.\n\n```js\ndb.rel.find('post',{startkey: 1, limit: 2});\n```\n\nResult:\n\n```js\n{\n  \"posts\": [\n    {\n      \"title\": \"Rails is Unagi\",\n      \"text\": \"Delicious unagi. Mmmmmm.\",\n      \"id\": 1,\n      \"rev\": \"1-0ae315ee597b22cc4b1acf9e0edc35ba\"\n    },  \n    {\n      \"title\": \"Maybe Rails is more like a sushi buffet\",\n      \"text\": \"Heresy!\",\n      \"id\": 2,\n      \"rev\": \"1-6d8ac6d86d01b91cfbe2f53e0c81bb86\"\n    }\n  ]\n}\n```\nThe following options based on the options for [PouchDB batch fetch](http://pouchdb.com/api.html#batch_fetch) are available:\n* `startkey` & `endkey`:  Get documents with IDs in a certain range (inclusive/inclusive).\n* `limit`: Maximum number of documents to return.\n* `skip`: Number of docs to skip before returning (warning: poor performance on IndexedDB/LevelDB!).\n\n### db.rel.del(type, object)\n\nDeletes the given object. Returns a Promise.\n\n```js\ndb.rel.del('post', {id:1, rev:\"1-0560dbb11ead319c9f5bc1f667ea8e84\"});\n```\n\nResult:\n\n```js\n{\"deleted\":true}\n```\n\nThe minimum you need to delete something is an `id` and a `rev`. The easiest pattern is to just `find` it before deleting it:\n\n```js\ndb.rel.find('post', 1).then(function (post) {\n  return db.rel.del('post', post);\n});\n```\n\n### db.rel.putAttachment(type, object, attachmentId, attachment, attachmentType)\n\nAdds an attachment to the given object. Returns a Promise. See [PouchDB Attachments](http://pouchdb.com/guides/attachments.html) but note that `._attachments` is instead `.attachments` in relational-pouch.\n\n```js\nvar attachment = new Blob(['Is there life on Mars?']);\n// Or in Node.js: new Buffer('Is there life on Mars?')\ndb.rel.putAttachment('post', {id:1, rev:\"1-...\"}, 'file', attachment, 'text/plain');\n```\n\nThis returns the new rev:\n\n```js\n\"2-....\"\n```\n\n### db.rel.getAttachment(type, id, attachmentId)\n\nGets an attachment for the given document id. Returns a Promise to a Blob (or Buffer for Node).\n\n```js\ndb.rel.getAttachment('post', 1, 'file').then(function (attachment) {\n  // convert the Blob into an object URL and show it in an image tag\n  $('img').attr('src', URL.createObjectURL(attachment));\n});\n```\n\n### db.rel.removeAttachment(type, object, attachmentId)\n\nRemove an attachment from the given object. Returns a Promise.\n\n```js\nvar attachment = new Blob(['Is there life on Mars?']); // new Buffer('Is there life on Mars?') for node\ndb.rel.putAttachment('post', {id:1, rev:\"1-0560dbb11ead319c9f5bc1f667ea8e84\"}, 'file', attachment, 'text/plain').then(function (res) {\n  var post = res.posts[0];\n  db.rel.removeAttachment('post', post, 'file');\n});\n```\n\nOr continuing from the `putAttachment` example:\n\n```js\ndb.rel.removeAttachment('post', {id: 1, rev:\"2-09d5c5bd86fc170c064b296773044ea9\"} , 'file');\n```\n\nThis returns the new rev:\n\n```js\n\"3-....\"\n```\n\n### db.rel.parseDocID(docID)\n\nParses a raw CouchDB/PouchDB doc `_id` into an object containing a `type` and `id` field. Basically only useful for working with the `db.changes()` feed, so you can tell what changed from a \"relational\" perspective rather than from the raw CouchDB/PouchDB perspective.\n\nThis method is synchronous, so it directly returns the object rather than a Promise.\n\n```js\ndb.rel.parseDocID(\"author_1_0000000000000019\");\n```\n\nReturns:\n\n```js\n{\n  \"type\": \"author\",\n  \"id\": 19\n}\n```\n\nSo e.g. with `changes()` you could do:\n\n```js\ndb.changes().then(function (changes) {\nreturn changes.results.map(function (change) {\n  return db.rel.parseDocID(change.id);\n});\n```\n\nResult is e.g.:\n\n```js\n[\n  {\"type\": \"author\", \"id\": 19},\n  {\"type\": \"book\", \"id\": 1},\n  {\"type\": \"book\", \"id\": 2},\n  {\"type\": \"book\", \"id\": 3}\n]\n```\n\n### db.rel.makeDocID(parsedID)\n\nCreates a valid `_id` from an object with `type` and `id` properties, such as\n`parseDocID` generates. The format is `<type>_<id type>_<id>`. The `<id type>` depends on the id. If the id is undefined the value is 0, if the id is a number, the value is 1, if the id is a string the value is 2, and if the id is an object the value is 3.\n\n```js\ndb.rel.makeDocID({ \"type\": \"author\", \"id\": 123 });\n// author_1_0000000000000123\ndb.rel.makeDocID({ \"type\": \"author\", \"id\": \"onetwothree\" });\n// author_2_onetwothree\n```\n\nUseful if you need to perform operations with the underlying database, e.g.:\n\n```js\nvar _id = db.rel.makeDocID({ \"type\": \"author\", \"id\": 19 });\ndb.get(_id).then(function (doc) {\n  var parsedId = db.parseDocID(doc._id);\n  doc.data.type = parsedId.type;\n  doc.data.id = parsedId.id;\n  return doc.data;\n});\n```\n\n### db.rel.isDeleted(type, id)\n\nReturns a Promise that resolves to `true` if document is deleted, `false` if it still exists and `null` if it is not in the database\n\n### db.rel.parseRelDocs(type, pouchDocs)\n\nParses pouch documents that should be in this schema. Loads extra relations if needed.\nThis function is useful when you are loading data from db.find for example, instead of from db.rel.\n\nExample:\n```js\ndb.find(selector).then(function (data) {\n  return db.rel.parseRelDocs(type, data.docs);\n});\n```\n\nReturns data as [`db.rel.find(type)`](#dbrelfindtype) would return it.\n\nIt requires a type parameter, which could be gotten from the id of the first document using [`db.rel.parseDocID(docID)`](#dbrelparsedociddocid), but most of the time you will know which type you are trying to find with the db.find call.\n\n### db.rel.findHasMany(type, belongsToKey, belongsToId)\n\nUses db.find to build a selector that searches for the documents of type `type` that have a value of `belongsToId` set in the field `belongsToKey`.\nThis can be used in a higher level API to use asynchronous hasMany relations that don't store the hasMany side.\n\nExample:\n```js\ndb.rel.findHasMany('post', 'author', '1');\n```\n\nReturns a Promise that will resolve to an array of posts that have author 1 as [`db.rel.find(type)`](#dbrelfindtype) would.\n\nSince db.find requires the use of indexes, you need to setup an index for this extra lookup. The fields required by this index are `_id` and the field specified in the `belongsToKey`, prefixed with `data.`. The `_id` field is used to filter the related items by type. Without it another type with the same field could also be returned.\nSo the example above would give:\n\n```\ndb.createIndex({index: { fields: ['data.author', '_id'] }});\n```\n\nFor performance reasons the queried field is used first here. As this is to be expected to return a smaller set that filtering on type first.\nIf your database however has a lot more document types that has data.author fields too, you may find that switching the order and using `id` as the first filter will give faster results.\n\n### Managing relationships\n\nEntity relationships are encoded using the [Ember Data Model](http://andycrum.github.io/ember-data-model-maker/) format, which is a slight simplification of [json:api](http://jsonapi.org/).\n\n#### One-to-one relationships\n\nAn author has exactly one profile, and vice-versa:\n\n```js\ndb.setSchema([\n  {\n    singular: 'author',\n    plural: 'authors',\n    relations: {\n      'profile': {belongsTo: 'profile'}\n    }\n  },\n  {\n    singular: 'profile',\n    plural: 'profiles',\n    relations: {\n      'author': {belongsTo: 'author'}\n    }\n  }\n]);\n\ndb.rel.save('author', {\n  name: 'Stephen King',\n  id: 19,\n  profile: 21\n}).then(function () {\n  return db.rel.save('profile', {\n    description: 'nice masculine jawline',\n    id: 21,\n    author: 19\n  });\n}).then(function () {\n  return db.rel.find('author');\n});\n```\n\nResult:\n\n```js\n{\n  \"authors\": [\n    {\n      \"name\": \"Stephen King\",\n      \"profile\": 21,\n      \"id\": 19,\n      \"rev\": \"1-bf705a912bf672b30ad262b33a19c5c3\"\n    }\n  ],\n  \"profiles\": [\n    {\n      \"description\": \"nice masculine jawline\",\n      \"author\": 19,\n      \"id\": 21,\n      \"rev\": \"1-ef86a08ea3243ea59302ceaa04afd59f\"\n    }\n  ]\n}\n```\n\n#### Many-to-one relationships\n\nAn author has many books:\n\n```js\ndb.setSchema([\n  {\n    singular: 'author',\n    plural: 'authors',\n    relations: {\n      'books': {hasMany: 'book'}\n    }\n  },\n  {\n    singular: 'book',\n    plural: 'books',\n    relations: {\n      'author': {belongsTo: 'author'}\n    }\n  }\n]);\n\ndb.rel.save('author', {\n  name: 'Stephen King',\n  id: 19,\n  books: [1]\n}).then(function () {\n  return db.rel.save('author', {\n    name: 'George R. R. Martin',\n    id: 1,\n    books: [6, 7]\n  });\n}).then(function () {\n  return db.rel.save('book', {\n    title: 'It',\n    id: 1,\n    author: 19\n  });\n}).then(function () {\n  return db.rel.save('book', {\n    title: 'A Game of Thrones',\n    id: 6,\n    author: 1\n  });\n}).then(function () {\n  return db.rel.save('book', {\n    title: 'The Hedge Knight',\n    id: 7,\n    author: 1\n  });\n}).then(function () {\n  return db.rel.find('author');\n});\n```\n\nResult:\n\n```js\n{\n  \"authors\": [\n    {\n      \"name\": \"George R. R. Martin\",\n      \"books\": [\n        6,\n        7\n      ],\n      \"id\": 1,\n      \"rev\": \"1-04e165889a4a9303a6dc07a54cee9741\"\n    },\n    {\n      \"name\": \"Stephen King\",\n      \"books\": [\n        1\n      ],\n      \"id\": 19,\n      \"rev\": \"1-38580117cb4a1ddb2c7151453a7f9129\"\n    }\n  ],\n  \"books\": [\n    {\n      \"title\": \"It\",\n      \"author\": 19,\n      \"id\": 1,\n      \"rev\": \"1-1b7ea74936a8034aee7da27ffd36a63f\"\n    },\n    {\n      \"title\": \"A Game of Thrones\",\n      \"author\": 1,\n      \"id\": 6,\n      \"rev\": \"1-a6f0dc69fc79d5565639074b5defa52d\"\n    },\n    {\n      \"title\": \"The Hedge Knight\",\n      \"author\": 1,\n      \"id\": 7,\n      \"rev\": \"1-4988aa3215070c71e1505a05f90bb60f\"\n    }\n  ]\n}\n```\n\n#### Many-to-many relationships\n\nPeter Straub actually co-wrote *The Talisman* with Stephen King. So a book can have many authors, and an author can have many books:\n\n```js\ndb.setSchema([\n  {\n    singular: 'author',\n    plural: 'authors',\n    relations: {\n      'books': {hasMany: 'book'}\n    }\n  },\n  {\n    singular: 'book',\n    plural: 'books',\n    relations: {\n      'authors': {hasMany: 'author'}\n    }\n  }\n]);\n\ndb.rel.save('author', {\n  name: 'Stephen King',\n  id: 19,\n  books: [1, 2]\n}).then(function () {\n  return db.rel.save('author', {\n    name: 'Peter Straub',\n    id: 2,\n    books: [2, 3]\n  });\n}).then(function () {\n  return db.rel.save('book', {\n    title: 'It',\n    id: 1,\n    authors: [19]\n  });\n}).then(function () {\n  return db.rel.save('book', {\n    title: 'The Talisman',\n    id: 2,\n    authors: [19, 2]\n  });\n}).then(function () {\n  return db.rel.save('book', {\n    title: 'Ghost Story',\n    id: 3,\n    authors: [2]\n  });\n}).then(function () {\n  return db.rel.find('author');\n});\n```\n\nResult:\n\n```js\n{\n  \"authors\": [\n    {\n      \"name\": \"Peter Straub\",\n      \"books\": [\n        2,\n        3\n      ],\n      \"id\": 2,\n      \"rev\": \"1-92901c8e3e0775765777bfcbe8f4c2dd\"\n    },\n    {\n      \"name\": \"Stephen King\",\n      \"books\": [\n        1,\n        2\n      ],\n      \"id\": 19,\n      \"rev\": \"1-d70d9fe033f583493029372c88ae21d0\"\n    }\n  ],\n  \"books\": [\n    {\n      \"title\": \"It\",\n      \"authors\": [\n        19\n      ],\n      \"id\": 1,\n      \"rev\": \"1-96751a2a5bb7b0fd70564efe6856dbd6\"\n    },\n    {\n      \"title\": \"The Talisman\",\n      \"authors\": [\n        19,\n        2\n      ],\n      \"id\": 2,\n      \"rev\": \"1-9faf8c4f72db782dacce16a7849d156b\"\n    },\n    {\n      \"title\": \"Ghost Story\",\n      \"authors\": [\n        2\n      ],\n      \"id\": 3,\n      \"rev\": \"1-7564a1195f143e24ebf24d914c60d6be\"\n    }\n  ]\n}\n```\n\n#### Async relationships\n\nJust like with Ember Data, you can define relationships to be *async*, which means that dependent objects aren't automatically sideloaded. This can reduce your request time and payload size.\n\nFor instance, let's say you want to load all authors, but you don't want to load their books, too. You can do:\n\n```js\ndb.setSchema([\n  {\n    singular: 'author',\n    plural: 'authors',\n    relations: {\n      books: {hasMany: {type: 'book', options: {async: true}}}\n    }\n  },\n  {\n    singular: 'book',\n    plural: 'books',\n    relations: {\n      author: {belongsTo: {type: 'author', options: {async: true}}}\n    }\n  }\n]);\n```\n\nBy default, `async` is consider `false`. So this:\n\n```js\n...\n  books: {hasMany: 'book'}\n...\n```\n\nis equivalent to this:\n\n```js\n...\n  books: {hasMany: {type: 'book', options: {async: false}}}\n...\n```\n\nNow let's try with `{async: true}`. You'll notice that, when we fetch the list of authors, only the book `id`s will be included, not the full books:\n\n```js\nreturn db.rel.save('author', {\n  name: 'Stephen King',\n  id: 19,\n  books: [1, 2, 3]\n}).then(function () {\n  return db.rel.save('book', {\n    id: 1,\n    title: 'The Gunslinger'\n  });\n}).then(function () {\n  return db.rel.save('book', {\n    id: 2,\n    title: 'The Drawing of the Three'\n  });\n}).then(function () {\n  return db.rel.save('book', {\n    id: 3,\n    title: 'The Wastelands'\n  });\n}).then(function () {\n  return db.rel.find('author');\n});\n```\n\nResult:\n\n```js\n{\n  \"authors\": [\n    {\n      \"name\": \"Stephen King\",\n      \"books\": [\n        1,\n        2,\n        3\n      ],\n      \"id\": 19,\n      \"rev\": \"1-9faf8c4f72db782dacce16a7849d156b\"\n    }\n  ]\n}\n```\n\nThis can cut down on your request size, if you don't need the full book information when you fetch authors.\n\nThanks to [Lars-Jørgen Kristiansen](https://github.com/iUtvikler) for implementing this feature!\n\n#### Don't save hasMany\n\nBy default relational-pouch will store the child ids of an Many-to-one relationship as a property on the many side (the parent). This can lead to extra conflicts, since this goes against the normal \"documents are changes\" way that Couch works best. Edits to documents are best to be self contained, and changing a parent document because a child is inserted can result in problems with multiple users.\n\nA way to fix this is to specify to relational-pouch that the parent actually does not store this array of children. But instead relational-pouch should use a db.find query to search for them.\n\n```js\ndb.setSchema([\n  {\n    singular: 'author',\n    plural: 'authors',\n    relations: {\n      books: {hasMany: {type: 'book', options: {queryInverse: 'author'}}}\n    }\n  },\n  {\n    singular: 'book',\n    plural: 'books',\n    relations: {\n      author: {belongsTo: 'author'}\n    }\n  }\n]);\n```\n\nThis will tell relational-pouch to not save the book ids on the author, and use a query using db.find to look for the related books.\nSince this uses [`db.rel.findHasMany(type, belongsToKey, belongsToId)`](#dbrelfindhasmanytype-belongstokey-belongstoid) internally, you also need an index as specified there, where `belongsToKey` is the field specified in the `queryInverse` option.\n\nFor async relations this queryInverse will not work at this moment and the child id array will not be present on the result. You can use the [`db.rel.findHasMany(type, belongsToKey, belongsToId)`](#dbrelfindhasmanytype-belongstokey-belongstoid) for this scenario instead.\nIf you also don't give relational-pouch the child ids when calling db.rel.save you could also completely remove the hasMany side of the relation from the schema .\n\n#### Advanced\n\nDeeply nested relationships are also possible. Everything just ends up being sideloaded in the same JSON object response.\n\n```js\n{\n  \"lions\" : [...],\n  \"tigers\" : [...],\n  \"bears\" : [...]\n}\n```\n\nWhen you `save`, you must explicitly provide the `id`s of dependent objects, and they must be saved independently. There is no cascading at all.\n\nYou can attach the full entity object with an `id` to another object, but if you include an object without an `id`, it will be ignored.\n\n```js\ndb.setSchema([\n  {\n    singular: 'author',\n    plural: 'authors',\n    relations: {\n      profile: {belongsTo: 'profile'},\n      books: {hasMany: 'books'}\n    }\n  },\n  {\n    singular: 'profile',\n    plural: 'profiles',\n    relations: {\n      author: {belongsTo: 'author'}\n    }\n  },\n  {\n    singular: 'book',\n    plural: 'books',\n    relations: {\n      author: {belongsTo: 'author'}\n    }\n  }\n]);\n\nvar profile = {\n  description: 'nice masculine jawline',\n  id: 21,\n  author: 19\n};\nvar book1 = {\n  id: 1,\n  title: 'The Gunslinger'\n};\nvar book2 = {\n  id: 2,\n  title: 'The Drawing of the Three'\n};\nvar book3 = {\n  id: 3,\n  title: 'The Wastelands'\n};\ndb.rel.save('profile', profile).then(function () {\n  return db.rel.save('book', book1);\n}).then(function () {\n  return db.rel.save('book', book2);\n}).then(function () {\n  return db.rel.save('book', book3);\n}).then(function () {\n  return db.rel.save('author', {\n    name: 'Stephen King',\n    id: 19,\n    profile: profile,\n    books: [book1, book2, book3]\n  });\n}).then(function () {\n  return db.rel.find('author');\n});\n```\n\nResult:\n\n```js\n{\n  \"authors\": [\n    {\n      \"name\": \"Stephen King\",\n      \"profile\": 21,\n      \"books\": [\n        1,\n        2,\n        3\n      ],\n      \"id\": 19,\n      \"rev\": \"1-308a75619dc1b96bece7b6996d36d18b\"\n    }\n  ],\n  \"profiles\": [\n    {\n      \"description\": \"nice masculine jawline\",\n      \"author\": 19,\n      \"id\": 21,\n      \"rev\": \"1-7bd39e62046a0816f9c5a3836a548ec8\"\n    }\n  ],\n  \"books\": [\n    {\n      \"title\": \"The Gunslinger\",\n      \"id\": 1,\n      \"rev\": \"1-f3a305eae85642ce74412141ec0ae0bf\"\n    },\n    {\n      \"title\": \"The Drawing of the Three\",\n      \"id\": 2,\n      \"rev\": \"1-1c94deba48af8c1c2df1c5545246846b\"\n    },\n    {\n      \"title\": \"The Wastelands\",\n      \"id\": 3,\n      \"rev\": \"1-a4a96e3f9e2cb3d516605fa46bbed080\"\n    }\n  ]\n}\n```\n\nThe plugin is not smart enough to infer bidirectional relationships, so you have to attach the relation to both object. E.g. in the above example, each `book` explicitly has its `author` set, and the `author` explicitly has his `books` set. If you want to add a new book, you would need to `save()` the book, add it to the author's list of books, and then `save()` the author.\n\n\n### Managing revisions (\"rev\")\n\nWhen you update an existing object, you'll need to include the `rev`, or else you'll get a 409 conflict error. This is standard CouchDB/PouchDB behavior, so the common idiom is:\n\n```js\ndb.rel.find('post', 1).then(function (res) {\n  // do whatever you want to do to update the post\n  return db.rel.save('post', res.posts[0]).catch(function (err) {\n    if (err.code === 409) { // conflict\n      // handle the conflict somehow. e.g. ask the user to compare the two versions,\n      // or just try the whole thing again\n    } else {\n      throw err; // some other error\n    }\n  });\n});\n```\n\nThis also applies to deletions:\n\n```js\ndb.rel.find('post', 1).then(function (res) {\n  return db.rel.del('post', res.posts[0]).catch(function (err) {\n    if (err.code === 409) { // conflict\n      // handle the conflict\n    } else {\n      throw err; // some other error\n    }\n  });\n});\n```\n\nTo avoid getting into a long discussion of why you have to do this: suffice it to say, when you build a client-server sync architecture, you are building a *distributed system*. Distributed systems are hard, and managing conflicts is just a reality when you have multiple computers that aren't perfectly in sync.\n\nYou will have to deal with conflicts sooner or later. With PouchDB and CouchDB, you simply pay that cost up-front.\n\nJan Lenhardt has [a nice writeup](http://writing.jan.io/2013/12/19/understanding-couchdb-conflicts.html) on this.\n\n### Attachments\n\nThanks to [bterkuile](https://github.com/bterkuile), this plugin also support attachments! Attachments are simply added inline, in the normal PouchDB way, but as\n\n```\ndoc.attachments\n```\n\nrather than\n\n```\ndoc._attachments\n```\n\nI.e. It follows the same convention as `doc.id` and `doc.rev`.\n\nHow does it work?\n-----\n\nA relational Pouch/Couch is just a regular database that has been partitioned by type.\n\nSo for instance, a document with type `\"pokemon\"` and id `\"1\"` might have an actual `_id` like `\"pokemon_1\"`, whereas a `\"trainer\"` with id `\"2\"` might have an actual `_id` like `\"trainer_2\"`. Simple, but effective.\n\nWhat is important is that this plugin leverages the very efficient `allDocs()` API, rather than the slower `query()` API. Also, it joins related documents by simply making extra requests, rather than using native map/reduce joined documents. And it's smart enough to group the requests, so the data is fetched in the fewest posisble number of requests.\n\nAlthough this method may seem naïve, in practice you get much better performance, because building secondary indexes in Pouch/Couch takes quite a bit of time. Whereas if you just use `allDocs()`, it uses the built-in index on `_id`, so you don't have to wait for an index to be built.\n\nTesting\n----\n\n### In Node\n\nThis will run the tests in Node using memory and http adapter:\n\n    npm test\n\nif you don't have a admin party setup you can specify admin credentials in the RELATIONAL_POUCH_DB_AUTH environment variable like this:\n\n\tRELATIONAL_POUCH_DB_AUTH=user:password@\n\nYou can also check for 100% code coverage using:\n\n    npm run coverage\n\nIf you don't like the coverage results, change the values from 100 to something else in `package.json`, or add `/*istanbul ignore */` comments.\n\n\nIf you have mocha installed globally you can run single test with:\n```\nTEST_DB=local mocha --reporter spec --grep search_phrase\n```\n\nThe `TEST_DB` environment variable specifies the database that PouchDB should use (see `package.json`).\n\n### In the browser\n\nRun `npm run dev` and then point your favorite browser to [http://127.0.0.1:8001/test/index.html](http://127.0.0.1:8001/test/index.html).\n\nThe query param `?grep=mysearch` will search for tests matching `mysearch`.\n\n### Automated browser tests\n\nYou can run e.g.\n\n    CLIENT=selenium:firefox npm test\n    CLIENT=selenium:phantomjs npm test\n\nThis will run the tests automatically and the process will exit with a 0 or a 1 when it's done. Firefox uses IndexedDB, and PhantomJS uses WebSQL.\n\n## Changelog\n\n### 4.0.0\n\n- Breaking change: To prevent us from having to do cloning of input documents, we have changed the `save`, `putAttachment` and `removeAttachment` API. These functions no longer return the complete document. The attachment functions only return the new `rev` value, while the save will also return the `id`. So after these promises resolve you have to manually update your in app data to reflect this new revision (and possibly id) if you want to update the document later. You can use something like the following:\n  ```js\n  let updatedData = await db.rel.save('post', post);\n  Object.assign(post, updatedData);\n  ```\n  or\n  ```js\n  post.rev = await db.rel.putAttachment('post', post, 'file', fileData);\n  ```\n- This library now uses Typescript, Webpack and Babel in its build setup. The build creates files in 2 output directories: lib and dist.\n\t- The lib directory will contain the output of `tsc` in esnext mode. So this can be used by Webpack and other module aware systems. These will require Babel transformations if you want to use them, but this way you can specify your own target.\n\t- The dist directory contains 2 files, pouchdb.relational-pouch.browser.js and pouchdb.relational-pouch.node.js. These are compiled by webpack with targets \">2%, not ie 11\" and \"node 10\". This should be sufficient for now, but otherwise you can build your own with Webpack.\n","readmeFilename":"README.md","users":{"andru":true,"fairchild":true}}