export const getValueFromPsetProperty = (pset: string, property: string) => R.pipe(
R.prop('pSets'),
R.find(R.propEq('name', pset)),
R.propOr([], 'properties'),
R.find(R.propEq('name', property)),
R.propOr(null, 'value'),
R.ifElse(isValueValid, null,R.identity),
);
最后一个管道不起作用。我想做的是如果isValueValid
为true,则传递值。我该怎么办?
答案 0 :(得分:3)
您似乎没有正确使用R.ifElse
。前三个参数都应该是函数:
因此,根据您的描述,如果isValueValid
返回true,则想返回不变的值。在这种情况下,您的R.ifElse
应该是:
R.ifElse(isValueValid, R.identity, someOtherFunction)
您可能要考虑R.unless
,它仅在谓词为false时才运行函数。如果值有效,则R.unless
将其保持不变。
R.unless(isValueValid, someFunctionIfValueIsNotValid);