(type_info, component_name: str, prop_name: str)
| 53 | |
| 54 | |
| 55 | def generate_shape(type_info, component_name: str, prop_name: str): |
| 56 | props = [] |
| 57 | name = pascal_case(prop_name) |
| 58 | |
| 59 | for prop_key, prop_type in type_info["value"].items(): |
| 60 | typed = get_prop_typing( |
| 61 | prop_type["name"], component_name, f"{prop_name}_{prop_key}", prop_type |
| 62 | ) |
| 63 | if not prop_type.get("required"): |
| 64 | props.append(f' "{prop_key}": NotRequired[{typed}]') |
| 65 | else: |
| 66 | props.append(f' "{prop_key}": {typed}') |
| 67 | |
| 68 | shapes.setdefault(component_name, {}) |
| 69 | shapes[component_name][name] = textwrap.indent( |
| 70 | shape_template.format( |
| 71 | name=name, values=" {\n" + ",\n".join(props) + "\n }" |
| 72 | ), |
| 73 | " ", |
| 74 | ) |
| 75 | |
| 76 | return f'"{name}"' |
| 77 | |
| 78 | |
| 79 | def generate_union(type_info, component_name: str, prop_name: str): |
nothing calls this directly
no test coverage detected
searching dependent graphs…