UNPKG

2.22 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var screen_1 = require("./Output/actions/screen");
4var debug = require('debug')('util');
5function compare() {
6 var props = [];
7 for (var _i = 0; _i < arguments.length; _i++) {
8 props[_i] = arguments[_i];
9 }
10 return function (a, b) {
11 for (var _i = 0, props_1 = props; _i < props_1.length; _i++) {
12 var prop = props_1[_i];
13 if (a[prop] === undefined) {
14 return -1;
15 }
16 if (b[prop] === undefined) {
17 return 1;
18 }
19 if (a[prop] < b[prop]) {
20 return -1;
21 }
22 if (a[prop] > b[prop]) {
23 return 1;
24 }
25 }
26 return 0;
27 };
28}
29exports.compare = compare;
30function wait(ms, unref) {
31 if (unref === void 0) { unref = false; }
32 return new Promise(function (resolve) {
33 var t = setTimeout(resolve, ms);
34 if (unref && typeof t.unref === 'function') {
35 t.unref();
36 }
37 });
38}
39exports.wait = wait;
40function timeout(p, ms) {
41 return Promise.race([
42 p,
43 wait(ms, true).then(function () { return debug('timed out'); })
44 ]);
45}
46exports.timeout = timeout;
47function undefault(m) {
48 return m.default ? m.default : m;
49}
50exports.undefault = undefault;
51function linewrap(length, s) {
52 var linewrapOverride = require('@heroku/linewrap');
53 return linewrapOverride(length, screen_1.stdtermwidth, {
54 skipScheme: 'ansi-color'
55 })(s).trim();
56}
57exports.linewrap = linewrap;
58function getCommandId(argv) {
59 if (argv.length === 1 && ['-v', '--version'].includes(argv[0])) {
60 return 'version';
61 }
62 if (argv.includes('help')) {
63 return 'help';
64 }
65 if (argv[1] && !argv[1].startsWith('-')) {
66 return argv.slice(0, 2).join(':');
67 }
68 else {
69 var firstFlag = argv.findIndex(function (param) { return param.startsWith('-'); });
70 if (firstFlag === -1) {
71 return argv.join(':');
72 }
73 else {
74 return argv.slice(0, firstFlag).join(':');
75 }
76 }
77}
78exports.getCommandId = getCommandId;
79//# sourceMappingURL=util.js.map
\No newline at end of file