init
This commit is contained in:
54
mc_test/node_modules/builder-util-runtime/out/ProgressCallbackTransform.js
generated
vendored
Executable file
54
mc_test/node_modules/builder-util-runtime/out/ProgressCallbackTransform.js
generated
vendored
Executable file
@ -0,0 +1,54 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ProgressCallbackTransform = void 0;
|
||||
const stream_1 = require("stream");
|
||||
class ProgressCallbackTransform extends stream_1.Transform {
|
||||
constructor(total, cancellationToken, onProgress) {
|
||||
super();
|
||||
this.total = total;
|
||||
this.cancellationToken = cancellationToken;
|
||||
this.onProgress = onProgress;
|
||||
this.start = Date.now();
|
||||
this.transferred = 0;
|
||||
this.delta = 0;
|
||||
this.nextUpdate = this.start + 1000;
|
||||
}
|
||||
_transform(chunk, encoding, callback) {
|
||||
if (this.cancellationToken.cancelled) {
|
||||
callback(new Error("cancelled"), null);
|
||||
return;
|
||||
}
|
||||
this.transferred += chunk.length;
|
||||
this.delta += chunk.length;
|
||||
const now = Date.now();
|
||||
if (now >= this.nextUpdate && this.transferred !== this.total /* will be emitted on _flush */) {
|
||||
this.nextUpdate = now + 1000;
|
||||
this.onProgress({
|
||||
total: this.total,
|
||||
delta: this.delta,
|
||||
transferred: this.transferred,
|
||||
percent: (this.transferred / this.total) * 100,
|
||||
bytesPerSecond: Math.round(this.transferred / ((now - this.start) / 1000)),
|
||||
});
|
||||
this.delta = 0;
|
||||
}
|
||||
callback(null, chunk);
|
||||
}
|
||||
_flush(callback) {
|
||||
if (this.cancellationToken.cancelled) {
|
||||
callback(new Error("cancelled"));
|
||||
return;
|
||||
}
|
||||
this.onProgress({
|
||||
total: this.total,
|
||||
delta: this.delta,
|
||||
transferred: this.total,
|
||||
percent: 100,
|
||||
bytesPerSecond: Math.round(this.transferred / ((Date.now() - this.start) / 1000)),
|
||||
});
|
||||
this.delta = 0;
|
||||
callback(null);
|
||||
}
|
||||
}
|
||||
exports.ProgressCallbackTransform = ProgressCallbackTransform;
|
||||
//# sourceMappingURL=ProgressCallbackTransform.js.map
|
||||
Reference in New Issue
Block a user