I'm trying to understand what the following function returns:
fs.api.services.wrapOnSuccess_ = function(a, b, c) {
    if (b) return c = c || function() {},
        function(d, e, f) {
            fs.isDefinedAndNotNull(d.debugtrace) && fs.api.services.handleDebugTrace_(d.debugtrace);
            200 == d.meta.code ? (fs.api.getLogger().debug("success"),
                b(a(d.response), fs.api.services.rawBundleSuccess_(d, e, f))) :
            (fs.api.getLogger().error("non 200 meta code on api response", d), c(d.meta, fs.api.services.rawBundleSuccess_(d, e, f)))
        }
Is it right that it returns a ternary function since function(d,e,f){..} is on the right of the comma? If so, does it mean calls to wrapOnSuccess_  should look something like wrapOnSuccess_(x,y,z)(s,t,u)?
