erdantic.typing_utils¶
    Returns depth-1 base classes of a type.
Source code in erdantic/typing_utils.py
              | 63 64 65 66 |  | 
get_recursive_args(tp: _TypeForm) -> List[_TypeForm]
Recursively finds leaf-node types of possibly-nested generic type.
Source code in erdantic/typing_utils.py
              | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |  | 
    Given a type annotation, returns True if it represents a collection of many elements of the target type.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| tp | Union[type, GenericAlias] | Type annotation. | required | 
| target | type | Type to check for many-ness of. | required | 
Returns:
| Type | Description | 
|---|---|
| bool | Result of check. | 
Source code in erdantic/typing_utils.py
              | 35 36 37 38 39 40 41 42 43 44 45 46 47 |  | 
is_nullable_type(tp: _TypeForm) -> bool
Given a type annotation, returns True if it is a union with None as a possible option, such as typing.Optional.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| tp | Union[type, GenericAlias] | Type annotation. | required | 
Returns:
| Type | Description | 
|---|---|
| bool | Result of check. | 
Source code in erdantic/typing_utils.py
              | 50 51 52 53 54 55 56 57 58 59 60 |  | 
    Return MRO of object if it has one. Otherwise return its repr.
Source code in erdantic/typing_utils.py
              | 95 96 97 98 99 100 101 102 103 104 105 |  |