From 6446a1ce83493866c7307bbcc806a5c23a95b3ed Mon Sep 17 00:00:00 2001 From: Andriy Plokhotnyuk Date: Thu, 6 Feb 2025 15:56:01 +0100 Subject: [PATCH] Override Json.Bool.apply (#1291) --- zio-json/shared/src/main/scala/zio/json/ast/ast.scala | 8 ++++++-- .../shared/src/test/scala/zio/json/ast/JsonSpec.scala | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/zio-json/shared/src/main/scala/zio/json/ast/ast.scala b/zio-json/shared/src/main/scala/zio/json/ast/ast.scala index fca4c9eeb..91707aa96 100644 --- a/zio-json/shared/src/main/scala/zio/json/ast/ast.scala +++ b/zio-json/shared/src/main/scala/zio/json/ast/ast.scala @@ -466,8 +466,12 @@ object Json { } object Bool { - val False: Bool = Bool(false) - val True: Bool = Bool(true) + val False: Bool = new Bool(false) + val True: Bool = new Bool(true) + + def apply(value: Boolean): Bool = + if (value) True + else False implicit val decoder: JsonDecoder[Bool] = new JsonDecoder[Bool] { def unsafeDecode(trace: List[JsonError], in: RetractReader): Bool = diff --git a/zio-json/shared/src/test/scala/zio/json/ast/JsonSpec.scala b/zio-json/shared/src/test/scala/zio/json/ast/JsonSpec.scala index fcfc04e3c..71cfaa7bc 100644 --- a/zio-json/shared/src/test/scala/zio/json/ast/JsonSpec.scala +++ b/zio-json/shared/src/test/scala/zio/json/ast/JsonSpec.scala @@ -10,6 +10,10 @@ object JsonSpec extends ZIOSpecDefault { val spec: Spec[Environment, Any] = suite("Json")( suite("apply")( + test("Bool()") { + assertTrue(Json.Bool.True eq Json.Bool(true)) && + assertTrue(Json.Bool.False eq Json.Bool(false)) + }, test("()") { assertTrue(Json.Obj.empty eq Json()) && assertTrue(Json.Obj.empty eq Json.Obj()) &&