fun tinyGoSdkVersion()

in src/main/kotlin/org/jetbrains/tinygoplugin/sdk/TinyGoSdk.kt [19:36]


fun tinyGoSdkVersion(versionString: String?): TinyGoSdkVersion {
    val logger = getLogger<TinyGoSdkVersion>()
    val numbers = versionString?.split('.')
    if (numbers == null) {
        logger.warn { "Null version provided" }
        return unknownVersion
    }
    if (numbers.size != 3) {
        logger.warn { "Could not parse version: $versionString" }
        return unknownVersion
    }
    val numbersParsed = numbers.mapNotNull { it.toIntOrNull() }
    if (numbersParsed.size != 3) {
        logger.warn { "Invalid version format: $versionString" }
        return unknownVersion
    }
    return TinyGoSdkVersion(numbersParsed[0], numbersParsed[1], numbersParsed[2])
}