Skip to content

Commit 9b3f60c

Browse files
committed
🐚 Adds number type and reorders scrubbers
1 parent 8ad0d0f commit 9b3f60c

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

argument-parser.sh

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,21 @@ _TRUE='1'
2424
_DEFAULT_ACCEPTABLE_ARG_LIST=('--help|-h:bool' '--foo|-f:print' '--path:path-nil')
2525

2626

27-
arg_scrubber_alpha_numeric(){ printf '%s' "${@//[^a-z0-9A-Z]/}"; }
28-
29-
30-
arg_scrubber_regex(){ printf '%s' "$(sed 's@.@\\.@g' <<<"${@//[^[:print:]$'\t'$'\n']/}")"; }
27+
arg_scrubber_alpha_numeric(){
28+
printf '%s' "${@//[^a-z0-9A-Z]/}"
29+
}
3130

3231

3332
arg_scrubber_list(){
3433
printf '%s' "$(sed 's@\.\.*@.@g; s@--*@-@g' <<<"${@//[^a-z0-9A-Z,+_./@:-]/}")"
3534
}
3635

3736

37+
arg_scrubber_number(){
38+
printf '%s\n' "$(sed 's@\.\.*@.@g; s@--*@-@g' <<<"${@//[^0-9]/}")"
39+
}
40+
41+
3842
arg_scrubber_path(){
3943
printf '%s' "$(sed 's@\.\.*@.@g; s@--*@-@g' <<<"${@//[^a-z0-9A-Z ~+_./@:-]/}")"
4044
}
@@ -47,18 +51,24 @@ arg_scrubber_posix(){
4751
}
4852

4953

54+
arg_scrubber_regex(){
55+
printf '%s' "$(sed 's@.@\\.@g' <<<"${@//[^[:print:]$'\t'$'\n']/}")"
56+
}
57+
58+
5059
return_scrubbed_arg(){
5160
_raw_value="${1}"
5261
_opt_type="${2:?## Error - no option type provided to return_scrubbed_arg}"
5362
case "${_opt_type}" in
54-
'bool'*) _value="${_TRUE}" ;;
55-
'raw'*) _value="${_raw_value}" ;;
56-
'path'*) _value="$(arg_scrubber_path "${_raw_value}")" ;;
57-
'posix'*) _value="$(arg_scrubber_posix "${_raw_value}")" ;;
58-
'print'*) _value="${_raw_value//[^[:print:]]/}" ;;
59-
'regex'*) _value="$(arg_scrubber_regex "${_raw_value}")" ;;
60-
'list'*) _value="$(arg_scrubber_list "${_raw_value}")" ;;
6163
'alpha_numeric'*) _value="$(arg_scrubber_alpha_numeric "${_raw_value}")" ;;
64+
'bool'*) _value="${_TRUE}" ;;
65+
'list'*) _value="$(arg_scrubber_list "${_raw_value}")" ;;
66+
'number'*) _value="$(arg_scrubber_number "${_raw_value}")" ;;
67+
'path'*) _value="$(arg_scrubber_path "${_raw_value}")" ;;
68+
'posix'*) _value="$(arg_scrubber_posix "${_raw_value}")" ;;
69+
'print'*) _value="${_raw_value//[^[:print:]]/}" ;;
70+
'raw'*) _value="${_raw_value}" ;;
71+
'regex'*) _value="$(arg_scrubber_regex "${_raw_value}")" ;;
6272
esac
6373

6474
if [[ "${_opt_type}" =~ ^'bool'* ]] || [[ "${_raw_value}" == "${_value}" ]]; then

0 commit comments

Comments
 (0)