UNPKG

3.65 kBTypeScriptView Raw
1export type OptionType = string | number | RegExp | ((input: string) => boolean);
2
3export interface BasicOptions {
4 prompt?: any;
5 hideEchoBack?: boolean | undefined;
6 mask?: string | undefined;
7 limit?: OptionType | OptionType[] | undefined;
8 limitMessage?: string | undefined;
9 defaultInput?: string | undefined;
10 trueValue?: OptionType | OptionType[] | undefined;
11 falseValue?: OptionType | OptionType[] | undefined;
12 caseSensitive?: boolean | undefined;
13 keepWhitespace?: boolean | undefined;
14 encoding?: string | undefined;
15 bufferSize?: number | undefined;
16 print?(display: string, encoding: string): void;
17 history?: boolean | undefined;
18 cd?: boolean | undefined;
19 charlist?: string | undefined;
20 min?: any;
21 max?: any;
22 confirmMessage?: any;
23 unmatchMessage?: any;
24 exists?: any;
25 isFile?: boolean | undefined;
26 isDirectory?: boolean | undefined;
27 validate?(path: string): boolean | string;
28 create?: boolean | undefined;
29 guide?: boolean | undefined;
30 cancel?: any;
31}
32
33// Basic Functions
34export function question(query?: any, options?: BasicOptions): string;
35export function prompt(options?: BasicOptions): string;
36export function keyIn(query?: any, options?: BasicOptions): string;
37export function setDefaultOptions(options?: BasicOptions): BasicOptions;
38
39// Utility Functions
40export function questionEMail(query?: any, options?: BasicOptions): string;
41export function questionNewPassword(query?: any, options?: BasicOptions): string;
42export function questionInt(query?: any, options?: BasicOptions): number;
43export function questionFloat(query?: any, options?: BasicOptions): number;
44export function questionPath(query?: any, options?: BasicOptions): string;
45
46export function promptCL(
47 commandHandler?: { [id: string]: (...args: string[]) => void } | ((command: string, ...args: string[]) => void),
48 options?: BasicOptions,
49): string[];
50export function promptLoop(inputHandler: (value: string) => boolean, options?: BasicOptions): void;
51export function promptCLLoop(
52 commandHandler?:
53 // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
54 | { [id: string]: (...args: string[]) => boolean | void }
55 // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
56 | ((command: string, ...args: string[]) => boolean | void),
57 options?: BasicOptions,
58): void;
59export function promptSimShell(options?: BasicOptions): string;
60
61export function keyInYN(query?: any, options?: BasicOptions): boolean | string;
62export function keyInYNStrict(query?: any, options?: BasicOptions): boolean;
63export function keyInPause(query?: any, options?: BasicOptions): void;
64export function keyInSelect(items: string[], query?: any, options?: BasicOptions): number;
65
66export function getRawInput(): string;
67
68// Deprecated
69
70/**
71 * @deprecated Use the bufferSize option instead: readlineSync.setDefaultOptions({bufferSize: value});
72 */
73export function setBufferSize(value: number): void;
74
75/**
76 * @deprecated Use the encoding option instead: readlineSync.setDefaultOptions({encoding: value});
77 */
78export function setEncoding(value: string): void;
79
80/**
81 * @deprecated Use the mask option instead: readlineSync.setDefaultOptions({mask: value});
82 */
83export function setMask(value: string): void;
84
85/**
86 * @deprecated Use the print option instead: readlineSync.setDefaultOptions({print: value});
87 */
88export function setPrint(value: (display: string, encoding: string) => void): void;
89
90/**
91 * @deprecated Use the prompt option instead: readlineSync.setDefaultOptions({prompt: value});
92 */
93export function setPrompt(value: any): void;
94
\No newline at end of file