aggregate
local aggregate = import "github.com/jsonnet-libs/xtd/aggregate.libsonnet"
aggregate implements helper functions to aggregate arrays of objects into objects with arrays.
Example:
local apps = [
{
appid: 'id1',
name: 'yo',
id: i,
}
for i in std.range(0, 10)
];
aggregate.byKeys(apps, ['appid', 'name']);
Output:
{
"id1": {
"yo": [
{
"appid": "id1",
"id": 0,
"name": "yo"
},
{
"appid": "id1",
"id": 1,
"name": "yo"
},
...
]
}
}
Index
Fields
fn byKey
byKey(arr, key)
byKey aggregates an array by the value of key
fn byKeys
byKeys(arr, keys)
byKey aggregates an array by iterating over keys, each item in keys nests the
aggregate one layer deeper.