Quiero transformar un objeto JS anidado en una estructura AST en otro usando asignaciones, puede tener cualquier nivel de profundidad. Cualquier ayuda es profundamente apreciada. También podemos usar lodash si es conveniente.
Motivación: los datos de suministro pueden estar en varios formatos, necesito crear productos estándar utilizando diferentes objetos de suministro, para lo cual podemos crear un modelo de producto estándar y varias asignaciones para el modelo de producto para suministrar.
Si cree que este problema se puede resolver con un mejor modelado de datos del modelo de producto o modelo de mapa, agradeceré mucho las sugerencias. No obstante, el modelo de suministro es fijo.
Datos
const source = { a:1, b:2, c:7, children:[ { a:3, b:7, d:8, children: [ { a:6, b:8, x:4 } ] }, { a:5, b:3, c:9 } ] }Asignaciones
const map = { c:'a', d:'b', elements: { identifier:'children', // which field to lookout for children ofType: 'map' // every child has similar structure as parent } }Aquí está la salida que estoy esperando
const output = { c:1, d:2, elements:[ { c:3, d:7, elements:[ { c:6, d:8 } ] }, { c:5, d:3 } ] }