Skip to content

Commit 07c4b58

Browse files
committed
Prevent running validate_* functions twice
1 parent 840bbc4 commit 07c4b58

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

lib/bashly/views/flag/validations.gtx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,20 @@ if validate
66
> values=''
77
> eval "values=(${args['{{ long }}']})"
88
> for value in "${values[@]}"; do
9-
> if [[ -n $(validate_{{ validate }} "$value") ]]; then
10-
> printf "{{ strings[:validation_error] }}\n" "{{ usage_string }}" "$(validate_{{ validate }} "$value")" >&2
9+
> validation_output="$(validate_{{ validate }} "$value")"
10+
> if [[ -n "$validation_output" ]]; then
11+
> printf "{{ strings[:validation_error] }}\n" "{{ usage_string }}" "$validation_output" >&2
1112
> exit 1
1213
> fi
1314
> done
1415
> fi
1516
else
16-
> if [[ -v args['{{ long }}'] && -n $(validate_{{ validate }} "${args['{{ long }}']:-}") ]]; then
17-
> printf "{{ strings[:validation_error] }}\n" "{{ usage_string }}" "$(validate_{{ validate }} "${args['{{ long }}']:-}")" >&2
18-
> exit 1
17+
> if [[ -v args['{{ long }}'] ]]; then
18+
> validation_output="$(validate_{{ validate }} "${args['{{ long }}']:-}")"
19+
> if [[ -n "${validation_output}" ]]; then
20+
> printf "{{ strings[:validation_error] }}\n" "{{ usage_string }}" "$validation_output" >&2
21+
> exit 1
22+
> fi
1923
> fi
2024
>
2125
end

0 commit comments

Comments
 (0)