bombshell-dev / clack

Effortlessly build beautiful command-line apps
https://clack.cc
5.23k stars 88 forks source link

[Bug] multiselect doesn't have `validate` option. #164

Open renhiyama opened 9 months ago

renhiyama commented 9 months ago
let value = await clack.multiselect({
    message: g("Choose the features you want to include in your project"),
    options: [
      { label: "React", value: "react" },
      { label: "Preact (compat)", value: "preact" },
      { label: "Twind CSS", value: "twind" },
      { label: "Tailwind CSS", value: "tailwind" },
      { label: "API Server", value: "api" },
      { label: "Serve Static Files", value: "static" },
      { label: "Million.js", value: "million" },
    ],
validate(values){
   if(values.include("million") && !values("react")) return `You need react feature in order to chooes millionjs`;
 }
  });

The validate function isn't ran. This seems to be only there at the text() component. I really need validate option. I currently have to accept the input as-is, and then use a recursive function and conditional logic to do checking.