(item, identifier, stream)
| 29 | |
| 30 | |
| 31 | def _format_list(item, identifier, stream): |
| 32 | if not item: |
| 33 | return |
| 34 | if any(isinstance(el, dict) for el in item): |
| 35 | all_keys = _all_scalar_keys(item) |
| 36 | for element in item: |
| 37 | _format_text( |
| 38 | element, |
| 39 | stream=stream, |
| 40 | identifier=identifier, |
| 41 | scalar_keys=all_keys, |
| 42 | ) |
| 43 | elif any(isinstance(el, list) for el in item): |
| 44 | scalar_elements, non_scalars = _partition_list(item) |
| 45 | if scalar_elements: |
| 46 | _format_scalar_list(scalar_elements, identifier, stream) |
| 47 | for non_scalar in non_scalars: |
| 48 | _format_text(non_scalar, stream=stream, identifier=identifier) |
| 49 | else: |
| 50 | _format_scalar_list(item, identifier, stream) |
| 51 | |
| 52 | |
| 53 | def _partition_list(item): |
no test coverage detected