1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.HttpPublisher = exports.Publisher = undefined;
|
7 |
|
8 | var _bluebirdLstC;
|
9 |
|
10 | function _load_bluebirdLstC() {
|
11 | return _bluebirdLstC = require("bluebird-lst-c");
|
12 | }
|
13 |
|
14 | var _fsExtraP;
|
15 |
|
16 | function _load_fsExtraP() {
|
17 | return _fsExtraP = require("fs-extra-p");
|
18 | }
|
19 |
|
20 | var _path = require("path");
|
21 |
|
22 | var _ProgressCallbackTransform;
|
23 |
|
24 | function _load_ProgressCallbackTransform() {
|
25 | return _ProgressCallbackTransform = require("electron-builder-http/out/ProgressCallbackTransform");
|
26 | }
|
27 |
|
28 | var _chalk;
|
29 |
|
30 | function _load_chalk() {
|
31 | return _chalk = require("chalk");
|
32 | }
|
33 |
|
34 | var _log;
|
35 |
|
36 | function _load_log() {
|
37 | return _log = require("electron-builder-util/out/log");
|
38 | }
|
39 |
|
40 | const progressBarOptions = {
|
41 | incomplete: " ",
|
42 | width: 20
|
43 | };
|
44 | class 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 | }
|
68 | exports.Publisher = Publisher;
|
69 | class 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 |
|
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 | }
|
100 | exports.HttpPublisher = HttpPublisher; |
\ | No newline at end of file |