Revision 9311
Added by Aaron Marcuse-Kubitza about 11 years ago
lib/sh/util.sh | ||
---|---|---|
65 | 65 |
)" |
66 | 66 |
|
67 | 67 |
|
68 |
#### caching |
|
69 |
|
|
70 |
## shell-variable-based caching |
|
71 |
|
|
72 |
# usage: local cache_key=...; cache_init; \ |
|
73 |
# if ! cached; then cache_save value; fi; echo_cached_value |
|
74 |
# cache_key for function inputs: "$(declare -p "$kw_param"...) $*" |
|
75 |
alias load_cache='declare cache_var="$(str2varname "${FUNCNAME}___$cache_key")"' |
|
76 |
alias cached='isset "$cache_var"' |
|
77 |
alias save_cache='set_var "$cache_var"' |
|
78 |
alias echo_cached_value='echo "${!cache_var}"' |
|
79 |
|
|
80 |
clear_cache() # usage: func=... clear_cache |
|
81 |
{ : "${func:?}"; unset $(prefix="${func}___" get_prefix_vars); } |
|
82 |
|
|
83 |
fi # load new aliases |
|
84 |
if self_being_included; then |
|
85 |
|
|
86 |
|
|
68 | 87 |
#### aliases |
69 | 88 |
|
70 | 89 |
unalias() { builtin unalias "$@" 2>&- || true; } # no error if undefined |
Also available in: Unified diff
lib/sh/util.sh: added shell-variable-based caching functions