0.1.0 • Published 7 years ago
method-by-name v0.1.0
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
0.1.0
7 years ago