33import os
44import re
55from pathlib import Path
6- from typing import Any , AsyncGenerator , Iterable , List , Union , cast
6+ from typing import Any , AsyncGenerator , Iterable , Sequence , Union , cast
77
88
99def _glob_pattern_to_re (pattern : str ) -> str :
@@ -84,8 +84,8 @@ def globmatches(pattern: str, path: Union[Path, str, os.PathLike[Any]]) -> bool:
8484
8585async def iter_files (
8686 path : Union [Path , str , os .PathLike [str ]],
87- patterns : Union [List [Union [Pattern , str ]], Pattern , str , None ] = None ,
88- ignore_patterns : Union [List [Union [Pattern , str ]], Pattern , str , None ] = None ,
87+ patterns : Union [Sequence [Union [Pattern , str ]], Pattern , str , None ] = None ,
88+ ignore_patterns : Union [Sequence [Union [Pattern , str ]], Pattern , str , None ] = None ,
8989 * ,
9090 absolute : bool = False ,
9191 _base_path : Union [Path , str , os .PathLike [str ], None ] = None ,
@@ -99,12 +99,12 @@ async def iter_files(
9999 if not isinstance (_base_path , Path ):
100100 path = Path (_base_path )
101101
102- if patterns is not None and not isinstance (patterns , (set , list , tuple )):
102+ if patterns is not None and isinstance (patterns , (str , Pattern )):
103103 patterns = [patterns ]
104104 if patterns is not None :
105105 patterns = list (map (lambda p : p if isinstance (p , Pattern ) else Pattern (p ), patterns ))
106106
107- if ignore_patterns is not None and not isinstance (ignore_patterns , (set , list , tuple )):
107+ if ignore_patterns is not None and isinstance (ignore_patterns , (str , Pattern )):
108108 ignore_patterns = [ignore_patterns ]
109109 if ignore_patterns is not None :
110110 ignore_patterns = list (map (lambda p : p if isinstance (p , Pattern ) else Pattern (p ), ignore_patterns ))
0 commit comments