msync
Version:
Easily manage building and syncing multiple node-modules in a flexibly defined workspace.
40 lines (39 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.delay = exports.round = exports.elapsed = exports.write = exports.compact = exports.flatten = void 0;
var libs_1 = require("./libs");
function flatten(list) {
if (!Array.isArray(list)) {
return list;
}
var result = list.reduce(function (a, b) {
var value = Array.isArray(b) ? flatten(b) : b;
return a.concat(value);
}, []);
return result;
}
exports.flatten = flatten;
var compact = function (value) {
return libs_1.R.pipe(libs_1.R.reject(libs_1.R.isNil), libs_1.R.reject(libs_1.R.isEmpty))(value);
};
exports.compact = compact;
function write(msg, silent) {
if (silent !== true) {
libs_1.log.info(msg);
}
}
exports.write = write;
function elapsed(startedAt) {
var msecs = (0, libs_1.moment)().diff((0, libs_1.moment)(startedAt));
var secs = round(libs_1.moment.duration(msecs).asSeconds(), 2);
return "".concat(secs, "s");
}
exports.elapsed = elapsed;
function round(value, decimals) {
return Number(Math.round((value + 'e' + decimals)) + 'e-' + decimals);
}
exports.round = round;
function delay(msecs) {
return new Promise(function (resolve) { return setTimeout(resolve, msecs); });
}
exports.delay = delay;