forked from hoodiehq/pouchdb-hoodie-api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
update.js
26 lines (22 loc) · 749 Bytes
/
update.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use strict'
var updateOne = require('./helpers/update-one')
var updateMany = require('./helpers/update-many')
module.exports = update
/**
* updates existing object.
*
* @param {String|Object} idOrObject id or object with `.id` property
* @param {Object|Function} [change] Changed properties or function
* that changes existing object
* @return {Promise}
*/
function update (objectsOrIds, change) {
if (typeof objectsOrIds !== 'object' && !change) {
return this.constructor.utils.Promise.reject(
new Error('Must provide change')
)
}
return Array.isArray(objectsOrIds) ?
updateMany.call(this, objectsOrIds, change) :
updateOne.call(this, objectsOrIds, change)
}