Real-time event subscriptions via WebSocket with filtering and type-safe callbacks.
Built on top of @sygnl/talon for robust WebSocket management and @sygnl/event-schema for type definitions.
- Real-time event subscriptions with server-sent updates
- Filter events by type, user, session, or custom criteria
- Type-safe callbacks with TypeScript support
- Built on battle-tested Talon WebSocket client
- Automatic reconnection and resubscription
- Multiple concurrent subscriptions with independent filters
- Lifecycle hooks (onConnect, onDisconnect, onError)
npm install @sygnl/subscriptions @sygnl/talon @sygnl/event-schemaimport { SubscriptionManager } from '@sygnl/subscriptions';
const manager = new SubscriptionManager({
url: 'wss://your-worker.workers.dev/subscribe',
});
await manager.connect();
// Subscribe to all events
manager.subscribe((event) => {
console.log('Received event:', event);
});// Subscribe to specific event types
const unsubscribe = manager.subscribe(
(event) => {
console.log('Purchase:', event);
},
{
filters: {
eventTypes: ['purchase', 'subscription_started'],
userId: 'user_123',
minValue: 100,
},
}
);
// Later: unsubscribe
unsubscribe();manager.onConnect(() => {
console.log('Connected to server');
});
manager.onDisconnect(() => {
console.log('Disconnected from server');
});
manager.onError((error) => {
console.error('Subscription error:', error);
});connect(): Promise<void>- Connect to WebSocket serverdisconnect(): void- Disconnect from serversubscribe<T>(callback, options?): () => void- Subscribe to events, returns unsubscribe functionisConnected(): boolean- Check connection statusgetSubscriptionCount(): number- Get active subscription countonConnect(callback): () => void- Register connect handleronDisconnect(callback): () => void- Register disconnect handleronError(callback): () => void- Register error handler
Works seamlessly with other Sygnl packages:
@sygnl/talon- WebSocket transport layer@sygnl/event-schema- Event type definitions@sygnl/identity-manager- User identity tracking
Copyright 2026 Edge Foundry, Inc.
Licensed under the Apache License, Version 2.0.