陈鹏铭 93064e9f91 首次提交 11 місяців тому
..
LICENSE 93064e9f91 首次提交 11 місяців тому
README.md 93064e9f91 首次提交 11 місяців тому
package.json 93064e9f91 首次提交 11 місяців тому
wrappy.js 93064e9f91 首次提交 11 місяців тому

README.md

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 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)