gpt4 book ai didi

typescript - 如何制作依赖于先前值的 typescript 定义?

转载 作者:行者123 更新时间:2023-12-03 20:24:39 25 4
gpt4 key购买 nike

例如,请参阅此代码:

var a
a.set('my-custom-value',55)
a.
在第 3 行,我如何让 IDE 知道第 2 行中的值,并为使用库的最终用户定义的字符串提供自动完成功能?
我想要在我输入 a. 之后我会将“my-custom-value”视为 VSCode 的自动完成选项。
我看到了 yargs是这样工作的。如果我定义了一个选项或位置参数,稍后 IDE 会为我提供我选择的内容。

最佳答案

这可以通过 asserts return type 来完成。 ,这是可能的,因为 Typescript 支持控制流类型缩小:

class Foo {
setKey<K extends PropertyKey, V>(k: K, v: V): asserts this is Record<K, V> {
(this as any)[k] = v;
}
}

let foo: Foo = new Foo();
// foo. completes as foo.setKey

foo.setKey('bar', 23);
// now foo. completes as foo.bar or foo.setKey
Playground Link

关于typescript - 如何制作依赖于先前值的 typescript 定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63768872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com