Skip to content

Commit 41a7ad6

Browse files
Add ifFalse and ifTrue functions
1 parent 084e9fa commit 41a7ad6

File tree

5 files changed

+58
-0
lines changed

5 files changed

+58
-0
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
### Added
66

7+
- `Boolean.ifFalse(block: () -> Unit): Boolean`
8+
- `Boolean.ifTrue(block: () -> Unit): Boolean`
79
- `T?.ifNotNull(block: () -> Unit): T?`
810
- `T?.ifNull(block: () -> Unit): T?`
911
- `Graph` data structure

kotlin-stdlib/api/android/kotlin-stdlib.api

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,11 @@ public final class com/javiersc/kotlin/stdlib/AnsiColorsKt {
141141
public static final fun ansiColor (Ljava/lang/String;Lcom/javiersc/kotlin/stdlib/AnsiColor;)Ljava/lang/String;
142142
}
143143

144+
public final class com/javiersc/kotlin/stdlib/BooleanKt {
145+
public static final fun ifFalse (ZLkotlin/jvm/functions/Function0;)Z
146+
public static final fun ifTrue (ZLkotlin/jvm/functions/Function0;)Z
147+
}
148+
144149
public final class com/javiersc/kotlin/stdlib/CollectionsKt {
145150
public static final fun capitalize (Ljava/lang/String;)Ljava/lang/String;
146151
public static final fun decapitalize (Ljava/lang/String;)Ljava/lang/String;

kotlin-stdlib/api/jvm/kotlin-stdlib.api

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,11 @@ public final class com/javiersc/kotlin/stdlib/AnsiColorsKt {
141141
public static final fun ansiColor (Ljava/lang/String;Lcom/javiersc/kotlin/stdlib/AnsiColor;)Ljava/lang/String;
142142
}
143143

144+
public final class com/javiersc/kotlin/stdlib/BooleanKt {
145+
public static final fun ifFalse (ZLkotlin/jvm/functions/Function0;)Z
146+
public static final fun ifTrue (ZLkotlin/jvm/functions/Function0;)Z
147+
}
148+
144149
public final class com/javiersc/kotlin/stdlib/CollectionsKt {
145150
public static final fun capitalize (Ljava/lang/String;)Ljava/lang/String;
146151
public static final fun decapitalize (Ljava/lang/String;)Ljava/lang/String;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.javiersc.kotlin.stdlib
2+
3+
public inline fun Boolean.ifFalse(block: () -> Unit): Boolean {
4+
if (!this) block()
5+
return this
6+
}
7+
8+
public inline fun Boolean.ifTrue(block: () -> Unit): Boolean {
9+
if (this) block()
10+
return this
11+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.javiersc.kotlin.stdlib
2+
3+
import kotlin.test.Test
4+
import kotlin.test.assertFalse
5+
import kotlin.test.assertTrue
6+
7+
class BooleanTest {
8+
9+
private val fail: Boolean = false
10+
private val success: Boolean = true
11+
12+
@Test
13+
fun ifFalse() {
14+
var isFalse = false
15+
var isTrue = false
16+
17+
fail.ifFalse { isFalse = true }
18+
success.ifFalse { isTrue = true }
19+
20+
assertFalse { isTrue }
21+
assertTrue { isFalse }
22+
}
23+
24+
@Test
25+
fun ifTrue() {
26+
var isFalse = false
27+
var isTrue = false
28+
29+
fail.ifTrue { isFalse = true }
30+
success.ifTrue { isTrue = true }
31+
32+
assertFalse { isFalse }
33+
assertTrue { isTrue }
34+
}
35+
}

0 commit comments

Comments
 (0)