getNextVersions method

List<NewVersion> getNextVersions(
  1. Version version,
  2. String? type
)

Implementation

List<NewVersion> getNextVersions(Version version, String? type) {
  var small = version.nextPatch;
  var nonBreaking = version.nextMinor;
  var major = version.nextMajor;

  if (!version.isPreRelease) {
    assert(type != null, 'If version is a prerelease you must pass a type');
    final selected = '$type.1';
    small = Version(version.major, version.minor, version.patch + 1,
        pre: selected);

    nonBreaking = Version(version.major, version.minor + 1, 0, pre: selected);

    major = Version(version.major + 1, 0, 0, pre: selected);
  }

  return <NewVersion>[
    NewVersion('Small Patch'.padRight(25), small),
    NewVersion('Non-breaking change'.padRight(25), nonBreaking),
    NewVersion('Breaking change'.padRight(25), major),
    NewVersion('Keep the current Version'.padRight(25), version),
    CustomVersion('Enter custom version no.'.padRight(25))
  ];
}