trustgraph/templates/decode-config.jsonnet
cybermaggedon 65d7f6d261
Refactor templates (#52)
* Switching from docker compose to abstract form - should be easier to k8s later
* Text loader util
* Recreate templates
2024-09-05 16:40:47 +01:00

29 lines
640 B
Jsonnet

local components = import "components.jsonnet";
local apply = function(p, components)
local component = components[p.name];
(component + {
with:: function(k, v) self + {
[k]:: v
},
with_params:: function(pars)
self + std.foldl(
function(obj, par) obj.with(par.key, par.value),
std.objectKeysValues(pars),
self
),
}).with_params(p.parameters);
local decode = function(config)
local add = function(state, c) state + apply(c, components);
local patterns = std.foldl(add, config, {});
patterns;
decode