[英]How to convert into refined type?
I am using the library https://github.com/fthomas/refined and would like to convert java.util.UUID
to refined's Uuid
.我正在使用库https://github.com/fthomas/refined并想将
java.util.UUID
转换为精制的Uuid
。
How to convert java.util.UUID
to refined's Uuid
?如何将
java.util.UUID
转换为细化的Uuid
?
Update更新
I have the following http routes:我有以下 http 路线:
private val httpRoutes: HttpRoutes[F] = HttpRoutes.of[F] {
case GET -> Root / UUIDVar(id) =>
program.read(id)
and the read function is defined as follows:读取的 function 定义如下:
def read(id: Uuid): F[User] =
query
.read(id)
.flatMap {
case Some(user) =>
Applicative[F].pure(user)
case None =>
ApplicativeError[F, UserError].raiseError[User](UserNotRegistered)
}
The compiler complains:编译器抱怨:
type mismatch;
[error] found : java.util.UUID
[error] required: eu.timepit.refined.string.Uuid
[error] program.read(id)
[error]
^
Here is transformation java.util.UUID
into eu.timepit.refined.api.Refined[String, eu.timepit.refined.string.Uuid]
这是将
java.util.UUID
转换为eu.timepit.refined.api.Refined[String, eu.timepit.refined.string.Uuid]
import java.util.UUID
import eu.timepit.refined.string.Uuid
import eu.timepit.refined.api.Refined
val uuid: UUID = UUID.fromString("deea44c7-a180-4898-9527-58db0ed34683")
val uuid1: String Refined Uuid = Refined.unsafeApply[String, Uuid](uuid.toString)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.