UNPKG

1.32 kBJavaScriptView Raw
1var _time = require("dr-js/library/common/time");
2var _format = require("dr-js/library/common/format");
3const loadEnvKey = key => {
4 try {
5 return JSON.parse(process.env[key]);
6 } catch (error) {
7 return null;
8 }
9};
10exports.loadEnvKey = loadEnvKey;
11const saveEnvKey = (key, value) => {
12 try {
13 process.env[key] = JSON.stringify(value);
14 } catch (error) {}
15};
16exports.saveEnvKey = saveEnvKey;
17const syncEnvKey = (key, defaultValue) => {
18 const value = loadEnvKey(key) || defaultValue;
19 saveEnvKey(key, value);
20 return value;
21};
22exports.syncEnvKey = syncEnvKey;
23const __VERBOSE__ = syncEnvKey("__DEV_VERBOSE__", process.argv.includes("verbose"));
24exports.__VERBOSE__ = __VERBOSE__;
25const checkFlag = (flagList, checkFlagList) => flagList.find(flag => checkFlagList.includes(flag));
26exports.checkFlag = checkFlag;
27exports.argvFlag = ((...checkFlagList) => checkFlag(process.argv, checkFlagList));
28exports.runMain = ((main, logger, ...args) => {
29 const startTime = (0, _time.clock)();
30 new Promise(resolve => resolve(main(logger, ...args))).then(() => {
31 logger.padLog(`done in ${(0, _format.time)((0, _time.clock)() - startTime)}`);
32 }, error => {
33 console.warn(error);
34 logger.padLog(`error after ${(0, _format.time)((0, _time.clock)() - startTime)}: ${error}`);
35 process.exit(-1);
36 });
37});
\No newline at end of file