1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const deps_1 = require("./deps");
|
4 | const debug = require('debug')('util');
|
5 | function compare(...props) {
|
6 | return (a, b) => {
|
7 | for (let prop of props) {
|
8 | if (a[prop] === undefined)
|
9 | return -1;
|
10 | if (b[prop] === undefined)
|
11 | return 1;
|
12 | if (a[prop] < b[prop])
|
13 | return -1;
|
14 | if (a[prop] > b[prop])
|
15 | return 1;
|
16 | }
|
17 | return 0;
|
18 | };
|
19 | }
|
20 | exports.compare = compare;
|
21 | function wait(ms, unref = false) {
|
22 | return new Promise(resolve => {
|
23 | let t = setTimeout(resolve, ms);
|
24 | if (unref)
|
25 | t.unref();
|
26 | });
|
27 | }
|
28 | exports.wait = wait;
|
29 | function timeout(p, ms) {
|
30 | return Promise.race([p, wait(ms, true).then(() => debug('timed out'))]);
|
31 | }
|
32 | exports.timeout = timeout;
|
33 | function undefault(obj) {
|
34 | if (obj.__esModule === true)
|
35 | return obj.default;
|
36 | return obj;
|
37 | }
|
38 | exports.undefault = undefault;
|
39 | function objEntries(input) {
|
40 | if (!input)
|
41 | return [];
|
42 | return Object.keys(input).map(k => [k, input[k]]);
|
43 | }
|
44 | exports.objEntries = objEntries;
|
45 | function objValues(input) {
|
46 | return objEntries(input).map(([, v]) => v);
|
47 | }
|
48 | exports.objValues = objValues;
|
49 | function minorVersionGreater(fromString, toString) {
|
50 | const from = deps_1.default.semver.parse(fromString);
|
51 | const to = deps_1.default.semver.parse(toString);
|
52 | if (from.major < to.major)
|
53 | return true;
|
54 | if (from.major === to.major && from.minor < to.minor)
|
55 | return true;
|
56 | return false;
|
57 | }
|
58 | exports.minorVersionGreater = minorVersionGreater;
|