- remove `import typing as ty`, `import typing_extensions as tyex` to reduce global lookup
- add an `ignore` field to node config, where these ignored param names or types will be ignored at statical resolve / resolve phase
py
dg.node(ignore=("name", int))
class User:
name: str
age: int
dg = DependencyGraph()
dg.node(ignore=("name", int))(User)
with pytest.raises(TypeError):
dg.resolve(User)
n = dg.resolve(User, name="test", age=3)
assert n.name == "test"
assert n.age == 3
- fix a potential bug where when resolve dependent return None or False it could be re-resolved
- rasie error when a factory returns a builtin type
py
dg.node
def create_user() -> str:
...