{"name":"wrappy","version":"1.0.1","description":"Callback wrapping utility","main":"wrappy.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"^0.4.12"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/npm/wrappy"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/wrappy/issues"},"homepage":"https://github.com/npm/wrappy","readme":"# wrappy\n\nCallback wrapping utility\n\n## USAGE\n\n```javascript\nvar wrappy = require(\"wrappy\")\n\n// var wrapper = wrappy(wrapperFunction)\n\n// make sure a cb is called only once\n// See also: http://npm.im/once for this specific use case\nvar once = wrappy(function (cb) {\n  var called = false\n  return function () {\n    if (called) return\n    called = true\n    return cb.apply(this, arguments)\n  }\n})\n\nfunction printBoo () {\n  console.log('boo')\n}\n// has some rando property\nprintBoo.iAmBooPrinter = true\n\nvar onlyPrintOnce = once(printBoo)\n\nonlyPrintOnce() // prints 'boo'\nonlyPrintOnce() // does nothing\n\n// random property is retained!\nassert.equal(onlyPrintOnce.iAmBooPrinter, true)\n```\n","readmeFilename":"README.md","_id":"wrappy@1.0.1","_shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","_from":"https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz","_resolved":"https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"}