UNPKG

@hashgraph/solo

Version:

An opinionated CLI tool to deploy and manage private Hedera Networks.

46 lines (45 loc) 2.53 kB
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>[]>;