all files / lib/deps/merge/ collectConflicts.js

100% Statements 18/18
87.5% Branches 7/8
100% Functions 2/2
100% Lines 17/17
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 27 28 29 30 31 32 33 34                          3907× 3907× 3907× 3907× 4000× 4000× 64×     3907×    
'use strict';
 
Object.defineProperty(exports, "__esModule", {
  value: true
});
 
var _winningRev = require('./winningRev');
 
var _winningRev2 = _interopRequireDefault(_winningRev);
 
var _collectLeaves = require('./collectLeaves');
 
var _collectLeaves2 = _interopRequireDefault(_collectLeaves);
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
// returns revs of all conflicts that is leaves such that
// 1. are not deleted and
// 2. are different than winning revision
function collectConflicts(metadata) {
  var win = (0, _winningRev2.default)(metadata);
  var leaves = (0, _collectLeaves2.default)(metadata.rev_tree);
  var conflicts = [];
  for (var i = 0, len = leaves.length; i < len; i++) {
    var leaf = leaves[i];
    if (leaf.rev !== win && !leaf.opts.deleted) {
      conflicts.push(leaf.rev);
    }
  }
  return conflicts;
}
 
exports.default = collectConflicts;
module.exports = exports['default'];