UNPKG

@tsed/cli

Version:
25 lines (24 loc) 909 B
import { cleanObject, isFunction } from "@tsed/core"; import { FeaturesMap, FeaturesPrompt } from "../config/FeaturesPrompt.js"; function mapChoices(item, options) { return item.choices.map((choice) => { const config = FeaturesMap[choice]; if (!config) { throw new Error(`Unknown init prompt choice "${choice}" for prompt "${item.name}"`); } const { checked } = config; return cleanObject({ ...config, value: choice, checked: isFunction(checked) ? checked(options) : checked }); }); } export function getFeaturesPrompt(runtimes, availablePackageManagers, options) { return FeaturesPrompt(runtimes, availablePackageManagers).map((item, index) => { return cleanObject({ ...item, choices: item.choices?.length ? mapChoices(item, options) : undefined }); }); }