UNPKG

3.46 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.HttpPublisher = exports.Publisher = undefined;
7
8var _bluebirdLstC;
9
10function _load_bluebirdLstC() {
11 return _bluebirdLstC = require("bluebird-lst-c");
12}
13
14var _fsExtraP;
15
16function _load_fsExtraP() {
17 return _fsExtraP = require("fs-extra-p");
18}
19
20var _path = require("path");
21
22var _ProgressCallbackTransform;
23
24function _load_ProgressCallbackTransform() {
25 return _ProgressCallbackTransform = require("electron-builder-http/out/ProgressCallbackTransform");
26}
27
28var _chalk;
29
30function _load_chalk() {
31 return _chalk = require("chalk");
32}
33
34var _log;
35
36function _load_log() {
37 return _log = require("electron-builder-util/out/log");
38}
39
40const progressBarOptions = {
41 incomplete: " ",
42 width: 20
43};
44class Publisher {
45 constructor(context) {
46 this.context = context;
47 }
48 createProgressBar(fileName, fileStat) {
49 if (this.context.progress == null) {
50 (0, (_log || _load_log()).log)(`Uploading ${fileName} to ${this.providerName}`);
51 return null;
52 } else {
53 return this.context.progress.createBar(`[:bar] :percent :etas | ${(0, (_chalk || _load_chalk()).green)(fileName)} to ${this.providerName}`, Object.assign({ total: fileStat.size }, progressBarOptions));
54 }
55 }
56 createReadStreamAndProgressBar(file, fileStat, progressBar, reject) {
57 const fileInputStream = (0, (_fsExtraP || _load_fsExtraP()).createReadStream)(file);
58 fileInputStream.on("error", reject);
59 if (progressBar == null) {
60 return fileInputStream;
61 } else {
62 const progressStream = new (_ProgressCallbackTransform || _load_ProgressCallbackTransform()).ProgressCallbackTransform(fileStat.size, this.context.cancellationToken, it => progressBar.tick(it.delta));
63 progressStream.on("error", reject);
64 return fileInputStream.pipe(progressStream);
65 }
66 }
67}
68exports.Publisher = Publisher;
69class HttpPublisher extends Publisher {
70 constructor(context) {
71 let useSafeArtifactName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
72
73 super(context);
74 this.context = context;
75 this.useSafeArtifactName = useSafeArtifactName;
76 }
77 upload(file, safeArtifactName) {
78 var _this = this;
79
80 return (0, (_bluebirdLstC || _load_bluebirdLstC()).coroutine)(function* () {
81 const fileName = (_this.useSafeArtifactName ? safeArtifactName : null) || (0, _path.basename)(file);
82 const fileStat = yield (0, (_fsExtraP || _load_fsExtraP()).stat)(file);
83 const progressBar = _this.createProgressBar(fileName, fileStat);
84 yield _this.doUpload(fileName, fileStat.size, function (request, reject) {
85 if (progressBar != null) {
86 // reset (because can be called several times (several attempts)
87 progressBar.update(0);
88 }
89 return _this.createReadStreamAndProgressBar(file, fileStat, progressBar, reject).pipe(request);
90 }, file);
91 })();
92 }
93 uploadData(data, fileName) {
94 if (data == null || fileName == null) {
95 throw new Error("data or fileName is null");
96 }
97 return this.doUpload(fileName, data.length, it => it.end(data));
98 }
99}
100exports.HttpPublisher = HttpPublisher; //# sourceMappingURL=publisher.js.map
\No newline at end of file