Skip to content

Commit

Permalink
chore: add base prompt for variable value prompts
Browse files Browse the repository at this point in the history
  • Loading branch information
nsalamad committed Sep 29, 2023
1 parent e57835e commit 026ee72
Showing 1 changed file with 21 additions and 21 deletions.
42 changes: 21 additions & 21 deletions src/ui/prompts/variablePrompts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,17 +55,27 @@ export const variableTypePrompt = {
choices: CreateVariableDto.shape.type.options
}

export const variableValueStringPrompt = (
entity: VariablePromptEntity,
defaultValue?: string
const baseVariableValuePrompt = (
entity: VariablePromptEntity,
defaultValue?: string | number | boolean
): Prompt => {
const key = entity.value.key
const messageIdentifier = entity.type === 'variation' ? entity.value.name : entity.value.key
return {
name: key,
default: defaultValue,
type: 'input',
message: `Variable value for ${messageIdentifier}`,
type: 'input',
default: defaultValue,
}
}

export const variableValueStringPrompt = (
entity: VariablePromptEntity,
defaultValue?: string
): Prompt => {
const basePrompt = baseVariableValuePrompt(entity, defaultValue)
return {
...basePrompt,
transformer: hintTextTransformer('(String)'),
}
}
Expand All @@ -74,13 +84,9 @@ export const variableValueNumberPrompt = (
entity: VariablePromptEntity,
defaultValue?: number
): Prompt => {
const key = entity.value.key
const messageIdentifier = entity.type === 'variation' ? entity.value.name : entity.value.key
const basePrompt = baseVariableValuePrompt(entity, defaultValue)
return {
name: key,
message: `Variable value for ${messageIdentifier}`,
type: 'input',
default: defaultValue,
...basePrompt,
transformer: hintTextTransformer('(Number)'),
filter: (input: string): number | string => {
if (isNaN(Number(input))) {
Expand All @@ -102,11 +108,9 @@ export const variableValueBooleanPrompt = (
entity: VariablePromptEntity,
defaultValue?: boolean
): Prompt => {
const key = entity.value.key
const messageIdentifier = entity.type === 'variation' ? entity.value.name : entity.value.key
const basePrompt = baseVariableValuePrompt(entity, defaultValue)
return {
name: key,
message: `Variable value for ${messageIdentifier}`,
...basePrompt,
type: 'list',
suffix: `${chalk.dim(' (Boolean)')}`,
default: defaultValue,
Expand All @@ -127,13 +131,9 @@ export const variableValueJSONPrompt = (
entity: VariablePromptEntity,
defaultValue?: string,
): Prompt => {
const key = entity.value.key
const messageIdentifier = entity.type === 'variation' ? entity.value.name : entity.value.key
const basePrompt = baseVariableValuePrompt(entity, defaultValue)
return {
name: key,
message: `Variable value for ${messageIdentifier}`,
type: 'input',
default: defaultValue,
...basePrompt,
transformer: hintTextTransformer('(JSON)'),
validate: (input: string): boolean | string => {
try {
Expand Down

0 comments on commit 026ee72

Please sign in to comment.