initialPreRelease function
Version
initialPreRelease(
- Version stable,
- Version? template,
- String preReleasePrefix
)
Implementation
Version initialPreRelease(Version stable, Version? template, String preReleasePrefix) {
if (template != null && template.isPreRelease) {
final parts = List<Object>.from(template.preRelease);
if (parts.length == 1 && parts[0] is int) {
return Version(stable.major, stable.minor, stable.patch, pre: '1');
}
final newParts = List<Object>.from(parts);
newParts[newParts.length - 1] = 1;
final pre = newParts.map((part) => part.toString()).join('.');
return Version(stable.major, stable.minor, stable.patch, pre: pre);
}
final normalizedPrefix = preReleasePrefix.trim();
final separator = normalizedPrefix.isEmpty || normalizedPrefix.endsWith('.') ? '' : '.';
final pre = normalizedPrefix.isEmpty ? '1' : '$normalizedPrefix${separator}1';
return Version(stable.major, stable.minor, stable.patch, pre: pre);
}