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

100% Statements 18/18
83.33% Branches 5/6
100% Functions 4/4
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                1673×     9579× 9579× 31409× 11221×     9579× 9579× 11221×   9579×    
"use strict";
 
Object.defineProperty(exports, "__esModule", {
  value: true
});
 
var _traverseRevTree = require("./traverseRevTree");
 
var _traverseRevTree2 = _interopRequireDefault(_traverseRevTree);
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
function sortByPos(a, b) {
  return a.pos - b.pos;
}
 
function collectLeaves(revs) {
  var leaves = [];
  (0, _traverseRevTree2.default)(revs, function (isLeaf, pos, id, acc, opts) {
    if (isLeaf) {
      leaves.push({ rev: pos + "-" + id, pos: pos, opts: opts });
    }
  });
  leaves.sort(sortByPos).reverse();
  for (var i = 0, len = leaves.length; i < len; i++) {
    delete leaves[i].pos;
  }
  return leaves;
}
 
exports.default = collectLeaves;
module.exports = exports['default'];