Describe the bug
If a variable is replaced with another variable, it is not always properly replaced.
For example: a key: foo.bar has the value test and another key bar.baz has the value ${foo:bar)_even_more
Sometimes the key bar.baz will be test_even_more and sometimes ${foo:bar}_even_more.
This has to do with the order in which the variables are replaced. It is based on a range loop, which has
a non-deterministic order.
After all variables have been replaced, it might be a good idea to scan for variables again, until no variables are discovered.
Alternative approaches possible.
Describe the bug If a variable is replaced with another variable, it is not always properly replaced.
For example: a key:
foo.bar
has the valuetest
and another keybar.baz
has the value${foo:bar)_even_more
Sometimes the keybar.baz
will betest_even_more
and sometimes${foo:bar}_even_more
.This has to do with the order in which the variables are replaced. It is based on a range loop, which has a non-deterministic order.
After all variables have been replaced, it might be a good idea to scan for variables again, until no variables are discovered. Alternative approaches possible.