| 123456789101112131415161718192021222324252627282930313233 | var Timers = require('timers');module.exports = Timer;function Timer(object) {  this._object  = object;  this._timeout = null;}Timer.prototype.active = function active() {  if (this._timeout) {    if (this._timeout.refresh) {      this._timeout.refresh();    } else {      Timers.active(this._timeout);    }  }};Timer.prototype.start = function start(msecs) {  this.stop();  this._timeout = Timers.setTimeout(this._onTimeout.bind(this), msecs);};Timer.prototype.stop = function stop() {  if (this._timeout) {    Timers.clearTimeout(this._timeout);    this._timeout = null;  }};Timer.prototype._onTimeout = function _onTimeout() {  return this._object._onTimeout();};
 |