nanobounce

Smol debounce package

Usage no npm install needed!

<script type="module">
  import nanobounce from 'https://cdn.skypack.dev/nanobounce';
</script>

README

nanobounce stability

npm version build status downloads js-standard-style

Smol debounce package.

Usage

var Nanobounce = require('nanobounce')
var html = require('bel')

var nanobounce = Nanobounce()
html`
  <input onkeydown=${onkeydown}>click me</button>
`
function onkeydown (e) {
  var value = e.target.value
  nanobounce(function () {
    console.log('called at the start of a new frame', value)
  })
}

Why?

Because most debounce functions don't work well when doing DOM diffing. This package is specifically made to work well with DOM diffing.

API

nanobounce = Nanobounce([timeout])

Create a new instance. Timeout defaults to 256ms.

nanobounce(callback)

Debounce a callback for the duration of the timeout. The last callback wins if called multiple times in a row.

License

MIT