in mapillary_tools/types.py [0:0]
def merge_schema(*schemas: T.Dict) -> T.Dict:
for s in schemas:
assert s.get("type") == "object", "must be all object schemas"
properties = {}
all_required = []
additional_properties = True
for s in schemas:
properties.update(s.get("properties", {}))
all_required += s.get("required", [])
if "additionalProperties" in s:
additional_properties = s["additionalProperties"]
return {
"type": "object",
"properties": properties,
"required": sorted(set(all_required)),
"additionalProperties": additional_properties,
}