github.com/jfrog/frogbot@v1.1.1-0.20231221090046-821a26f50338/action/node_modules/wrappy/README.md (about)

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