From 1cbd9bd2dd16ddaa263f2eb69970dd8e45dfa370 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Mon, 1 Apr 2024 15:42:47 +0800 Subject: feat(injector): allow complex and instance annocation --- src/infini/injector.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/infini/injector.py b/src/infini/injector.py index 73d96566..62032bb5 100644 --- a/src/infini/injector.py +++ b/src/infini/injector.py @@ -28,7 +28,11 @@ class Injector: else: param_types = (origin,) - if type(parameters[param_name]) not in param_types: + if not any( + isinstance(parameters[param_name], param_type) + for param_type in param_types + if not isinstance(param_type, typing._SpecialForm) + ): raise ValueError( f"Parameter with name '{param_name}' has a mismatch type, " f"expected '{param.annotation!r}' but got '{type(parameters[param_name])!r}'." -- cgit v1.2.3-70-g09d2