@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
46 lines (45 loc) • 2.53 kB
TypeScript
import { type CommandFlag } from '../types/flag-types.js';
import { type TaskListWrapper } from '../core/task-list/task-list-wrapper.js';
import { type Listr, type ListrContext, type ListrRendererValue } from 'listr2';
import { type TaskList } from '../core/task-list/task-list.js';
/**
* Helper function to convert a flag object to CLI option string
* @param flag - The command flag
* @returns CLI option string (e.g., '--deployment')
*/
export declare function optionFromFlag(flag: CommandFlag): string;
/**
* Helper function to create base argv array for command execution
* @returns Base argv array
*/
export declare function newArgv(): string[];
/**
* Helper function to append global flags to argv
* @param argv - The argument array to append to
* @param cacheDirectory - Optional cache directory path
* @returns Updated argv array
*/
export declare function argvPushGlobalFlags(argv: string[], cacheDirectory?: string): string[];
/**
* Helper function to invoke a Solo command with proper task integration
* @param title - Task title to display
* @param commandName - Command name for task tracking
* @param callback - Function that returns the argv array
* @param taskList - TaskList instance for managing parent-child task relationships
* @param skipCallback - Optional function to determine if task should be skipped
* @returns Task object for Listr
*/
export declare function invokeSoloCommand(title: string, commandName: string, callback: () => Promise<string[]> | string[], taskList: TaskList<ListrContext, ListrRendererValue, ListrRendererValue>, skipCallback?: () => boolean): {
title: string;
skip: () => boolean;
task: (_context: ListrContext, taskListWrapper: TaskListWrapper) => Promise<Listr<ListrContext, ListrRendererValue, ListrRendererValue>>;
};
/**
* Helper function to execute a Solo command and return child tasks
* @param commandName - Command name for task tracking
* @param taskListWrapper - Task list wrapper from Listr
* @param callback - Function that returns the argv array
* @param taskList - TaskList instance for managing parent-child task relationships
* @returns Child tasks from command execution
*/
export declare function subTaskSoloCommand(commandName: string, taskListWrapper: TaskListWrapper, callback: () => Promise<string[]> | string[], taskList: TaskList<ListrContext, ListrRendererValue, ListrRendererValue>): Promise<Listr<ListrContext, ListrRendererValue, ListrRendererValue> | Listr<ListrContext, ListrRendererValue, ListrRendererValue>[]>;