From fa7151f255d928d78b05058a87b9625198caa331 Mon Sep 17 00:00:00 2001 From: Kjell Winblad Date: Tue, 21 Nov 2023 15:18:22 +0100 Subject: [PATCH] fix: port emqx_utils_maps:rename function from master The emqx_utils_maps:rename function is needed by action upgrade/downgrade hoos. --- apps/emqx_utils/src/emqx_utils_maps.erl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/emqx_utils/src/emqx_utils_maps.erl b/apps/emqx_utils/src/emqx_utils_maps.erl index 3945b7201..a3b6961f0 100644 --- a/apps/emqx_utils/src/emqx_utils_maps.erl +++ b/apps/emqx_utils/src/emqx_utils_maps.erl @@ -34,7 +34,8 @@ best_effort_recursive_sum/3, if_only_to_toggle_enable/2, update_if_present/3, - put_if/4 + put_if/4, + rename/3 ]). -export_type([config_key/0, config_key_path/0]). @@ -309,3 +310,11 @@ put_if(Acc, K, V, true) -> Acc#{K => V}; put_if(Acc, _K, _V, false) -> Acc. + +rename(OldKey, NewKey, Map) -> + case maps:find(OldKey, Map) of + {ok, Value} -> + maps:put(NewKey, Value, maps:remove(OldKey, Map)); + error -> + Map + end.