all files / blackbird/modules/ index.js

100% Statements 11/11
100% Branches 2/2
100% Functions 4/4
100% Lines 10/10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23    97× 105× 105×                      
/*jslint node:true, es6: true, this: true*/
(function (R, requireLocal) {
    function extensionManager(mach) {
        const XS = new Map();
        return Object.assign(mach, {
            extend(...args) {
                R.forEach(function (ex) {
                    XS[ex] = XS[ex] || R.once(ex);
                    XS[ex](mach);
                }, args);
            }
        });
    }
 
    const mach = R.mergeAll(R.map((e) => R.objOf(e, requireLocal(e)),
        ["version", "Connection", "Header", "Location", "Message"]));
    module.exports = extensionManager(mach);
    mach.extend(require("./extensions/default"));
}(
    require("ramda"),
    require("./core/loading").locally(require)
));