PanBusEnhanced
src/components/pan-bus-enhanced.mjs
Enhanced features:
- Memory-bounded retained message store with LRU eviction
- Automatic cleanup of dead subscriptions
- Message validation (size limits, JSON-serializable)
- Rate limiting per publisher
- Security policies for wildcard subscriptions
- Debug mode with comprehensive logging
- Memory-bounded retained message store with LRU eviction
- Automatic cleanup of dead subscriptions
- Message validation (size limits, JSON-serializable)
- Rate limiting per publisher
- Security policies for wildcard subscriptions
- Debug mode with comprehensive logging
Class: PanBusEnhanced
Extends:
HTMLElementPAN Bus (Enhanced) - Memory-safe, secure message bus
Methods
DEFAULTS()
Enhanced features:
- Memory-bounded retained message store with LRU eviction
- Automatic cleanup of dead subscriptions
- Message validation (size limits, JSON-serializable)
- Rate limiting per publisher
- Security policies for wildcard subscriptions
- Debug mode with comprehensive logging
- Memory-bounded retained message store with LRU eviction
- Automatic cleanup of dead subscriptions
- Message validation (size limits, JSON-serializable)
- Rate limiting per publisher
- Security policies for wildcard subscriptions
- Debug mode with comprehensive logging
Examples
// Basic usage (same API as original)
<pan-bus></pan-bus>
// With configuration
<pan-bus
max-retained="1000"
max-message-size="1048576"
debug="true"
allow-global-wildcard="false">
</pan-bus>
/
/**
Default configuration values
isSerializable()
Validates if data is JSON-serializable
estimateSize()
Get approximate size of object in bytes
isElementAlive()
Checks if element is still in DOM