Skip to content

FastEvent ​

🌟 Top 20 Core Features

Event Handling Core Features ​

🚀 Flexible Event Triggering Mechanism

Supports both synchronous (emit) and asynchronous (emitAsync) event triggering. Asynchronous triggering waits for all Promise executions to complete, perfectly handling asynchronous listeners.

🎯 Powerful Event Routing

Uses a delimiter (/) based event path system, supporting multi-level event organization like user/profile/update, making event structures clearer.

🌲 Tree-structured Listener Storage

Uses efficient tree structures to store event listeners, optimizing event lookup and triggering performance, supporting large-scale event processing.

🎭 Wildcard Matching Support

Provides * (single-level) and ** (multi-level) wildcards for flexible event matching, such as user/* or user/**.

Listener Management Features ​

⚡ Smart Listener Registration

Supports three listener modes: regular (on), one-time (once) and global (onAny), meeting different scenario requirements.

🎨 Rich Listener Options

Provides options like count (execution limit), prepend (priority control) for precise listener behavior control.

🔄 Listener Pipeline Processing

Supports listener decorator chains through pipes option, enabling pre- and post-processing of listeners.

🎪 Dynamic Listener Control

Supports filter (filter conditions) and off (auto-unregister conditions) options for dynamic listener behavior control.

Advanced Functionality Features ​

🔢 Scope Management

Creates isolated event scopes through scope method, supporting namespace isolation and hierarchical management.

💾 Message Retention Mechanism

Supports retain option to keep the last event message, allowing new subscribers to immediately get the latest state.

⏳ Event Waiting Mechanism

Provides waitFor method supporting Promise style event waiting with timeout configuration.

🎛 Metadata Extension

Supports attaching metadata (meta) to event messages, providing additional context information.

Error Handling & Debugging Features ​

🛡 Robust Error Handling

Provides complete error handling mechanism, supporting ignoreErrors option and onListenerError callback.

🔍 Debugging Tool Support

Built-in debug mode (debug option), supports development tool integration for easier problem diagnosis.

Extensibility & Integration Features ​

🔌 Extensible Executor

Supports custom executors (executor) to control listener execution methods and order.

🎣 Rich Lifecycle Hooks

Provides multiple hook functions like onAddListener, onRemoveListener for custom behaviors.

Type System Support ​

📝 Complete TypeScript Support

Provides comprehensive generic type definitions, supporting static checking of event types, payload types and metadata types.

🎯 Smart Type Inference

Supports automatic inference of listener parameter types from event definitions, providing complete type safety.

Performance & Reliability ​

⚡ High-performance Design

Uses efficient tree storage structures and carefully optimized event dispatching mechanism to ensure high performance.

🛡 Reliable Concurrency Handling

Ensures reliability in high concurrency scenarios through well-designed event queues and asynchronous processing mechanisms.