o
    Nhc                  	   @   s@  d Z ddlmZ ddlmZ ddlmZ G dd deZg dZzddlm	Z
 G d	d
 d
e
Z	ed
 W n	 ey>   Y nw zddlmZ G dd deZed W n	 ey]   Y nw zddlmZ G dd deZed W n	 ey|   Y nw zddlmZ G dd deZed W dS  eefy   Y dS w )aN  
pyee supplies a `EventEmitter` class that is similar to the
`EventEmitter` class from Node.js. In addition, it supplies the subclasses
`AsyncIOEventEmitter`, `TwistedEventEmitter` and `ExecutorEventEmitter`
for supporting async and threaded execution with asyncio, twisted, and
concurrent.futures Executors respectively, as supported by the environment.

# Example

```text
In [1]: from pyee.base import EventEmitter

In [2]: ee = EventEmitter()

In [3]: @ee.on('event')
   ...: def event_handler():
   ...:     print('BANG BANG')
   ...:

In [4]: ee.emit('event')
BANG BANG

In [5]:
```

    )warn)EventEmitter)PyeeExceptionc                           e Zd ZdZ fddZ  ZS )BaseEventEmitterzG
    BaseEventEmitter is deprecated and an alias for EventEmitter.
    c                       t td tt|   d S )Nz|pyee.BaseEventEmitter is deprecated and will be removed in a future major version; you should instead use pyee.EventEmitter.)r   DeprecationWarningsuperr   __init__self	__class__ J/home/air/yokohama/back/venv/lib/python3.10/site-packages/pyee/__init__.pyr
   )   s   zBaseEventEmitter.__init____name__
__module____qualname____doc__r
   __classcell__r   r   r   r   r   $       r   )r   r   r   )AsyncIOEventEmitterc                       "   e Zd ZdZd fdd	Z  ZS )r   zP
        AsyncIOEventEmitter has been moved to the pyee.asyncio module.
        Nc                    "   t td tt| j|d d S )NzCpyee.AsyncIOEventEmitter has been moved to the pyee.asyncio module.)loop)r   r   r	   r   r
   )r   r   r   r   r   r
   >      zAsyncIOEventEmitter.__init__Nr   r   r   r   r   r   9       r   )TwistedEventEmitterc                       r   )r   zP
        TwistedEventEmitter has been moved to the pyee.twisted module.
        c                    r   )NzCpyee.TwistedEventEmitter has been moved to the pyee.twisted module.)r   r   r	   r   r
   r   r   r   r   r
   S   s   zTwistedEventEmitter.__init__r   r   r   r   r   r   N   r   r   )ExecutorEventEmitterc                       r   )r    zR
        ExecutorEventEmitter has been moved to the pyee.executor module.
        Nc                    r   )NzEpyee.ExecutorEventEmitter has been moved to the pyee.executor module.)executor)r   r   r	   r    r
   )r   r!   r   r   r   r
   h   r   zExecutorEventEmitter.__init__r   r   r   r   r   r   r    c   r   r    )TrioEventEmitterc                       r   )r"   zJ
        TrioEventEmitter has been moved to the pyee.trio module.
        Nc                    s$   t td tt| j||d d S )Nz=pyee.TrioEventEmitter has been moved to the pyee.trio module.)nurserymanager)r   r   r	   r"   r
   )r   r#   r$   r   r   r   r
   }   s   zTrioEventEmitter.__init__)NNr   r   r   r   r   r"   x   r   r"   N)r   warningsr   	pyee.baser   r   r   __all__pyee.asyncior   _AsyncIOEventEmitterappendImportErrorpyee.twistedr   _TwistedEventEmitterpyee.executorr    _ExecutorEventEmitter	pyee.trior"   _TrioEventEmitterSyntaxErrorr   r   r   r   <module>   sD   