У меня есть конвейерная линия потоков:
pipeline(readStream, transformStream, writeStream);
readStream, передаваемый в объект transformStream (при каждом событии «data»), например:
{
id: 1,
name: 'John',
phone: 1000000,
}
Мне нужно хранить телефоны в преобразовать поток до тех пор, пока идентификатор не будет изменен в этом объекте, тогда я должен sh объект, подобный этому, в буфер потока:
{
id: 1,
name: 'John',
phones: [1000000, 1000001, 1000002],
}
Таким образом, массив:
[
{
id: 1,
name: 'John',
phone: 1000000,
},
{
id: 1,
name: 'John',
phone: 1000001,
},
{
id: 2,
name: 'Ray',
phone: 1000002,
},
{
id: 3,
name: 'Santa',
phone: 1000003,
},
]
после преобразования потока будет быть:
[
{
id: 1,
name: 'John',
phones: [1000000, 1000001],
},
{
id: 2,
name: 'Ray',
phones: [1000002],
},
{
id: 3,
name: 'Santa',
phones: [1000003],
},
]
Как я могу это реализовать?