README.md (685B)
1 # wrappy 2 3 Callback wrapping utility 4 5 ## USAGE 6 7 ```javascript 8 var wrappy = require("wrappy") 9 10 // var wrapper = wrappy(wrapperFunction) 11 12 // make sure a cb is called only once 13 // See also: http://npm.im/once for this specific use case 14 var once = wrappy(function (cb) { 15 var called = false 16 return function () { 17 if (called) return 18 called = true 19 return cb.apply(this, arguments) 20 } 21 }) 22 23 function printBoo () { 24 console.log('boo') 25 } 26 // has some rando property 27 printBoo.iAmBooPrinter = true 28 29 var onlyPrintOnce = once(printBoo) 30 31 onlyPrintOnce() // prints 'boo' 32 onlyPrintOnce() // does nothing 33 34 // random property is retained! 35 assert.equal(onlyPrintOnce.iAmBooPrinter, true) 36 ```