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 } }