def get_basic_type(type_): if isinstance(type_, type): if issubclass(type_, pydantic.ConstrainedInt): return int if issubclass(type_, pydantic.ConstrainedStr): return str if type_ in FIELDS_MAP: type_ = FIELDS_MAP.get(type_) if type_ is None: raise UnsupportedTypeError() if is_new_type(type_): return new_type_supertype(type_) return type_
def test_is_new_type(): new_type = NewType('new_type', str) new_new_type = NewType('new_new_type', new_type) assert is_new_type(new_type) assert is_new_type(new_new_type) assert not is_new_type(str)