FakerAI es una poderosa librería de Node.js diseñada para generar datos aleatorios útiles en proyectos de desarrollo y pruebas de software. Usando OpenAI y un conjunto flexible de opciones, FakerAI permite a los desarrolladores generar datos como nombres, correos electrónicos, direcciones, fechas, UUIDs, números, tarjetas de crédito, y mucho más.
FakerAI es ideal para crear datos realistas en pruebas de simulación, generación de contenido aleatorio o para usar en entornos de desarrollo.
- Generación de datos aleatorios para pruebas y simulaciones.
 - Soporte para una amplia gama de tipos de datos, incluyendo:
- Nombres
 - Correos electrónicos
 - Direcciones
 - Fechas
 - Números
 - UUIDs
 - Tarjetas de crédito
 - Cuentas bancarias
 - Y muchos más...
 
 - Integración con OpenAI GPT para generar datos avanzados de manera realista.
 - Flexibilidad en el formato de salida:
- Datos en texto plano
 - Datos estructurados en JSON
 - Datos validados con esquemas Zod
 
 - Configuración avanzada para personalizar los datos generados con facilidad.
 
Para instalar FakerAI en tu proyecto, puedes usar npm o yarn:
npm install faker-aiFakerAI requiere una clave de API de OpenAI. Puedes obtener tu clave desde OpenAI. Asegúrate de configurarla como una variable de entorno llamada API_KEY_OPENAI.
import { FakerAI } from "faker-ai";
import { z } from "zod";
// Crear una instancia de FakerAI con tu clave de API
const fakerAI = new FakerAI("TU_API_KEY_DE_OPENAI");
// Definir un esquema Zod para la validación de datos generados
const userSchema = z.object({
  nombre: z.string(),
  correo: z.string().email(),
  edad: z.number().min(18).max(65),
  ciudad: z.string(),
});
// Ejemplo para configurar el esquema Zod en FakerAI
fakerAI.setZodSchemeValue(userSchema);
//Establece un contexto a la respuesta para un lenguaje específico
fakerAI.setLanguageResponse("es_ES");
// Generar datos de prueba (por ejemplo, 5 nombres aleatorios)
await fakerAI.names(5);
// Obtener los datos generados
const generatedData = fakerAI.generate();
console.log(generatedData);FakerAI ofrece métodos específicos para generar distintos tipos de datos. Aquí hay algunos ejemplos:
Generar Nombres:
await fakerAI.names(10);Generar Correos Electrónicos:
await fakerAI.emails(10);Generar Direcciones:
await fakerAI.addresses(10);Generar Fechas:
await fakerAI.dates(10);Generar UUIDs:
await fakerAI.uuids(10);Generar Número de tarjetas de crédito:
await fakerAI.credit_cards(10);FakerAI permite varios formatos de salida, incluyendo:
Texto plano: Datos generados como cadenas de texto. JSON: Datos estructurados en formato JSON, ideales para usar en bases de datos o API. Esquemas Zod personalizados: Los datos generados pueden validarse automáticamente contra esquemas Zod definidos por el usuario.
Puedes elegir el formato que prefieras mediante las configuraciones disponibles en el paquete.
- setZodSchemeValue: Configura un esquema Zod para validar los datos generados.
 
fakerAI.setZodSchemeValue(
  z.object({
    nombre: z.string(),
    correo: z.string().email(),
  })
);- setIsZodScheme: Habilita o deshabilita la validación con Zod.
 
fakerAI.setIsZodScheme(true); // Activar validación con Zod- setIsJSONScheme: Habilita o deshabilita la generación de datos en formato JSON.
 
fakerAI.setIsJSONScheme(true); // Activar formato JSON- setLanguageResponse: Establece un contexto de la respuesta dependiendo el lenguaje. por defecto el leguaje "es_ES"
 
fakerAI.setLanguageResponse(); // Establece un contexto de la respuesta dependiendo el lenguajeLos datos generados pueden ser obtenidos a través del método generate():
const data = fakerAI.generate();Las contribuciones son bienvenidas. Si tienes una mejora o corrección, por favor abre un pull request.
Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
¡Gracias por usar FakerAI! Esperamos que esta herramienta sea útil para tus proyectos de desarrollo y pruebas de software.