Typescript fp ts:如何组合多个期权生产者?
我正在寻找具有以下行为的Typescript fp ts:如何组合多个期权生产者?,typescript,fp-ts,Typescript,Fp Ts,我正在寻找具有以下行为的fp ts函数: function compute1(arg: number): Option<number>; function compute2(arg: number): Option<number>; function compute3(arg: number): Option<number>; function compute(arg: number): Option<number> { const firs
fp ts
函数:
function compute1(arg: number): Option<number>;
function compute2(arg: number): Option<number>;
function compute3(arg: number): Option<number>;
function compute(arg: number): Option<number> {
const first = compute1(arg)
if (isSome(first)) return first
const second = compute2(arg)
if (isSome(second)) return second
const third = compute3(arg)
if (isSome(third)) return third
return none
}
// For example I am looking for this `or` function:
const compute = or([
compute1,
compute2,
compute3,
])
函数compute1(arg:number):选项;
函数compute2(arg:number):选项;
函数compute3(arg:number):选项;
函数计算(arg:number):选项{
const first=compute1(arg)
如果(isSome(first))首先返回
常数秒=计算2(arg)
如果(isSome(second))返回second
const third=compute3(arg)
如果(是某些(第三个))返回第三个
一无所获
}
//例如,我正在寻找这个`或`函数:
常数计算=或([
计算机1,
计算2,
计算3,
])
我找不到相应的函数。我想您正在选项库中查找
getLastMonoid
。这将为您提供最右边的部分值,如下表所示:
x
Y
concat(x,y)
没有一个
没有一个
没有一个
一些(a)
没有一个
一些(a)
没有一个
一些(a)
一些(a)
一些(a)
部分(b)
部分(b)