/**
 * 比较两个版本号
 * @param version1 版本号1
 * @param version2 版本号2
 * @returns 如果version1大于version2返回1，相等返回0，小于返回-1
 */
export var compareVersions = function compareVersions(version1, version2) {
  var v1Parts = version1.split('.').map(Number);
  var v2Parts = version2.split('.').map(Number);
  for (var i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {
    var v1Part = v1Parts[i] || 0;
    var v2Part = v2Parts[i] || 0;
    if (v1Part > v2Part) return 1;
    if (v1Part < v2Part) return -1;
  }
  return 0;
};

/**
 * 从版本号列表中获取最大版本号
 * @param versions 版本号列表
 * @returns 最大的版本号，如果列表为空返回undefined
 */
export var getMaxVersion = function getMaxVersion(versions) {
  if (!versions || versions.length === 0) return undefined;
  return versions.reduce(function (max, current) {
    if (!max) return current;
    return compareVersions(current, max) > 0 ? current : max;
  }, versions[0]);
};