( descriptors: PluginPromptDescriptor[], cliArgs: CliArgs, )
| 63 | } |
| 64 | |
| 65 | export async function promptPluginOptions( |
| 66 | descriptors: PluginPromptDescriptor[], |
| 67 | cliArgs: CliArgs, |
| 68 | ): Promise<Record<string, PluginAnswer>> { |
| 69 | const fallback = cliArgs['yes'] |
| 70 | ? (descriptor: PluginPromptDescriptor) => descriptor.default |
| 71 | : runPrompt; |
| 72 | |
| 73 | const entries = await asyncSequential(descriptors, async descriptor => [ |
| 74 | descriptor.key, |
| 75 | cliValue(descriptor.key, cliArgs) ?? (await fallback(descriptor)), |
| 76 | ]); |
| 77 | return Object.fromEntries(entries); |
| 78 | } |
| 79 | |
| 80 | function cliValue(key: string, cliArgs: CliArgs): PluginAnswer | undefined { |
| 81 | const value = cliArgs[key]; |
no test coverage detected