/**
 * 比较版本号
 * @param {string} v1 - 版本号1
 * @param {string} v2 - 版本号2
 * @returns {number} - 1表示v1大于v2，-1表示v1小于v2，0表示相等
 */
export function compareVersion(v1, v2) {
  const arr1 = v1.split('.').map(Number)
  const arr2 = v2.split('.').map(Number)
  const maxLen = Math.max(arr1.length, arr2.length)

  for (let i = 0; i < maxLen; i++) {
    const n1 = arr1[i] ?? 0
    const n2 = arr2[i] ?? 0

    if (n1 > n2) return 1
    if (n1 < n2) return -1
  }

  return 0
}


/**
 * 获取较大版本号
 * @param {string} v1 - 版本号1
 * @param {string} v2 - 版本号2
 * @returns {string} - 较大的版本号
 */
export function getMaxVersion(v1, v2) {
  return compareVersion(v1, v2) >= 0 ? v1 : v2
}