Skip to content

Commit 7eb4ebe

Browse files
committed
chore: Use function instead of constructor for Response variants
1 parent 25055d9 commit 7eb4ebe

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

src/main/kotlin/dev/imanity/bbbapi/request/Response.kt

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,31 @@
11
package dev.imanity.bbbapi.request
22

3-
import java.lang.Exception
4-
53
data class Response<out T>(
64
val type: Type,
75
val value: T?,
86
val error: Error?,
97
val exception: Throwable?,
108
val rateLimitTime: Long
119
) {
12-
constructor(error: Error) : this(Type.ERROR, null, error, null, 0)
13-
constructor(exception: Throwable) : this(Type.EXCEPTION, null, null, exception, 0)
14-
constructor(rateLimitTime: Long) : this(Type.RATE_LIMITED, null, null, null, rateLimitTime)
15-
constructor(value: T) : this(Type.SUCCESS, value, null, null, 0)
10+
companion object {
11+
12+
fun <T> success(value: T): Response<T> {
13+
return Response(Type.SUCCESS, value, null, null, 0)
14+
}
15+
16+
fun <T> error(error: Error): Response<T> {
17+
return Response(Type.ERROR, null, error, null, 0)
18+
}
19+
20+
fun <T> exception(exception: Throwable): Response<T> {
21+
return Response(Type.EXCEPTION, null, null, exception, 0)
22+
}
23+
24+
fun <T> rateLimit(rateLimitTime: Long): Response<T> {
25+
return Response(Type.RATE_LIMITED, null, null, null, rateLimitTime)
26+
}
27+
28+
}
1629
}
1730

1831
enum class Type {

0 commit comments

Comments
 (0)