preheat_open.query.unique
- preheat_open.query.unique(generator)
Return the unique element from a generator.
This function ensures that a generator yields exactly one element. It raises appropriate exceptions if the generator yields zero or multiple elements.
- Parameters:
generator (Generator[T, None, None]) – A generator that should yield exactly one element
- Returns:
The unique element from the generator
- Return type:
T
- Raises:
NoElementError – If the generator yields no elements
NoUniqueElementError – If the generator yields multiple elements
- Example:
>>> def single_generator(): ... yield "unique_value" >>> >>> result = unique(single_generator()) >>> result 'unique_value'
>>> def empty_generator(): ... return ... yield # Never reached >>> >>> try: ... unique(empty_generator()) ... except NoElementError: ... print("No elements found") No elements found
>>> def multi_generator(): ... yield 1 ... yield 2 >>> >>> try: ... unique(multi_generator()) ... except NoUniqueElementError: ... print("Multiple elements found") Multiple elements found