#362·enquirer

导出单个 PromptOptions

作者: eliellis创建于 2021年7月9日更新于 2024年12月24日

// index.d.ts import { EventEmitter } from "events";

export interface BasePromptOptions { name: string | (() => string); type: string | (() => string); message: string | (() => string) | (() => Promise); initial?: any; required?: boolean; format?(value: string): string | Promise; result?(value: string): string | Promise; skip?: ((state: any) => boolean | Promise) | boolean; validate?( value: string ): boolean | Promise | string | Promise; onSubmit?( name: string, value: any, prompt: Prompt ): boolean | Promise; onCancel?( name: string, value: any, prompt: Prompt ): boolean | Promise; stdin?: NodeJS.ReadStream; stdout?: NodeJS.WriteStream; }

export interface Choice { name: string; message?: string; value?: string; hint?: string; disabled?: boolean | string; }

export 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; }

export interface BooleanPromptOptions extends BasePromptOptions { type: 'confirm'; initial?: boolean; }

export interface StringPromptOptions extends BasePromptOptions { type: 'input' | 'invisible' | 'list' | 'password' | 'text'; initial?: string; multiline?: boolean; }

export interface NumberPromptOptions extends BasePromptOptions { type: 'numeral'; min?: number; max?: number; delay?: number; float?: boolean; round?: boolean; major?: number; minor?: number; initial?: number; }

export interface SnippetPromptOptions extends BasePromptOptions { type: 'snippet'; newline?: string; template?: string; }

export interface SortPromptOptions extends BasePromptOptions { type: 'sort'; hint?: string; drag?: boolean; …

内容来源: enquirer/enquirer