Add filtering and ordering to list of demos
This commit is contained in:
@ -14,6 +14,14 @@ const dir = "./demo";
|
|||||||
const fileNames = fs.readdirSync(dir);
|
const fileNames = fs.readdirSync(dir);
|
||||||
|
|
||||||
const keys = fileNames.map((f) => path.parse(f).name);
|
const keys = fileNames.map((f) => path.parse(f).name);
|
||||||
|
const getFileNumber = (file: string): number => {
|
||||||
|
const nameParts = file.split("-");
|
||||||
|
const firstPart = nameParts[0];
|
||||||
|
|
||||||
|
return Number(firstPart);
|
||||||
|
};
|
||||||
|
|
||||||
|
const demoFiles = keys.filter((file) => !isNaN(getFileNumber(file))).sort((a, b) => getFileNumber(a) - getFileNumber(b));
|
||||||
|
|
||||||
const answers = await inquirer.prompt<Answers>([
|
const answers = await inquirer.prompt<Answers>([
|
||||||
{
|
{
|
||||||
@ -26,7 +34,7 @@ const answers = await inquirer.prompt<Answers>([
|
|||||||
type: "list",
|
type: "list",
|
||||||
name: "demoFile",
|
name: "demoFile",
|
||||||
message: "What demo do you wish to run?",
|
message: "What demo do you wish to run?",
|
||||||
choices: keys,
|
choices: demoFiles,
|
||||||
filter: (input) => parseInt(input.split("-")[0]),
|
filter: (input) => parseInt(input.split("-")[0]),
|
||||||
when: (answers) => answers.type === "list",
|
when: (answers) => answers.type === "list",
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user