{"_id":"bookshelf-paranoia","_rev":"25-cdf7c48a341ac18149d396610561518b","name":"bookshelf-paranoia","dist-tags":{"latest":"0.13.1"},"versions":{"0.0.0":{"name":"bookshelf-paranoia","version":"0.0.0","description":"","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":"","license":"MIT","_id":"bookshelf-paranoia@0.0.0","_shasum":"f754ee415209b503b4f060b541cdb4819eab22b7","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.0","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"f754ee415209b503b4f060b541cdb4819eab22b7","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.0.0.tgz","integrity":"sha512-m4qewkei3RWiXl11JjDK3vsjqW8v5Z1JKTVH7bIQVVtf5WwSF0PHnAeIpOtukgtQT/Qy4Hb4CAZcLYtjuz4Byw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKmrTmJxcCoKrh6T138GXkbZIfGkvhnAxe1Fg3cOB56AiAHSZ5vPUjXzY4emrUXJZCmMP4LaHj8ecsl4uFK+5UzKQ=="}]},"maintainers":[{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"directories":{}},"0.1.0":{"name":"bookshelf-paranoia","version":"0.1.0","description":"Safely get the sum of numbers","main":"index.js","scripts":{"test":"standard && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/bsiddiqui/bookshelf-paranoia.git"},"keywords":["add","math","sum"],"author":{"name":"Basil Siddiqui","email":"basil.siddiqui@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bsiddiqui/bookshelf-paranoia/issues"},"homepage":"https://github.com/bsiddiqui/bookshelf-paranoia#readme","dependencies":{},"devDependencies":{"standard":"^5.2.2","tape":"^4.2.0"},"gitHead":"b5c423657f001effbf26f4d44b372b8d04d25bd2","_id":"bookshelf-paranoia@0.1.0","_shasum":"adb94009db02e3cb00702bae0c572eb20efbaff4","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"adb94009db02e3cb00702bae0c572eb20efbaff4","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.1.0.tgz","integrity":"sha512-ZuoN7Cir8jWj0TIqxOwZkEcgiQEH3FJKMd/7RsLQzzr6OkwTR/+M9RNzXGX/Rsomjat8KJNEuwIHOorlyisQSw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIClSSI/ndceW618aqFO3uzF/rc1qqEqs02+ti3l6pg/3AiEAk74RdjvdtknmM75JRnWTiCsBQi0LUF58/fJ3ro3nEQU="}]},"maintainers":[{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"directories":{}},"0.2.0":{"name":"bookshelf-paranoia","version":"0.2.0","description":"Safely get the sum of numbers","main":"index.js","scripts":{"test":"standard && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/bsiddiqui/bookshelf-paranoia.git"},"keywords":["add","math","sum"],"author":{"name":"Basil Siddiqui","email":"basil.siddiqui@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bsiddiqui/bookshelf-paranoia/issues"},"homepage":"https://github.com/bsiddiqui/bookshelf-paranoia#readme","dependencies":{},"devDependencies":{"standard":"^5.2.2","tape":"^4.2.0"},"gitHead":"e7a0f22a0a5329ea63dd90f267976f365ff42907","_id":"bookshelf-paranoia@0.2.0","_shasum":"42457a4a576df861e748610e48170ff6c69acb5d","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"42457a4a576df861e748610e48170ff6c69acb5d","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.2.0.tgz","integrity":"sha512-FsV0NRCPiWLy45pIC8cheSoMfo5LtqNBRhqHEgnvSk6jgld5wJXC74fP4aOLPhnMpxHcOIjrl6TSNHbTFFkfwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbf5TtftEdKbc3NvVm3hBXBaDluAnbbNDZ3v02y8hKqgIhAJbPMLOreFS3KqiFd1mPcHAkL50p5QOJHvo8V1NjK+g3"}]},"maintainers":[{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"directories":{}},"0.3.0":{"name":"bookshelf-paranoia","version":"0.3.0","description":"Safely get the sum of numbers","main":"index.js","scripts":{"test":"standard && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/bsiddiqui/bookshelf-paranoia.git"},"keywords":["add","math","sum"],"author":{"name":"Basil Siddiqui","email":"basil.siddiqui@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bsiddiqui/bookshelf-paranoia/issues"},"homepage":"https://github.com/bsiddiqui/bookshelf-paranoia#readme","dependencies":{},"devDependencies":{"standard":"^5.2.2","tape":"^4.2.0"},"gitHead":"cd3fe7da06003bdef37abf6cda1a50fcd071c432","_id":"bookshelf-paranoia@0.3.0","_shasum":"78f50e3d0bd5b1dce856b1bd24ff09b58e153af0","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"78f50e3d0bd5b1dce856b1bd24ff09b58e153af0","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.3.0.tgz","integrity":"sha512-sGwrekJ6OcnYVB3sY2CJ/4L7VAs7GSqLPrrZX+wAQqcU/jicXbBIOBVST1V2wC6Cb6/CRDen/QDxDb0bC/CLKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtHorXT5BPW6KXbSBvyULjON+Y5Z68fULDPnunadSOPgIhAJu8D095Kd/tMjwlOC56iDxQPIM/sSy6RoaTQ+N1mepo"}]},"maintainers":[{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"directories":{}},"0.4.0":{"name":"bookshelf-paranoia","version":"0.4.0","description":"Safely get the sum of numbers","main":"index.js","scripts":{"test":"standard && tape test.js"},"repository":{"type":"git","url":"git+https://github.com/bsiddiqui/bookshelf-paranoia.git"},"keywords":["add","math","sum"],"author":{"name":"Basil Siddiqui","email":"basil.siddiqui@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bsiddiqui/bookshelf-paranoia/issues"},"homepage":"https://github.com/bsiddiqui/bookshelf-paranoia#readme","dependencies":{"lodash.result":"^3.1.2"},"devDependencies":{"standard":"^5.2.2","tape":"^4.2.0"},"gitHead":"2b406a7bb2376f27b99c2da986db5fcedeba695f","_id":"bookshelf-paranoia@0.4.0","_shasum":"cc4469c4c0181397c6a8b29147b0494d4304eb5b","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"cc4469c4c0181397c6a8b29147b0494d4304eb5b","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.4.0.tgz","integrity":"sha512-5ww1Q/XOUu2efQdDiTf0P/u/kQyoDHtAQpn9sUYeAFdBBmACOjjmDNJ/JIHtHAqG0ttBA7q4pGMzS8UR2D6oTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID5b4lu/7YLi8mLy5uIkf2Sz9wioeZsBRBq6ntSCmdECAiAGHTvYsv7A7v/CaQBg5l4+THZS/gxGNZ2aDpCCTJyEdA=="}]},"maintainers":[{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"directories":{}},"0.5.0":{"name":"bookshelf-paranoia","version":"0.5.0","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"8544f500b4e42d1c25cae1c981779481146fea93","_id":"bookshelf-paranoia@0.5.0","_shasum":"c52c34fff17620c6f75ae91413294e2a23d06a72","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"c52c34fff17620c6f75ae91413294e2a23d06a72","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.5.0.tgz","integrity":"sha512-nbcdizieQ2njFYVNOwRgSR3Pvh+Xr/vQSXq9KkCXqoUsals+jP9CWJUZIZmAnqxYWJsXu9be/nUwYpxlPSYv7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAlKV4pkEp51hnnqrK8O8v1vAQAXFKLENrFBhck15xryAiEAgeL21cMlr9mtjGVNmtj9OMV0vOVUccq07HjfmxM6VxA="}]},"maintainers":[{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/bookshelf-paranoia-0.5.0.tgz_1461105046515_0.0543972454033792"},"directories":{}},"0.7.0":{"name":"bookshelf-paranoia","version":"0.7.0","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"aca3e5e7dabe6a469272d23a2ec16120cbaf9657","_id":"bookshelf-paranoia@0.7.0","_shasum":"0f241f3d0ef9f692f37b88b79d84ed001bcee57e","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"0f241f3d0ef9f692f37b88b79d84ed001bcee57e","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.7.0.tgz","integrity":"sha512-Wc+UlTdPVVDy+YRDsYeD8LdUY6tXR4TjdmcsBY3GxG3stOAQ8nyhdcjqfc7gKFZBwcMhE+Rb00ojdsWLkzNFfA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0BhlqOds0gWNJpQUITGKBKXQnmRCAkP+NaTva8KaungIhAPuf0c4D5CifZ3HGslarX8w7sni8SJ22+YBI2OwgmIgg"}]},"maintainers":[{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bookshelf-paranoia-0.7.0.tgz_1461280272717_0.5001932019367814"},"directories":{}},"0.8.0":{"name":"bookshelf-paranoia","version":"0.8.0","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"082a177c58f037cec803179b8c8b27699107e4cb","_id":"bookshelf-paranoia@0.8.0","_shasum":"10dc7979c87d1007278e044e9246df2ee2cf02df","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},"dist":{"shasum":"10dc7979c87d1007278e044e9246df2ee2cf02df","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.8.0.tgz","integrity":"sha512-sRV6sMYAiPm5xMxoQSBpAvMoBD4xGWd2fwAtj1ErcV4MSR9/8+gw7bElpuBueqt7hhUUuiEtk0CxuMvClI63+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdfOKBTb6WDN3SF1W7CFHqzBT5D5Wy17208dxNViUxZgIhALx99TwrY0uwbR8vkcHpTwmnztKzbA3UxB77blaYnF6V"}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/bookshelf-paranoia-0.8.0.tgz_1470778210084_0.8793355068191886"},"directories":{}},"0.9.0":{"name":"bookshelf-paranoia","version":"0.9.0","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"a61a824a1be78bebb578ee14608f69f41f7cb183","_id":"bookshelf-paranoia@0.9.0","_shasum":"cae7fac3656b554623c9f382865d6adde8c63b1b","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.4.0","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"cae7fac3656b554623c9f382865d6adde8c63b1b","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.9.0.tgz","integrity":"sha512-sPjNseoYtELuUs4t9xxA7L1c2ZXuXfYYMGbW98zx4q8XIqJbSeWzyKxlNBHrsVn2OL675EXa7t+Z4oZjE3Jaiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFA0havyt9NQK4AtAwZYsJsEeBRaK+KcbHUBH+i5wCNeAiEA5vAVV9vDnduv9p/EwTKxkQFoGmCOSto1i1M+ETDCPNA="}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bookshelf-paranoia-0.9.0.tgz_1475270798455_0.6236920726951212"},"directories":{}},"0.10.0":{"name":"bookshelf-paranoia","version":"0.10.0","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"d3760962d63791f7b0e78ae6f9fa4eaf12ef1cce","_id":"bookshelf-paranoia@0.10.0","_shasum":"0027e3eb5d092f64c817b77da801abd5de1a7955","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.6.0","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"0027e3eb5d092f64c817b77da801abd5de1a7955","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.10.0.tgz","integrity":"sha512-cZxVbPuVKAkZYl4nw+ebE+r1BVIMfXoYAMc2NB9RJWhlJLd3A3546P6lqZ2KtDYTo6ypToYMH6WWfbnIzwlgTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHUMpW3o89c0AVXpQjvopmn9EtLY0XboHQDk5zAA5T9AAiEAyTma0i5MW5qlTGD5Ez9QlWxk1BxbN/5+oziMEwZ6up8="}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bookshelf-paranoia-0.10.0.tgz_1484252489573_0.38619923987425864"},"directories":{}},"0.10.1":{"name":"bookshelf-paranoia","version":"0.10.1","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"efd39183565fb67eed87d0327f444264c08e65c6","_id":"bookshelf-paranoia@0.10.1","_shasum":"a5b495e14b1dc62b1baae95a0f4e16a41ccef6e9","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.6.0","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"a5b495e14b1dc62b1baae95a0f4e16a41ccef6e9","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.10.1.tgz","integrity":"sha512-rORQ4EqDzL/oGBJdTkR+KtqeKhgJN8XGW3AFSTmB//NC3eaLRup3Q2Ee72U0NbW9ZB9QoJwgePxdkaO/ZGgQIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDppRJUz0xWrGgZrDVF4O7nwIIYRZ1W0kOwvln6mbMH3gIgGFFlRYmm7/fgsqYVJHOXkR2JPRDSVb2SD53I6BAH0ok="}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bookshelf-paranoia-0.10.1.tgz_1484274504499_0.8424915201030672"},"directories":{}},"0.10.2":{"name":"bookshelf-paranoia","version":"0.10.2","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"lodash.isempty":"^4.4.0","lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"d22eba008797d0509edd73c0abc4f9aaa25e7563","_id":"bookshelf-paranoia@0.10.2","_shasum":"fa8ee3a50875467c227c37e4f44559a2cc201c16","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.6.0","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"fa8ee3a50875467c227c37e4f44559a2cc201c16","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.10.2.tgz","integrity":"sha512-ctZgVs0YUxV5A5a33525TVW+w4KvjWDXGwPCkV9EdizXh/W6lFy7iUvfRIALcImAR6GpJ9KAOkeXZqF5enOrqg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGZYV1oPP5JIMV2rGR/o5iKt0welfN7j44CFjgNu99gaAiEAjuWglpsvC9OZh/2P0/shssIDWMINSUBUjeF8I/eokog="}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bookshelf-paranoia-0.10.2.tgz_1485501541236_0.7048465779516846"},"directories":{}},"0.10.3":{"name":"bookshelf-paranoia","version":"0.10.3","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"lodash.isempty":"^4.4.0","lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"9a1d8008d5efe316537ff826069365235c123190","_id":"bookshelf-paranoia@0.10.3","_shasum":"a17d5d366ece477160fdf7777c8a25357edac90e","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.6.0","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"a17d5d366ece477160fdf7777c8a25357edac90e","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.10.3.tgz","integrity":"sha512-SccWfdiZwJ3QfBHNS2hUTZsFCEglvLliqoX0dm4etCvxAgSSNma1q0nDA99YurK6VBPud/bbxF7bPsMr0c0Pzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPsjDLefFFGd3LrMIyJSh0LbI0PX1DJ01k+msDwLgGNQIhAOHvf/A93A2VvGtftzv1j6gBfTHx5ZJmmbjRgxfOR24g"}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bookshelf-paranoia-0.10.3.tgz_1486659373629_0.4845972587354481"},"directories":{}},"0.10.4":{"name":"bookshelf-paranoia","version":"0.10.4","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"bluebird":"^3.4.7","lodash.isempty":"^4.4.0","lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"917e34feba9f9cdbf266700ac73afa223ab5523a","_id":"bookshelf-paranoia@0.10.4","_shasum":"481f031158c647898593b78e2a1007383463c813","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.6.0","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"481f031158c647898593b78e2a1007383463c813","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.10.4.tgz","integrity":"sha512-h1WR0wTeIRIX2ubNXLwcML9CU5bpGTHdQiXELnRp2tM0Or3HchwV9sNPuYLaMmCOBdERqk+j5EhVgs1yy52FqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHIr2eKpYZs8g9MtnMR3S4pg1yGeuyHyhqg3FdntqqshAiEAyhJoa9lS7Ys12gYpBOJy+TCpgXWN8ywNJ8l9ivapIHk="}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/bookshelf-paranoia-0.10.4.tgz_1487541618140_0.18701915116980672"},"directories":{}},"0.11.0":{"name":"bookshelf-paranoia","version":"0.11.0","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"bluebird":"^3.4.7","lodash.isempty":"^4.4.0","lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"5da0a256e04e5b3626c5c97282cc000b4f056a9f","_id":"bookshelf-paranoia@0.11.0","_shasum":"bdacd6ddfdaa2e65a47dde547e30570f0785f712","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"shasum":"bdacd6ddfdaa2e65a47dde547e30570f0785f712","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.11.0.tgz","integrity":"sha512-wLiVZMUDvSNRFe6yGNMroJcV6+YRBFtV1+D7ABFK51OmrJiDzuWw8WEAx/fDSePmThYTj7UQGbD0E8wUGp6Mww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAwsKwpKTZ9yIi86+uPkI3ORAzwXSA0C7Ay/G/4q9OX8AiEAlyhrIQfAyzG/0VEnzlROyIpdPIUwQZJDGia3XCWtYGo="}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/bookshelf-paranoia-0.11.0.tgz_1493606067714_0.6447250263299793"},"directories":{}},"0.11.1":{"name":"bookshelf-paranoia","version":"0.11.1","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"bluebird":"^3.4.7","lodash.isempty":"^4.4.0","lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"15e9191ccd430106c62888bfa5843f4deada23a3","_id":"bookshelf-paranoia@0.11.1","_npmVersion":"5.6.0","_nodeVersion":"9.10.1","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"integrity":"sha512-VT8xvyV6EnA/Lvr1p3Xt6IqXFBnIBmczxC07zPEFVhpudzGV9DRrf/83Y0CbGaPqO4G8xJDDqQukySsrtY9eRA==","shasum":"e04e9a8431cb0793bb1fc5ca1ec06d9ce3c4a928","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.11.1.tgz","fileCount":37,"unpackedSize":48360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUA73CRA9TVsSAnZWagAAA6MP/2UQlvM3hLjxm5+MIn+q\njzPW4fAsUiQb3EeBF5lQyrncmRQ2hBrbkw7gIGuV8UCv+btqm2ekZJzMHDQ7\n8gdaNiW7SaOfBjpYx7lZQzkzivZBjkipRuqUU96rQpJMG1PFHVk8wkuFzCdv\n7fk0UGmiLmoM9C7RXB6k2cZAFVdBlxSt6a9ZzG0MJebagtExe5Qo6MQw7Jz2\nZap0QAebOHfyuyWu+0pm2rPasVPZbIdp92Y+vVfUu4T2hdWhvXws96DyJ6gs\nSH4IksUrbFW+uxoZGd/rPSj9jG/vMVuBPqQm11pCk22PQHg+CoAbhEkcD9vz\n5Yd1m8hLRtY2EA47mlU+aUzjx2xXvoTwECcVFs+zKLbqFTREshldGMmmoWow\ngxha5EvMDXXls3skgGPcqtG10ea2CKUcJmr7Dgg+um16ep7H/OsdlfdwiuRx\nwlVH4yTCPsIpjkLGyJ/IfggKgvmwqmRDV/rGzBrdFKfYpk6LKJNfT67GtOf0\nJ6GBf5NRAcZDZUhMmGWqS5DCBCBnwb7nLCSv0G9GGCtjPMLJMglrr97A61jo\ngGBaG+n4f1jPPRNHqcqTxj5DNsZQ2c25z22Pu21p9lz66Cysrjsz1z3bp5j4\nsfol/9T9hHGSJFzQLm6tugRH9jWFXIdGmKEjJWVm076REVYm7avrjNRzl8cv\nNP2m\r\n=gz1e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID7DkQ7xsx1Jzu0rQgFLEdLGoRVFO5KzQ8VzlwDaIsAkAiEA+GV52mmWCwgW5621uwahs+tGEXp5ESoGVmhtQ7qwwNk="}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bookshelf-paranoia_0.11.1_1531973367834_0.24517246993171637"},"_hasShrinkwrap":false},"0.12.0":{"name":"bookshelf-paranoia","version":"0.12.0","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"bluebird":"^3.4.7","lodash.isempty":"^4.4.0","lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"c920a7c3111bcc797c7372c28cb76e5005775535","_id":"bookshelf-paranoia@0.12.0","_npmVersion":"5.6.0","_nodeVersion":"9.10.1","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"integrity":"sha512-A5pYtIFYjAgo+tFqO+hEMhMx3NsIdUAjn2dR6lfcVoGRswPQfNbpE48TD+6vtQyZ+lnVT939QrFP62j9nZd45Q==","shasum":"61e4f5b212bf985c32c1ed1600d41f94c83aedd5","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.12.0.tgz","fileCount":37,"unpackedSize":48998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbULQ1CRA9TVsSAnZWagAAsygP/0dgeXozO8bSYZoqHwQw\nhKaT4UKTc3H25Va4gVknK6ra2VyCj4t5ymQ1wggTtB7jnnqwYk/TRlI1N6I0\nJgZspiMKR3A6UIafGkXNSfKkUi7mdMNgWGNm5/g3ldoY2UQW27DW/DAEemVU\nijeotnOR9HyEV+PDbDKAzxLr92p8ylN/aDrvmpa19oIzaZ5WoULpLWVZuxij\nn2x4dDXNUdGLgkZMyulkIOiTDXjIxv3CW+U4cPImp1MIwZmt6VnE74b1Dm32\ni4BT+aVf9T/6mzaW42tyjdBYCW8tXIkeIlWplAJX7nAa1Ho7UVgZFVOEzn08\ncwZS6NaEalQyFZp9A6KSDBJhc2hmV683P/Jx45TbD0qt3VzuX4uWis+n1E5J\nmz4liAcUMED8lHF6Q+mRVXsPEtzdeDnhxeiAQEZKTguRA8wsyWBtiKu55xW9\nT08NDq5bZ81yBxsc/2HrVMHh+AZhApmeHX4pwN7ApZi6Y1TwoRwx+C8zR0mK\nFipZrxY7UpiuKqVNTDoEcjFn4uTDkJi/I7czqqEZ4NToMF2L22Mk/dCfKGJ/\nX+6WaZZQ8AbSCPtDbDQ7ReONDKYWw0HagIJ+kd8K8JN5efI8/Fzrx65G/1Vh\neIT6bNz12eZRg/Xvoq+NSqss5bH8fOvTr8LBi8MsTFMdRVlOowiWeTkgqud4\nRbzn\r\n=5Xmf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCa0SypfMs5/VVIOBZRC6f1flmyM8Ja8QwdaFXx66eweQIhAKxkyW34pQSqF7WYzIM+MhToMd4ItuuHLra71I8VLqXb"}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bookshelf-paranoia_0.12.0_1532015669144_0.2446265852630216"},"_hasShrinkwrap":false},"0.12.1":{"name":"bookshelf-paranoia","version":"0.12.1","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"bluebird":"^3.4.7","lodash.isempty":"^4.4.0","lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"3cf46dd73bb8274f372f259a8b78a6ed07851d13","_id":"bookshelf-paranoia@0.12.1","_npmVersion":"5.6.0","_nodeVersion":"9.10.1","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"integrity":"sha512-Mg0WjUiQpeqNigpjUjOvGQLNPNQlD/jUpJfIWwZQTbg09acwF/tVGSWSj/73x3NCzeeUTkfVkJQErv+rQ8y+EA==","shasum":"bba8739cd954678564b18a3d69cb887133193dc6","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.12.1.tgz","fileCount":37,"unpackedSize":49061,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbazJVCRA9TVsSAnZWagAAVOIP/1rC6saJTamjB/MosItW\nvD6B2GKcerOGKNmb0yPMjSFGJaWqXvFS0OKOVoQrysK4ulWoChVeojayM91J\n8a1LC7O9a7hd0aboXTknmcMG0aTtJWYJG7JoHrCo4QzbBBXXsnj2tnDwkFPI\nY8POL7X+g5EupHz/z8bNHzoiyq/pBs1Jd0s4gm7LziK6/zRSWj01iLz78ZNu\nCMhHvPPN8cRnX8NyGVaVAzPl7nSETXjgUH/oLw2cczv+7L7ry22jfy2TmIsY\n6TgP2tVB3ysCks3SJ1/5X9MAbYKqB3m0DnrIhVTS2WlmjZjgKaQjBPKQsx9J\nZqwsvO36uhN/Q2sgtx3tBNSxtQ0/M4NDbuz/YC3fY7oLFI8VijWlrLNpY9DF\nDB/Fc4mo5O9MyGvYq/vjOOhZepCGmfwyYkTCuixB06Bpyn+wugOOJUKsjd2e\nCzc2o1XjpxEJbv1wAOz5xIe2ur5Sem6wPCE2PD0AAW0KzG6ID0bN/V6hHWPs\nREaNjs639oKZOKC2/X9B+RC1kQ5quKSRIlZsY33Xo0AL/zhAxwcNsTwyU4vn\nSRdyZNxXpIWTp55r4SVGbG1bZ05XYRYcsIKSVGR79Bz21AMwWW9IE96Nm6Ni\nNueggwkd7W9wh7p+Y+wgZQbqu5UFQMW7xsqMytoh8tX1zbWhR56S5ywlGZgE\nJteo\r\n=wdec\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGOVfk1mAnltLnsn8IWF/iH47TiEzQTXprpnEyX2LihoAiAtT3EiPZUoiz7p3nJetC17+izerlkTDBlFs/vpNNcDsQ=="}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bookshelf-paranoia_0.12.1_1533751893830_0.5132075078569656"},"_hasShrinkwrap":false},"0.13.0":{"name":"bookshelf-paranoia","version":"0.13.0","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"bluebird":"^3.4.7","lodash.isempty":"^4.4.0","lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"82b380ed9784ab310bbc9b9809fbcd61f354c357","_id":"bookshelf-paranoia@0.13.0","_npmVersion":"5.6.0","_nodeVersion":"9.10.1","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"integrity":"sha512-yEotXLQSFfVfa6HdW5KvmqUIQUTphYrD1V/ZsArMG7lxrfK0K8p6euzMZr1vLmfVVOZVvf7ISv5QwwE3Hon0wQ==","shasum":"1cd533d82e841222c33cb518a4a7be70410213fa","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.13.0.tgz","fileCount":37,"unpackedSize":50265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbet6CRA9TVsSAnZWagAA1m8P/A/8PRxq7TlUnbJAJSGs\nbzVZ6BMsRb7q6SuN/WtRK9DEY6pCTqV3BC1dTDpHsT0zow4vU9R6BeovrxdD\nV4EbRizxbADKLmcTwwnWrXxe4Y7yUQ0vjVqCQ7BCMz6NM64F4JvlSq67d3HW\nukGBedROn81Ycgpo1IXnfahKB8f+dxlrz/CULlQ7WqKxE7zss3fXI4RxDHQ+\nsL3dAbEgn9f6TENfYkxxkQ8Qb010FLG9X3w/GmkpZeSax1XKIlutx1Y/ynJb\nY4vY11nj8Bs59OWapIrCuVaRlkc1RZfVFvfkUiT1wd0QY2F548xpB59ZjvKd\nugOU/O6lOt6u5mkydus1p39ramem8VLxS7ez5F0KJMjm4WlgAQH/qsF+2XgB\n1sSc1cX+43HPQtZO7Q6VFhLsjFD1TUbSNGwkDQCEFJMxHXlhpQrr0Z1HqzlP\nMEUv5lf8O4R5BLePPcnqsq7BZHBYo21n23ulm21xZLGUdJjdqt+Vfd4EeI/A\nfp1rHdmUyiOkWjAeu40fU3plLQwnuuV9/gzoSYNUbBY9dBh47O3MwvQeeyXa\nWzcPvHFH4hmVeE7PghbgIwefQT+pD8sulH1IgSWx8NsEmNp64Z6+hpLfRmNb\nll9WI54z68sr8Brkw8MFeU3NGkexcwj6vhDWaxXM6TDyd0gNTVE5z1h79Sss\nHO8X\r\n=/Suk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB6zf+I981O8yFJU8gy4nbV/JxlQcS0m0HjKue7WqU37AiBgGLbwpB69YN740oCX1KNs/ULOqiTtLCtQY+tpwFgklA=="}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bookshelf-paranoia_0.13.0_1533930362287_0.3669255792092445"},"_hasShrinkwrap":false},"0.13.1":{"name":"bookshelf-paranoia","version":"0.13.1","description":"Soft delete data from your database","main":"index.js","scripts":{"test":"standard && lab --verbose --colors --assert code --ignore __core-js_shared__","test-cov":"npm test -- -r console -o stdout -r html -o coverage/coverage.html -r lcov -o coverage/lcov.info","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","knex":"knex --knexfile test/db/knexfile.js","migrate":"npm run knex -- migrate:latest","seed":"npm run knex -- seed:run"},"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"author":{"name":"Estate","email":"team@tryestate.com"},"contributors":[{"name":"David García","url":"https://www.linkedin.com/in/davidgarciafdz/"}],"license":"MIT","bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"homepage":"https://github.com/estate/bookshelf-paranoia#readme","dependencies":{"bluebird":"^3.4.7","lodash.merge":"^4.3.5","lodash.result":"^4.3.0"},"devDependencies":{"bookshelf":"^0.9.4","co":"^4.6.0","code":"^2.2.0","eslint":"^2.13.1","knex":"^0.10.0","lab":"^10.3.1","sqlite":"0.0.4","sqlite3":"^3.1.3","standard":"^6.0.8"},"gitHead":"1e5185f4bc5b20de27cacb1117890bec72b364d2","_id":"bookshelf-paranoia@0.13.1","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"},"dist":{"integrity":"sha512-toZrorGYnhdkbzEb8WaXwmHw8LIJ6dgitg1L/IbZ6hikIlCXHrSe6nOF74ZC+Cnldxf+GT5iiyG33Rh1dVU5lw==","shasum":"bdf5761d2fbb0026f9aa8328d44830991d9f43c4","tarball":"https://registry.npmjs.org/bookshelf-paranoia/-/bookshelf-paranoia-0.13.1.tgz","fileCount":37,"unpackedSize":50596,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEnj6CRA9TVsSAnZWagAAixwP/RRygnSqiSTXuDDJ3oYa\nmMsuE1Cs+ChNEG+k6uSBaT1anBc6UXLRQsKeIY2gL9q4q5q07MKLpuFN7xLh\n3geb+J4Mew8fu464q/EJOx3Jp+nUKWh/SUjv4wydxjPt2aWj1HLXq5tsNEK0\ni2oV802oOweE/yxRubBdZa3gSaBTbVgP9lbkVFDlOtRH+C/3XEi1ZILbVzLn\nWsOeoTPLF6iHnjP8GMc+o6WvOFPr2sTgLC7yWocZipT4kF7d6bo+pq44utv+\nyXVNe2N2Mm1z9PcbpHljIcaiyMecrIkIqhfhy4FY/UYdytyQ3Vmn2V405Cpk\nhe4g1OkdwsxdHjPBxgjFt5xdqlCZhL1Bc0cUVyJUU+x0bRq/qqipkqYbvnzD\nBwP/7jKPZ7YU0okCaxKq9vcxfyLw7XcLqHJkqQopZjESnFo9BuqYDlaCfJCq\nZMPFBirikCm0vnOqTVarACDAc02k105KBiASpHS/n7fDq79K+seIgb+MS0/d\nDzg01uEVDGlP+fm+SL60EpEWjTXvRUu35TL84OYQqEB5do493oOe4WAkDI4c\nyeg+ELeOGzpESyqitAcC9hig7DzWjiINEaNpqt/liRSEhaN3lcgxiTcls3Wr\nX+qVJE9HaHQeaXeQLkje5yUC7DtbtkeJvZd/8eoS7+OIEYoBWGXHaToK4JFX\npwnB\r\n=YV/F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBE8lspVLDBZaHWuHW7eY/VuTYnubaElV6A1pZT/nP9QAiAzkq8uWthGIVzIEGrXrqIES82fkei6qDI/+U76GJD5AQ=="}]},"maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bookshelf-paranoia_0.13.1_1544714489376_0.6858119633134476"},"_hasShrinkwrap":false}},"readme":"# bookshelf-paranoia\n[![Build Status](https://circleci.com/gh/estate/bookshelf-paranoia.svg?style=shield)](https://circleci.com/gh/estate/bookshelf-paranoia)\n[![Code Climate](https://codeclimate.com/github/estate/bookshelf-paranoia/badges/gpa.svg)](https://codeclimate.com/github/estate/bookshelf-paranoia)\n[![Test Coverage](https://codeclimate.com/github/estate/bookshelf-paranoia/badges/coverage.svg)](https://codeclimate.com/github/estate/bookshelf-paranoia/coverage)\n[![Version](https://badge.fury.io/js/bookshelf-paranoia.svg)](http://badge.fury.io/js/bookshelf-paranoia)\n[![Downloads](http://img.shields.io/npm/dm/bookshelf-paranoia.svg)](https://www.npmjs.com/package/bookshelf-paranoia)\n\nProtect your database from data loss by soft deleting your rows.\n\n### Unmaintained\n\nI don't use this package anymore so it's un-maintained. I still spend a little time managing small\nfixes but do so at a fairly slow pace. If you're interested in maintaining this project, please reach out to me.\n\n### Installation\n\nAfter installing `bookshelf-paranoia` with `npm i --save bookshelf-paranoia`,\nall you need to do is add it as a bookshelf plugin and enable it on your models.\nThe default field used to soft delete your models is `deleted_at` but you can override that.\n\n```javascript\nlet knex = require('knex')(require('./knexfile.js').development)\nlet bookshelf = require('bookshelf')(knex)\n\n// Add the plugin\nbookshelf.plugin(require('bookshelf-paranoia'))\n\n// Enable it on your models\nlet User = bookshelf.Model.extend({ tableName: 'users', softDelete: true })\n```\n\n### Usage\n\nYou can call every method as usual and `bookshelf-paranoia` will handle soft\ndeletes transparently for you.\n\n```javascript\n// This user is indestructible\nyield User.forge({ id: 1000 }).destroy()\n\n// Now try to find it again\nlet user = yield User.forge({ id: 1000 }).fetch() // null\n\n// It won't exist, even through eager loadings\nlet user = yield User.forge({ id: 2000 }).fetch() // undefined\n\nlet blog = yield Blog.forge({ id: 2000 }).fetch({ withRelated: 'users' })\nblog.related('users').findWhere({ id: 1000 }) // also undefined\n\n// But we didn't delete it from the database\nlet user = yield knex('users').select('*').where('id', 1000)\nconsole.log(user[0].deleted_at) // Fri Apr 15 2016 00:40:40 GMT-0300 (BRT)\n```\n\n### Overrides\n\n`bookshelf-paranoia` provides a set of overrides so you can customize your\nexperience while using it.\n\n```javascript\n// Override the field name that holds the deletion date\nbookshelf.plugin(require('bookshelf-paranoia'), { field: 'deletedAt' })\n\n// Override the null value if you're using a database that defaults values to\n// something other than null\nbookshelf.plugin(require('bookshelf-paranoia'), {\n  nullValue: '0000-00-00 00:00:00'\n})\n\n// If you want to delete something for good, even if the model has soft deleting on\nyield User.forge({ id: 1000 }).destroy({ hardDelete: true })\n\n// Retrieve a soft deleted row even with the plugin enabled. Works for\n// eager loaded relations too\nlet user = yield User.forge({ id: 1000 }).fetch({ withDeleted: true })\n\n// By default soft deletes also emit \"destroying\" and \"destroyed\" events. You\n// can easily disable this behavior when setting the plugin\nbookshelf.plugin(require('bookshelf-paranoia'), { events: false })\n\n// Disable only one event\nbookshelf.plugin(require('bookshelf-paranoia'), {\n  events: { destroying: false }\n})\n\n// Enable saving, updating, saved, and updated. This will turn on all events\n// since destroying and destroyed are already on by default\nbookshelf.plugin(require('bookshelf-paranoia'), {\n  events: {\n    saving: true,\n    updating: true,\n    saved: true,\n    updated: true\n  }\n})\n```\n\n### Sentinels/Uniqueness\n\nDue to limitations with some DBMSes, constraining a soft-delete-enabled\nmodel to \"only one active instance\" is difficult: any unique index will\ncapture both undeleted and deleted rows. There are ways around this,\ne.g., scoped indexes (WHERE deleted_at IS NULL), but the most portable\nmethod involves adding a so-called sentinel column: a field that is true/1\nwhen the row is active and NULL when it has been deleted. Since unique\nindexes do not consider null fields, this allows a compound unique index\nto fulfill our needs: indexing ['email', 'active'] will ensure only one\nunique active email at a time, for example.\n\nTo maintain backward compatibility, sentinel functionality is disabled\nby default. It can be enabled globally by setting the `sentinel` config\nvalue to the name of the sentinel column, nominally \"active\". The\nsentinel column should be added to all soft-deletable tables via\nmigration as a nullable boolean field.\n\n```javascript\n// Enable sentinel values stored under \"active\"\nbookshelf.plugin(require('bookshelf-paranoia'), { sentinel: 'active' })\n\nlet user = yield User.forge().save()\nuser.get('active')  // will be true\n\nyield user.destroy()\nuser.get('active')  // will be false\n```\n\n### Detecting soft deletes\n\nBy listening to the default events emitted by bookshelf when destroying a model\nyou're able to detect if that model is being soft deleted.\n\n```javascript\nlet model = new User({ id: 1000 })\n\n// Watch for deletes as usual\nmodel.on('destroying', (model, options) => {\n  if (options.softDelete) console.log(`User ${model.id} is being soft deleted!`)\n})\n\nmodel.on('destroyed', (model, options) => {\n  if (options.softDelete) console.log(`User ${model.id} has been soft deleted!`)\n})\n\nyield model.destroy()\n// User 1000 is being soft deleted!\n// User 1000 has been soft deleted!\n```\n\n### Testing\n\n```bash\ngit clone git@github.com:bsiddiqui/bookshelf-paranoia.git\ncd bookshelf-paranoia && npm install && npm test\n```\n","maintainers":[{"name":"alanhoff","email":"alanhoffmeister@gmail.com"},{"name":"bsiddiqui","email":"basil.siddiqui@gmail.com"}],"time":{"modified":"2022-06-13T04:55:49.962Z","created":"2015-09-26T23:19:04.822Z","0.0.0":"2015-09-26T23:19:04.822Z","0.1.0":"2015-10-14T03:12:57.869Z","0.2.0":"2015-10-20T02:28:56.849Z","0.3.0":"2015-10-20T03:17:38.156Z","0.4.0":"2015-10-20T04:32:47.644Z","0.5.0":"2016-04-19T22:30:49.254Z","0.7.0":"2016-04-21T23:11:13.280Z","0.8.0":"2016-08-09T21:30:13.606Z","0.9.0":"2016-09-30T21:26:38.680Z","0.10.0":"2017-01-12T20:21:31.304Z","0.10.1":"2017-01-13T02:28:26.385Z","0.10.2":"2017-01-27T07:19:01.481Z","0.10.3":"2017-02-09T16:56:13.918Z","0.10.4":"2017-02-19T22:00:19.976Z","0.11.0":"2017-05-01T02:34:28.012Z","0.11.1":"2018-07-19T04:09:27.973Z","0.12.0":"2018-07-19T15:54:29.208Z","0.12.1":"2018-08-08T18:11:33.973Z","0.13.0":"2018-08-10T19:46:02.429Z","0.13.1":"2018-12-13T15:21:30.180Z"},"license":"MIT","readmeFilename":"README.md","description":"Soft delete data from your database","homepage":"https://github.com/estate/bookshelf-paranoia#readme","keywords":["bookshelf","knex","db","delete","safe","paranoia","database","soft"],"repository":{"type":"git","url":"git+https://github.com/estate/bookshelf-paranoia.git"},"author":{"name":"Estate","email":"team@tryestate.com"},"bugs":{"url":"https://github.com/estate/bookshelf-paranoia/issues"},"users":{"akinjide":true},"contributors":[{"name":"David García","url":"https://www.linkedin.com/in/davidgarciafdz/"}]}