cloudant-upsert
Advanced tools
Comparing version 0.9.4 to 0.11.0
@@ -1,12 +0,11 @@ | ||
var Cloudant = require('cloudant'); | ||
var cloudant = Cloudant('<YOUR_CLOUDANT_URL>'); | ||
var Cloudant = require('@cloudant/cloudant'); | ||
var cloudant = Cloudant('<YOUR-CLOUDANT-URL>'); | ||
require('../index')(cloudant); | ||
cloudant.db.use('mydb').upsert('carmine', doc => ({ | ||
"_id": "carmine", | ||
"_rev": doc._rev, | ||
"text": "Woop! Woop! We're using callbacks" | ||
cloudant.db.use('mydb').upsert('carmine', prevdoc => ({ | ||
text: "Woop! Woop! We're using callbacks", | ||
}), (err, data) => { | ||
if (err) console.log('error', err.reason) | ||
else console.log('data', data) | ||
}) | ||
if (err) console.log('error', err.message); | ||
else console.log('data', data); | ||
} | ||
); |
@@ -1,11 +0,14 @@ | ||
var Cloudant = require('cloudant'); | ||
var cloudant = Cloudant({ url: '<YOUR_CLOUDANT_URL>', plugin: 'promises' }); | ||
var Cloudant = require('@cloudant/cloudant'); | ||
var cloudant = Cloudant({ | ||
url: '<YOUR-CLOUDANT-URL>', | ||
plugins: 'promises', | ||
}); | ||
require('../index')(cloudant); | ||
cloudant.db.use('rooms').upsert('carmine', doc => ({ | ||
"_id": "carmine", | ||
"_rev": doc._rev, | ||
"text": "Woop Woop! We're using promises", | ||
cloudant.db | ||
.use('mydb') | ||
.upsert('carmine', prevdoc => ({ | ||
text: "Woop Woop! We're using promises", | ||
})) | ||
.then(r => console.log('result', r)) | ||
.catch(e => console.log('error', e)); | ||
.catch(e => console.log('error', e.message)); |
28
index.js
function upsertFn(db) { | ||
function upsert(docId, transform, qs, callback) { | ||
if (!transform) { | ||
return callback('transform missing. signature is: upsert(docId, transform, qs, callback)') | ||
return callback( | ||
'transform missing. signature is: upsert(docId, transform, qs, callback)' | ||
); | ||
} | ||
@@ -35,3 +37,3 @@ | ||
} else { | ||
return Promise.reject(MSG_INVALID_DOC) | ||
return Promise.reject(MSG_INVALID_DOC); | ||
} | ||
@@ -43,3 +45,3 @@ }; | ||
if (doc) { | ||
db.insert(doc, doc._id, function (err, data) { | ||
db.insert(doc, doc._id, function(err, data) { | ||
if (err) callback(err); | ||
@@ -57,3 +59,3 @@ else callback(null, mergeIdRev(doc, data)); | ||
db.get(docId, { include_docs: true }, (err, body) => { | ||
if (err) return callback(err); | ||
if (err && err.statusCode !== 404) callback(err); | ||
else callbackHelper(body); | ||
@@ -65,3 +67,9 @@ }); | ||
? promiseHelper() | ||
: db.get(docId, { include_docs: true }).then(promiseHelper); | ||
: db | ||
.get(docId, { include_docs: true }) | ||
.catch(e => { | ||
if (e.statusCode === 404) return null; | ||
throw e; | ||
}) | ||
.then(promiseHelper); | ||
} | ||
@@ -73,10 +81,10 @@ } | ||
module.exports = function (cloudant) { | ||
module.exports = function(cloudant) { | ||
var use = cloudant.db.use; | ||
cloudant.db.use = function (dbName) { | ||
var db = use(dbName) | ||
cloudant.db.use = function(dbName) { | ||
var db = use(dbName); | ||
db.upsert = upsertFn(db); | ||
return db; | ||
} | ||
}; | ||
return cloudant; | ||
} | ||
}; |
{ | ||
"name": "cloudant-upsert", | ||
"version": "0.9.4", | ||
"version": "0.11.0", | ||
"description": "", | ||
@@ -26,4 +26,4 @@ "main": "index.js", | ||
"devDependencies": { | ||
"cloudant": "^1.7.1" | ||
"@cloudant/cloudant": "^2.4.0" | ||
} | ||
} |
@@ -5,2 +5,6 @@ # cloudant-upsert | ||
<p align="center"> | ||
<img src="https://raw.githubusercontent.com/cdimascio/cloudant-upsert/master/assets/cloudant-upsert.png"/> | ||
</p> | ||
## Install | ||
@@ -7,0 +11,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
28907
8
254
59
1