Saltearse al contenido

Data Set

Este modulo genera un nuevo objeto de datos a partir de un esquema configurable que permite usar expresiones dinamicas. El esquema define la estructura del objeto de salida, donde cada campo puede tener un valor estatico o una expresion JavaScript encerrada en {{...}} que se evalua con acceso a los datos de entrada. Soporta tanto objetos simples como arrays de datos, incluyendo subarrays anidados con decoradores. Utiliza lodash para funciones avanzadas dentro de las expresiones. Es ideal para construir payloads personalizados, transformar estructuras de datos complejas y preparar datos para APIs externas.

ParametroTipoRequeridoDescripcion
mapschemastring/objectSiEsquema JSON que define la estructura del dataset de salida. Puede ser un string JSON o un objeto. Los valores pueden ser estaticos o expresiones dinamicas con {{...}}.
{
"nextModule": "siguiente_modulo",
"data": {
"id": 123,
"priceWithTax": 60.5,
"detail": [
{ "productName": "PRODUCTO A", "totalPrice": 100 }
]
}
}
{
"mapschema": {
"id": "{{data.id}}",
"priceWithTax": "{{price * 1.21}}",
"uppercaseValue": "{{_.toUpper(data.value)}}",
"detail": [
{
"productName": "{{_.toUpper(item.productName)}}",
"totalPrice": "{{item.price * item.quantity}}"
}
]
}
}
  • Las expresiones dinamicas se definen entre dobles llaves: {{expresion}}
  • Dentro de las expresiones se puede acceder a data (datos de entrada) y _ (lodash)
  • Para arrays anidados, se usa item para referirse al elemento actual de la iteracion
  • Si una expresion falla, el campo se asigna como null y se registra el error
  • El esquema puede ser un string JSON (se parsea automaticamente) o un objeto
  • Utiliza la funcion convertSchemaToArrayToObject para normalizar el esquema
  • Si todos los campos se procesan sin errores, continua al siguiente modulo
  • dataMapper (mapping con reglas de campo)
  • dataTransform (transformacion con esquema de filtrado)
  • dataMapping (mapping desde archivo de configuracion)