in src/main/kotlin/com/github/mkartashev/hserr/miner/artifact/Artifact.kt [70:86]
fun parseMemorySize(s: String): ULong? {
return if (s.isBlank()) null else {
val numberStr = s.takeWhile { it.isDigit() }
val number = numberStr.toULongOrNull() ?: return null
val suffix = s.substringAfter(numberStr).trim().lowercase(Locale.getDefault())
when (suffix) {
"kb" -> number * KiB
"k", "kib" -> number * KiB
"mb" -> number * KiB * KiB
"m", "mib" -> number * KiB * KiB
"gb" -> number * KiB * KiB * KiB
"g", "gib" -> number * KiB * KiB * KiB
else -> null
}
}
}