nefertiti-node
Version:
ES module to work with Nefertiti crypto trade bot.
49 lines (34 loc) • 1.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = downloadNefertitiFromGithub;
var _downloadGithubRelease = _interopRequireDefault(require("download-github-release"));
var _getSysinfo = require("./get-sysinfo.js");
var _variables = require("../functions/variables.js");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* eslint-disable no-console */
const user = 'svanas';
const repo = 'nefertiti'; // const outputdir = executablePath;
const leaveZipped = false; // Define a function to filter releases.
function filterRelease(release) {
// Filter out prereleases.
return release.prerelease === false;
} // Define a function to filter assets.
function filterAsset(asset) {
// using getPlatform() and getArch() from get-sysinfo.js
const filterStr = `${(0, _getSysinfo.getPlatform)()}_${(0, _getSysinfo.getArch)()}`; // Select assets that contain the filterStr
return asset.name.indexOf(filterStr) >= 0;
} // TODO Need to setup notifications for this instead of using console.log
/**
* @function downloadNefertiti
* @description Downloads the latest release from GitHub for the client platform and architecture.
*/
function downloadNefertitiFromGithub() {
console.log(`This module requires Nefertiti. Downloading nefertiti_${(0, _getSysinfo.getPlatform)()}_${(0, _getSysinfo.getArch)()} from GitHub...`); // eslint-disable-next-line max-len
(0, _downloadGithubRelease.default)(user, repo, _variables.executablePath, filterRelease, filterAsset, leaveZipped).then(() => {
console.log(`All done! nefertiti_${(0, _getSysinfo.getPlatform)()}_${(0, _getSysinfo.getArch)()} is available in ./${_variables.executablePath}`);
}).catch(err => {
throw new Error(err);
});
}