
    :Qg                     @    d dl Z d dlmZ  G d d      Z G d d      Zy)    N)5convert_item_or_items_into_compiled_regexes_else_nonec                   ,    e Zd ZddZdefdZdefdZy)BaseOperatorNc                 T    |rt        |      | _        || _        y d | _        || _        y N)r   regex_pathstypes)selfr   r	   s      N/var/www/html/answerous/venv/lib/python3.12/site-packages/deepdiff/operator.py__init__zBaseOperator.__init__   s-    TU`aD 
  $D
    returnc                 *   | j                   r;| j                   D ],  }t        j                  ||j                               d u}|s, y | j                  r@| j                  D ]1  }t        |j                  |      st        |j                  |      s1 y y)NTF)r   researchpathr	   
isinstancet1t2)r
   levelpatternmatchedtype_s        r   matchzBaseOperator.match   s    ++  ))GUZZ\:$F  ::  ehh.:ehh3N  r   c                     t        d      )Nz#Please implement the diff function.)NotImplementedError)r
   r   diff_instances      r   give_up_diffingzBaseOperator.give_up_diffing   s    !"GHHr   )NN)__name__
__module____qualname__r   boolr   r    r   r   r   r      s!    
d 
It Ir   r   c                   $    e Zd ZdefdZdefdZy)PrefixOrSuffixOperatorr   c                     |j                   xrD |j                  xr6 t        |j                   t              xr t        |j                  t              S r   )r   r   r   str)r
   r   s     r   r   zPrefixOrSuffixOperator.match    s9    xx`EHH`EHHc)B`zRWRZRZ\_G``r   c                 z    |j                   }|j                  }|j                  |      xs |j                  |      S r   )r   r   
startswith)r
   r   r   r   r   s        r   r   z&PrefixOrSuffixOperator.give_up_diffing#   s1    XXXX}}R 5BMM"$55r   N)r   r    r!   r"   r   r   r#   r   r   r%   r%      s    ad a6t 6r   r%   )r   deepdiff.helperr   r   r%   r#   r   r   <module>r+      s!    	 QI I26 6r   