Skip to content

Commit 56c21cd

Browse files
authored
Implement resolve as a single-dispatch function. (#261)
1 parent de976a0 commit 56c21cd

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

importlib_resources/_common.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,14 @@ def get_resource_reader(package: types.ModuleType) -> Optional[ResourceReader]:
3737
return reader(spec.name) # type: ignore
3838

3939

40-
def resolve(cand: Package) -> types.ModuleType:
41-
return cand if isinstance(cand, types.ModuleType) else importlib.import_module(cand)
40+
@functools.singledispatch
41+
def resolve(cand: Package):
42+
return cand
43+
44+
45+
@resolve.register
46+
def _(cand: str):
47+
return importlib.import_module(cand)
4248

4349

4450
def get_package(package: Package) -> types.ModuleType:

0 commit comments

Comments
 (0)