nanoraf

Only call RAF when needed

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
nanoraf
3.1.06 years ago8 years agoMinified + gzip package size for nanoraf in KB

Readme

nanoraf !stability01
!npm version23 !build status45 !test coverage67 !downloads89 !js-standard-style1011
Only call RAF when needed.

Usage

var nanoraf = require('nanoraf')
var prev = null

var frame = nanoraf(function render (state) {
  console.log(state.now)
})

updateState({ now: date.now() })
updateState({ now: date.now() })
updateState({ now: date.now() })
updateState({ now: date.now() })

function updateState (state) {
  prev = prev || {}
  frame(state, prev)
  prev = state
}

API

frame = nanoraf(render, raf?)

Wrap a render function that is called on every raf tick. If no new state is available, it will not tick. Passes the last version of the state on every tick.
Optionally, provide an implementation of requestAnimationFrame via the raf parameter (for example, the one provided by the raf package). If omitted, raf defaults to window.requestAnimationFrame.

frame(arguments)

Pass arguments into the render function, to be called on a new tick.

Installation

$ npm install nanoraf

License

MIT