jshn: add ability to pass default values to json_get_var and json_get_vars
This commit is contained in:
parent
318d682d29
commit
e58fa88e1f
1 changed files with 6 additions and 2 deletions
|
@ -231,13 +231,17 @@ json_get_var() {
|
||||||
|
|
||||||
_json_get_var __cur JSON_CUR
|
_json_get_var __cur JSON_CUR
|
||||||
local __var="${JSON_PREFIX}${__cur}_${2//[^a-zA-Z0-9_]/_}"
|
local __var="${JSON_PREFIX}${__cur}_${2//[^a-zA-Z0-9_]/_}"
|
||||||
eval "export -- \"$__dest=\${$__var}\"; [ -n \"\${$__var+x}\" ]"
|
eval "export -- \"$__dest=\${$__var:-$3}\"; [ -n \"\${$__var+x}\${3+x}\" ]"
|
||||||
}
|
}
|
||||||
|
|
||||||
json_get_vars() {
|
json_get_vars() {
|
||||||
while [ "$#" -gt 0 ]; do
|
while [ "$#" -gt 0 ]; do
|
||||||
local _var="$1"; shift
|
local _var="$1"; shift
|
||||||
|
if [ "$_var" != "${_var#*:}" ]; then
|
||||||
|
json_get_var "${_var%%:*}" "${_var%%:*}" "${_var#*:}"
|
||||||
|
else
|
||||||
json_get_var "$_var" "$_var"
|
json_get_var "$_var" "$_var"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue