| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.findFile = findFile;
- exports.parseUpdateInfo = parseUpdateInfo;
- exports.getFileList = getFileList;
- exports.resolveFiles = resolveFiles;
- exports.Provider = void 0;
- function _builderUtilRuntime() {
- const data = require("builder-util-runtime");
- _builderUtilRuntime = function () {
- return data;
- };
- return data;
- }
- function _jsYaml() {
- const data = require("js-yaml");
- _jsYaml = function () {
- return data;
- };
- return data;
- }
- function _main() {
- const data = require("./main");
- _main = function () {
- return data;
- };
- return data;
- }
- class Provider {
- constructor(executor, useMultipleRangeRequest = true) {
- this.executor = executor;
- this.useMultipleRangeRequest = useMultipleRangeRequest;
- this.requestHeaders = null;
- }
- get fileExtraDownloadHeaders() {
- return null;
- }
- setRequestHeaders(value) {
- this.requestHeaders = value;
- }
- httpRequest(url, headers, cancellationToken) {
- return this.executor.request(this.createRequestOptions(url, headers), cancellationToken);
- }
- createRequestOptions(url, headers) {
- const result = {};
- if (this.requestHeaders == null) {
- if (headers != null) {
- result.headers = headers;
- }
- } else {
- result.headers = headers == null ? this.requestHeaders : Object.assign({}, this.requestHeaders, headers);
- }
- result.protocol = url.protocol;
- result.hostname = url.hostname;
- if (url.port) {
- result.port = url.port;
- }
- result.path = url.pathname + url.search;
- return result;
- }
- }
- exports.Provider = Provider;
- function findFile(files, extension, not) {
- if (files.length === 0) {
- throw (0, _builderUtilRuntime().newError)("No files provided", "ERR_UPDATER_NO_FILES_PROVIDED");
- }
- const result = files.find(it => it.url.pathname.toLowerCase().endsWith(`.${extension}`));
- if (result != null) {
- return result;
- } else if (not == null) {
- return files[0];
- } else {
- return files.find(fileInfo => !not.some(ext => fileInfo.url.pathname.toLowerCase().endsWith(`.${ext}`)));
- }
- }
- function parseUpdateInfo(rawData, channelFile, channelFileUrl) {
- if (rawData == null) {
- throw (0, _builderUtilRuntime().newError)(`Cannot parse update info from ${channelFile} in the latest release artifacts (${channelFileUrl}): rawData: null`, "ERR_UPDATER_INVALID_UPDATE_INFO");
- }
- let result;
- try {
- result = (0, _jsYaml().safeLoad)(rawData);
- } catch (e) {
- throw (0, _builderUtilRuntime().newError)(`Cannot parse update info from ${channelFile} in the latest release artifacts (${channelFileUrl}): ${e.stack || e.message}, rawData: ${rawData}`, "ERR_UPDATER_INVALID_UPDATE_INFO");
- }
- return result;
- }
- function getFileList(updateInfo) {
- const files = updateInfo.files;
- if (files != null && files.length > 0) {
- return files;
- }
- if (updateInfo.path != null) {
- return [{
- url: updateInfo.path,
- sha512: updateInfo.sha512
- }];
- } else {
- throw (0, _builderUtilRuntime().newError)(`No files provided: ${(0, _builderUtilRuntime().safeStringifyJson)(updateInfo)}`, "ERR_UPDATER_NO_FILES_PROVIDED");
- }
- }
- function resolveFiles(updateInfo, baseUrl, pathTransformer = p => p) {
- const files = getFileList(updateInfo);
- const result = files.map(fileInfo => {
- if (fileInfo.sha2 == null && fileInfo.sha512 == null) {
- throw (0, _builderUtilRuntime().newError)(`Update info doesn't contain nor sha256 neither sha512 checksum: ${(0, _builderUtilRuntime().safeStringifyJson)(fileInfo)}`, "ERR_UPDATER_NO_CHECKSUM");
- }
- return {
- url: (0, _main().newUrlFromBase)(pathTransformer(fileInfo.url), baseUrl),
- info: fileInfo
- };
- });
- const packages = updateInfo.packages;
- const packageInfo = packages == null ? null : packages[process.arch] || packages.ia32;
- if (packageInfo != null) {
- result[0].packageInfo = Object.assign({}, packageInfo, {
- path: (0, _main().newUrlFromBase)(pathTransformer(packageInfo.path), baseUrl).href
- });
- }
- return result;
- }
- //# sourceMappingURL=Provider.js.map
|