prompt-sync-plus
Version:
Yet another synchronous prompt for Node.js
151 lines (147 loc) • 2.79 kB
TypeScript
declare enum AutocompleteBehavior {
CYCLE = "cycle",
HYBRID = "hybrid",
SUGGEST = "suggest"
}
declare enum Key {
SIGINT = 3,
EOT = 4,
WIN_BACKSPACE = 8,
TAB = 9,
ENTER = 13,
SHIFT = 16,
CTRL = 17,
ALT = 18,
PAUSE_BREAK = 19,
CAPS_LOCK = 20,
ESCAPE = 27,
EXCLAMATION_POINT = 33,
SPACE = 32,
DOUBLE_QUOTE = 34,
POUND = 35,
DOLLAR = 36,
PERCENT = 37,
AMPERSAND = 38,
SINGLE_QUOTE = 39,
LEFT_PAREN = 40,
RIGHT_PAREN = 41,
ASTERISK = 42,
PLUS_SIGN = 43,
COMMA = 44,
HYPHEN = 45,
PERIOD = 46,
FORWARD_SLASH = 47,
NUM_0 = 48,
NUM_1 = 49,
NUM_2 = 50,
NUM_3 = 51,
NUM_4 = 52,
NUM_5 = 53,
NUM_6 = 54,
NUM_7 = 55,
NUM_8 = 56,
NUM_9 = 57,
COLON = 58,
SEMI_COLON = 59,
LEFT_CARET = 60,
EQUAL_SIGN = 61,
RIGHT_CARET = 62,
QUESTION_MARK = 63,
AT = 64,
A = 65,
B = 66,
C = 67,
D = 68,
E = 69,
F = 70,
G = 71,
H = 72,
I = 73,
J = 74,
K = 75,
L = 76,
M = 77,
N = 78,
O = 79,
P = 80,
Q = 81,
R = 82,
S = 83,
T = 84,
U = 85,
V = 86,
W = 87,
X = 88,
Y = 89,
Z = 90,
LEFT_BRACKET = 91,
BACK_SLASH = 92,
RIGHT_BRACKET = 93,
CIRCUMFLEX = 94,
UNDERSCORE = 95,
BACK_TICK = 96,
a = 97,
b = 98,
c = 99,
d = 100,
e = 101,
f = 102,
g = 103,
h = 104,
i = 105,
j = 106,
k = 107,
l = 108,
m = 109,
n = 110,
o = 111,
p = 112,
q = 113,
r = 114,
s = 115,
t = 116,
u = 117,
v = 118,
w = 119,
x = 120,
y = 121,
z = 122,
LEFT_BRACE = 123,
VERTICAL_BAR = 124,
RIGHT_BRACE = 125,
TILDE = 126,
BACKSPACE = 127
}
declare type PromptSyncHistoryObj = {
atStart: () => boolean;
atPenultimate: () => boolean;
pastEnd: () => boolean;
atEnd: () => boolean;
prev: () => string;
next: () => string;
reset: () => void;
push: (line: string) => void;
save: () => void;
};
declare type Config = {
autocomplete: {
behavior: AutocompleteBehavior;
fill: boolean;
searchFn?: (query: string) => string[];
sticky: boolean;
suggestColCount: number;
triggerKey: Key;
};
echo: string;
eot: boolean;
defaultResponse: string;
history?: PromptSyncHistoryObj;
sigint: boolean;
};
declare type PromptType = {
(ask: string, value?: string | Config, configOverride?: Config): string;
history?: PromptSyncHistoryObj;
hide?: (ask: string) => string;
};
declare function PromptSyncPlus(config: Config | undefined): PromptType;
export { AutocompleteBehavior, Key, PromptSyncPlus as default };