Introduce minWithOrNull and maxWithOrNull extension functions #KT-38854

This commit is contained in:
Abduqodiri Qurbonzoda
2020-06-16 00:59:24 +03:00
parent 194791a168
commit 16b62b8e65
11 changed files with 545 additions and 317 deletions
@@ -1303,10 +1303,16 @@ public fun CharSequence.maxOrNull(): Char? {
return max
}
@Deprecated("Use maxWithOrNull instead.", ReplaceWith("maxWithOrNull(comparator)"))
public fun CharSequence.maxWith(comparator: Comparator<in Char>): Char? {
return maxWithOrNull(comparator)
}
/**
* Returns the first character having the largest value according to the provided [comparator] or `null` if there are no characters.
*/
public fun CharSequence.maxWith(comparator: Comparator<in Char>): Char? {
@SinceKotlin("1.4")
public fun CharSequence.maxWithOrNull(comparator: Comparator<in Char>): Char? {
if (isEmpty()) return null
var max = this[0]
for (i in 1..lastIndex) {
@@ -1531,10 +1537,16 @@ public fun CharSequence.minOrNull(): Char? {
return min
}
@Deprecated("Use minWithOrNull instead.", ReplaceWith("minWithOrNull(comparator)"))
public fun CharSequence.minWith(comparator: Comparator<in Char>): Char? {
return minWithOrNull(comparator)
}
/**
* Returns the first character having the smallest value according to the provided [comparator] or `null` if there are no characters.
*/
public fun CharSequence.minWith(comparator: Comparator<in Char>): Char? {
@SinceKotlin("1.4")
public fun CharSequence.minWithOrNull(comparator: Comparator<in Char>): Char? {
if (isEmpty()) return null
var min = this[0]
for (i in 1..lastIndex) {