| 156 | } |
| 157 | |
| 158 | function compareVersionChunk(ver1, ver2, isSemverMode) { |
| 159 | const parts1 = ver1.split('.'); |
| 160 | const parts2 = ver2.split('.'); |
| 161 | const len1 = parts1.length; |
| 162 | const len2 = parts2.length; |
| 163 | const len = (isSemverMode ? Math.min : Math.max)(len1, len2); |
| 164 | let delta; |
| 165 | for (let i = 0; !delta && i < len; i += 1) { |
| 166 | const a = parts1[i]; |
| 167 | const b = parts2[i]; |
| 168 | if (isSemverMode) { |
| 169 | delta = DIGITS_RE.test(a) && DIGITS_RE.test(b) |
| 170 | ? a - b |
| 171 | : a > b || a < b && -1; |
| 172 | } else { |
| 173 | delta = (parseInt(a, 10) || 0) - (parseInt(b, 10) || 0); |
| 174 | } |
| 175 | } |
| 176 | return delta || isSemverMode && (len1 - len2); |
| 177 | } |
| 178 | |
| 179 | const units = [ |
| 180 | ['min', 60], |