o
    E6dH                     @  s~  d dl mZ d dlZ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 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 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 ddlmZ ddlmZ e
rddlmZ 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$ 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+ dd!l,m-Z- dd"l.m/Z/ dd#l0m1Z1 dd$l0m2Z2 dd%lm3Z3 dd&l4m5Z5 ed'ed(Z6ed)ed*d+Z7ed,e8d(Z9	 e
re$Z:ed- Z;ee	e6 d.f Z<ee	e6 d.d/d0f Z=ee>ef Z?ee>ef Z@ee	e6 eed1f ee f ZAeee6 eejBe6 f ZCed2ee d(ZDG d3d4 d4ed5d6ZEeeEee>ef f ZFG d7d8 d8eZGG d9d: d:eZHdmd?d@ZIdndBdCZJdodGdHZKe
rdpdJdKZLdqdMdNZMdrdPdQZNdsdTdUZOdsdVdWZPdtd[d\ZQdud`daZRdvdcddZSdS eTdeZLeTdfZMeTdgZNeTdhZOeTdiZPeTdjZReTdkZQeTdlZSdS )w    )annotationsN)Any)Dict)Mapping)Optional)Tuple)Type)TYPE_CHECKING)TypeVar)Union   )_CoreKnownExecutionOptions)roles)DMLStrategyArgument)SynchronizeSessionArgument)_HasClauseElement)ColumnElement)Protocol)	TypeGuard   )AttributeImpl)CollectionAttributeImpl)HasCollectionAdapter)QueryableAttribute)PassiveFlag)registry)InspectionAttr)MapperProperty)	ORMOption)UserDefinedOption)Mapper)RelationshipProperty)InstanceState)AliasedClass)AliasedInsp)_CE)ExecutableOption_T)bound_T_coT)r(   	covariant_O)
Mapper[_T]AliasedInsp[_T]zAliasedClass[_T]r,   r-   ._ORMCOLEXPRc                   @  s>   e Zd ZU ded< ded< ded< ded< ded< ded	< d
S )_OrmKnownExecutionOptionsboolZpopulate_existingZ	autoflushr   Zsynchronize_sessionr   Zdml_strategyZis_delete_usingZis_update_fromN)__name__
__module____qualname____annotations__ r5   r5   mC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\sqlalchemy/orm/_typing.pyr/   Y   s   
 r/   F)totalc                   @  s   e Zd ZdZd
ddd	ZdS )_ORMAdapterProtozprotocol for the :class:`.AliasedInsp._orm_adapt_element` method
    which is a synonym for :class:`.AliasedInsp._adapt_element`.


    Nobjr%   keyOptional[str]returnc                 C     d S Nr5   )selfr9   r:   r5   r5   r6   __call__n      z_ORMAdapterProto.__call__r>   )r9   r%   r:   r;   r<   r%   )r1   r2   r3   __doc__r@   r5   r5   r5   r6   r8   g   s    r8   c                   @  s   e Zd Zd
ddZd	S )_LoaderCallablestateInstanceState[Any]passiver   r<   r   c                 C  r=   r>   r5   )r?   rD   rF   r5   r5   r6   r@   s   rA   z_LoaderCallable.__call__N)rD   rE   rF   r   r<   r   )r1   r2   r3   r@   r5   r5   r5   r6   rC   r   s    rC   optr&   r<   TypeGuard[ORMOption]c                 C  s   | j  S r>   )_is_corerG   r5   r5   r6   is_orm_optionw   s   rK   TypeGuard[UserDefinedOption]c                 C  s   | j  o| jS r>   )rI   Z_is_user_definedrJ   r5   r5   r6   is_user_defined_option}   s   rM   r9   r   r0   c                 C  s   t | dp	t | dS )NZ__composite_values____dataclass_fields__)hasattrr9   r5   r5   r6   is_composite_class   s   rQ   TypeGuard[MapperProperty[Any]]c                 C  r=   r>   r5   rP   r5   r5   r6   insp_is_mapper_property   rA   rS   TypeGuard[Mapper[Any]]c                 C  r=   r>   r5   rP   r5   r5   r6   insp_is_mapper   rA   rU   TypeGuard[AliasedInsp[Any]]c                 C  r=   r>   r5   rP   r5   r5   r6   insp_is_aliased_class   rA   rW   r   "TypeGuard[QueryableAttribute[Any]]c                 C  r=   r>   r5   rP   r5   r5   r6   insp_is_attribute      rY   c                 C  r=   r>   r5   rP   r5   r5   r6   attr_is_internal_proxy   rZ   r[   propMapperProperty[Any]$TypeGuard[RelationshipProperty[Any]]c                 C  r=   r>   r5   )r\   r5   r5   r6   prop_is_relationship   rZ   r_   implr   "TypeGuard[CollectionAttributeImpl]c                 C  r=   r>   r5   r`   r5   r5   r6   is_collection_impl   rZ   rc   TypeGuard[HasCollectionAdapter]c                 C  r=   r>   r5   rb   r5   r5   r6   is_has_collection_adapter   rZ   re   Zis_propertyZ	is_mapperZis_aliased_classZis_attributeZ_is_internal_proxyZ
collectionZ_is_relationshipZ_is_has_collection_adapter)rG   r&   r<   rH   )rG   r&   r<   rL   )r9   r   r<   r0   )r9   r   r<   rR   )r9   r   r<   rT   )r9   r   r<   rV   )r9   r   r<   rX   )r\   r]   r<   r^   )r`   r   r<   ra   )r`   r   r<   rd   )U
__future__r   operatortypingr   r   r   r   r   r   r	   r
   r   Zengine.interfacesr   sqlr   Zsql._orm_typesr   r   Zsql._typingr   Zsql.elementsr   Zutil.typingr   r   
attributesr   r   r   r   baser   Zdecl_apir   Z_registry_typeZ
interfacesr   r   r   r   Zmapperr    Zrelationshipsr!   rD   r"   utilr#   r$   r%   Zsql.baser&   r'   r)   objectr+   Z_RegistryTypeZ_InternalEntityTypeZ_ExternalEntityTypeZ_EntityTypestrZ
_ClassDictZ_InstanceDictZ_IdentityKeyTypeZExpressionElementRoleZ_ORMColumnExprArgumentr.   r/   ZOrmExecuteOptionsParameterr8   rC   rK   rM   rQ   rS   rU   rW   rY   r[   r_   rc   re   
attrgetterr5   r5   r5   r6   <module>   s   	
















