Преобразование Map [String, Any] в класс case с использованием Shapeless

ВопросВот спрашивает о сопоставлении класса дела с картой [String, Any]. Мне было интересно, что будет наоборот, преобразование Map [String, Any] в case-класс. Учитывая следующую карту:

val mp = Map("name" -> "Tom", "address" -> Map("street" -> "Jefferson st", "zip" -> 10000))

Преобразовать его в класс делаPerson:

case class Person(name:String, address:Address)
case class Address(street:String, zip:Int)

val p = Person("Tom", Address("Jefferson st", 10000))

с чем-то вроде этого:

val newP = mp.asCC[Person]
assert(newP.get == p)

Как мне это сделать с Shapeless.

Ответы на вопрос(1)

Ваш ответ на вопрос