1
0
mirror of https://github.com/go-task/task.git synced 2025-06-23 00:38:19 +02:00

feat: option to ensure variable is within the list of values (#1827)

This commit is contained in:
Valentin Maerten
2024-10-18 18:16:57 +02:00
committed by GitHub
parent 9a7e79258c
commit a35910429c
9 changed files with 217 additions and 24 deletions

View File

@ -158,3 +158,29 @@ func (err *TaskMissingRequiredVars) Error() string {
func (err *TaskMissingRequiredVars) Code() int {
return CodeTaskMissingRequiredVars
}
type NotAllowedVar struct {
Value string
Enum []string
Name string
}
type TaskNotAllowedVars struct {
TaskName string
NotAllowedVars []NotAllowedVar
}
func (err *TaskNotAllowedVars) Error() string {
var builder strings.Builder
builder.WriteString(fmt.Sprintf("task: Task %q cancelled because it is missing required variables:\n", err.TaskName))
for _, s := range err.NotAllowedVars {
builder.WriteString(fmt.Sprintf(" - %s has an invalid value : '%s' (allowed values : %v)\n", s.Name, s.Value, s.Enum))
}
return builder.String()
}
func (err *TaskNotAllowedVars) Code() int {
return CodeTaskNotAllowedVars
}