
     fC                       d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ e G d d	                      Ze G d
 d                      Ze G d d                      Ze G d d                      Ze G d d                      Ze G d d                      Ze G d d                      Z	 	 	 	 	 d3d4d Z	 	 	 	 d5d6d!Z	 	 	 	 	 	 d7d8d#Zd9d$Zd9d%Z	 	 	 	 	 	 	 	 	 d:d;d,Z	 	 	 	 	 d3d<d.Z	 	 	 	 d5d=d0Z	 	 	 d>d?d2ZdS )@    )annotations   )event_classT_JSON_DICT)	dataclassN)runtime)storagec                  N    e Zd ZU dZded<   ded<   ded<   d Zed	             Zd
S )DatabaseWithObjectStoresz2
    Database with an array of object stores.
    strnamefloatversionztyping.List[ObjectStore]object_storesc                r    t                      }| j        |d<   | j        |d<   d | j        D             |d<   |S )Nr   r   c                6    g | ]}|                                 S  to_json.0is     u/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v127/indexed_db.py
<listcomp>z4DatabaseWithObjectStores.to_json.<locals>.<listcomp>#   s     HHH		HHH    objectStores)dictr   r   r   selfjsons     r   r   z DatabaseWithObjectStores.to_json   sA    vvyV,YHHT5GHHH^r   c                     | t          |d                   t          |d                   d |d         D                       S )Nr   r   c                B    g | ]}t                               |          S r   )ObjectStore	from_jsonr   s     r   r   z6DatabaseWithObjectStores.from_json.<locals>.<listcomp>+   s&    RRR;0033RRRr   r   )r   r   r   r   r   clsr    s     r   r$   z"DatabaseWithObjectStores.from_json&   sO    sT&\""$y/**RRT.=QRRR
 
 
 	
r   N__name__
__module____qualname____doc____annotations__r   classmethodr$   r   r   r   r   r      sn           III NNN ,+++   
 
 [
 
 
r   r   c                  X    e Zd ZU dZded<   ded<   ded<   ded	<   d
 Zed             ZdS )r#   z
    Object store.
    r   r   KeyPathkey_pathboolauto_incrementztyping.List[ObjectStoreIndex]indexesc                    t                      }| j        |d<   | j                                        |d<   | j        |d<   d | j        D             |d<   |S )Nr   keyPathautoIncrementc                6    g | ]}|                                 S r   r   r   s     r   r   z'ObjectStore.to_json.<locals>.<listcomp>E   s     ===1199;;===r   r4   )r   r   r1   r   r3   r4   r   s     r   r   zObjectStore.to_json@   sX    vvyV-//11Y $ 3_=====Yr   c                     | t          |d                   t                              |d                   t          |d                   d |d         D                       S )Nr   r6   r7   c                B    g | ]}t                               |          S r   )ObjectStoreIndexr$   r   s     r   r   z)ObjectStore.from_json.<locals>.<listcomp>N   s'    LLLq%//22LLLr   r4   )r   r1   r3   r4   r   r0   r$   r2   r&   s     r   r$   zObjectStore.from_jsonH   sd    sT&\""&&tI77_ 566LLDOLLL	
 
 
 	
r   Nr(   r   r   r   r#   r#   /   s           III   +***   
 
 [
 
 
r   r#   c                  X    e Zd ZU dZded<   ded<   ded<   ded<   d	 Zed
             ZdS )r;   z
    Object store index.
    r   r   r0   r1   r2   uniquemulti_entryc                    t                      }| j        |d<   | j                                        |d<   | j        |d<   | j        |d<   |S )Nr   r6   r>   
multiEntry)r   r   r1   r   r>   r?   r   s     r   r   zObjectStoreIndex.to_jsonc   sJ    vvyV-//11YX!-\r   c           	          | t          |d                   t                              |d                   t          |d                   t          |d                             S )Nr   r6   r>   rA   )r   r1   r>   r?   r<   r&   s     r   r$   zObjectStoreIndex.from_jsonk   s^    sT&\""&&tI77X''T,/00	
 
 
 	
r   Nr(   r   r   r   r;   r;   R   s|           III  LLL    
 
 [
 
 
r   r;   c                  r    e Zd ZU dZded<   dZded<   dZded<   dZded	<   dZd
ed<   d Z	e
d             ZdS )Keyz
    Key.
    r   type_Nztyping.Optional[float]numbertyping.Optional[str]stringdatez!typing.Optional[typing.List[Key]]arrayc                    t                      }| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        d | j        D             |d<   |S )NtyperF   rH   rI   c                6    g | ]}|                                 S r   r   r   s     r   r   zKey.to_json.<locals>.<listcomp>   s     ===QQYY[[===r   rJ   )r   rE   rF   rH   rI   rJ   r   s     r   r   zKey.to_json   su    vvzV;"![DN;"![DN9 9DL:!==$*===DMr   c           	     
    | t          |d                   d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd d|v rd |d         D             nd           S )NrL   rF   rH   rI   rJ   c                B    g | ]}t                               |          S r   )rD   r$   r   s     r   r   z!Key.from_json.<locals>.<listcomp>   s$    ;;;3==##;;;r   )rE   rF   rH   rI   rJ   r%   r&   s     r   r$   zKey.from_json   s    sd6l##,4,<,<5h((($*2d*:*:3tH~&&&(.$tF|$$$D?F$;;T'];;;;TX
 
 
 	
r   )r)   r*   r+   r,   r-   rF   rH   rI   rJ   r   r.   r$   r   r   r   rD   rD   u   s           JJJ &*F)))) $(F'''' $(D'''' 04E3333   
 
 [
 
 
r   rD   c                  `    e Zd ZU dZded<   ded<   dZded<   dZded<   d	 Zed
             Z	dS )KeyRangez
    Key range.
    r2   
lower_open
upper_openNztyping.Optional[Key]lowerupperc                    t                      }| j        |d<   | j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )N	lowerOpen	upperOpenrT   rU   )r   rR   rS   rT   r   rU   r   s     r   r   zKeyRange.to_json   sf    vv O[ O[:! J..00DM:! J..00DMr   c           	          | t          |d                   t          |d                   d|v r t                              |d                   nd d|v r t                              |d                   nd           S )NrW   rX   rT   rU   )rR   rS   rT   rU   )r2   rD   r$   r&   s     r   r$   zKeyRange.from_json   s{    sD-..D-..29T//#--W...t29T//#--W...t	
 
 
 	
r   )
r)   r*   r+   r,   r-   rT   rU   r   r.   r$   r   r   r   rQ   rQ      s             #'E&&&& #'E&&&&   
 
 [
 
 
r   rQ   c                  N    e Zd ZU dZded<   ded<   ded<   d Zed             ZdS )		DataEntryz
    Data entry.
    zruntime.RemoteObjectkeyprimary_keyvaluec                    t                      }| j                                        |d<   | j                                        |d<   | j                                        |d<   |S )Nr\   
primaryKeyr^   )r   r\   r   r]   r^   r   s     r   r   zDataEntry.to_json   sW    vvh&&((U!-5577\
**,,Wr   c                     | t           j                            |d                   t           j                            |d                   t           j                            |d                             S )Nr\   r`   r^   )r\   r]   r^   )r   RemoteObjectr$   r&   s     r   r$   zDataEntry.from_json   sd    s$..tE{;;,66tL7IJJ&00g??
 
 
 	
r   Nr(   r   r   r   r[   r[      st            &%%%     
 
 [
 
 
r   r[   c                  V    e Zd ZU dZded<   dZded<   dZded<   d	 Zed
             Z	dS )r0   z
    Key path.
    r   rE   NrG   rH   z!typing.Optional[typing.List[str]]rJ   c                    t                      }| j        |d<   | j        
| j        |d<   | j        d | j        D             |d<   |S )NrL   rH   c                    g | ]}|S r   r   r   s     r   r   z#KeyPath.to_json.<locals>.<listcomp>   s    3331Q333r   rJ   )r   rE   rH   rJ   r   s     r   r   zKeyPath.to_json   sO    vvzV;"![DN:!33
333DMr   c                     | t          |d                   d|v rt          |d                   nd d|v rd |d         D             nd           S )NrL   rH   rJ   c                ,    g | ]}t          |          S r   r   r   s     r   r   z%KeyPath.from_json.<locals>.<listcomp>   s    111a3q66111r   )rE   rH   rJ   rh   r&   s     r   r$   zKeyPath.from_json   sk    sd6l##*2d*:*:3tH~&&&5<__114=1111$
 
 
 	
r   )
r)   r*   r+   r,   r-   rH   rJ   r   r.   r$   r   r   r   r0   r0      s{           JJJ $(F'''' 04E3333   
 
 [
 
 
r   r0   security_originrG   storage_keystorage_bucket&typing.Optional[storage.StorageBucket]database_namer   object_store_namereturn0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c              #     K   t                      }| | |d<   |||d<   ||                                |d<   ||d<   ||d<   d|d}|V }dS )	a  
    Clears all entries from an object store.

    :param security_origin: *(Optional)* At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
    :param storage_key: *(Optional)* Storage key.
    :param storage_bucket: *(Optional)* Storage bucket. If not specified, it uses the default bucket.
    :param database_name: Database name.
    :param object_store_name: Object store name.
    NsecurityOrigin
storageKeystorageBucketdatabaseNameobjectStoreNamezIndexedDB.clearObjectStoremethodparamsr   r   ri   rj   rk   rm   rn   ry   cmd_dictr    s           r   clear_object_storer}     s        &&F"#2 *|!"0"8"8":":*F> 1F. H >>DDDr   c              #     K   t                      }| | |d<   |||d<   ||                                |d<   ||d<   d|d}|V }dS )au  
    Deletes a database.

    :param security_origin: *(Optional)* At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
    :param storage_key: *(Optional)* Storage key.
    :param storage_bucket: *(Optional)* Storage bucket. If not specified, it uses the default bucket.
    :param database_name: Database name.
    Nrr   rs   rt   ru   zIndexedDB.deleteDatabaserw   rz   ri   rj   rk   rm   ry   r|   r    s          r   delete_databaser   $  sy       &&F"#2 *|!"0"8"8":":*F>, H >>DDDr   	key_rangec              #     K   t                      }| | |d<   |||d<   ||                                |d<   ||d<   ||d<   |                                |d<   d|d	}|V }dS )
a  
    Delete a range of entries from an object store

    :param security_origin: *(Optional)* At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
    :param storage_key: *(Optional)* Storage key.
    :param storage_bucket: *(Optional)* Storage bucket. If not specified, it uses the default bucket.
    :param database_name:
    :param object_store_name:
    :param key_range: Range of entry keys to delete
    Nrr   rs   rt   ru   rv   keyRangez"IndexedDB.deleteObjectStoreEntriesrw   rz   )	ri   rj   rk   rm   rn   r   ry   r|   r    s	            r   delete_object_store_entriesr   A  s      $ &&F"#2 *|!"0"8"8":":*F> 1F"**,,F:6 H >>DDDr   c               #     K   ddi} | V }dS )z'
    Disables events from backend.
    rx   zIndexedDB.disableNr   r|   r    s     r   disabler   d  s$      
 	%H >>DDDr   c               #     K   ddi} | V }dS )z&
    Enables events from backend.
    rx   zIndexedDB.enableNr   r   s     r   enabler   n  s$      
 	$H >>DDDr   
index_name
skip_countint	page_sizetyping.Optional[KeyRange]Vtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.List[DataEntry], bool]]c	              #  4  K   t                      }	| | |	d<   |||	d<   ||                                |	d<   ||	d<   ||	d<   ||	d<   ||	d<   ||	d	<   ||                                |	d
<   d|	d}
|
V }d |d         D             t          |d                   fS )aq  
    Requests data from object store or index.

    :param security_origin: *(Optional)* At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
    :param storage_key: *(Optional)* Storage key.
    :param storage_bucket: *(Optional)* Storage bucket. If not specified, it uses the default bucket.
    :param database_name: Database name.
    :param object_store_name: Object store name.
    :param index_name: Index name, empty string for object store data requests.
    :param skip_count: Number of records to skip.
    :param page_size: Number of records to fetch.
    :param key_range: *(Optional)* Key range.
    :returns: A tuple with the following items:

        0. **objectStoreDataEntries** - Array of object store data entries.
        1. **hasMore** - If true, there are more entries to fetch in the given range.
    Nrr   rs   rt   ru   rv   	indexName	skipCountpageSizer   zIndexedDB.requestDatarw   c                B    g | ]}t                               |          S r   )r[   r$   r   s     r   r   z request_data.<locals>.<listcomp>  s&    HHHA		Q		HHHr   objectStoreDataEntrieshasMore)r   r   r2   )ri   rj   rk   rm   rn   r   r   r   r   ry   r|   r    s               r   request_datar   x  s      8 &&F"#2 *|!"0"8"8":":*F> 1F$F;$F;"F:&..00z) H >>DHH.F)GHHHT)_ r   Ftyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[float, float]]c              #     K   t                      }| | |d<   |||d<   ||                                |d<   ||d<   ||d<   d|d}|V }t          |d	                   t          |d
                   fS )a  
    Gets metadata of an object store.

    :param security_origin: *(Optional)* At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
    :param storage_key: *(Optional)* Storage key.
    :param storage_bucket: *(Optional)* Storage bucket. If not specified, it uses the default bucket.
    :param database_name: Database name.
    :param object_store_name: Object store name.
    :returns: A tuple with the following items:

        0. **entriesCount** - the entries count
        1. **keyGeneratorValue** - the current value of key generator, to become the next inserted key into the object store. Valid if objectStore.autoIncrement is true.
    Nrr   rs   rt   ru   rv   zIndexedDB.getMetadatarw   entriesCountkeyGeneratorValue)r   r   r   r{   s           r   get_metadatar     s      ( &&F"#2 *|!"0"8"8":":*F> 1F) H >>Dd>"##d&'(( r   Dtyping.Generator[T_JSON_DICT, T_JSON_DICT, DatabaseWithObjectStores]c              #     K   t                      }| | |d<   |||d<   ||                                |d<   ||d<   d|d}|V }t                              |d                   S )	a  
    Requests database with given name in given frame.

    :param security_origin: *(Optional)* At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
    :param storage_key: *(Optional)* Storage key.
    :param storage_bucket: *(Optional)* Storage bucket. If not specified, it uses the default bucket.
    :param database_name: Database name.
    :returns: Database with an array of object stores.
    Nrr   rs   rt   ru   zIndexedDB.requestDatabaserw   databaseWithObjectStores)r   r   r   r$   r   s          r   request_databaser     s       &&F"#2 *|!"0"8"8":":*F>- H >>D#--d3M.NOOOr   <typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[str]]c              #     K   t                      }| | |d<   |||d<   ||                                |d<   d|d}|V }d |d         D             S )	a  
    Requests database names for given security origin.

    :param security_origin: *(Optional)* At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
    :param storage_key: *(Optional)* Storage key.
    :param storage_bucket: *(Optional)* Storage bucket. If not specified, it uses the default bucket.
    :returns: Database names for origin.
    Nrr   rs   rt   zIndexedDB.requestDatabaseNamesrw   c                ,    g | ]}t          |          S r   rh   r   s     r   r   z*request_database_names.<locals>.<listcomp>  s    222qCFF222r   databaseNamesrz   )ri   rj   rk   ry   r|   r    s         r   request_database_namesr     s       &&F"#2 *|!"0"8"8":":2 H >>D22D12222r   )NNNNN)ri   rG   rj   rG   rk   rl   rm   r   rn   r   ro   rp   )NNNN)
ri   rG   rj   rG   rk   rl   rm   r   ro   rp   )NNNNNN)ri   rG   rj   rG   rk   rl   rm   r   rn   r   r   rQ   ro   rp   )ro   rp   )	NNNNNNNNN)ri   rG   rj   rG   rk   rl   rm   r   rn   r   r   r   r   r   r   r   r   r   ro   r   )ri   rG   rj   rG   rk   rl   rm   r   rn   r   ro   r   )
ri   rG   rj   rG   rk   rl   rm   r   ro   r   )NNN)ri   rG   rj   rG   rk   rl   ro   r   )
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r   r#   r;   rD   rQ   r[   r0   r}   r   r   r   r   r   r   r   r   r   r   r   <module>r      sO   # " " " " " * * * * * * * * ! ! ! ! ! !               
 
 
 
 
 
 
 
< 
 
 
 
 
 
 
 
D 
 
 
 
 
 
 
 
D (
 (
 (
 (
 (
 (
 (
 (
V !
 !
 !
 !
 !
 !
 !
 !
H 
 
 
 
 
 
 
 
: 
 
 
 
 
 
 
 
@ 15,0AE!!%    B 15,0AE!	    < 15,0AE!!%"         F       15,0AE!!%/32 2 2 2 2l 15,0AE!!%% % % % %R 15,0AE!	P P P P P@ 15,0AE3 3 3 3 3 3 3r   