src/context.js
function _gpfReduceContext (path, reducer) {
    var rootContext,
        pathToReduce;
    if (path[_GPF_START] === "gpf") {
        rootContext = gpf;
        pathToReduce = _gpfArrayTail(path);
    } else {
        rootContext = _gpfMainContext;
        pathToReduce = path;
    }
    return pathToReduce.reduce(reducer, rootContext);
}
function _gpfReduceContext (path, reducer) {
    var rootContext,
        pathToReduce;
    if (path[_GPF_START] === "gpf") {
        rootContext = gpf;
        pathToReduce = _gpfArrayTail(path);
    } else {
        rootContext = _gpfMainContext;
        pathToReduce = path;
    }
    return pathToReduce.reduce(reducer, rootContext);
}
function _gpfReduceContext ( path , reducer ) { var rootContext , pathToReduce ; if ( path [ _GPF_START ] === "gpf" ) { rootContext = gpf ; pathToReduce = _gpfArrayTail ( path ) ; } else { rootContext = _gpfMainContext ; pathToReduce = path ; } return pathToReduce . reduce ( reducer , rootContext ) ; }
Apply reducer on path
Apply reducer on path