Skip to content

Commit dde18ac

Browse files
authored
Remove unnecessary case from annotation classes, consolidate allowUnknownKeys annotation (#606)
Binary incompatible, needs to be done in 4.x
1 parent 05e1904 commit dde18ac

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

upickle/core/src/upickle/core/Config.scala

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,11 @@ trait Config {
6767
* un-intuitiveness and verbosity
6868
*/
6969
def optionsAsNulls: Boolean = true
70+
71+
/**
72+
* Whether or not unknown keys when de-serializing case classes should be allowed.
73+
* Defaults to `true`, but can be set to `false` to make the presence unknown keys
74+
* raise an error
75+
*/
76+
def allowUnknownKeys: Boolean = true
7077
}

upickle/implicits/src/upickle/implicits/CaseClassReadWriters.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import upickle.core.{Abort, AbortException, ArrVisitor, NoOpVisitor, ObjVisitor,
1111
* package to form the public API1
1212
*/
1313
trait CaseClassReadWriters extends upickle.core.Types{
14-
def allowUnknownKeys: Boolean = true
14+
1515
abstract class CaseClassReader[V] extends SimpleReader[V] {
1616
override def expectedMsg = "expected dictionary"
1717

upickle/implicits/src/upickle/implicits/key.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ package upickle.implicits
22

33
import scala.annotation.StaticAnnotation
44

5-
case class key(s: String) extends StaticAnnotation
6-
case class allowUnknownKeys(b: Boolean) extends StaticAnnotation
5+
class key(s: String) extends StaticAnnotation
6+
class allowUnknownKeys(b: Boolean) extends StaticAnnotation

0 commit comments

Comments
 (0)