UNPKG

757 BPlain TextView Raw
1import { VersionUpgrade } from './getVersionUpgrade';
2import { Version } from './types';
3
4/**
5 * Returns the next version of the list given a base version and the upgrade type
6 * @param base current version
7 * @param bump the upgrade type
8 */
9export function nextVersion(base: Version, bump: VersionUpgrade): Version {
10 switch (bump) {
11 case VersionUpgrade.NONE:
12 return base;
13
14 case VersionUpgrade.MAJOR:
15 return { major: base.major + 1, minor: 0, patch: 0 };
16
17 case VersionUpgrade.MINOR:
18 return {
19 major: base.major,
20 minor: base.minor + 1,
21 patch: 0,
22 };
23
24 case VersionUpgrade.PATCH:
25 return {
26 major: base.major,
27 minor: base.minor,
28 patch: base.patch + 1,
29 };
30 }
31}