aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author苏向夜 <fu050409@163.com>2024-03-02 11:35:00 +0800
committer苏向夜 <fu050409@163.com>2024-03-02 11:35:00 +0800
commitb18c32da9df9673cc1acee78c251151f7e7411ec (patch)
tree7051f3105ded970bd4698ecdbc56c83b0839f693 /src
parent7b4f2631a05d09e494af866156e85ef4e27bd5cb (diff)
downloadinfini-b18c32da9df9673cc1acee78c251151f7e7411ec.tar.gz
infini-b18c32da9df9673cc1acee78c251151f7e7411ec.zip
fix(injector): fix injector variables
Diffstat (limited to 'src')
-rw-r--r--src/infini/generator.py2
-rw-r--r--src/infini/injector.py10
2 files changed, 4 insertions, 8 deletions
diff --git a/src/infini/generator.py b/src/infini/generator.py
index a8946949..5473dade 100644
--- a/src/infini/generator.py
+++ b/src/infini/generator.py
@@ -19,7 +19,7 @@ class TextGenerator: # TODO 兼容多类型事件
variables.update(output.variables)
for name, variable in variables.items():
if callable(variable):
- variables[name] = injector.output(variable, output.variables)
+ variables[name] = injector.output(variable, variables)
return self.match(output).render(variables)
def match(self, output: Output) -> Template:
diff --git a/src/infini/injector.py b/src/infini/injector.py
index b4c2bea4..be1a86de 100644
--- a/src/infini/injector.py
+++ b/src/infini/injector.py
@@ -20,16 +20,12 @@ class Injector:
if param_name in parameters:
if not isinstance(parameters[param_name], param.annotation):
raise ValueError(
- f"Parameter with name '{param_name}' has a mismatch type."
+ f"Parameter with name '{param_name}' has a mismatch type, "
+ f"expected '{param.annotation!r}' but got '{type(parameters[param_name])!r}'."
)
inject_params[param_name] = parameters[param_name]
else:
- for parameter in parameters:
- if isinstance(parameter, param.annotation):
- inject_params[param_name] = parameter
- break
- else:
- inject_params[param_name] = default
+ inject_params[param_name] = default
bound_args = signature.bind(**inject_params)
bound_args.apply_defaults()
return lambda: func(*bound_args.args, **bound_args.kwargs)