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

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

8 dépôts

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

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • pytransitions/transitionsAvatar de pytransitions

    pytransitions/transitions

    6,548Voir sur 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
    Voir sur GitHub↗6,548
  • pmndrs/levaAvatar de pmndrs

    pmndrs/leva

    5,981Voir sur GitHub↗

    Leva est un panneau de contrôle GUI React et un éditeur de paramètres en temps réel utilisé pour surveiller et ajuster l'état et les variables de l'application sans modifier le code ni recharger la page. Il fonctionne comme un débogueur d'état dynamique et une bibliothèque d'entrée extensible qui fournit une interface visuelle pour affiner les valeurs numériques, booléennes et textuelles au sein d'une application web en cours d'exécution. Le projet se distingue par un système de plugins qui permet la création de composants d'entrée personnalisés et de comportements spécialisés pour prendre en charge des types de données uniques. Il utilise l'inférence de type pour mapper automatiquement les données au widget visuel approprié, bien que ce mappage puisse être outrepassé pour forcer des types d'entrée spécifiques. L'interface prend en charge diverses catégories d'entrée, notamment les plages numériques, les vecteurs, les sélecteurs de couleur et les champs de téléchargement de médias. Les contrôles peuvent être organisés en dossiers hiérarchiques, affichés conditionnellement en fonction d'autres valeurs et synchronisés avec des magasins de données externes. Le système surveille également le cycle de vie de l'édition, permettant des rappels lorsque les utilisateurs commencent et terminent leurs interactions pour optimiser les performances des opérations coûteuses.

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

    TypeScript
    Voir sur GitHub↗5,981
  • aasm/aasmAvatar de aasm

    aasm/aasm

    5,219Voir sur GitHub↗

    Cette bibliothèque fournit un framework pour définir des machines à états finis au sein de classes Ruby afin de gérer des cycles de vie d'objets complexes. Elle fonctionne comme un moteur de workflow déclaratif, permettant aux développeurs de modéliser les états, les événements et les transitions des objets via un langage dédié (DSL) lisible. En s'intégrant directement aux couches de persistance de base de données, le framework garantit que les changements d'état sont synchronisés avec les enregistrements de stockage tout en maintenant l'intégrité des données grâce à la gestion des transactions et au verrouillage des lignes. La bibliothèque se distingue en imposant des règles métier strictes via des gardes de transition conditionnels et en empêchant la modification directe de l'état, garantissant que tous les changements de cycle de vie se produisent exclusivement via des événements définis. Elle prend en charge plusieurs machines à états indépendantes au sein d'une même classe en les mappant à des champs de base de données distincts, offrant un contrôle de cycle de vie isolé. De plus, elle génère automatiquement des méthodes d'instance dynamiques pour interroger les états et déclencher des événements, ainsi que des scopes de requête de base de données qui simplifient le filtrage des objets en fonction de leur statut actuel. Au-delà de la gestion de base du cycle de vie, le framework inclut des utilitaires pour la localisation des noms d'état afin de prendre en charge les interfaces multilingues et fournit des hooks pour exécuter une logique personnalisée avant ou après les transitions. Il propose également des matchers de test spécialisés pour vérifier les configurations de machines à états et la logique de transition au sein des suites de tests automatisées. Le projet inclut des outils pour compiler le code source et les configurations en documentation structurée pour faciliter la référence système.

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

    Ruby
    Voir sur GitHub↗5,219
  • scottschiller/soundmanager2Avatar de scottschiller

    scottschiller/SoundManager2

    5,073Voir sur GitHub↗

    SoundManager2 est une API audio JavaScript et un moteur audio cross-browser conçu pour fournir une lecture cohérente à travers différents navigateurs web et appareils. Il fonctionne comme un wrapper audio HTML5 et un gestionnaire de lecture qui abstrait les API natives dans une interface unifiée, assurant la compatibilité via un mécanisme de basculement automatique entre les backends audio et codecs disponibles. La bibliothèque se distingue par un streamer audio RTMP pour la communication réseau avec des serveurs média et un parseur de métadonnées ID3 intégré pour extraire les titres de pistes, les informations d'artiste et les tags de genre des fichiers audio. Elle implémente également le streaming audio par plages d'octets pour charger les fichiers par petits segments, ce qui permet la recherche et la lecture sans télécharger le fichier entier en mémoire. Le système couvre de larges capacités en manipulation audio, incluant l'analyse de signal en temps réel pour les formes d'onde et les spectres de fréquence, ainsi que le traitement d'effets audio pour le pitch bending et l'égalisation. Il gère le cycle de vie complet des ressources des objets sonores, fournit une gestion de l'état de lecture avec une surveillance pilotée par événements, et inclut des outils pour vérifier le support des formats audio et déboguer les erreurs d'initialisation.

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

    JavaScript
    Voir sur GitHub↗5,073
  • patrickkunka/mixitupAvatar de patrickkunka

    patrickkunka/mixitup

    4,543Voir sur GitHub↗

    Mixitup is a dependency-free DOM element animation library and grid layout engine. It serves as a client-side content filter and data-driven UI controller designed to manage the smooth visual transition of HTML elements during insertion, removal, and sorting operations. The system specializes in creating interactive gallery interfaces and dynamic content filtering. It allows for the reorganization of elements using custom attributes or random sequences, while synchronizing the arrangement and visibility of interface elements with an underlying data model. Beyond filtering and sorting, the li

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

    JavaScriptanimationdom-manipulationfilter
    Voir sur GitHub↗4,543
  • civiccc/react-waypointAvatar de civiccc

    civiccc/react-waypoint

    4,046Voir sur GitHub↗

    react-waypoint est un composant React et un outil de suivi de viewport qui exécute des fonctions basées sur la visibilité d'un nœud DOM dans une zone défilable. Il surveille quand les éléments entrent ou quittent le viewport du navigateur ou un conteneur de défilement spécifié pour déclencher des rappels. Le projet permet la mise en œuvre du défilement infini, du chargement différé d'actifs et des animations déclenchées par le défilement. Il permet des définitions de conteneur de défilement personnalisées et des configurations de limites de viewport utilisant des décalages pour déterminer exactement quand les événements se déclenchent. L'outil fournit un suivi de la position des éléments et une surveillance de la visibilité pour le défilement vertical et horizontal. Il inclut un contrôle de la sensibilité de déclenchement et une limitation (throttling) des événements pour gérer l'exécution des rappels lors d'un défilement rapide.

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

    JavaScript
    Voir sur GitHub↗4,046
  • nextauthjs/next-auth-exampleAvatar de nextauthjs

    nextauthjs/next-auth-example

    4,029Voir sur GitHub↗

    Ce projet est une implémentation de référence et un boilerplate pour gérer l'authentification des utilisateurs et l'état de session au sein du framework Next.js. Il sert d'exemple pratique sur la façon d'intégrer NextAuth.js pour protéger les routes et gérer la vérification d'identité. Le dépôt démontre plusieurs flux de travail d'authentification, notamment l'intégration d'identité OAuth avec des fournisseurs tiers, l'authentification sans mot de passe utilisant des liens magiques par e-mail, et la connexion traditionnelle basée sur les identifiants. Il montre spécifiquement comment remplacer les écrans d'authentification par défaut par des pages de connexion personnalisées à la marque. L'implémentation couvre un large éventail de capacités, notamment la persistance de session en base de données via des adaptateurs, la rotation des jetons d'accès et l'utilisation de variables d'environnement pour la configuration des fournisseurs. Il inclut également des exemples de liaison de plusieurs méthodes d'authentification à un seul profil utilisateur et d'intégration d'outils d'observabilité pour journaliser les événements d'authentification.

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

    TypeScriptauthenticationnextjsoauth
    Voir sur GitHub↗4,029
  • pluginaweek/state_machineAvatar de pluginaweek

    pluginaweek/state_machine

    3,722Voir sur GitHub↗

    Ce projet est une bibliothèque Ruby pour définir et gérer les cycles de vie des objets via des états, des événements et des règles de transition. Il fonctionne comme un moteur de workflow déclaratif qui applique la logique métier en restreignant les changements d'attributs à des chemins prédéfinis et valides au sein des classes Ruby. La bibliothèque se distingue par une intégration profonde avec les couches de persistance de base de données, lui permettant de synchroniser automatiquement les changements d'état avec les modèles de données, les frameworks de validation et la gestion des transactions. Elle prend en charge la configuration dynamique, permettant la construction de règles de cycle de vie au runtime à partir de sources de données externes, et fournit des outils de diagnostic tels que la visualisation graphique des relations d'état et l'analyse des chemins de transition pour auditer les workflows complexes. Au-delà de la gestion des transitions de base, le framework inclut un système de hooks piloté par des callbacks pour exécuter une logique personnalisée lors des mises à jour du cycle de vie et fournit des méthodes pour interroger le statut actuel de l'objet ou vérifier les transitions autorisées. Il dispose également d'une injection de méthode dynamique pour gérer les requêtes d'état et le déclenchement d'événements directement sur les objets.

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

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

Explorer les sous-tags

  • 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.