From 9aba21e64c56779cee2b70930168d566808870e3 Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Wed, 14 Jun 2023 03:44:46 +0100 Subject: [PATCH] Add filtering and ordering to list of demos --- demo/index.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/demo/index.ts b/demo/index.ts index 08e97777ab..0f8a77e19e 100644 --- a/demo/index.ts +++ b/demo/index.ts @@ -14,6 +14,14 @@ const dir = "./demo"; const fileNames = fs.readdirSync(dir); 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([ { @@ -26,7 +34,7 @@ const answers = await inquirer.prompt([ type: "list", name: "demoFile", message: "What demo do you wish to run?", - choices: keys, + choices: demoFiles, filter: (input) => parseInt(input.split("-")[0]), when: (answers) => answers.type === "list", },