'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _replicate = require('./replicate');
var _replicate2 = _interopRequireDefault(_replicate);
var _replication = require('./replication');
var _replication2 = _interopRequireDefault(_replication);
var _clone = require('../deps/clone');
var _clone2 = _interopRequireDefault(_clone);
var _errors = require('../deps/errors');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function toPouch(db, opts) {
var PouchConstructor = opts.PouchConstructor;
if (typeof db === 'string') {
return new PouchConstructor(db, opts);
} else {
return db;
}
}
function replicateWrapper(src, target, opts, callback) {
if (typeof opts === 'function') {
callback = opts;
opts = {};
}
if (typeof opts === 'undefined') {
opts = {};
}
if (opts.doc_ids && !Array.isArray(opts.doc_ids)) {
throw (0, _errors.createError)(_errors.BAD_REQUEST, "`doc_ids` filter parameter is not a list.");
}
opts.complete = callback;
opts = (0, _clone2.default)(opts);
opts.continuous = opts.continuous || opts.live;
opts.retry = 'retry' in opts ? opts.retry : false;
/*jshint validthis:true */
opts.PouchConstructor = opts.PouchConstructor || this;
var replicateRet = new _replication2.default(opts);
var srcPouch = toPouch(src, opts);
var targetPouch = toPouch(target, opts);
(0, _replicate2.default)(srcPouch, targetPouch, opts, replicateRet);
return replicateRet;
}
exports.default = {
replicate: replicateWrapper,
toPouch: toPouch
};
module.exports = exports['default']; |