Ramda 不少 Function 只提供正向判斷,如 isEmpty()
、isNil()
…,若要反向判斷,可自行使用 complement()
組合。
Version
macOS Catalina 10.15.3
VS Code 1.43.0
Quokka 1.0.282
Ramda 0.27.0
not()
import { isEmpty, not, compose } from 'ramda'
let isNotEmpty = compose(not, isEmpty)
isNotEmpty('') // ?
isNotEmpty({}) // ?
isNotEmpty([]) // ?
若要實作 isNotEmpty()
,可直接針對回傳值做 not()
,因此可使用 compose()
組合 not()
與 isEmpty()
。
complement()
import { isEmpty, complement } from 'ramda'
let isNotEmpty = complement(isEmpty)
isNotEmpty('') // ?
isNotEmpty({}) // ?
isNotEmpty([]) // ?
也可使用 complement()
直接針對 function 加以反向。
Conclusion
- 實務上自行實作 library 時,只要提供正向判斷即可,反向可由
complement()
組合