UNPKG

opendb_test_rpc

Version:

general purpose library for OpenDB blockchain

60 lines (50 loc) 1.27 kB
// tslint:disable:no-console no-if-statement no-expression-statement import meow from 'meow' import { Package, UpdateInfo, UpdateNotifier } from 'update-notifier' import { OpenDBiOptions } from './utils' const cli = meow( ` Usage $ npx openDBi Non-Interactive Usage $ npx openDBi [options] <input> Options --keystore, -k create keystore or recover from keystore Non-Interactive Example $ openDBi --k `, { flags: { keystore: { alias: 'k', default: false, type: 'boolean', }, }, } ) export async function checkArgs(): Promise<OpenDBiOptions> { // immediately check for updates every time we run openDBi await checkUpdate(cli.pkg) return { keystore: cli.flags.keystore, } } export const showHelp = cli.showHelp async function checkUpdate(pkg: Package) { const updateInfo = await new Promise<UpdateInfo>((resolve, reject) => { const notifier = new UpdateNotifier({ callback: (error, update) => { error ? reject(error) : resolve(update) }, pkg, }) notifier.check() }) if (updateInfo.type !== 'latest') { throw new Error(` Your version of openDBi is outdated. Consider using 'npx openDBi' to always get the latest version. `) } }