(
union_type: Type[Any], discriminator_key: str
)
| 799 | |
| 800 | |
| 801 | def _get_union_alias_and_all_values( |
| 802 | union_type: Type[Any], discriminator_key: str |
| 803 | ) -> Tuple[str, Tuple[Tuple[str, ...], ...]]: |
| 804 | zipped_aliases_values = [get_discriminator_alias_and_values(t, discriminator_key) for t in get_args(union_type)] |
| 805 | # unzip: [('alias_a',('v1', 'v2)), ('alias_b', ('v3',))] => [('alias_a', 'alias_b'), (('v1', 'v2'), ('v3',))] |
| 806 | all_aliases, all_values = zip(*zipped_aliases_values) |
| 807 | return get_unique_discriminator_alias(all_aliases, discriminator_key), all_values |
no test coverage detected