all files / lib/component/ mergeDependencies.js

92.31% Statements 12/13
75% Branches 6/8
100% Functions 3/3
92.31% Lines 12/13
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      13×   13×                        
'use strict';
 
var _ = require('lodash');
 
module.exports = function (newParsedList, oldParsedList) {
  var dependencies = _.unionWith(newParsedList, oldParsedList, function (newParsed, oldParsed) {
    var isMatch = _.isMatch(newParsed, _.pick(oldParsed, ['name', 'owner']));
 
    if (isMatch) {
 
      Iif (newParsed.resolved) {
        newParsed.resolved = false;
      }
 
      Eif (oldParsed.specified) {
        newParsed.specified = true;
      }
 
      return true;
    }
  });
 
  dependencies = dependencies.filter(function (parsed) {
    return parsed.resolved || parsed.specified;
  });
 
  return dependencies;
};