advise

Aspect-Oriented Programming for JavaScript

advise.js

More docs to come...

var advisor = advise(Math);
advisor.before('pow', function (xy) {
  // return an array, gets used as the arguments to the function 
  return [* 2, y * 2];
});
 
advisor.after('pow', function (result) {
  // do something with the return value of the operation. 
  console.log(result)
})
advise(jQuery).before('ajax', function (settings) {
  if (!settings.token) settings.token = getToken();
});