Skip to content

Commit 08582bc

Browse files
feat: comparable validators
1 parent d45583b commit 08582bc

File tree

5 files changed

+62
-0
lines changed

5 files changed

+62
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package dev.programadorthi.state.validator.comparable
2+
3+
import dev.programadorthi.state.core.validation.Validator
4+
5+
public class InValidator<T : Comparable<T>>(
6+
override val message: (T) -> String,
7+
start: T,
8+
end: T,
9+
) : Validator<T> {
10+
private val range = start..end
11+
12+
override fun isValid(value: T): Boolean = value in range
13+
14+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package dev.programadorthi.state.validator.comparable
2+
3+
import dev.programadorthi.state.core.validation.Validator
4+
5+
public class IsGreaterThanOrEqualToValidator<T : Comparable<T>>(
6+
override val message: (T) -> String,
7+
private val start: T,
8+
) : Validator<T> {
9+
10+
override fun isValid(value: T): Boolean = value >= start
11+
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package dev.programadorthi.state.validator.comparable
2+
3+
import dev.programadorthi.state.core.validation.Validator
4+
5+
public class IsGreaterThanValidator<T : Comparable<T>>(
6+
override val message: (T) -> String,
7+
private val start: T,
8+
) : Validator<T> {
9+
10+
override fun isValid(value: T): Boolean = value > start
11+
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package dev.programadorthi.state.validator.comparable
2+
3+
import dev.programadorthi.state.core.validation.Validator
4+
5+
public class IsLessThanOrEqualToValidator<T : Comparable<T>>(
6+
override val message: (T) -> String,
7+
private val end: T,
8+
) : Validator<T> {
9+
10+
override fun isValid(value: T): Boolean = value <= end
11+
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package dev.programadorthi.state.validator.comparable
2+
3+
import dev.programadorthi.state.core.validation.Validator
4+
5+
public class IsLessThanValidator<T : Comparable<T>>(
6+
override val message: (T) -> String,
7+
private val end: T,
8+
) : Validator<T> {
9+
10+
override fun isValid(value: T): Boolean = value < end
11+
12+
}

0 commit comments

Comments
 (0)