Empty dicts and lists are now emitted as leaf defaults.

This commit is contained in:
Miguel Jacq 2026-06-19 17:41:56 +10:00
parent 1e545cca87
commit d9bf2966c6
Signed by: mig5
GPG key ID: 03906B4110AAD3B8
2 changed files with 25 additions and 0 deletions

View file

@ -19,9 +19,15 @@ class DictLikeHandler(BaseHandler):
def _walk(obj: Any, path: tuple[str, ...] = ()) -> None:
if isinstance(obj, dict):
if not obj:
items.append((path, obj))
return
for k, v in obj.items():
_walk(v, path + (str(k),))
elif isinstance(obj, list) and self.flatten_lists:
if not obj:
items.append((path, obj))
return
for i, v in enumerate(obj):
_walk(v, path + (str(i),))
else: