moy-fp
Version:
A functional programming library.
20 lines (17 loc) • 495 B
JavaScript
import curry from '../Function/curry'
/**
* Functor f => f a -> a
* [a] -> [a]
*/
const extract = curry(
F => {
switch(Object.prototype.toString.call(F)){
case '[object Identity]': return F.value
case '[object Maybe]': return F.value === null || F.value === undefined ? null : F.value
case '[object IO]': return F.unsafePerformIO
case '[object Task]': return F.fork
case '[object Array]': return F
default: return ;
}
})
export default extract