p-over-every
overEvery
for Promises (async, no concurrency)
Accepts synchronous and asynchronous (promise-returning) predicates.
It calls functions in order, that is, put your sync predicates at the beginning to optimize for execution time.
Usage
const isPair = x % 2const isGtFour = Promiseconst predicates = isPair isGtFour5