(
self, doc, member_name, member_shape, stack, required=False
)
| 305 | stack.pop() |
| 306 | |
| 307 | def _do_doc_member( |
| 308 | self, doc, member_name, member_shape, stack, required=False |
| 309 | ): |
| 310 | docs = member_shape.documentation |
| 311 | type_name = self._get_argument_type_name( |
| 312 | member_shape, member_shape.type_name |
| 313 | ) |
| 314 | |
| 315 | if member_name: |
| 316 | parameter_string = f'{member_name} -> ({type_name})' |
| 317 | else: |
| 318 | parameter_string = f'({type_name})' |
| 319 | |
| 320 | if required: |
| 321 | parameter_string += ' [required]' |
| 322 | |
| 323 | doc.write(parameter_string) |
| 324 | |
| 325 | doc.style.indent() |
| 326 | doc.style.new_paragraph() |
| 327 | doc.include_doc_string(docs) |
| 328 | if is_tagged_union_type(member_shape): |
| 329 | self._add_tagged_union_note(member_shape, doc) |
| 330 | |
| 331 | self._document_enums(member_shape, doc) |
| 332 | self._document_constraints(member_shape, doc) |
| 333 | doc.style.new_paragraph() |
| 334 | member_type_name = member_shape.type_name |
| 335 | if member_type_name == 'structure': |
| 336 | required_members = member_shape.metadata.get('required', []) |
| 337 | for sub_name, sub_shape in member_shape.members.items(): |
| 338 | sub_required = sub_name in required_members |
| 339 | self._doc_member( |
| 340 | doc, sub_name, sub_shape, stack, required=sub_required |
| 341 | ) |
| 342 | elif member_type_name == 'map': |
| 343 | key_shape = member_shape.key |
| 344 | key_name = key_shape.serialization.get('name', 'key') |
| 345 | self._doc_member(doc, key_name, key_shape, stack, required=False) |
| 346 | value_shape = member_shape.value |
| 347 | value_name = value_shape.serialization.get('name', 'value') |
| 348 | self._doc_member( |
| 349 | doc, value_name, value_shape, stack, required=False |
| 350 | ) |
| 351 | elif member_type_name == 'list': |
| 352 | self._doc_member( |
| 353 | doc, '', member_shape.member, stack, required=False |
| 354 | ) |
| 355 | doc.style.dedent() |
| 356 | doc.style.new_paragraph() |
| 357 | |
| 358 | def _add_streaming_blob_note(self, doc): |
| 359 | doc.style.start_note() |
no test coverage detected