in packages/autorest.python/autorest/m4reformatter/__init__.py [0:0]
def add_paging_information(self, group_name: str, operation: Dict[str, Any], yaml_data: Dict[str, Any]) -> None:
operation["discriminator"] = "paging"
operation["itemName"] = yaml_data["extensions"]["x-ms-pageable"].get("itemName", "value")
operation["nextLinkName"] = yaml_data["extensions"]["x-ms-pageable"].get("nextLinkName")
returned_response_object = (
operation["nextOperation"]["responses"][0] if operation.get("nextOperation") else operation["responses"][0]
)
if self.version_tolerant:
# if we're in version tolerant, hide the paging model
returned_response_object["type"]["internal"] = True
operation["itemType"] = get_item_type(returned_response_object["type"], operation["itemName"])
if yaml_data["language"]["default"]["paging"].get("nextLinkOperation"):
operation["nextOperation"] = self.update_operation(
group_name=group_name,
yaml_data=yaml_data["language"]["default"]["paging"]["nextLinkOperation"],
)[0]
extensions = yaml_data["extensions"]
for response in operation["responses"]:
response["pagerSync"] = extensions.get("x-python-custom-pager-sync")
response["pagerAsync"] = extensions.get("x-python-custom-pager-async")