1.1.1 • Published 10 years ago
instrument-methods v1.1.1
instrument-methods
Simple object method instrumentation.
$ npm install --save instrument-methodsUsage
import instrumentMethods from 'instrument-methods';
const instance = {
  doThis: () => { ... },
  doThat: () => { ... }
};
instrumentMethods(instance, {
  before: (methodName, args) => console.log(`"${methodName}" is about to be called!`, ...args),
  after: (methodName, argS) => console.log(`"${methodName}" was called!`, ...args)
});
instance.doThat(1, 2, 3);
// Logs:
// "doThat" is about to be called!, 1, 2, 3
// "doThat" was called!, 1, 2, 3Even though it modifies the object, instrumentMethods also returns a reference to the modified object so it can be used as part of an expression:
const after = methodName => console.log(`"${methodName}" was called!`);
const instance = instrumentMethods({
  doThis: () => { ... },
  doThat: () => { ... }
}, { after });