我已经创建了一个帮助类型来打开Observable<T>的内部类型
type UnwrapObservable<T> = T extends Observable<(infer U)> ? U : never;这个很好用。但是..。我的第二个想法是,“我如何使这种类型完全通用,并应用于任何类型,而不仅仅是可观察的,本质上是Unwrap<T>。
以下是我尝试过的:
type Unwrap<T, W> = T extends W<(infer U)> ? U : never;但我明白:
类型'W‘不是通用的。ts(2315)
如何创建一个打开任何指定类型的类型?
发布于 2020-12-08 10:18:37
你想要做的事情在TS中是不可能的,但据我所知,它在流中是可能的)
在TS中,不能对泛型应用限制,因为泛型需要其他泛型作为参数。
这是最通用的Wrap类型。
type Wrapp<T> = { wrapped: T }
type Unwrap<T> = T extends Wrapp<(infer R)> ? R : never类似的限制请参见这里
https://stackoverflow.com/questions/65196665
复制相似问题