def type_anno_func(func, defs, is_result=False):
annos = {}
if not defs:
return func
rtypes = _registry.getObj(_types[defs])
if is_result:
kn = "return"
if not rtypes:
annos[kn] = None
elif len(rtypes) > 1:
annos[kn] = Union[tuple([r[1] for r in rtypes])]
else:
annos[kn] = rtypes[0][1]
else:
for name, rtype in rtypes:
name = name_to_py(name)
annos[name] = rtype
func.__annotations__.update(annos)
return func
评论列表
文章目录