0.1.0 • Published 7 years ago

method-by-name v0.1.0

Weekly downloads
2
License
ISC
Repository
github
Last release
7 years ago

method-by-name

Generic method that calls other methods by name.

Usage

from test/usage.js:

var methodByName = require('method-by-name'), list = [], binder;
list.addUpper = function (s) { this.push(s.toUpperCase()); };
list.addLower = function (s) { this.push(s.toLowerCase()); };
list.mthd = methodByName;

list.mthd('addUpper', 'Apple');
list.mthd('addLower', 'Banana');
expectEqual(list.slice(), ['APPLE', 'banana']);

function suggestVeggie(callback) { callback('Tomato'); }
function suggestMeat(callback) { callback('Beef'); }

binder = methodByName.binder(list);
suggestVeggie(binder('addUpper'));
suggestMeat(binder('addLower'));
expectEqual(list.slice(), ['APPLE', 'banana', 'TOMATO', 'beef']);

Known issues

  • needs more/better tests and docs

 

License

ISC