wrappy
Callback wrapping utility
USAGE
var wrappy = require("wrappy")// var wrapper = wrappy(wrapperFunction)// make sure a cb is called only once// See also: http://npm.im/once for this specific use casevar once = wrappy(function (cb) {var called = falsereturn function () {if (called) returncalled = truereturn cb.apply(this, arguments)}})function printBoo () {console.log('boo')}// has some rando propertyprintBoo.iAmBooPrinter = truevar onlyPrintOnce = once(printBoo)onlyPrintOnce() // prints 'boo'onlyPrintOnce() // does nothing// random property is retained!assert.equal(onlyPrintOnce.iAmBooPrinter, true)
