From 744d2b9381bcc6ed60d9f0f4eb8548ff865cb59d Mon Sep 17 00:00:00 2001 From: Rob Norris Date: Wed, 10 Aug 2022 09:41:13 -0500 Subject: [PATCH 1/2] improve error message --- modules/sql/src/main/scala/SqlMapping.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/sql/src/main/scala/SqlMapping.scala b/modules/sql/src/main/scala/SqlMapping.scala index 5a4eaec1..78490a5c 100644 --- a/modules/sql/src/main/scala/SqlMapping.scala +++ b/modules/sql/src/main/scala/SqlMapping.scala @@ -3064,7 +3064,9 @@ trait SqlMapping[F[_]] extends CirceMapping[F] with SqlModule[F] { self => def isLeaf: Boolean = tpe.isLeaf def asLeaf: Result[Json] = - mapped.encoderForLeaf(tpe).map(enc => enc(focus).rightIor).getOrElse(mkErrorResult(s"Not a leaf: $focus")) + mapped.encoderForLeaf(tpe).map(enc => enc(focus).rightIor).getOrElse(mkErrorResult( + s"Cannot encode value $focus at ${context.path.reverse.mkString("/")} (of type of type ${context.tpe}). Did you forget a LeafMapping?".stripMargin.trim + )) def isList: Boolean = tpe match { From a95c76cc7c64763388f2e7294790cb89b172d9c5 Mon Sep 17 00:00:00 2001 From: Rob Norris Date: Wed, 10 Aug 2022 09:54:49 -0500 Subject: [PATCH 2/2] oops --- modules/sql/src/main/scala/SqlMapping.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sql/src/main/scala/SqlMapping.scala b/modules/sql/src/main/scala/SqlMapping.scala index 78490a5c..de329419 100644 --- a/modules/sql/src/main/scala/SqlMapping.scala +++ b/modules/sql/src/main/scala/SqlMapping.scala @@ -3065,7 +3065,7 @@ trait SqlMapping[F[_]] extends CirceMapping[F] with SqlModule[F] { self => def asLeaf: Result[Json] = mapped.encoderForLeaf(tpe).map(enc => enc(focus).rightIor).getOrElse(mkErrorResult( - s"Cannot encode value $focus at ${context.path.reverse.mkString("/")} (of type of type ${context.tpe}). Did you forget a LeafMapping?".stripMargin.trim + s"Cannot encode value $focus at ${context.path.reverse.mkString("/")} (of GraphQL type ${context.tpe}). Did you forget a LeafMapping?".stripMargin.trim )) def isList: Boolean =