Python typing 模块,NewType() 实例源码

我们从Python开源项目中,提取了以下2个代码示例,用于说明如何使用typing.NewType()

项目:venom    作者:biosustain    | 项目源码 | 文件源码
def test_new_type_return_value(self):
        MyInt = NewType('MyInt', int)

        def func(self) -> MyInt:
            return 42

        inspect = magic_normalize(func, converters=[Int64ValueConverter(), Int32ValueConverter()])
        self.assertEqual(inspect.response, IntegerValue)
        self.assertEqual(inspect.request, Empty)
        self.assertEqual(await inspect.invokable(None, Empty()), IntegerValue(42))
项目:venom    作者:biosustain    | 项目源码 | 文件源码
def test_magic_new_type_request_message(self):
        MyInt = NewType('MyInt', int)

        def func(self, value: MyInt) -> IntegerValue:
            return IntegerValue(value)

        inspect = magic_normalize(func, request=IntegerValue)
        self.assertEqual(inspect.response, IntegerValue)
        self.assertEqual(inspect.request, IntegerValue)
        self.assertEqual(await inspect.invokable(None, IntegerValue(42)), IntegerValue(42))