diff options
Diffstat (limited to 'node_modules/@electron/get/dist/esm/utils.js')
| -rw-r--r-- | node_modules/@electron/get/dist/esm/utils.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/node_modules/@electron/get/dist/esm/utils.js b/node_modules/@electron/get/dist/esm/utils.js new file mode 100644 index 0000000..2ffe007 --- /dev/null +++ b/node_modules/@electron/get/dist/esm/utils.js @@ -0,0 +1,72 @@ +import * as childProcess from 'child_process'; +import * as fs from 'fs-extra'; +import * as os from 'os'; +import * as path from 'path'; +async function useAndRemoveDirectory(directory, fn) { + let result; + try { + result = await fn(directory); + } + finally { + await fs.remove(directory); + } + return result; +} +export async function withTempDirectoryIn(parentDirectory = os.tmpdir(), fn) { + const tempDirectoryPrefix = 'electron-download-'; + const tempDirectory = await fs.mkdtemp(path.resolve(parentDirectory, tempDirectoryPrefix)); + return useAndRemoveDirectory(tempDirectory, fn); +} +export async function withTempDirectory(fn) { + return withTempDirectoryIn(undefined, fn); +} +export function normalizeVersion(version) { + if (!version.startsWith('v')) { + return `v${version}`; + } + return version; +} +/** + * Runs the `uname` command and returns the trimmed output. + */ +export function uname() { + return childProcess + .execSync('uname -m') + .toString() + .trim(); +} +/** + * Generates an architecture name that would be used in an Electron or Node.js + * download file name, from the `process` module information. + */ +export function getHostArch() { + return getNodeArch(process.arch); +} +/** + * Generates an architecture name that would be used in an Electron or Node.js + * download file name. + */ +export function getNodeArch(arch) { + if (arch === 'arm') { + switch (process.config.variables.arm_version) { + case '6': + return uname(); + case '7': + default: + return 'armv7l'; + } + } + return arch; +} +export 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`); + } +} +export function isOfficialLinuxIA32Download(platform, arch, version, mirrorOptions) { + return (platform === 'linux' && + arch === 'ia32' && + Number(version.slice(1).split('.')[0]) >= 4 && + typeof mirrorOptions === 'undefined'); +} +//# sourceMappingURL=utils.js.map
\ No newline at end of file |
