9 lines
271 B
JavaScript
9 lines
271 B
JavaScript
|
|
var is = require('./is')
|
||
|
|
, identity = require('./identity')
|
||
|
|
|
||
|
|
module.exports = function proxy(fn, ret, ctx){
|
||
|
|
return function(){
|
||
|
|
var result = (fn || identity).apply(ctx || this, arguments)
|
||
|
|
return is.fn(ret) ? ret.call(ctx || this, result) : ret || result
|
||
|
|
}
|
||
|
|
}
|