
     f1                       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
 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d.dZd/dZd0dZd1dZd1d Z	 d2d3d'Zd4d)Zd5d+Zd6d-ZdS )7    )annotations   )event_classT_JSON_DICT)	dataclassN)runtimec                  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     t/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v85/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>D   s     ===1199;;===r   r3   )r   r   r0   r   r2   r3   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   r5   r6   c                B    g | ]}t                               |          S r   )ObjectStoreIndexr#   r   s     r   r   z)ObjectStore.from_json.<locals>.<listcomp>M   s'    LLLq%//22LLLr   r3   )r   r0   r2   r3   r   r/   r#   r1   r%   s     r   r#   zObjectStore.from_jsonG   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   r/   r0   r1   uniquemulti_entryc                    t                      }| j        |d<   | j                                        |d<   | j        |d<   | j        |d<   |S )Nr   r5   r=   
multiEntry)r   r   r0   r   r=   r>   r   s     r   r   zObjectStoreIndex.to_jsonb   sJ    vvyV-//11YX!-\r   c           	          | t          |d                   t                              |d                   t          |d                   t          |d                             S )Nr   r5   r=   r@   )r   r0   r=   r>   r;   r%   s     r   r#   zObjectStoreIndex.from_jsonj   s^    sT&\""&&tI77X''T,/00	
 
 
 	
r   Nr'   r   r   r   r:   r:   Q   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typerE   rG   rH   c                6    g | ]}|                                 S r   r   r   s     r   r   zKey.to_json.<locals>.<listcomp>   s     ===QQYY[[===r   rI   )r   rD   rE   rG   rH   rI   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 )NrK   rE   rG   rH   rI   c                B    g | ]}t                               |          S r   )rC   r#   r   s     r   r   z!Key.from_json.<locals>.<listcomp>   s$    ;;;3==##;;;r   )rD   rE   rG   rH   rI   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,   rE   rG   rH   rI   r   r-   r#   r   r   r   rC   rC   t   s           JJJ &*F)))) $(F'''' $(D'''' 04E3333   
 
 [
 
 
r   rC   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.
    r1   
lower_open
upper_openNztyping.Optional[Key]lowerupperc                    t                      }| j        |d<   | j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )N	lowerOpen	upperOpenrS   rT   )r   rQ   rR   rS   r   rT   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 )NrV   rW   rS   rT   )rQ   rR   rS   rT   )r1   rC   r#   r%   s     r   r#   zKeyRange.from_json   s{    sD-..D-..29T//#--W...t29T//#--W...t	
 
 
 	
r   )
r(   r)   r*   r+   r,   rS   rT   r   r-   r#   r   r   r   rP   rP      s             #'E&&&& #'E&&&&   
 
 [
 
 
r   rP   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   rZ   rZ      st            &%%%     
 
 [
 
 
r   rZ   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 )r/   z
    Key path.
    r   rD   NrF   rG   z!typing.Optional[typing.List[str]]rI   c                    t                      }| j        |d<   | j        
| j        |d<   | j        d | j        D             |d<   |S )NrK   rG   c                    g | ]}|S r   r   r   s     r   r   z#KeyPath.to_json.<locals>.<listcomp>   s    3331Q333r   rI   )r   rD   rG   rI   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 )NrK   rG   rI   c                ,    g | ]}t          |          S r   r   r   s     r   r   z%KeyPath.from_json.<locals>.<listcomp>   s    111a3q66111r   )rD   rG   rI   rg   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,   rG   rI   r   r-   r#   r   r   r   r/   r/      s{           JJJ $(F'''' 04E3333   
 
 [
 
 
r   r/   security_originr   database_nameobject_store_namereturn0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c              #  V   K   t                      }| |d<   ||d<   ||d<   d|d}|V }dS )z
    Clears all entries from an object store.

    :param security_origin: Security origin.
    :param database_name: Database name.
    :param object_store_name: Object store name.
    securityOrigindatabaseNameobjectStoreNamezIndexedDB.clearObjectStoremethodparamsNr   rh   ri   rj   rs   cmd_dictr   s         r   clear_object_storerw     sR       &&F.F*F> 1F. H >>DDDr   c              #  L   K   t                      }| |d<   ||d<   d|d}|V }dS )zt
    Deletes a database.

    :param security_origin: Security origin.
    :param database_name: Database name.
    rn   ro   zIndexedDB.deleteDatabaserq   Nrt   rh   ri   rs   rv   r   s        r   delete_databaserz     sG       &&F.F*F>, H >>DDDr   	key_rangec              #     K   t                      }| |d<   ||d<   ||d<   |                                |d<   d|d}|V }dS )z
    Delete a range of entries from an object store

    :param security_origin:
    :param database_name:
    :param object_store_name:
    :param key_range: Range of entry keys to delete
    rn   ro   rp   keyRangez"IndexedDB.deleteObjectStoreEntriesrq   N)r   r   )rh   ri   rj   r{   rs   rv   r   s          r   delete_object_store_entriesr~   .  sh       &&F.F*F> 1F"**,,F:6 H >>DDDr   c               #     K   ddi} | V }dS )z'
    Disables events from backend.
    rr   zIndexedDB.disableNr   rv   r   s     r   disabler   H  s$      
 	%H >>DDDr   c               #     K   ddi} | V }dS )z&
    Enables events from backend.
    rr   zIndexedDB.enableNr   r   s     r   enabler   R  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              #     K   t                      }| |d<   ||d<   ||d<   ||d<   ||d<   ||d<   ||                                |d<   d	|d
}|V }	d |	d         D             t          |	d                   fS )ap  
    Requests data from object store or index.

    :param security_origin: Security origin.
    :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.
    rn   ro   rp   	indexName	skipCountpageSizeNr}   zIndexedDB.requestDatarq   c                B    g | ]}t                               |          S r   )rZ   r#   r   s     r   r   z request_data.<locals>.<listcomp>  s&    HHHA		Q		HHHr   objectStoreDataEntrieshasMore)r   r   r1   )
rh   ri   rj   r   r   r   r{   rs   rv   r   s
             r   request_datar   \  s      0 &&F.F*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}|V }t          |d                   t          |d                   fS )a  
    Gets metadata of an object store

    :param security_origin: Security origin.
    :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.
    rn   ro   rp   zIndexedDB.getMetadatarq   entriesCountkeyGeneratorValue)r   r   ru   s         r   get_metadatar     sy        &&F.F*F> 1F) H >>Dd>"##d&'(( r   Dtyping.Generator[T_JSON_DICT, T_JSON_DICT, DatabaseWithObjectStores]c              #     K   t                      }| |d<   ||d<   d|d}|V }t                              |d                   S )z
    Requests database with given name in given frame.

    :param security_origin: Security origin.
    :param database_name: Database name.
    :returns: Database with an array of object stores.
    rn   ro   zIndexedDB.requestDatabaserq   databaseWithObjectStores)r   r
   r#   ry   s        r   request_databaser     s]       &&F.F*F>- H >>D#--d3M.NOOOr   <typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[str]]c              #  b   K   t                      }| |d<   d|d}|V }d |d         D             S )z
    Requests database names for given security origin.

    :param security_origin: Security origin.
    :returns: Database names for origin.
    rn   zIndexedDB.requestDatabaseNamesrq   c                ,    g | ]}t          |          S r   rg   r   s     r   r   z*request_database_names.<locals>.<listcomp>  s    222qCFF222r   databaseNamesrt   )rh   rs   rv   r   s       r   request_database_namesr     sR       &&F.F2 H >>D22D12222r   )rh   r   ri   r   rj   r   rk   rl   )rh   r   ri   r   rk   rl   )
rh   r   ri   r   rj   r   r{   rP   rk   rl   )rk   rl   )N)rh   r   ri   r   rj   r   r   r   r   r   r   r   r{   r   rk   r   )rh   r   ri   r   rj   r   rk   r   )rh   r   ri   r   rk   r   )rh   r   rk   r   )
__future__r   utilr   r   dataclassesr   enumtyping r   r
   r"   r:   rC   rP   rZ   r/   rw   rz   r~   r   r   r   r   r   r   r   r   r   <module>r      s   # " " " " " * * * * * * * * ! ! ! ! ! !         
 
 
 
 
 
 
 
< 
 
 
 
 
 
 
 
D 
 
 
 
 
 
 
 
D (
 (
 (
 (
 (
 (
 (
 (
V !
 !
 !
 !
 !
 !
 !
 !
H 
 
 
 
 
 
 
 
: 
 
 
 
 
 
 
 
>   .   (   4      " 04) ) ) ) )X   >P P P P,3 3 3 3 3 3r   