文件服务后台
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

1 yıl önce
12345678910111213141516171819202122232425262728293031
  1. /**
  2. * counter utility
  3. * @author eriksen
  4. * 2018-02-01
  5. */
  6. 'use strict'
  7. const EventEmitter = require('events').EventEmitter
  8. class Counter extends EventEmitter {
  9. constructor(start, target) {
  10. super()
  11. this._value = start || 0
  12. this._target = target || null
  13. }
  14. get value() {
  15. return this._value
  16. }
  17. set value(value) {
  18. let self = this
  19. if (self._target && value > self._target)
  20. self.emit('target', self)
  21. else
  22. self._value = value
  23. }
  24. }
  25. module.exports = Counter