Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

science-halt

kirbysayshi6MIT0.2.0

Autobind a key to HALT IN THE NAME OF SCIENCE

halt, science, addEventListener, document, gameloop

readme

science-halt

usage

var scihalt = require('science-halt');

scihalt(function(){
  // do something when ESC is pressed
})

rationale

This is a stupid module. Everytime I make a game loop, I do something like this:

var last = Date.now()
  , running = true;

(function anim() {
  if (running) requestAnimationFrame(anim);
  var now = Date.now();
  doUpdate(now - last);
  last = now;
}());

document.addEventListener('keydown', function(e) {
  if (e.which == 27) {
    running = false;
    console.log('HALT IN THE NAME OF SCIENCE!');
  }
})

This module takes care of the keybinding for halting... because apparently I find 27 a really hard number to remember. The above example becomes:

var scihalt = require('science-halt');

var last = Date.now()
  , running = true;

(function anim() {
  if (running) requestAnimationFrame(anim);
  var now = Date.now();
  doUpdate(now - last);
  last = now;
}());

scihalt(function() { running = false; })