
    mBNjX	                        d dl mZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZ ej                  g eej                  e   z  f   Zej                  egej                  d   dz  f   Z G d d	e
      Zy)
    )annotations   )_typing)CooperativeLock)Util)BookmarkManager	BookmarksNc                  R     e Zd Z	 	 	 d	 	 	 	 	 	 	 d fdZ	 	 	 	 	 	 ddZddZ xZS )Neo4jBookmarkManagerc                    t         |           || _        || _        |st	               | _        nt	        |j                        | _        t               | _        y N)	super__init___bookmarks_supplier_bookmarks_consumerset
_bookmarks
raw_valuesr   _lock)selfinitial_bookmarksbookmarks_supplierbookmarks_consumer	__class__s       m/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/neo4j/_sync/bookmark_manager.pyr   zNeo4jBookmarkManager.__init__!   sI     	#5 #5  !eDO!"3">">?DO$&
    c                h   |sy | j                   5  | j                  j                  |       | j                  j                  |       | j                  rt        j                  | j                        }d d d        | j                  r!t        j                  | j                         y y # 1 sw Y   7xY wr   )	r   r   difference_updateupdater   r	   from_raw_valuesr   callback)r   previous_bookmarksnew_bookmarkscurr_bms_snapshots       r   update_bookmarksz%Neo4jBookmarkManager.update_bookmarks0   s    
 ZZOO--.@AOO""=1''$-$=$=doo$N!	 
 ##MM((*; $ Zs   A"B((B1c                    | j                   5  t        | j                        }d d d        | j                  r:t	        j
                  | j                        }j                  |j                         S # 1 sw Y   QxY wr   )r   r   r   r   r   r!   r   r   )r   bms	extra_bmss      r   get_bookmarksz"Neo4jBookmarkManager.get_bookmarksA   sX    ZZdoo&C ##d&>&>?IJJy++,
 Zs   A33A<)NNN)r   zBookmarks | Noner   zTBmSupplier | Noner   zTBmConsumer | NonereturnNone)r"   t.Collection[str]r#   r,   r*   r+   )r*   zset[str])__name__
__module____qualname__r   r%   r)   __classcell__)r   s   @r   r   r       s_     /31515	'+' /' /	'
 
'- ) 
	"r   r   )
__future__r    r   t_async_compat.concurrencyr   _async_compat.utilr   apir   r	   CallableUnionTBmSupplierTBmConsumerr    r   r   <module>r<      si   " #  7 % jjY);;;<jj)aggdmd&::;'? 'r   