+
    ,j	                    J    ^ RI Ht ^ RIHt ^ RIHt ^ RIHt  ! R R4      tR# )    )annotations)Union)PackageName)PyPackageNameMatcherc                  v    ] tR t^	t$ RtR]R&   R R ltR R lt]R R	 l4       t	]
R
 R l4       tR R ltRtR# )PackageNameMatchera5  
A class representing a package name matcher.

Examples
--------
```python
>>> PackageNameMatcher("rattler")
PackageNameMatcher("rattler", exact)
>>> PackageNameMatcher("jupyter-*")
PackageNameMatcher("jupyter-*", glob)
>>> PackageNameMatcher("^jupyter-.*$")
PackageNameMatcher("^jupyter-.*$", regex)
>>>
```
r   _package_name_matcherc                   V ^8  d   QhRR/# )   package_name_matcherstr )formats   "Dlib/python3.14/site-packages/rattler/package/package_name_matcher.py__annotate__PackageNameMatcher.__annotate__   s     P PS P    c                	&    \        V4      V n        R # )N)r   r	   )selfr   s   &&r   __init__PackageNameMatcher.__init__   s    %9:N%O"r   c                   V ^8  d   QhRR/# r   returnr   r   )r   s   "r   r   r      s     1 1# 1r   c                	l    V P                   P                  4       p\        V 4      P                   R V R2# )())r	   display_innertype__name__)r   inners   & r   __repr__PackageNameMatcher.__repr__   s4    **88:t*%%&awa00r   c                    V ^8  d   QhRRRR/# )r   py_package_name_matcherr   r   r   r   )r   s   "r   r   r   $   s     $ $DX $]o $r   c                4    V P                  V 4      pWn        V# )zCConstruct Rattler PackageNameMatcher from FFI PyPackageName object.)__new__r	   )clsr%   r   s   && r   _from_py_package_name_matcher0PackageNameMatcher._from_py_package_name_matcher#   s      #{{3/5L2##r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   +   s     5 5C 5r   c                .    V P                   P                  # )a  
Returns the normalized string representation of the matcher.

For exact matches, returns the normalized package name.
For glob and regex patterns, returns the pattern string.

Examples
--------
```python
>>> PackageNameMatcher("rattler").normalized
'rattler'
>>> PackageNameMatcher("jupyter-*").normalized
'jupyter-*'
>>> PackageNameMatcher("^jupyter-.*$").normalized
'^jupyter-.*$'
>>>
```
)r	   
normalized)r   s   &r   r-   PackageNameMatcher.normalized*   s    ( ))444r   c                   V ^8  d   QhRR/# )r   r   zUnion[PackageName, None]r   )r   s   "r   r   r   @   s     B B!9 Br   c                n    V P                   P                  4       pVf   R# \        P                  ! V4      # )a*  
Converts a PackageNameMatcher to a PackageName if it is an exact matcher.

Examples
--------
```python
>>> PackageNameMatcher("rattler").as_package_name()
PackageName("rattler")
>>> PackageNameMatcher("jupyter-*").as_package_name()
>>> PackageNameMatcher("^jupyter-.*$").as_package_name()
>>>
```
N)r	   as_package_namer   _from_py_package_name)r   py_package_names   & r   r1   "PackageNameMatcher.as_package_name@   s2     44DDF"00AAr   )r	   N)r    
__module____qualname____firstlineno____doc____annotations__r   r"   classmethodr)   propertyr-   r1   __static_attributes__r   r   r   r   r   	   sN      0/P1 $ $ 5 5*B Br   r   N)	
__future__r   typingr   rattler.package.package_namer   rattler.rattlerr   r   r   r   r   <module>rA      s    "  4 0HB HBr   