UNPKG

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