matthewrobb
8/18/2014 - 4:09 PM

Universal Module Exports

Universal Module Exports

function createUMEModule(values) {
    function __ume__() {
        return typeof values.default !== "function" ? values.default : values.default.apply(this, arguments);
    }
    
    Object.keys(values).forEach(function(name) {
        Object.defineProperty(__ume__, name, {
            enumerable: true,
            configurable: false,
            get: function() {
                return values[name];
            }
        });
    });
    
    return __ume__;
}