[英]Declare types for Ramda composed/piped functions in Typescript
I'm currently trying to use Ramda with Typescript, but i can't find any examples about declaring types for functions expressions created by pipe (or compose) function, below is my code: 我目前正在尝试将Ramda与Typescript一起使用,但我找不到任何关于声明由管道(或组合)函数创建的函数表达式的类型的示例,下面是我的代码:
interface VersionObject {
major: number;
minor: number;
patch: number;
}
const parseVersionString = pipe(
split('.'),
map(unless(isNaN, parseInt)), // btw, ts complain about this parseInt
zip(['major', 'minor', 'patch']),
fromPairs
);
What i'm trying to do is to declare that parseVersionString
receives an string
and returns a VersionObject
, how could i do that? 我要做的是声明parseVersionString
接收一个string
并返回一个VersionObject
,我怎么能这样做?
Two syntax variants which are equivalent: 两种语法变体是等效的:
const parseVersionString: (s: string) => VersionObject = pipe(
const parseVersionString: { (s: string): VersionObject } = pipe(
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.