
    x
h                         d dl mZmZmZmZ d dlZ ej                  d      Z ej                  d      Zd Z	d Z
d Zd Zd	 Zy)
    )absolute_importdivisionprint_functionunicode_literalsNz9^[a-z0-9]+|[A-Z][a-z0-9]+|[A-Z]+(?=[A-Z][a-z0-9])|[A-Z]+$z[-_/]+c                     g }t        j                  t        |       D ]<  }t        j	                  |      }|r|j                  |       ,|j                  |       > |S )z
    Splits name based on capitalization, dashes, and underscores.
        Example: 'GetFile' -> ['Get', 'File']
        Example: 'get_file' -> ['get', 'file']
    )resplit_split_words_dashes_re_split_words_capitalization_refindallextendappend)name	all_wordswordvalss       [/var/www/html/lionshead-backend/venv/lib/python3.12/site-packages/stone/backends/helpers.pysplit_wordsr      sV     I/6-55d;T"T" 7     c                     t        |       }t        |      dkD  sJ |j                  d      j                         }|dj	                  |D cg c]  }|j                          c}      z   S c c}w )zq
    Converts name to lower camel case. Words are identified by capitalization,
    dashes, and underscores.
    r    )r   lenpoplowerjoin
capitalize)r   wordsfirstr   s       r   	fmt_camelr      sa    
 Eu:>>IIaL E277%@%$DOO-%@AAA@s   A+
c                 x    dj                  t        |       D cg c]  }|j                          c}      S c c}w )zz
    Converts name to words separated by dashes. Words are identified by
    capitalization, dashes, and underscores.
    -r   r   r   r   r   s     r   
fmt_dashesr$   &   2    
 88k$.?@.?dTZZ\.?@AA@   7c                 x    dj                  t        |       D cg c]  }|j                          c}      S c c}w )zl
    Converts name to pascal case. Words are identified by capitalization,
    dashes, and underscores.
    r   )r   r   r   r#   s     r   
fmt_pascalr(   .   s3    
 77+d2CD2C$DOO%2CDEEDr&   c                 x    dj                  t        |       D cg c]  }|j                          c}      S c c}w )z
    Converts name to words separated by underscores. Words are identified by
    capitalization, dashes, and underscores.
    _r"   r#   s     r   fmt_underscoresr+   6   r%   r&   )
__future__r   r   r   r   r   compiler   r
   r   r   r$   r(   r+    r   r   <module>r/      sR    R R 	!+?"  $H-  BBFBr   