From 77eb2a955c2493b03570573b4130437caa9502ec Mon Sep 17 00:00:00 2001 From: Nabil Abdel-Hafeez <7283535+987Nabil@users.noreply.github.com> Date: Wed, 14 Aug 2024 23:41:29 +0200 Subject: [PATCH] Don't write null for empty option fields of generic records --- .../shared/src/main/scala/zio/schema/codec/JsonCodec.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/zio-schema-json/shared/src/main/scala/zio/schema/codec/JsonCodec.scala b/zio-schema-json/shared/src/main/scala/zio/schema/codec/JsonCodec.scala index 93e9113ac..8d0997f89 100644 --- a/zio-schema-json/shared/src/main/scala/zio/schema/codec/JsonCodec.scala +++ b/zio-schema-json/shared/src/main/scala/zio/schema/codec/JsonCodec.scala @@ -944,8 +944,9 @@ object JsonCodec { cfg.ignoreEmptyCollections || schema.optional val isEmptyCollection = value match { - case _: Iterable[_] => value.asInstanceOf[Iterable[_]].isEmpty - case _ => false + case _: Iterable[_] => value.asInstanceOf[Iterable[_]].isEmpty + case _: IterableOnce[_] => value.asInstanceOf[IterableOnce[_]].iterator.isEmpty + case _ => false } ignoreEmptyCollections && isEmptyCollection