UNPKG

@openzeppelin/cli

Version:

Command-line interface for the OpenZeppelin smart contract platform

43 lines (42 loc) 1.36 kB
import { Command } from 'commander'; import { Choice } from './prompts/choices'; export declare function generateSignature(name: string, args: Arg[]): string; export interface ParamDetails { prompt?: string; promptType?: 'confirm' | 'list' | 'input'; choices?: readonly Choice[]; preselect?: string | boolean; validationError?: (value: string | boolean) => string | undefined; } declare type Param = ParamSimple | ParamVariadic; interface ParamSimple { variadic?: false; details?: (params: object) => Promise<ParamDetails | undefined>; after?: (params: object) => Promise<void>; } interface ParamVariadic { variadic: true; details?: (params: object) => Promise<ParamDetails[]>; after?: (params: object) => Promise<void>; } export declare type Arg = Param & { name: string; }; export interface Option extends ParamSimple { format: string; description: string; default?: string | boolean; } declare type AbortFunction = () => Promise<void>; interface Action { action: (params: object) => Promise<void>; preAction?: (params: object) => Promise<void | AbortFunction>; } interface CommandSpec { name: string; description: string; args: Arg[]; options: Option[]; } export declare function register(program: Command, spec: CommandSpec, getAction: () => Promise<Action>): void; export {};