getReleaseFromVersion method
Retrieves version information
Implementation
Release? getReleaseFromVersion(String version) {
if (checkIsChannel(version)) {
return channels[version];
}
int findReleaseIdx(Channel channel) {
return releases.indexWhere(
(v) => v.version == version && v.channel == channel,
);
}
// Versions can be in multiple versions
// Prioritize by order of maturity
// TODO: could be optimized and avoid multiple loops
final stableIndex = findReleaseIdx(Channel.stable);
final betaIndex = findReleaseIdx(Channel.beta);
final devIndex = findReleaseIdx(Channel.dev);
Release? release;
if (stableIndex >= 0) {
release = releases[stableIndex];
} else if (betaIndex >= 0) {
release = releases[betaIndex];
} else if (devIndex >= 0) {
release = releases[devIndex];
}
return release;
}