问题标签 [type-annotation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
170 浏览

types - Warp 要求荒谬的长而复杂的显式类型注释,还有其他方法吗?

我收到以下错误,

这是我写的。我很困惑这应该是什么样子,

这应该怎么看,我真的应该使用像这样的显式类型,

warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And<impl warp::Filter+std::marker::Copy, impl warp: :Filter+std::marker::Copy>, impl warp::Filter+std::marker::Copy>

为了清楚我在这里想要什么,是一个创建用户端点。

  • 我希望从 JSON 反序列化用户对象
  • 如果反序列化后的用户对象具有 id,我希望能够拒绝请求(HTTP 错误)。我不希望用户能够选择 ID。
  • &user.insert()将在数据库中插入用户对象,并返回一个带有 ID 的新用户对象。
  • 我希望将错误或用户对象返回给用户。

如何理解 Warp 请求的荒谬复杂的类型注释?这真的是必需的,还是我犯了错误?

0 投票
1 回答
36 浏览

python-3.x - 类型注释:从容器类型中提取内部类型

我有以下设置:

foo可以用什么来int摆脱List

0 投票
2 回答
95 浏览

generics - 如何在不提供泛型类型的情况下调用泛型类型的关联函数?

我的函数是不带self参数的结构的一部分(出于上下文原因)。T此外,结构本身采用具有一些特征限制的通用参数:

我想编写一个测试,并且我想避免为该函数提供self参数,因为使用一些通用结构参数来模拟对象对于那个小函数和测试来说需要付出很多努力。

我为其他测试这样做,因为那里有必要,但我想尽可能避免它。

我试着这样称呼它:

但即使不需要,它也会要求我提供类型注释。

有没有办法在不模拟结构或从结构实现中删除函数的情况下调用它?

0 投票
1 回答
43 浏览

python - Python 记录器的类型注释

我对在我的 Python 代码中加入类型提示非常陌生,并且经常觉得我在这样做时处于不稳定的状态。我有一个创建并返回自定义记录器的函数,我想知道我是否正确提示了返回类型。

logging.getLogger在这种情况下,返回类型是否正确?如果不是,正确的类型是什么?

0 投票
2 回答
55 浏览

python - python3:类型注释和枚举子类

我不喜欢从 Mypy 收到有关函数签名的投诉,但我不知道如何解决这个问题。

我正在构建一个包,供多个程序使用。我有一个 IntEnum 的子类(FWIW,称为 _Event),它包含许多相关的属性和方法。_Event 从不直接使用,因为它不包含任何成员,但是几个不同的程序使用不兼容的 _Event 子类(AlphaEvent、BetaEvent 等),它们定义了 Enum 的实际成员(即实际事件)。每个子类只有一个成员是通用的,碰巧它被称为 END。由于您不能使用成员对枚举进行子类化,因此它在每个子类中单独定义(因此 _Event 没有 END 成员,但存在 AlphaEvent.END 和 BetaEvent.END )。

我有几个利用 _Event 子类的函数。我有几个需要访问 END 成员的属性,但对所有实例都是通用的。所以它们包含一个签名:

MyPy 将上面的最后一行代码标记为"error: "_Event" has no attribute "END"

确实如此,但子类确实如此。如何注释函数签名以消除此错误?

0 投票
0 回答
46 浏览

rust - TryInto trait 要求更多类型注释,即使所有注释都已到位

我有以下代码(受限示例)。有一个串行协议,使用crate 建模Command和枚举- 枚举中的每个变体都用一个结构表示。struct 任务负责 s 的序列化、执行和反序列化,用通用枚举(generic impl)或特定结构(templated impl)返回s。通用实现工作得很好,但模板化的实现无法编译。Responceenum_dispatchTransportCommandTransportResultResponce

当我尝试编译与上面相同的代码时,我收到以下错误:

我不明白,这里的错误是什么 - 我以为我已经在Transport::command_with_addr成员函数中说明了所有必要的类型注释。

注意,enum_dispatch使用以下代码生成try_into转换,在上面的代码中使用:

0 投票
1 回答
25 浏览

typescript - 如何在 Typescript 中安全地引用对象的参数化属性?

我有一个函数,它接收一个对象作为参数并访问它的一个属性,由另一个参数确定。像这样的东西:

如何以确保property参数是参数的键subject并且value参数具有相同类型的方式对该函数进行类型注释?

如果有帮助,我希望property参数始终是文字值(“硬编码”值,而不是变量),所以这是一个可以接受的约束。

0 投票
1 回答
49 浏览

typescript - Visual Studio 代码是否有一个键绑定来注释打字稿中的类型

例如,假设我有以下代码

我想点击 foo 并按下一个键来注释一个类型

Visual Studio 代码已经知道类型,因为当您将鼠标悬停在它上面时,它就在那里。我将如何进行键绑定?

0 投票
0 回答
34 浏览

python - 是否可以写一个否定的python类型注释

这听起来可能不合理,但现在我需要否定类型注释。我的意思是这样的

这是因为我为一个函数编写了一个重载,而 mypy 不理解我。我的功能看起来像这样......

但 mypy 抱怨重载 1 与重载 2 重叠并返回不兼容的类型。

Not[Iterable]否定类型注释可以通过使用而不是Any重载 2轻松解决此问题。

有谁知道如何解决这个问题?

0 投票
1 回答
101 浏览

python - mypy 不兼容类型列表有类型列表

我正在使用带有代码的提示工具包 python 库:

当我运行 mypy 0.931 时,我得到:

我不确定问题是否出在我的代码上,因为返回值类似于['eggs', 'bacon']which is a list[str]。mypy 的这个错误也很奇怪,因为我认为我不应该在这里使用协变。关于可能是什么问题的任何提示?