staker
Version:
Command line Utillity for Ethereum stakers
53 lines (38 loc) • 1.41 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.toArray = exports.singleAddr = exports.parseArg = exports.isAddr = exports.getExplorerLink = exports.getConfig = void 0;
/**
* get param and return as string or array.
* @param {boolean} returnArray return as string or array
*/
const parseArg = param => param && typeof param === 'string' && param.indexOf(',') > 0 ? param.split(',').map(item => item.trim()) : param;
/**
* convert array or string to array
*/
exports.parseArg = parseArg;
const toArray = data => Array.isArray(data) ? data : [data];
/**
* get SAIHUBOT_[env] environment variable and
* return as string or array.
*/
exports.toArray = toArray;
const getConfig = (env, defaultValue) => {
const param = process && process.env[`SAIHUBOT_${env}`];
const data = parseArg(param);
return data ? data : defaultValue;
};
exports.getConfig = getConfig;
const isAddr = data => data.startsWith('0x') && data.length === 42;
exports.isAddr = isAddr;
const singleAddr = data => Array.isArray(data) ? data[0] : data;
exports.singleAddr = singleAddr;
const getExplorerLink = (target, explorer, action) => {
if (isAddr(target)) {
action && action('Check', target, explorer.address(target), explorer.name);
} else {
action && action('Check tx', target, explorer.tx(target), explorer.name);
}
};
exports.getExplorerLink = getExplorerLink;
;