I have SQL results that are returned in Javascript like this:
{
machine_class: 'MAN',
machine: '001',
start: '2020-01-02 18:27:38',
end: '2020-01-02 18:30:22',
code: 'ready'
},
{
machine_class: 'CMD',
machine: '002',
start: '2020-01-02 18:30:22',
end: '2020-01-02 18:30:53',
code: 'ready'
},
{
machine_class: 'CMD',
machine: '002',
start: '2020-01-02 18:30:53',
end: '2020-01-02 18:31:16',
code: 'delay'
},
{
machine_class: 'CMD',
machine: '003',
start: '2020-01-02 18:31:16',
end: '2020-01-02 18:31:29',
code: 'ready'
}
I need to nest the results first by machine_class, then by machine like this:
[
{
machine_class: "CMD",
data: [
{
machine: "002",
data: [
{
timeRange: ['2020-01-02 18:30:22', '2020-01-02 18:30:53'],
val: 'ready'
},
{
timeRange: ['2020-01-02 18:30:53', '2020-01-02 18:31:16'],
val: 'delay'
},
(...)
]
},
{
machine: "003",
data: [...]
},
(...)
],
},
{
machine_class: "MAN",
data: [...]
},
(...)
]
The only solutions I can come up with are complicated and slow, is there anything inbuilt to JavaScript that can nest objects like this?