|
12345678910111213141516171819202122232425262728293031 |
- /**
- * counter utility
- * @author eriksen
- * 2018-02-01
- */
-
- 'use strict'
-
- const EventEmitter = require('events').EventEmitter
-
- class Counter extends EventEmitter {
- constructor(start, target) {
- super()
- this._value = start || 0
- this._target = target || null
- }
-
- get value() {
- return this._value
- }
-
- set value(value) {
- let self = this
- if (self._target && value > self._target)
- self.emit('target', self)
- else
- self._value = value
- }
- }
-
- module.exports = Counter
|