在Typescript中声明Ramda组合/管道函数的类型

时间:2017-12-21 20:04:35

标签: javascript typescript ramda.js

我目前正在尝试将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
);

我要做的是声明parseVersionString收到string并返回VersionObject,我该怎么做?

1 个答案:

答案 0 :(得分:3)

两种等效的语法变体:

const parseVersionString: (s: string) => VersionObject = pipe(

const parseVersionString: { (s: string): VersionObject } = pipe(