Project

General

Profile

« Previous | Next » 

Revision 9311

lib/sh/util.sh: added shell-variable-based caching functions

View differences:

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