UNPKG

staker

Version:

Command line Utillity for Ethereum stakers

53 lines (38 loc) 1.41 kB
"use strict"; 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;