Ir al contenido

Data Set

Este modulo genera un nuevo objeto de datos a partir de un esquema configurable que permite usar expresiones dinámicas. El esquema define la estructura del objeto de salida, donde cada campo puede tener un valor estático 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.

ParámetroTipoRequeridoDescripción
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 dinámicas 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 dinámicas 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 iteración
  • Si una expresion falla, el campo se asigna como null y se registra el error
  • El esquema puede ser un string JSON (se parsea automáticamente) o un objeto
  • Utiliza la función convertSchemaToArrayToObject para normalizar el esquema
  • Si todos los campos se procesan sin errores, continua al siguiente modulo
  • dataMapper (mapping con reglas de campo)
  • dataTransform (transformación con esquema de filtrado)
  • dataMapping (mapping desde archivo de configuración)