Skip to content

Commit b064fc5

Browse files
committed
chore(demo): passing demo number as argument will run that demo
1 parent 588e606 commit b064fc5

File tree

1 file changed

+32
-25
lines changed

1 file changed

+32
-25
lines changed

demo/index.ts

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -22,31 +22,38 @@ const getFileNumber = (file: string): number => {
2222

2323
const demoFiles = keys.filter((file) => !isNaN(getFileNumber(file))).sort((a, b) => getFileNumber(a) - getFileNumber(b));
2424

25-
const answers = await inquirer.prompt<Answers>([
26-
{
27-
type: "list",
28-
name: "type",
29-
message: "Select demo from a list or via number",
30-
choices: ["list", "number"],
31-
},
32-
{
33-
type: "list",
34-
name: "demoFile",
35-
message: "What demo do you wish to run?",
36-
choices: demoFiles,
37-
filter: (input) => parseInt(input.split("-")[0], 10),
38-
when: (a) => a.type === "list",
39-
},
40-
{
41-
type: "number",
42-
name: "demoNumber",
43-
message: "What demo do you wish to run? (Enter a number)",
44-
default: 1,
45-
when: (a) => a.type === "number",
46-
},
47-
]);
48-
49-
const demoNumber = answers.demoNumber ?? answers.demoFile ?? 1;
25+
const firstArg = process.argv[2];
26+
const firstArgNumber = Number.parseInt(firstArg, 10);
27+
let demoNumber: number;
28+
if (firstArg && !isNaN(firstArgNumber)) {
29+
demoNumber = firstArgNumber;
30+
} else {
31+
const answers = await inquirer.prompt<Answers>([
32+
{
33+
type: "list",
34+
name: "type",
35+
message: "Select demo from a list or via number",
36+
choices: ["list", "number"],
37+
},
38+
{
39+
type: "list",
40+
name: "demoFile",
41+
message: "What demo do you wish to run?",
42+
choices: demoFiles,
43+
filter: (input) => parseInt(input.split("-")[0], 10),
44+
when: (a) => a.type === "list",
45+
},
46+
{
47+
type: "number",
48+
name: "demoNumber",
49+
message: "What demo do you wish to run? (Enter a number)",
50+
default: 1,
51+
when: (a) => a.type === "number",
52+
},
53+
]);
54+
demoNumber = answers.demoNumber ?? answers.demoFile ?? 1;
55+
}
56+
5057
const files = fs.readdirSync(dir).filter((fn) => fn.startsWith(demoNumber.toString()));
5158

5259
if (files.length === 0) {

0 commit comments

Comments
 (0)