Pure Effect: lógica de negocio sin I/O, depurable sin infraestructura

Fuentes: Reproduce a production bug on your laptop, no database required

Pure Effect es una biblioteca de JavaScript y TypeScript sin dependencias externas que separa la lógica de negocio de las operaciones de entrada y salida (I/O). En lugar de ejecutar llamadas a bases de datos o servicios externos directamente, el código devuelve objetos planos que describen qué operaciones se realizarían, dejando que un intérprete las ejecute posteriormente.

La propuesta resuelve un problema habitual: cuando un bug aparece en producción y no se reproduce en local, suele deberse a que la lógica y el I/O están entrelazados. Un test convencional necesita ejecutar la llamada, normalmente contra un mock o un contenedor, y cuando algo falla en producción solo queda un stack trace, sin un registro de las llamadas reales que se hicieron.

Con Pure Effect, los pipelines devuelven árboles inertes que se pueden inspeccionar nodo a nodo, sin tocar infraestructura. Esto permite verificar el flujo de control, probar políticas de reintento sobre datos puros y, además, reejecutar localmente el camino exacto que siguió una petición en producción, alimentando el árbol con los resultados grabados durante el fallo.

La biblioteca se compone de seis piezas (Success, Failure, Command, Ask, Retry y Parallel) que se ensamblan con effectPipe y se ejecutan con runEffect en el borde del sistema. Sus creadores la orientan a operaciones con forma de petición, no a procesos en segundo plano, y destacan su utilidad para auditar código generado por IA antes de que se ejecute.