You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import { EventEmitter } from "events";
interface BasePromptOptions { name: string | (() => string) type: string | (() => string) message: string | (() => string) | (() => Promise<string>) initial?: any required?: boolean format?(value: string): string | Promise<string> result?(value: string): string | Promise<string> skip?: ((state: object) => boolean | Promise<boolean>) | boolean validate?(value: string): boolean | Promise<boolean> | string | Promise<string> onSubmit?(name: string, value: any, prompt: Enquirer.Prompt): boolean | Promise<boolean> onCancel?(name: string, value: any, prompt: Enquirer.Prompt): boolean | Promise<boolean> stdin?: NodeJS.ReadStream stdout?: NodeJS.WriteStream }
interface Choice { name: string message?: string value?: string hint?: string disabled?: boolean | string }
interface ArrayPromptOptions extends BasePromptOptions { type: | 'autocomplete' | 'editable' | 'form' | 'multiselect' | 'select' | 'survey' | 'list' | 'scale' choices: string[] | Choice[] maxChoices?: number muliple?: boolean initial?: number delay?: number separator?: boolean sort?: boolean linebreak?: boolean edgeLength?: number align?: 'left' | 'right' scroll?: boolean }
interface BooleanPromptOptions extends BasePromptOptions { type: 'confirm' initial?: boolean }
interface StringPromptOptions extends BasePromptOptions { type: 'input' | 'invisible' | 'list' | 'password' | 'text' initial?: string multiline?: boolean }
interface NumberPromptOptions extends BasePromptOptions { type: 'numeral' min?: number max?: number delay?: number float?: boolean round?: boolean major?: number minor?: number initial?: number }
interface SnippetPromptOptions extends BasePromptOptions { type: 'snippet' newline?: string template?: string }
interface SortPromptOptions extends BasePromptOptions { type: 'sort' hint?: string drag?: boolean numbered?: boolean }
type PromptOptions = | BasePromptOptions | ArrayPromptOptions | BooleanPromptOptions | StringPromptOptions | NumberPromptOptions | SnippetPromptOptions | SortPromptOptions
declare class BasePrompt extends EventEmitter { constructor(options?: PromptOptions);
render(): void;
run(): Promise<any>; }
declare class Enquirer<T = object> extends EventEmitter { constructor(options?: object, answers?: T);
/** * Register a custom prompt type. * * @param type * @param fn `Prompt` class, or a function that returns a `Prompt` class. */ register(type: string, fn: typeof BasePrompt | (() => typeof BasePrompt)): this;
/** * Register a custom prompt type. */ register(type: { [key: string]: typeof BasePrompt | (() => typeof BasePrompt) }): this;
/** * Prompt function that takes a "question" object or array of question objects, * and returns an object with responses from the user. * * @param questions Options objects for one or more prompts to run. */ prompt( questions: | PromptOptions | ((this: Enquirer) => PromptOptions) | (PromptOptions | ((this: Enquirer) => PromptOptions))[] ): Promise<T>;
/** * Use an enquirer plugin. * * @param plugin Plugin function that takes an instance of Enquirer. */ use(plugin: (this: this, enquirer: this) => void): this; }
declare namespace Enquirer { function prompt<T = object>( questions: | PromptOptions | ((this: Enquirer) => PromptOptions) | (PromptOptions | ((this: Enquirer) => PromptOptions))[] ): Promise<T>;
class Prompt extends BasePrompt {} }
export = Enquirer;
|