diff options
Diffstat (limited to 'node_modules/nexe/lib/util.js')
-rw-r--r-- | node_modules/nexe/lib/util.js | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/node_modules/nexe/lib/util.js b/node_modules/nexe/lib/util.js new file mode 100644 index 0000000..112846d --- /dev/null +++ b/node_modules/nexe/lib/util.js @@ -0,0 +1,103 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs_1 = require("fs"); +const child_process_1 = require("child_process"); +const util_1 = require("util"); +const rimraf = require("rimraf"); +const rimrafAsync = util_1.promisify(rimraf); +exports.rimrafAsync = rimrafAsync; +exports.STDIN_FLAG = '[stdin]'; +function each(list, action) { + return __awaiter(this, void 0, void 0, function* () { + const l = yield list; + return Promise.all(l.map(action)); + }); +} +exports.each = each; +function wrap(code) { + return '!(function () {' + code + '})();'; +} +exports.wrap = wrap; +function falseOnEnoent(e) { + if (e.code === 'ENOENT') { + return false; + } + throw e; +} +function padRight(str, l) { + return (str + ' '.repeat(l)).substr(0, l); +} +exports.padRight = padRight; +const bound = function bound(target, propertyKey, descriptor) { + const configurable = true; + return { + configurable, + get() { + const value = descriptor.value.bind(this); + Object.defineProperty(this, propertyKey, { + configurable, + value, + writable: true, + }); + return value; + }, + }; +}; +exports.bound = bound; +function dequote(input) { + input = input.trim(); + const singleQuote = input.startsWith("'") && input.endsWith("'"); + const doubleQuote = input.startsWith('"') && input.endsWith('"'); + if (singleQuote || doubleQuote) { + return input.slice(1).slice(0, -1); + } + return input; +} +exports.dequote = dequote; +const readFileAsync = util_1.promisify(fs_1.readFile); +exports.readFileAsync = readFileAsync; +const writeFileAsync = util_1.promisify(fs_1.writeFile); +exports.writeFileAsync = writeFileAsync; +const statAsync = util_1.promisify(fs_1.stat); +exports.statAsync = statAsync; +const execFileAsync = util_1.promisify(child_process_1.execFile); +exports.execFileAsync = execFileAsync; +const isWindows = process.platform === 'win32'; +exports.isWindows = isWindows; +function pathExistsAsync(path) { + return statAsync(path) + .then((x) => true) + .catch(falseOnEnoent); +} +exports.pathExistsAsync = pathExistsAsync; +function isDirectoryAsync(path) { + return statAsync(path) + .then((x) => x.isDirectory()) + .catch(falseOnEnoent); +} +exports.isDirectoryAsync = isDirectoryAsync; +/** + * @param version See if this version is greather than the second one + * @param operand Version to compare against + */ +function semverGt(version, operand) { + const [cMajor, cMinor, cPatch] = version.split('.').map(Number); + let [major, minor, patch] = operand.split('.').map(Number); + if (!minor) + minor = 0; + if (!patch) + patch = 0; + return (cMajor > major || + (cMajor === major && cMinor > minor) || + (cMajor === major && cMinor === minor && cPatch > patch)); +} +exports.semverGt = semverGt; |