Actualización del diseño de la pila d3.js de v3 a v4

Usando D3 v3, formateé mis datos para que coincidan con el ejemplo de Mike para iniciar rápidamente mi proceso de desarrollo. Página de ejemplo aquíhttps://github.com/d3/d3-3.x-api-reference/blob/master/Stack-Layout.md

var data = [
  {
    "name": "apples",
    "values": [
      { "x": 0, "y":  91},
      { "x": 1, "y": 290}
    ]
  },
  {
    "name": "oranges",
    "values": [
      { "x": 0, "y":  9},
      { "x": 1, "y": 49}
    ]
  }
];

Entonces todo lo que tenía que hacer para obtener los valores apilados era

var stack = d3.layout.stack().values(d=>d.values)

var layers = stack(data)

Exactamente cómo lo hizo en su ejemplo.

Sin embargo, en v4 parece que la función de pila espera datos con formato de tabla, por lo que los datos anteriores se verían así.

var data = [
  {x: 0, apples: 91, oranges: 9},
  {x: 1, apples: 290, oranges: 49},
];

¿Hay una manera fácil de mantener mi formato de datos y usar la función v4 stack? Parece que no puedo entender la nueva forma de hacer esto. En mi formato de datos actual, tengo propiedades útiles asociadas con la matriz de valores. Si cambio mi formato de datos a tabular, no veo una manera conveniente de emparejar propiedades con valores.