VersionParser constructor
VersionParser(})
Implementation
VersionParser(this.major, this.minor, this.patch,
{List<String> preRelease = const <String>[], this.build = ''})
: _preRelease = preRelease {
for (var i = 0; i < _preRelease.length; i++) {
if (_preRelease[i].toString().trim().isEmpty) {
throw ArgumentError('preRelease segments must not be empty');
}
// Just in case
_preRelease[i] = _preRelease[i].toString();
if (!_preReleaseRegex.hasMatch(_preRelease[i])) {
throw const FormatException(
'preRelease segments must only contain [0-9A-Za-z-]');
}
}
if (build.isNotEmpty && !_buildRegex.hasMatch(build)) {
throw const FormatException('build must only contain [0-9A-Za-z-.]');
}
if (major < 0 || minor < 0 || patch < 0) {
throw ArgumentError('Version numbers must be greater than 0');
}
}