
    ".kdW                     R    d dl mZ d dlmZ d dlmZ  G d d      Z G d de      Zy)	    )Context)get)searchc                   R    e Zd Zd Zd Zd Zd Zd ZddZddZ	d Z
d	 Zd
 Zd Zy)Subdocumentc                 "    t               | _        y N)dictinnerselfs    ,lib/python3.12/site-packages/yte/document.py__init__zSubdocument.__init__   s    V
    c                     	 | j                   |   S # t        $ r+}	 | j                  |      cY d }~S # t        $ r |w xY wd }~ww xY wr	   )r   KeyError	dpath_get)r   keyes      r   __getitem__zSubdocument.__getitem__
   sL    	::c?" 	~~c** 	s!    	A1A=A  Ac                 "    || j                   |<   y r	   r   )r   r   values      r   __setitem__zSubdocument.__setitem__   s    

3r   c                 6    | j                   j                         S r	   )r   itemsr   s    r   r   zSubdocument.items   s    zz!!r   c                 6    | j                   j                         S r	   )r   keysr   s    r   r   zSubdocument.keys   s    zz  r   c                 2    t        | j                  ||      S )N)	separator)r   r   )r   globr    s      r   r   zSubdocument.dpath_get   s    TY??r   c                 2    t        | j                  ||      S )N)yielded)dpath_searchr   )r   r!   r#   s      r   r$   zSubdocument.dpath_search   s    DJJg>>r   c                     || j                   v S r	   r   )r   r   s     r   __contains__zSubdocument.__contains__"   s    djj  r   c                     t        |t              r| j                  |j                  k(  S t        |t              r| j                  |k(  S y)NF)
isinstancer   r   r
   )r   others     r   __eq__zSubdocument.__eq__%   s;    e[)::,,t$::&&r   c                 ,    t        | j                        S r	   )lenr   r   s    r   __len__zSubdocument.__len__-   s    4::r   c                 ,    t        | j                        S r	   )reprr   r   s    r   __repr__zSubdocument.__repr__0   s    DJJr   N)/)F)__name__
__module____qualname__r   r   r   r   r   r   r$   r&   r*   r-   r0    r   r   r   r      s:     "!@?! r   r   c                       e Zd Zd ZdefdZy)Documentc                 "    t               | _        y r	   )r   r   r   s    r   r   zDocument.__init__5   s     ]
r   contextc                     |j                   sy | j                  }|j                   d d D ]  }||vrt               ||<   ||   } |||j                   d   <   y )N)renderedr   r   )r   r9   r   r   r   s        r   _insertzDocument._insert8   sh    
 

##CR( 	C%(]c
#JE	
 ',gr"#r   N)r2   r3   r4   r   r   r=   r5   r   r   r7   r7   4   s    #,w ,r   r7   N)	yte.contextr   
dpath.utilr   r   r   r$   r   r7   r5   r   r   <module>r@      s%     ' -+  + \,{ ,r   