@inquirer/demo 0.9.3 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/demos/checkbox.d.ts +2 -0
- package/dist/esm/demos/checkbox.js +60 -0
- package/dist/esm/demos/confirm.d.ts +2 -0
- package/dist/esm/demos/confirm.js +24 -0
- package/dist/esm/demos/editor.d.ts +2 -0
- package/dist/esm/demos/editor.js +25 -0
- package/dist/esm/demos/expand.d.ts +2 -0
- package/dist/esm/demos/expand.js +92 -0
- package/dist/esm/demos/input.d.ts +2 -0
- package/dist/esm/demos/input.js +36 -0
- package/dist/esm/demos/loader.d.ts +2 -0
- package/dist/esm/demos/loader.js +21 -0
- package/dist/esm/demos/number.d.ts +2 -0
- package/dist/esm/demos/number.js +23 -0
- package/dist/esm/demos/password.d.ts +2 -0
- package/dist/esm/demos/password.js +18 -0
- package/dist/esm/demos/rawlist.d.ts +2 -0
- package/dist/esm/demos/rawlist.js +62 -0
- package/dist/esm/demos/search.d.ts +2 -0
- package/dist/esm/demos/search.js +72 -0
- package/dist/esm/demos/select.d.ts +2 -0
- package/dist/esm/demos/select.js +76 -0
- package/dist/esm/demos/timeout.d.ts +2 -0
- package/dist/esm/demos/timeout.js +18 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +85 -0
- package/dist/esm/package.json +3 -0
- package/package.json +52 -24
- package/demos/checkbox.mjs +0 -65
- package/demos/confirm.mjs +0 -42
- package/demos/editor.mjs +0 -36
- package/demos/expand.mjs +0 -98
- package/demos/input.mjs +0 -48
- package/demos/loader.mjs +0 -27
- package/demos/number.mjs +0 -37
- package/demos/password.mjs +0 -28
- package/demos/rawlist.mjs +0 -67
- package/demos/search.mjs +0 -91
- package/demos/select.mjs +0 -83
- package/demos/timeout.mjs +0 -25
- package/index.mjs +0 -96
package/demos/select.mjs
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import * as url from 'node:url';
|
|
2
|
-
import { select, Separator } from '@inquirer/prompts';
|
|
3
|
-
|
|
4
|
-
const alphabet = [
|
|
5
|
-
{ value: 'A' },
|
|
6
|
-
{ value: 'B' },
|
|
7
|
-
{ value: 'C' },
|
|
8
|
-
{ value: 'D' },
|
|
9
|
-
{ value: 'E' },
|
|
10
|
-
{ value: 'F' },
|
|
11
|
-
{ value: 'G' },
|
|
12
|
-
{ value: 'H' },
|
|
13
|
-
{ value: 'I' },
|
|
14
|
-
{ value: 'J' },
|
|
15
|
-
{ value: 'K' },
|
|
16
|
-
{ value: 'L' },
|
|
17
|
-
{ value: 'M' },
|
|
18
|
-
{ value: 'N' },
|
|
19
|
-
{ value: 'O', description: 'Letter O, not number 0' },
|
|
20
|
-
{ value: 'P' },
|
|
21
|
-
{ value: 'Q' },
|
|
22
|
-
{ value: 'R' },
|
|
23
|
-
{ value: 'S' },
|
|
24
|
-
{ value: 'T' },
|
|
25
|
-
{ value: 'U' },
|
|
26
|
-
{ value: 'V' },
|
|
27
|
-
{ value: 'W' },
|
|
28
|
-
{ value: 'X' },
|
|
29
|
-
{ value: 'Y' },
|
|
30
|
-
{ value: 'Z' },
|
|
31
|
-
];
|
|
32
|
-
|
|
33
|
-
const demo = async () => {
|
|
34
|
-
let answer;
|
|
35
|
-
|
|
36
|
-
answer = await select({
|
|
37
|
-
message: 'Select a package manager',
|
|
38
|
-
choices: [
|
|
39
|
-
{
|
|
40
|
-
name: 'npm',
|
|
41
|
-
value: 'npm',
|
|
42
|
-
description: 'npm is the most popular package manager',
|
|
43
|
-
},
|
|
44
|
-
{ name: 'yarn', value: 'yarn', description: 'yarn is an awesome package manager' },
|
|
45
|
-
new Separator(),
|
|
46
|
-
{ name: 'jspm', value: 'jspm', disabled: true },
|
|
47
|
-
{
|
|
48
|
-
name: 'pnpm',
|
|
49
|
-
value: 'pnpm',
|
|
50
|
-
disabled: '(pnpm is not available)',
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
});
|
|
54
|
-
console.log('Answer:', answer);
|
|
55
|
-
|
|
56
|
-
answer = await select({
|
|
57
|
-
message: 'Select your favorite letter',
|
|
58
|
-
choices: [
|
|
59
|
-
new Separator('== Alphabet (choices cycle as you scroll through) =='),
|
|
60
|
-
...alphabet,
|
|
61
|
-
],
|
|
62
|
-
});
|
|
63
|
-
console.log('Answer:', answer);
|
|
64
|
-
|
|
65
|
-
answer = await select({
|
|
66
|
-
message: 'Select your favorite letter (example without loop)',
|
|
67
|
-
choices: [
|
|
68
|
-
new Separator('== Alphabet (choices cycle as you scroll through) =='),
|
|
69
|
-
...alphabet,
|
|
70
|
-
],
|
|
71
|
-
loop: false,
|
|
72
|
-
});
|
|
73
|
-
console.log('Answer:', answer);
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
if (import.meta.url.startsWith('file:')) {
|
|
77
|
-
const modulePath = url.fileURLToPath(import.meta.url);
|
|
78
|
-
if (process.argv[1] === modulePath) {
|
|
79
|
-
demo();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export default demo;
|
package/demos/timeout.mjs
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as url from 'node:url';
|
|
2
|
-
import { input } from '@inquirer/prompts';
|
|
3
|
-
|
|
4
|
-
async function demo() {
|
|
5
|
-
const answer = await input(
|
|
6
|
-
{ message: 'Enter a value (timing out in 5 seconds)' },
|
|
7
|
-
{ signal: AbortSignal.timeout(5000) },
|
|
8
|
-
).catch((error) => {
|
|
9
|
-
if (error.name === 'AbortPromptError') {
|
|
10
|
-
return 'Default value';
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
throw error;
|
|
14
|
-
});
|
|
15
|
-
console.log('Answer:', answer);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
if (import.meta.url.startsWith('file:')) {
|
|
19
|
-
const modulePath = url.fileURLToPath(import.meta.url);
|
|
20
|
-
if (process.argv[1] === modulePath) {
|
|
21
|
-
demo();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export default demo;
|
package/index.mjs
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { select } from '@inquirer/prompts';
|
|
4
|
-
import colors from 'yoctocolors-cjs';
|
|
5
|
-
import figures from '@inquirer/figures';
|
|
6
|
-
import checkboxDemo from './demos/checkbox.mjs';
|
|
7
|
-
import confirmDemo from './demos/confirm.mjs';
|
|
8
|
-
import editorDemo from './demos/editor.mjs';
|
|
9
|
-
import expandDemo from './demos/expand.mjs';
|
|
10
|
-
import inputDemo from './demos/input.mjs';
|
|
11
|
-
import loaderDemo from './demos/loader.mjs';
|
|
12
|
-
import numberDemo from './demos/number.mjs';
|
|
13
|
-
import passwordDemo from './demos/password.mjs';
|
|
14
|
-
import rawlistDemo from './demos/rawlist.mjs';
|
|
15
|
-
import searchDemo from './demos/search.mjs';
|
|
16
|
-
import selectDemo from './demos/select.mjs';
|
|
17
|
-
import timeoutDemo from './demos/timeout.mjs';
|
|
18
|
-
|
|
19
|
-
const demos = {
|
|
20
|
-
checkbox: checkboxDemo,
|
|
21
|
-
confirm: confirmDemo,
|
|
22
|
-
editor: editorDemo,
|
|
23
|
-
expand: expandDemo,
|
|
24
|
-
input: inputDemo,
|
|
25
|
-
loader: loaderDemo,
|
|
26
|
-
number: numberDemo,
|
|
27
|
-
password: passwordDemo,
|
|
28
|
-
rawlist: rawlistDemo,
|
|
29
|
-
search: searchDemo,
|
|
30
|
-
select: selectDemo,
|
|
31
|
-
timeout: timeoutDemo,
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
async function askNextDemo() {
|
|
35
|
-
let selectedDemo = await select({
|
|
36
|
-
message: 'Which prompt demo do you want to run?',
|
|
37
|
-
choices: [
|
|
38
|
-
{ name: 'Input', value: 'input' },
|
|
39
|
-
{ name: 'Password', value: 'password' },
|
|
40
|
-
{ name: 'Confirm', value: 'confirm' },
|
|
41
|
-
{ name: 'Select', value: 'select' },
|
|
42
|
-
{ name: 'Checkbox', value: 'checkbox' },
|
|
43
|
-
{ name: 'Search', value: 'search' },
|
|
44
|
-
{ name: 'Expand', value: 'expand' },
|
|
45
|
-
{ name: 'Rawlist', value: 'rawlist' },
|
|
46
|
-
{ name: 'Editor', value: 'editor' },
|
|
47
|
-
{ name: 'Number', value: 'number' },
|
|
48
|
-
{ name: 'Advanced demos', value: 'advanced' },
|
|
49
|
-
{ name: "Exit (I'm done)", value: 'exit' },
|
|
50
|
-
],
|
|
51
|
-
theme: {
|
|
52
|
-
prefix: {
|
|
53
|
-
done: colors.magenta(figures.play),
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
if (selectedDemo === 'advanced') {
|
|
59
|
-
selectedDemo = await select(
|
|
60
|
-
{
|
|
61
|
-
message: 'Which demo do you want to run?',
|
|
62
|
-
choices: [
|
|
63
|
-
{ name: 'Default value after timeout', value: 'timeout' },
|
|
64
|
-
{ name: 'Loader', value: 'loader' },
|
|
65
|
-
{ name: 'Go back', value: 'back' },
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
clearPromptOnDone: true,
|
|
70
|
-
},
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (selectedDemo === 'back') {
|
|
75
|
-
return askNextDemo();
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return selectedDemo;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
(async () => {
|
|
82
|
-
try {
|
|
83
|
-
let nextDemo = await askNextDemo();
|
|
84
|
-
while (nextDemo !== 'exit') {
|
|
85
|
-
await demos[nextDemo]();
|
|
86
|
-
nextDemo = await askNextDemo();
|
|
87
|
-
}
|
|
88
|
-
} catch (error) {
|
|
89
|
-
if (error.name === 'ExitPromptError') {
|
|
90
|
-
// noop; silence this error
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
throw error;
|
|
95
|
-
}
|
|
96
|
-
})();
|