8 个仓库
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.
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.
Leva 是一个 React GUI 控制面板和实时参数编辑器,用于监控和调整应用程序状态及变量,而无需修改代码或重新加载页面。它作为一个动态状态调试器和可扩展输入库,提供了一个视觉界面,用于在运行中的 Web 应用程序内微调数值、布尔值和文本值。 该项目的独特之处在于其插件系统,允许创建自定义输入组件和专门的行为以支持独特的数据类型。它利用类型推断自动将数据映射到适当的视觉小部件,尽管这种映射可以被覆盖以强制指定输入类型。 该界面支持多种输入类别,包括数值范围、向量、颜色选择器和媒体上传字段。控件可以组织成层级文件夹,根据其他值有条件地显示,并与外部数据存储同步。该系统还监控编辑生命周期,在用户开始和结束交互时启用回调,以优化昂贵操作的性能。
Triggers callbacks when a user starts and finishes interacting with a control to optimize performance for expensive operations.
This library provides a framework for defining finite state machines within Ruby classes to manage complex object lifecycles. It functions as a declarative workflow engine, allowing developers to model object states, events, and transitions through a readable domain-specific language. By integrating directly with database persistence layers, the framework ensures that state changes are synchronized with storage records while maintaining data integrity through transaction management and row locking. The library distinguishes itself by enforcing strict business rules through conditional transit
Triggers custom logic automatically before or after state transitions to perform lifecycle side effects.
SoundManager2 是一个 JavaScript 音频 API 和跨浏览器音频引擎,旨在提供跨不同 Web 浏览器和设备的统一播放体验。它作为一个 HTML5 音频封装器和播放管理器,将原生 API 抽象为统一接口,通过在可用音频后端和编解码器之间自动切换机制确保兼容性。 该库以其用于与媒体服务器进行网络通信的 RTMP 音频流媒体播放器,以及用于从音频文件中提取曲目名称、艺术家信息和流派标签的内置 ID3 元数据解析器而著称。它还实现了字节范围音频流,以小段加载文件,从而无需将整个文件下载到内存中即可实现搜索和播放。 该系统涵盖了音频操作的广泛能力,包括用于波形和频谱的实时信号分析,以及用于变调和均衡的音频效果处理。它管理声音对象的完整资源生命周期,提供具有事件驱动监控的播放状态管理,并包括用于验证音频格式支持和调试初始化错误的工具。
Uses a callback system to trigger application logic when audio enters or exits states like loading and completion.
Mixitup 是一个无依赖的 DOM 元素动画库和网格布局引擎。它作为客户端内容过滤器和数据驱动的 UI 控制器,旨在管理 HTML 元素在插入、移除和排序操作过程中的平滑视觉过渡。 该系统专注于创建交互式画廊界面和动态内容过滤。它允许使用自定义属性或随机序列重新组织元素,同时将界面元素的排列和可见性与底层数据模型同步。 除了过滤和排序,该库还涵盖了 DOM 元素管理,包括目标的动态插入和移除。它提供了动画化容器大小调整、定义自定义动画效果以及利用非线性交错效果来呈现元素的能力。
Triggers custom callback functions at specific stages such as start, end, failure, or busy states.
react-waypoint 是一个 React 组件和视口跟踪工具,根据 DOM 节点在可滚动区域内的可见性执行函数。它监控元素何时进入或离开浏览器视口或指定的滚动容器以触发回调。 该项目支持实现无限滚动、资源懒加载和滚动触发动画。它允许使用偏移量进行自定义滚动容器定义和视口边界配置,以确定事件触发的精确时机。 该工具为垂直和水平滚动提供元素位置跟踪和可见性监控。它包括触发灵敏度控制和事件节流,以管理快速滚动期间的回调执行。
Provides callbacks that execute automatically when elements enter or exit the viewport state.
该项目是用于在 Next.js 框架中管理用户身份验证和会话状态的参考实现与样板代码。它展示了如何集成 NextAuth.js 来保护路由并处理身份验证的实践案例。 该仓库演示了多种身份验证工作流,包括与第三方提供商的 OAuth 身份集成、使用电子邮件魔法链接的无密码身份验证,以及传统的基于凭据的登录。它特别展示了如何用自定义品牌登录页面替换默认的身份验证界面。 该实现涵盖了广泛的功能,包括通过适配器实现数据库会话持久化、访问令牌轮换,以及使用环境变量进行提供商配置。它还包含了将多种身份验证方法链接到单个用户配置文件的示例,并集成了用于记录身份验证事件的可观测性工具。
Provides hook functions to modify user profiles and session data during the authentication lifecycle.
该项目是一个 Ruby 库,用于通过状态、事件和转换规则定义和管理对象生命周期。它作为一个声明式工作流引擎,通过将属性更改限制为 Ruby 类中的预定义有效路径来强制执行业务逻辑。 该库通过与数据库持久层深度集成脱颖而出,允许它自动将状态更改与数据模型、验证框架和事务管理同步。它支持动态配置,能够从外部数据源在运行时构建生命周期规则,并提供诊断工具(如状态关系的可视化图表和转换路径分析)来审计复杂工作流。 除了核心转换管理外,该框架还包括一个回调驱动的钩子系统,用于在生命周期更新期间执行自定义逻辑,并提供用于查询当前对象状态或验证允许转换的方法。它还具有动态方法注入功能,可直接在对象上处理状态查询和事件触发。
Executes custom logic automatically upon entering or exiting specific states during lifecycle transitions.