class Evnt extends Tool {
constructor(settings, toolkit) {
super(settings, toolkit);
this.profile({
package: ['v0.3.0',
`Emit - records toolkit data updates`],
declare: ['queue', 'maxlen'],
methods: [],
resolve: ['enqueue']
});
this._queue = [];
this._maxlen = 10;
this._seq = 0;
this._emitter = new EventTarget();
if (settings._emit) {Object.assign(this, settings._emit)}
}
get queue() {return this._queue}
get length() {return this._queue.length}
get emitter() {return this._emitter}
get emit() {return this._emit}
set length(value) {this._maxlen = value}
get emitter() {return this._emitter}
_emit(resolved, data, timestamp) {
if (resolved !== 'Evnt|enqueue') {
var event = new CustomEvent(resolved, {detail: new Enqueue(resolved, data, timestamp)});
this.emitter.dispatchEvent(event);
}
}
on(resolveText, fn) {
console.log('hit aggain@@')
this.emitter.addEventListener(resolveText, fn);
}
logData(resolved, data, timestamp) {
if (this._maxlen) {
let enqueue = new Enqueue (resolved, data, timestamp);
this.queue.unshift(enqueue);
if (this.queue.length > this._maxlen) {this.queue.length = this._maxlen}
this.resolve('enqueue');
}
}
}