in nubia/internal/typing/builder.py [0:0]
def _build_simple_value(string, tp):
if not tp or issubclass_(tp, str):
return string
elif is_mapping_type(tp):
entries = (
re.split(r"\s*[:=]\s*", entry, maxsplit=1) for entry in string.split(";")
)
if is_dict_value_iterable(tp):
entries = ((k, re.split(r"\s*,\s*", v)) for k, v in entries)
return {k.strip(): v for k, v in entries}
elif is_tuple_type(tp):
return tuple(item for item in string.split(","))
elif is_iterable_type(tp):
return [item for item in string.split(",")]
else:
return string