a
    ,º]¡
  ã                   @   sZ   d Z ddlZddlmZ eZejdd… ZG dd„ deƒZ	G dd„ dee	eƒƒZ
dgZdS )	aü  
A dict subclass for Python 3 that behaves like Python 2's dict

Example use:

>>> from past.builtins import dict
>>> d1 = dict()    # instead of {} for an empty dict
>>> d2 = dict(key1='value1', key2='value2')

The keys, values and items methods now return lists on Python 3.x and there are
methods for iterkeys, itervalues, iteritems, and viewkeys etc.

>>> for d in (d1, d2):
...     assert isinstance(d.keys(), list)
...     assert isinstance(d.values(), list)
...     assert isinstance(d.items(), list)
é    N)Úwith_metaclassé   c                   @   s   e Zd Zdd„ ZdS )ÚBaseOldDictc                 C   s
   t |tƒS ©N)Ú
isinstanceÚ_builtin_dict)ÚclsÚinstance© r
   úc/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/site-packages/past/types/olddict.pyÚ__instancecheck__   s    zBaseOldDict.__instancecheck__N)Ú__name__Ú
__module__Ú__qualname__r   r
   r
   r
   r   r      s   r   c                       sp   e Zd ZdZejZejZ‡ fdd„ZejZ	ejZ
‡ fdd„ZejZejZ‡ fdd„Zdd	„ Z‡ fd
d„Z‡  ZS )Úolddictz7
    A backport of the Python 3 dict object to Py2
    c                    s   t tt| ƒ ¡ ƒS r   )ÚlistÚsuperr   Úkeys©Úself©Ú	__class__r
   r   r   (   s    zolddict.keysc                    s   t tt| ƒ ¡ ƒS r   )r   r   r   Úvaluesr   r   r
   r   r   .   s    zolddict.valuesc                    s   t tt| ƒ ¡ ƒS r   )r   r   r   Úitemsr   r   r
   r   r   4   s    zolddict.itemsc                 C   s   || v S )zC
        D.has_key(k) -> True if D has a key k, else False
        r
   )r   Úkr
   r
   r   Úhas_key7   s    zolddict.has_keyc                    s
   t t| ƒS )z;
        Hook for the past.utils.native() function
        )r   Zoldbytesr   r   r
   r   Ú
__native__Y   s    zolddict.__native__)r   r   r   Ú__doc__r   r   ÚiterkeysZviewkeysr   Z
itervaluesZ
viewvaluesr   Ú	iteritemsZ	viewitemsr   r   Ú__classcell__r
   r
   r   r   r   !   s   "r   )r   ÚsysZ
past.utilsr   Údictr   Úversion_infoÚverÚtyper   r   Ú__all__r
   r
   r
   r   Ú<module>   s   ?