Support `ctx: UnionType` annots for `@tractor.context` eps

ext_type_plds
Tyler Goodlet 2024-12-11 22:22:26 -05:00
parent 58a818472c
commit 6a94a520d6
1 changed files with 11 additions and 1 deletions

View File

@ -47,6 +47,9 @@ from functools import partial
import inspect
from pprint import pformat
import textwrap
from types import (
UnionType,
)
from typing import (
Any,
AsyncGenerator,
@ -2548,7 +2551,14 @@ def context(
name: str
param: Type
for name, param in annots.items():
if param is Context:
if (
param is Context
or (
isinstance(param, UnionType)
and
Context in param.__args__
)
):
ctx_var_name: str = name
break
else: