70bf21e064
Handle Changesets / Handle Changesets (push) Waiting to run
Semgrep OSS scan / semgrep-oss (push) Waiting to run
Deploy (to testing) and Test Playground Preview Worker / Deploy Playground Preview Worker (testing) (push) Has been skipped
Deploy Workers Shared Staging / Deploy Workers Shared Staging (push) Failing after 0s
Prerelease / build (push) Has been skipped
22 lines
591 B
TypeScript
22 lines
591 B
TypeScript
import { inputPrompt } from "./interactive";
|
|
import type { Arg, PromptConfig } from "./interactive";
|
|
|
|
export const processArgument = async <T>(
|
|
args: Record<string, Arg>,
|
|
name: string,
|
|
promptConfig: PromptConfig
|
|
) => {
|
|
const value = args[name];
|
|
const result = await inputPrompt<T>({
|
|
...promptConfig,
|
|
// Accept the default value if the arg is already set
|
|
acceptDefault: promptConfig.acceptDefault ?? value !== undefined,
|
|
defaultValue: value ?? promptConfig.defaultValue,
|
|
});
|
|
|
|
// Update value in args before returning the result
|
|
args[name] = result as Arg;
|
|
|
|
return result;
|
|
};
|