UNPKG

2.94 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.isUrlProbablySupportMultiRangeRequests = isUrlProbablySupportMultiRangeRequests;
7exports.createClient = createClient;
8
9function _builderUtilRuntime() {
10 const data = require("builder-util-runtime");
11
12 _builderUtilRuntime = function () {
13 return data;
14 };
15
16 return data;
17}
18
19function _BintrayProvider() {
20 const data = require("./providers/BintrayProvider");
21
22 _BintrayProvider = function () {
23 return data;
24 };
25
26 return data;
27}
28
29function _GenericProvider() {
30 const data = require("./providers/GenericProvider");
31
32 _GenericProvider = function () {
33 return data;
34 };
35
36 return data;
37}
38
39function _GitHubProvider() {
40 const data = require("./providers/GitHubProvider");
41
42 _GitHubProvider = function () {
43 return data;
44 };
45
46 return data;
47}
48
49function _PrivateGitHubProvider() {
50 const data = require("./providers/PrivateGitHubProvider");
51
52 _PrivateGitHubProvider = function () {
53 return data;
54 };
55
56 return data;
57}
58
59function isUrlProbablySupportMultiRangeRequests(url) {
60 return !url.includes("s3.amazonaws.com");
61}
62
63function createClient(data, updater, runtimeOptions) {
64 // noinspection SuspiciousTypeOfGuard
65 if (typeof data === "string") {
66 throw (0, _builderUtilRuntime().newError)("Please pass PublishConfiguration object", "ERR_UPDATER_INVALID_PROVIDER_CONFIGURATION");
67 }
68
69 const provider = data.provider;
70
71 switch (provider) {
72 case "github":
73 {
74 const githubOptions = data;
75 const token = (githubOptions.private ? process.env.GH_TOKEN || process.env.GITHUB_TOKEN : null) || githubOptions.token;
76
77 if (token == null) {
78 return new (_GitHubProvider().GitHubProvider)(githubOptions, updater, runtimeOptions);
79 } else {
80 return new (_PrivateGitHubProvider().PrivateGitHubProvider)(githubOptions, updater, token, runtimeOptions);
81 }
82 }
83
84 case "s3":
85 case "spaces":
86 return new (_GenericProvider().GenericProvider)({
87 provider: "generic",
88 url: (0, _builderUtilRuntime().getS3LikeProviderBaseUrl)(data),
89 channel: data.channel || null
90 }, updater, { ...runtimeOptions,
91 // https://github.com/minio/minio/issues/5285#issuecomment-350428955
92 isUseMultipleRangeRequest: false
93 });
94
95 case "generic":
96 {
97 const options = data;
98 return new (_GenericProvider().GenericProvider)(options, updater, { ...runtimeOptions,
99 isUseMultipleRangeRequest: options.useMultipleRangeRequest !== false && isUrlProbablySupportMultiRangeRequests(options.url)
100 });
101 }
102
103 case "bintray":
104 return new (_BintrayProvider().BintrayProvider)(data, runtimeOptions);
105
106 default:
107 throw (0, _builderUtilRuntime().newError)(`Unsupported provider: ${provider}`, "ERR_UPDATER_UNSUPPORTED_PROVIDER");
108 }
109}
110// __ts-babel@6.0.4
111//# sourceMappingURL=providerFactory.js.map
\No newline at end of file