Move all handlers from this registry into *target*, then clear self.
(self, target: EventHandlerRegistry)
| 72 | self._release() |
| 73 | |
| 74 | def merge_into(self, target: EventHandlerRegistry) -> None: |
| 75 | """Move all handlers from this registry into *target*, then clear self.""" |
| 76 | self._acquire() |
| 77 | try: |
| 78 | for event_type, handlers in self._handlers.items(): |
| 79 | for handler in handlers: |
| 80 | once = id(handler) in self._once_ids |
| 81 | target.add(event_type, handler, once=once) |
| 82 | self._handlers.clear() |
| 83 | self._once_ids.clear() |
| 84 | finally: |
| 85 | self._release() |