Ejercicio de programación con TypeScript: Proyecto Generator de datos
3h 0m
Desarrolla un proyecto TypeScript para generar datos de prueba con tipos básicos y estructuras complejas, con exportación JSON y pruebas unitarias.
Crea un nuevo proyecto TypeScript configurando
tsconfig.json
con opciones estrictas y crea la estructura básica de carpetas (src, tests, etc.).Implementa la clase base
Generator
que contendrá los métodos comunes y la lógica para manejar semillas aleatorias. Esta clase debe tener al menos un métodosetSeed(seed: number)
y un método abstractogenerate()
.Desarrolla generadores específicos para tipos básicos que hereden de la clase base:
NumberGenerator
: para generar números con opciones de rango, decimales, etc.StringGenerator
: para generar cadenas con opciones de longitud, patrón, etc.DateGenerator
: para generar fechas con opciones de rango temporal.BooleanGenerator
: para generar valores booleanos con probabilidad configurable.
Implementa un
ComplexGenerator
que permita generar estructuras de datos compuestas como objetos y arrays, utilizando los generadores básicos como componentes.Crea una clase
Schema
que permita definir la estructura de los datos a generar, especificando campos, tipos y restricciones.Desarrolla una clase
DataGenerator
que utilice un esquema para generar conjuntos de datos completos, con métodos para generar uno o múltiples registros.Implementa funcionalidad de exportación para guardar los datos generados en formato JSON, con opciones de formato y estructura.
Añade documentación con JSDoc a todas las clases y métodos, incluyendo ejemplos de uso.
Escribe pruebas unitarias para verificar el correcto funcionamiento de cada generador y la consistencia de los datos generados con una misma semilla.
Crea un ejemplo de uso completo que demuestre todas las capacidades de la biblioteca, generando un conjunto de datos para un caso práctico (por ejemplo, usuarios con perfiles, productos con categorías, etc.).
Más ejercicios de programación con TypeScript
Evalúa tus conocimientos en TypeScript con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.
Funciones
Reto composición de funciones
Reto tipos especiales
Reto tipos genéricos
Módulos
Polimorfismo
Funciones TypeScript
Interfaces
Funciones puras
Reto namespaces
Funciones flecha
Polimorfismo
Operadores
Conversor de unidades
Funciones flecha
Control de flujo
Herencia
Clases
Proyecto validación de tipado
Clases y objetos
Tecnologías de este ejercicio de programación
Entornos de desarrollo para este ejercicio

Visual Studio Code

GitHub