mixin.js
620 Bytes
var underscore = require('./underscore.js');
var each = require('./each.js');
var functions = require('./functions.js');
var _setup = require('./_setup.js');
var _chainResult = require('./_chainResult.js');
// Add your own custom functions to the Underscore object.
function mixin(obj) {
each(functions(obj), function(name) {
var func = underscore[name] = obj[name];
underscore.prototype[name] = function() {
var args = [this._wrapped];
_setup.push.apply(args, arguments);
return _chainResult(this, func.apply(underscore, args));
};
});
return underscore;
}
module.exports = mixin;