You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
423 B
18 lines
423 B
4 years ago
|
from typing import Optional
|
||
|
|
||
|
|
||
|
def pick_bool(*values: Optional[bool]) -> bool:
|
||
|
"""Pick the first non-none bool or return the last value.
|
||
|
|
||
|
Args:
|
||
|
*values (bool): Any number of boolean or None values.
|
||
|
|
||
|
Returns:
|
||
|
bool: First non-none boolean.
|
||
|
"""
|
||
|
assert values, "1 or more values required"
|
||
|
for value in values:
|
||
|
if value is not None:
|
||
|
return value
|
||
|
return bool(value)
|