const R = require('ramda')
let a = undefined
let b = {'b': 2}
// 优雅1
let determine1 = R.when(
R.propEq('b', 2),
R.compose(
R.inc,
R.prop('b')
)
)
// 丑陋1
let result1 = determine1(b)
result1
let result2
if (R.isNil(a)) {
result2 = R.prop('b', b) + 1
} else {
result2 = R.identity(b)
}
result2
// 丑陋2
let obj = {a, b}
let determine3 = R.when(
R.compose(
R.isNil,
R.path(['a', 'a'])
),
R.compose(
R.inc,
R.path(['b', 'b'])
)
)
let result3 = determine3(obj)
result3