33
44COLOR_PATTERN = r'^#(?:[0-9a-fA-F]{3}){1,2}$'
55EMAIL_PATTERN = r'^[^@]+@[^@]+\.[^@]+$'
6+ ANY_FILE_PATTERN = r'^.+$'
67
78def _file_pattern (* extensions ):
89 """Generate regex pattern for file extensions."""
@@ -12,11 +13,11 @@ def _file_pattern(*extensions):
1213
1314Color = Annotated [str , Field (pattern = COLOR_PATTERN )]
1415Email = Annotated [str , Field (pattern = EMAIL_PATTERN )]
15- ImageFile = Annotated [str , Field (pattern = _file_pattern ('png' , 'jpg' , 'jpeg' , 'gif' , 'webp' ))]
16- DataFile = Annotated [str , Field (pattern = _file_pattern ('csv' , 'xlsx' , 'xls' , 'json' ))]
17- TextFile = Annotated [str , Field (pattern = _file_pattern ('txt' , 'md' , 'log' ))]
18- DocumentFile = Annotated [str , Field (pattern = _file_pattern ('pdf' , 'doc' , 'docx' ))]
19-
16+ ImageFile = Annotated [str , Field (pattern = _file_pattern ('png' , 'jpg' , 'jpeg' , 'gif' , 'webp' , 'bmp' , 'tiff' , 'svg' , 'ico' , 'heic' , 'avif' ))]
17+ DataFile = Annotated [str , Field (pattern = _file_pattern ('csv' , 'xlsx' , 'xls' , 'json' , 'xml' , 'yaml' , 'yml' ))]
18+ TextFile = Annotated [str , Field (pattern = _file_pattern ('txt' , 'md' , 'log' , 'rtf' ))]
19+ DocumentFile = Annotated [str , Field (pattern = _file_pattern ('pdf' , 'doc' , 'docx' , 'odt' , 'ppt' , 'pptx' , 'odp' , 'xls' , 'xlsx' , 'ods' ))]
20+ File = Annotated [ str , Field ( pattern = ANY_FILE_PATTERN )]
2021
2122class _OptionalEnabledMarker :
2223 """Internal marker for OptionalEnabled"""
0 commit comments