Exemple #1
0
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_
Exemple #2
0
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)