|
123456789101112131415161718192021222324252627282930313233343536 |
- # wrappy
-
- Callback wrapping utility
-
- ## USAGE
-
- ```javascript
- 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 case
- var once = wrappy(function (cb) {
- var called = false
- return function () {
- if (called) return
- called = true
- return cb.apply(this, arguments)
- }
- })
-
- function printBoo () {
- console.log('boo')
- }
- // has some rando property
- printBoo.iAmBooPrinter = true
-
- var onlyPrintOnce = once(printBoo)
-
- onlyPrintOnce() // prints 'boo'
- onlyPrintOnce() // does nothing
-
- // random property is retained!
- assert.equal(onlyPrintOnce.iAmBooPrinter, true)
- ```
|