在 Typescript 中为 Ramda composed/piped 函数声明类型
Declare types for Ramda composed/piped functions in Typescript
我目前正在尝试将 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
和 returns 收到 VersionObject
,我该怎么做?
两个等效的语法变体:
const parseVersionString: (s: string) => VersionObject = pipe(
const parseVersionString: { (s: string): VersionObject } = pipe(
我目前正在尝试将 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
和 returns 收到 VersionObject
,我该怎么做?
两个等效的语法变体:
const parseVersionString: (s: string) => VersionObject = pipe(
const parseVersionString: { (s: string): VersionObject } = pipe(