awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoServidor MCPAcerca deCómo clasificamosPrensa
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

8 repositorios

Awesome GitHub RepositoriesState Lifecycle Callbacks

Functions that execute automatically upon entering or exiting specific states.

Distinct from State-Driven Callbacks: Distinct from state-driven callbacks: specifically targets the lifecycle phases (entry/exit) of a state machine rather than threshold-based triggers.

Explore 8 awesome GitHub repositories matching software engineering & architecture · State Lifecycle Callbacks. Refine with filters or upvote what's useful.

Awesome State Lifecycle Callbacks GitHub Repositories

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • pytransitions/transitionsAvatar de pytransitions

    pytransitions/transitions

    6,548Ver en GitHub↗

    Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid states and the logic for moving between them, including implementations for asynchronous state machines and thread-safe state managers. The library supports hierarchical state machines that allow states to be nested to organize complex subtasks and logical contexts. It includes tools for generating visual diagrams of states and transitions to document machine logic. The project covers state management primitives such as lifecycle callbacks, conditional transition guarding, an

    Executes registered functions automatically during specific transition phases like entry and exit.

    Python
    Ver en GitHub↗6,548
  • pmndrs/levaAvatar de pmndrs

    pmndrs/leva

    5,981Ver en GitHub↗

    Leva es un panel de control de GUI para React y un editor de parámetros en tiempo real utilizado para monitorear y ajustar el estado y las variables de la aplicación sin modificar el código ni recargar la página. Funciona como un depurador de estado dinámico y una biblioteca de entrada extensible que proporciona una interfaz visual para ajustar valores numéricos, booleanos y de texto dentro de una aplicación web en ejecución. El proyecto se distingue por un sistema de plugins que permite la creación de componentes de entrada personalizados y comportamientos especializados para admitir tipos de datos únicos. Utiliza inferencia de tipos para mapear automáticamente los datos al widget visual apropiado, aunque este mapeo puede ser anulado para forzar tipos de entrada específicos. La interfaz admite diversas categorías de entrada, incluyendo rangos numéricos, vectores, selectores de color y campos de carga de archivos multimedia. Los controles pueden organizarse en carpetas jerárquicas, mostrarse condicionalmente según otros valores y sincronizarse con almacenes de datos externos. El sistema también monitorea el ciclo de vida de la edición, permitiendo callbacks cuando los usuarios comienzan y terminan las interacciones para optimizar el rendimiento en operaciones costosas.

    Triggers callbacks when a user starts and finishes interacting with a control to optimize performance for expensive operations.

    TypeScript
    Ver en GitHub↗5,981
  • aasm/aasmAvatar de aasm

    aasm/aasm

    5,219Ver en GitHub↗

    Esta librería proporciona un framework para definir máquinas de estados finitos dentro de clases Ruby para gestionar ciclos de vida de objetos complejos. Funciona como un motor de flujo de trabajo declarativo, permitiendo a los desarrolladores modelar estados, eventos y transiciones de objetos a través de un lenguaje específico de dominio legible. Al integrarse directamente con las capas de persistencia de base de datos, el framework asegura que los cambios de estado se sincronicen con los registros de almacenamiento mientras mantiene la integridad de los datos mediante la gestión de transacciones y el bloqueo de filas. La librería se distingue por imponer reglas de negocio estrictas a través de guardas de transición condicionales y prevenir la modificación directa del estado, asegurando que todos los cambios en el ciclo de vida ocurran exclusivamente a través de eventos definidos. Soporta múltiples máquinas de estados independientes dentro de una sola clase al mapearlas a campos de base de datos distintos, proporcionando un control de ciclo de vida aislado. Además, genera automáticamente métodos de instancia dinámicos para consultar estados y disparar eventos, junto con ámbitos de consulta de base de datos que simplifican el filtrado de objetos según su estado actual. Más allá de la gestión central del ciclo de vida, el framework incluye utilidades para la localización de nombres de estado para soportar interfaces multilingües y proporciona hooks para ejecutar lógica personalizada antes o después de las transiciones. También ofrece matchers de prueba especializados para verificar configuraciones de máquinas de estados y lógica de transición dentro de suites de pruebas automatizadas. El proyecto incluye herramientas para compilar código fuente y configuraciones en documentación estructurada para ayudar con la referencia del sistema.

    Triggers custom logic automatically before or after state transitions to perform lifecycle side effects.

    Ruby
    Ver en GitHub↗5,219
  • scottschiller/soundmanager2Avatar de scottschiller

    scottschiller/SoundManager2

    5,073Ver en GitHub↗

    SoundManager2 es una API de audio de JavaScript y un motor de audio multiplataforma diseñado para proporcionar una reproducción consistente en diferentes navegadores web y dispositivos. Funciona como un envoltorio de audio HTML5 y gestor de reproducción que abstrae las APIs nativas en una interfaz unificada, asegurando la compatibilidad mediante un mecanismo de conmutación automática entre los backends de audio y códecs disponibles. La biblioteca se distingue por un streamer de audio RTMP para comunicación de red con servidores multimedia y un analizador de metadatos ID3 incorporado para extraer títulos de pistas, información del artista y etiquetas de género de archivos de audio. También implementa streaming de audio por rango de bytes para cargar archivos en segmentos pequeños, lo que permite buscar y reproducir sin descargar el archivo completo en la memoria. El sistema cubre amplias capacidades en manipulación de audio, incluyendo análisis de señal en tiempo real para formas de onda y espectros de frecuencia, así como procesamiento de efectos de audio para cambio de tono y ecualización. Gestiona el ciclo de vida completo de los recursos de objetos de sonido, proporciona gestión del estado de reproducción con monitoreo basado en eventos e incluye herramientas para verificar el soporte de formatos de audio y depurar errores de inicialización.

    Uses a callback system to trigger application logic when audio enters or exits states like loading and completion.

    JavaScript
    Ver en GitHub↗5,073
  • patrickkunka/mixitupAvatar de patrickkunka

    patrickkunka/mixitup

    4,543Ver en GitHub↗

    Mixitup es una librería de animación de elementos DOM sin dependencias y motor de layout de rejilla. Sirve como un controlador de UI basado en datos y filtro de contenido del lado del cliente diseñado para gestionar la transición visual suave de elementos HTML durante operaciones de inserción, eliminación y ordenamiento. El sistema se especializa en la creación de interfaces de galería interactivas y filtrado de contenido dinámico. Permite la reorganización de elementos utilizando atributos personalizados o secuencias aleatorias, mientras sincroniza la disposición y visibilidad de los elementos de la interfaz con un modelo de datos subyacente. Más allá del filtrado y ordenamiento, la librería cubre la gestión de elementos DOM, incluyendo la inserción y eliminación dinámica de objetivos. Proporciona capacidades para animar el redimensionamiento de contenedores, definir efectos de animación personalizados y utilizar escalonamientos no lineales para las apariciones de elementos.

    Triggers custom callback functions at specific stages such as start, end, failure, or busy states.

    JavaScriptanimationdom-manipulationfilter
    Ver en GitHub↗4,543
  • civiccc/react-waypointAvatar de civiccc

    civiccc/react-waypoint

    4,046Ver en GitHub↗

    react-waypoint es un componente de React y herramienta de seguimiento de viewport que ejecuta funciones basadas en la visibilidad de un nodo DOM dentro de un área desplazable. Monitorea cuándo los elementos entran o salen del viewport del navegador o de un contenedor de scroll especificado para disparar callbacks. El proyecto permite la implementación de scroll infinito, carga diferida de activos y animaciones disparadas por scroll. Permite definiciones de contenedores de scroll personalizados y configuraciones de límites de viewport usando offsets para determinar exactamente cuándo se disparan los eventos. La herramienta proporciona seguimiento de posición de elementos y monitoreo de visibilidad tanto para scroll vertical como horizontal. Incluye control de sensibilidad de disparo y limitación de eventos para gestionar la ejecución de callbacks durante el scroll rápido.

    Provides callbacks that execute automatically when elements enter or exit the viewport state.

    JavaScript
    Ver en GitHub↗4,046
  • nextauthjs/next-auth-exampleAvatar de nextauthjs

    nextauthjs/next-auth-example

    4,029Ver en GitHub↗

    Este proyecto es una implementación de referencia y boilerplate para gestionar la autenticación de usuarios y el estado de la sesión dentro del framework Next.js. Sirve como un ejemplo práctico de cómo integrar NextAuth.js para proteger rutas y manejar la verificación de identidad. El repositorio demuestra varios flujos de trabajo de autenticación, incluyendo la integración de identidad OAuth con proveedores de terceros, autenticación sin contraseña utilizando enlaces mágicos por correo electrónico y el inicio de sesión tradicional basado en credenciales. Muestra específicamente cómo reemplazar las pantallas de autenticación predeterminadas con páginas de inicio de sesión personalizadas. La implementación cubre una amplia gama de capacidades, incluyendo la persistencia de sesiones en bases de datos mediante adaptadores, la rotación de tokens de acceso y el uso de variables de entorno para la configuración del proveedor. También incluye ejemplos de vinculación de múltiples métodos de autenticación a un solo perfil de usuario e integración de herramientas de observabilidad para registrar eventos de autenticación.

    Provides hook functions to modify user profiles and session data during the authentication lifecycle.

    TypeScriptauthenticationnextjsoauth
    Ver en GitHub↗4,029
  • pluginaweek/state_machineAvatar de pluginaweek

    pluginaweek/state_machine

    3,722Ver en GitHub↗

    This project is a Ruby library for defining and managing object lifecycles through states, events, and transition rules. It functions as a declarative workflow engine that enforces business logic by restricting attribute changes to predefined, valid paths within Ruby classes. The library distinguishes itself through deep integration with database persistence layers, allowing it to automatically synchronize state changes with data models, validation frameworks, and transaction management. It supports dynamic configuration, enabling the construction of lifecycle rules at runtime from external d

    Executes custom logic automatically upon entering or exiting specific states during lifecycle transitions.

    Ruby
    Ver en GitHub↗3,722
  1. Home
  2. Software Engineering & Architecture
  3. Event-Driven Hook Systems
  4. State-Driven Callbacks
  5. State Lifecycle Callbacks

Explorar subetiquetas

  • Authentication Lifecycle CallbacksFunctions that execute during specific phases of the authentication and session lifecycle. **Distinct from State Lifecycle Callbacks:** Specifically targets the authentication flow lifecycle rather than general state machine transitions.