1.0.0 • Published 3 years ago

@pirxpilot/nanoraf v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

NPM version Build Status Dependency Status

@pirxpilot/nanoraf

Fork of nanoraf. Only call RAF when needed.

Usage

var nanoraf = require('@pirxpilot/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