conductor
Version:
A modern & functional JavaScript utility library
17 lines (14 loc) • 322 B
JavaScript
const map = require('./map')
const type = require('./type')
const factory = spec => (...args) =>
map(value => {
switch (type(value)) {
case 'function':
return value(...args)
case 'object':
return factory(value)(...args)
default:
return value
}
}, spec)
module.exports = factory