Coverage for portality / lib / dicts.py: 69%
13 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-04 09:41 +0100
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-04 09:41 +0100
1def deep_merge(a, b, overlay=False):
2 if isinstance(a, list) and isinstance(b, list):
3 for item in b:
4 if item not in a:
5 a.append(item)
6 elif isinstance(a, dict) and isinstance(b, dict):
7 for key in b:
8 if key in a:
9 a[key] = deep_merge(a[key], b[key], overlay=overlay)
10 else:
11 a[key] = b[key]
12 else:
13 if overlay:
14 return b
15 return a