lodash - conte duplicados e remova-os

Estou tentando usar o lodash para contar primeiro quantas duplicatas existem em uma matriz de objetos e remover a duplicata (mantendo o contador).

O código que tenho até agora parece funcionar, mas não consigo descobrir como mesclar os dois (desculpe, novo com o lodash).

Aqui está um código:

var array = [
{id: 1, name: "test"},
{id: 2, name: "test 2"},
{id: 3, name: "test 3"},
{id: 4, name: "test 4"},
{id: 1, name: "test "},
{id: 2, name: "test 2"},
]

// This finds the duplicates and removes them
result = _.uniqBy(array, 'id')

// this counts how many duplicates are in the array
count = _(result)
.groupBy('id')
.map((items, name) => ({ name, count: items.length }))
.value();

Gostaria de contar, depois remover mas manter a contagem, para que o resultado final basicamente me diga quantos produtos estão no pedido, mas mantendo o mesmo juntos e alterando a quantidade de 1 para 2.

Eu tentei com isso, mas não funciona:

result = _(result)
  .groupBy('id')
  .map((items, name) => ({ name, count: items.length }))
  .uniqBy(result, 'name')
  .value()

o que me dará algo assim:

result = [
{id: 1, name: "test", qty: 2},
{id: 2, name: "test 2", qty: 2},
{id: 3, name: "test 3", qty: 1},
{id: 4, name: "test 4", qty: 1}
]

Qualquer ajuda?

obrigado

questionAnswers(2)

yourAnswerToTheQuestion