Files
flights_web_raw/apps/angular/node_modules/cp-file/progress-emitter.js
T

35 lines
612 B
JavaScript

'use strict';
const EventEmitter = require('events');
const written = new WeakMap();
class ProgressEmitter extends EventEmitter {
constructor(source, destination) {
super();
this._source = source;
this._destination = destination;
}
set written(value) {
written.set(this, value);
this.emitProgress();
}
get written() {
return written.get(this);
}
emitProgress() {
const {size, written} = this;
this.emit('progress', {
src: this._source,
dest: this._destination,
size,
written,
percent: written === size ? 1 : written / size
});
}
}
module.exports = ProgressEmitter;