Skip to content

Commit

Permalink
feat: pass function args to execPre
Browse files Browse the repository at this point in the history
  • Loading branch information
vkarpov15 committed Mar 26, 2017
1 parent d97081f commit 4dd466d
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions index.js
Expand Up @@ -5,13 +5,18 @@ function Kareem() {
this._posts = {};
}

Kareem.prototype.execPre = function(name, context, callback) {
Kareem.prototype.execPre = function(name, context, args, callback) {
if (arguments.length === 3) {
callback = args;
args = [];
}
var pres = this._pres[name] || [];
var numPres = pres.length;
var numAsyncPres = pres.numAsync || 0;
var currentPre = 0;
var asyncPresLeft = numAsyncPres;
var done = false;
var $args = args;

if (!numPres) {
return process.nextTick(function() {
Expand Down Expand Up @@ -74,10 +79,9 @@ Kareem.prototype.execPre = function(name, context, callback) {

next.apply(context, arguments);
}];
if (arguments.length >= 2) {
for (var i = 1; i < arguments.length; ++i) {
args.push(arguments[i]);
}
var _args = arguments.length >= 2 ? arguments : [null].concat($args);
for (var i = 1; i < _args.length; ++i) {
args.push(_args[i]);
}
pre.fn.apply(context, args);
} else {
Expand All @@ -96,7 +100,7 @@ Kareem.prototype.execPre = function(name, context, callback) {
}
};

next();
next.apply(null, [null].concat(args));
};

Kareem.prototype.execPreSync = function(name, context) {
Expand Down Expand Up @@ -237,7 +241,7 @@ Kareem.prototype.wrap = function(name, fn, context, args, options) {
}
options = options || {};

this.execPre(name, context, function(error) {
this.execPre(name, context, args, function(error) {
if (error) {
var numCallbackParams = options.numCallbackParams || 0;
var nulls = [];
Expand Down

0 comments on commit 4dd466d

Please sign in to comment.