Generate structure template for an object.
(
schema: Dict[str, Any],
level: int,
delimiter: str,
indent_size: int
)
| 63 | |
| 64 | |
| 65 | def _generate_object_structure( |
| 66 | schema: Dict[str, Any], |
| 67 | level: int, |
| 68 | delimiter: str, |
| 69 | indent_size: int |
| 70 | ) -> str: |
| 71 | """Generate structure template for an object.""" |
| 72 | if not schema: |
| 73 | return "{}" |
| 74 | |
| 75 | lines = [] |
| 76 | indent = get_indent(level, indent_size) |
| 77 | |
| 78 | for key, value in schema.items(): |
| 79 | if isinstance(value, str): |
| 80 | # Simple field with description |
| 81 | lines.append(f'{indent}{key}{COLON} <{value}>') |
| 82 | elif isinstance(value, dict): |
| 83 | # Nested object |
| 84 | if not value: |
| 85 | lines.append(f'{indent}{key}{COLON} {{}}') |
| 86 | else: |
| 87 | nested = _generate_object_structure(value, level + 1, delimiter, indent_size) |
| 88 | lines.append(f'{indent}{key}{COLON}') |
| 89 | lines.append(nested) |
| 90 | elif isinstance(value, list): |
| 91 | # Array field |
| 92 | if not value: |
| 93 | lines.append(f'{indent}{key}{COLON} []') |
| 94 | else: |
| 95 | array_template = _generate_array_structure(value, level, delimiter, indent_size, key=key) |
| 96 | lines.append(array_template) |
| 97 | else: |
| 98 | lines.append(f'{indent}{key}{COLON} <value>') |
| 99 | |
| 100 | return NEWLINE.join(lines) |
| 101 | |
| 102 | |
| 103 | def _generate_array_structure( |
no test coverage detected
searching dependent graphs…