in packages/autorest.python/autorest/m4reformatter/__init__.py [0:0]
def fill_model(yaml_data: Dict[str, Any], current_model: Dict[str, Any]) -> Dict[str, Any]:
properties = []
yaml_parents = yaml_data.get("parents", {}).get("immediate", [])
dict_parents = [p for p in yaml_parents if p["type"] == "dictionary"]
if dict_parents:
# add additional properties property
properties.append(
{
"clientName": "additional_properties",
"wireName": "",
"type": update_type(dict_parents[0]),
"optional": True,
"description": "Unmatched properties from the message are deserialized to this collection.",
"isDiscriminator": False,
"readonly": False,
}
)
properties.extend(
[update_property(p, has_additional_properties=bool(dict_parents)) for p in yaml_data.get("properties", [])]
)
current_model.update(
{
"properties": properties,
"parents": [update_type(yaml_data=p) for p in yaml_parents if p["type"] == "object"],
"discriminatedSubtypes": update_discriminated_subtypes(yaml_data),
"discriminatorValue": yaml_data.get("discriminatorValue"),
}
)
return current_model