Functions
Las funciones en Gigantics te permiten crear transformaciones JavaScript personalizadas que pueden aplicarse a tus datos durante el procesamiento. Esta funcionalidad proporciona una forma potente de modificar, anonimizar o generar nuevos valores para campos en tus conjuntos de datos basados en lógica compleja que va más allá de simples reglas de enmascaramiento o reemplazo.
Las funciones son particularmente útiles cuando necesitas:
- Aplicar lógica de negocio compleja para transformar datos
- Generar nuevos valores basados en combinaciones de campos existentes
- Implementar técnicas de anonimización personalizadas
- Formatear datos de formas específicas no cubiertas por transformaciones integradas
Tipos de Funciones
Existen dos categorías principales de funciones disponibles en Gigantics:
Funciones Internas
Funciones integradas que manejan tareas comunes de transformación de datos:
- mask: Aplicar patrones de enmascaramiento a diferentes tipos de datos
- fake: Generar datos falsos realistas usando la librería Faker
- codeRun: Ejecutar código JavaScript personalizado
- shuffle: Aleatorizar valores de datos dentro de restricciones
- Y muchas más funciones de transformación especializadas
Funciones de Usuario
Funciones personalizadas que creas específicamente para tu proyecto:
- Escribe código JavaScript para transformar valores de campos
- Prueba tus funciones con datos de muestra en tiempo real
- Reutiliza funciones en diferentes reglas de transformación
- Referencia variables usando la sintaxis
$(nombre_variable)
Creación y Gestión de Funciones
Interfaz de Usuario
La página de Functions presenta una vista de tabla con las siguientes columnas:
| Columna | Descripción |
|---|---|
| Name | El identificador para tu función |
| Description | Una breve explicación de lo que hace la función |
| Created By | El usuario que creó la función |
| Updated At | Cuando se modificó por última vez la función |
| Actions | Opciones para editar código o eliminar |
Añadir una Nueva Función
- Haz clic en el botón "Create" en la esquina superior derecha
- Se abrirá un panel derecho con un formulario que contiene:
- Name: Campo de texto para el identificador de la función (requerido)
- Description: Área de texto para explicar el propósito de la función (opcional)
- Rellena los campos requeridos
- Haz clic en "Save" para crear la función y proceder al editor de código
Editar una Función
- Haz clic en cualquiera de los siguientes:
- El enlace del nombre de la función para ir directamente al editor de código
- El icono de código en la columna de acciones
- La opción "Rename" en el menú desplegable para modificar metadatos
- En el editor de código, puedes:
- Escribir transformaciones JavaScript
- Probar tu código con valores de muestra en tiempo real
- Ver métricas de rendimiento de ejecución
- Insertar funciones internas disponibles desde la barra lateral
Eliminar una Función
- Haz clic en el menú de acciones (tres puntos) junto a cualquier función
- Selecciona "Delete" del menú desplegable
- Confirma la eliminación en el diálogo modal
Advertencia: Ten cuidado al eliminar funciones. Si una función se está usando en reglas del modelo, eliminarla hará que esas transformaciones fallen y algunos datos sensibles puedan permanecer visibles.
Escribir Código de Función
Interfaz del Editor
El editor de código incluye:
- Resaltado de sintaxis JavaScript
- Autocompletado para funciones disponibles
- Pruebas en tiempo real con tabla de entrada/salida
- Métricas de rendimiento mostrando tiempo de ejecución
- Configuración del nombre de campo para contexto
Variables de Contexto
En tu código de función, tienes acceso a varias variables de contexto:
$val: El valor original del campo que se está transformando$reco_: El objeto completo del registro (todos los campos)$old: El registro original antes de cualquier transformación$meta: Metadatos sobre la entidad y campo actual$vars: Variables del proyecto que pueden referenciarse con$(nombre_variable)
Funciones Disponibles
La barra lateral derecha en el editor de código muestra una lista de funciones internas disponibles que puedes usar:
- Funciones Faker: Generar datos falsos realistas (nombres, direcciones, etc.)
- Funciones de encriptación: Encriptar/desencriptar valores
- Funciones de utilidad: Varias funciones auxiliares para manipulación de datos
- Funciones de hash: Generar valores con hash (SHA, MD5, etc.)
Cuando haces clic en una función de esta lista, su firma se insertará en tu código en la posición actual del cursor.
Probando Tu Código
El editor incluye un entorno de prueba integrado:
- Introduce valores de entrada de muestra en los campos "Old Value"
- Haz clic en "Run" o presiona Ctrl+Enter/Cmd+Enter para ejecutar tu código
- Observa los valores de salida transformados en la columna "New Value"
- Controla las métricas de rendimiento para asegurar una ejecución eficiente
Usando Funciones en Transformaciones
En Reglas del Modelo
Las funciones se usan en reglas de transformación del modelo especificando la acción "code" y referenciando tu función:
O usando otras funciones disponibles:
Referenciando Variables
Puedes referenciar variables del proyecto en tu código de función usando la sintaxis:
Esto es útil para acceder a valores de configuración o datos sensibles sin codificarlos directamente.
Buenas Prácticas
- Nombres descriptivos: Usa nombres claros y descriptivos para tus funciones para hacer evidente su propósito
- Documentación: Añade descripciones para explicar lo que hace cada función
- Pruebas: Siempre prueba tus funciones con varios valores de entrada antes de aplicarlas
- Rendimiento: Controla el tiempo de ejecución y optimiza funciones complejas
- Reutilización: Diseña funciones para ser reutilizables en diferentes campos y entidades
- Seguridad: Al usar variables, asegúrate de que los datos sensibles se almacenen como variables "Secret"
- Manejo de errores: Considera casos límite y maneja posibles errores en tu código
Ejemplos de Uso
- Formateo personalizado de emails basado en campos de nombre
- Generación de claves compuestas a partir de múltiples valores de campo
- Implementación de reglas de negocio complejas para transformación de datos
- Creación de funciones de anonimización especializadas para tu industria
- Formateo de números de teléfono u otros datos estructurados
- Generación de identificadores secuenciales o basados en patrones
Las funciones proporcionan la flexibilidad para implementar prácticamente cualquier lógica de transformación de datos requerida para tu caso de uso específico.