diff options
author | RaindropsSys <raindrops@equestria.dev> | 2023-10-24 17:43:37 +0200 |
---|---|---|
committer | RaindropsSys <raindrops@equestria.dev> | 2023-10-24 17:43:37 +0200 |
commit | ae187b6d75c8079da0be1dc288613bad8466fe61 (patch) | |
tree | 5ea0d34185a2270f29ffaa65e1f5258028d7d5d0 /desktop/node_modules/@electron/get/dist/cjs/utils.js | |
download | mist-ae187b6d75c8079da0be1dc288613bad8466fe61.tar.gz mist-ae187b6d75c8079da0be1dc288613bad8466fe61.tar.bz2 mist-ae187b6d75c8079da0be1dc288613bad8466fe61.zip |
Initial commit
Diffstat (limited to 'desktop/node_modules/@electron/get/dist/cjs/utils.js')
-rw-r--r-- | desktop/node_modules/@electron/get/dist/cjs/utils.js | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/desktop/node_modules/@electron/get/dist/cjs/utils.js b/desktop/node_modules/@electron/get/dist/cjs/utils.js new file mode 100644 index 0000000..4806842 --- /dev/null +++ b/desktop/node_modules/@electron/get/dist/cjs/utils.js @@ -0,0 +1,107 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const childProcess = require("child_process"); +const fs = require("fs-extra"); +const os = require("os"); +const path = require("path"); +async function useAndRemoveDirectory(directory, fn) { + let result; + try { + result = await fn(directory); + } + finally { + await fs.remove(directory); + } + return result; +} +async function withTempDirectoryIn(parentDirectory = os.tmpdir(), fn) { + const tempDirectoryPrefix = 'electron-download-'; + const tempDirectory = await fs.mkdtemp(path.resolve(parentDirectory, tempDirectoryPrefix)); + return useAndRemoveDirectory(tempDirectory, fn); +} +exports.withTempDirectoryIn = withTempDirectoryIn; +async function withTempDirectory(fn) { + return withTempDirectoryIn(undefined, fn); +} +exports.withTempDirectory = withTempDirectory; +function normalizeVersion(version) { + if (!version.startsWith('v')) { + return `v${version}`; + } + return version; +} +exports.normalizeVersion = normalizeVersion; +/** + * Runs the `uname` command and returns the trimmed output. + */ +function uname() { + return childProcess + .execSync('uname -m') + .toString() + .trim(); +} +exports.uname = uname; +/** + * Generates an architecture name that would be used in an Electron or Node.js + * download file name. + */ +function getNodeArch(arch) { + if (arch === 'arm') { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + switch (process.config.variables.arm_version) { + case '6': + return uname(); + case '7': + default: + return 'armv7l'; + } + } + return arch; +} +exports.getNodeArch = getNodeArch; +/** + * Generates an architecture name that would be used in an Electron or Node.js + * download file name, from the `process` module information. + */ +function getHostArch() { + return getNodeArch(process.arch); +} +exports.getHostArch = getHostArch; +function ensureIsTruthyString(obj, key) { + if (!obj[key] || typeof obj[key] !== 'string') { + throw new Error(`Expected property "${key}" to be provided as a string but it was not`); + } +} +exports.ensureIsTruthyString = ensureIsTruthyString; +function isOfficialLinuxIA32Download(platform, arch, version, mirrorOptions) { + return (platform === 'linux' && + arch === 'ia32' && + Number(version.slice(1).split('.')[0]) >= 4 && + typeof mirrorOptions === 'undefined'); +} +exports.isOfficialLinuxIA32Download = isOfficialLinuxIA32Download; +/** + * Find the value of a environment variable which may or may not have the + * prefix, in a case-insensitive manner. + */ +function getEnv(prefix = '') { + const envsLowerCase = {}; + for (const envKey in process.env) { + envsLowerCase[envKey.toLowerCase()] = process.env[envKey]; + } + return (name) => { + return (envsLowerCase[`${prefix}${name}`.toLowerCase()] || + envsLowerCase[name.toLowerCase()] || + undefined); + }; +} +exports.getEnv = getEnv; +function setEnv(key, value) { + // The `void` operator always returns `undefined`. + // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void + if (value !== void 0) { + process.env[key] = value; + } +} +exports.setEnv = setEnv; +//# sourceMappingURL=utils.js.map
\ No newline at end of file |