o
    i                     @   s    d dl mZ G dd deZdS )    )Anyc                   @   s    e Zd ZdZdd Zdd ZdS )AttrDicta@  
    dict implementation that allows for item attribute access


    Example::

       data = AttrDict()
       data['key'] = 'value'
       print(data['key'])

       data.key = 'new-value'
       print(data.key)

       # Convert an existing `dict`
       data = AttrDict(dict(key='value'))
       print(data.key)
    c                 C   s   || v r| | S t | |S N)object__getattribute__)selfkey r	   S/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/internal/utils/attrdict.py__getattr__   s   zAttrDict.__getattr__c                 C   s<   || v r
|| |< d S t | |rt| || d S || |< d S r   )hasattrr   __setattr__)r   r   valuer	   r	   r
   r      s
   
zAttrDict.__setattr__N)__name__
__module____qualname____doc__r   r   r	   r	   r	   r
   r      s    r   N)typingr   dictr   r	   r	   r	   r
   <module>   s    