Lentes parciales: agrupe la matriz de objetos por propiedad, use el valor de apoyo como clave

Tengo una serie de objetos como este:

[
  { name: "Group 1", value: "Foo" },
  { name: "Group 2", value: "Bar" },
  { name: "Group 1", value: "Baz" }
]

Me gustaría usarLentes parciales biblioteca para transformar estos grupos en claves de un objeto con los elementos del grupo correspondiente, de esta manera:

{
  "Group 1": [
    { name: "Group 1", value: "Foo" },
    { name: "Group 1", value: "Baz" }
  ],
  "Group 2": [
    { name: "Group 2", value: "Bar" }
  ]
}

Mi enfoque actual es así, suponiendo que tenga los datos de origen en una variable llamadadata:

const grouped = L.collect([L.groupBy('name'), L.entries], data)
const setKey = [L.elems, 0]
const getName = [L.elems, 1, 0, 'name']
const correctPairs = L.disperse(setKey, L.collectTotal(getName, grouped), grouped)
L.get(L.inverse(L.keyed), correctPairs)

No me gusta, necesito usar elgrouped ycorrectPairs variables para contener datos, ya que probablemente debería poder hacer la transformación directamente en la composición. ¿Podría ayudarme a componer la misma funcionalidad de una manera más significativa?

Aquí está un Zona de juegos de lentes parciales con el código anterior.

Respuestas a la pregunta(3)

Su respuesta a la pregunta