1.1.1 • Published 8 years ago

instrument-methods v1.1.1

Weekly downloads
338
License
MIT
Repository
github
Last release
8 years ago

Build Status npm

instrument-methods

Simple object method instrumentation.

$ npm install --save instrument-methods

Usage

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, 3

Even 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 });

License

MIT License