打字稿中的链算子功能

时间:2018-12-20 00:09:20

标签: typescript

我正在尝试实现一个在TypeScript 3.2中遵循以下接口的功能:

const s: string = chain(
    () => 123,
    (n: number) => "abc"
    (s: string) => s
);

我可以通过声明多个函数来做到这一点:

function chain2<A, B>(a: () => A, b: (a: A) => B): B {
    return b(a());
}

function chain3<A, B, C>(a: () => A, b: (a: A) => B, c: (b: B) => C): C {
    return c(b(a()));
}

// and so on

但是,自release of Tuples in rest parameters and spread expressions起,我想知道是否有一种方法可以只使用一个函数声明。到目前为止,我一直在尝试其他方法,但都没有成功。

0 个答案:

没有答案