'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _winningRev = require('../../deps/merge/winningRev');
var _winningRev2 = _interopRequireDefault(_winningRev);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function getTrees(node) {
return node.ids;
}
// check if a specific revision of a doc has been deleted
// - metadata: the metadata object from the doc store
// - rev: (optional) the revision to check. defaults to winning revision
function isDeleted(metadata, rev) {
if (!rev) {
rev = (0, _winningRev2.default)(metadata);
}
var id = rev.substring(rev.indexOf('-') + 1);
var toVisit = metadata.rev_tree.map(getTrees);
var tree;
while (tree = toVisit.pop()) {
if (tree[0] === id) {
return !!tree[1].deleted;
}
toVisit = toVisit.concat(tree[2]);
}
}
exports.default = isDeleted;
module.exports = exports['default']; |