Class: SelectiveEventForwarding\<TEvent\>
Gala Launchpad SDK 9.0.0-rc.5 / index / SelectiveEventForwarding
Class: SelectiveEventForwarding<TEvent>
Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:397
Selective Event Forwarding
Filters events based on multiple predicates before forwarding. Reduces message volume by eliminating noisy or unwanted events.
Features:
- Multiple filter predicates (AND logic)
- Short-circuit evaluation (stops at first failing filter)
- Chainable filter registration
Example
// Test case: Event filtering pipeline
interface SwapEvent { token0: string; token1: string; amount: string; user: string }
const forwarder = new SelectiveEventForwarding<SwapEvent>();
// Add filters
forwarder.addFilter((event) => event.amount !== '0'); // Skip zero amounts
forwarder.addFilter((event) => event.token0 === 'GALA'); // Only GALA swaps
forwarder.addFilter((event) => !event.user.includes('bot')); // Skip bot swaps
// Test filtering
const allowed = { token0: 'GALA', token1: 'USDC', amount: '100', user: 'alice' };
console.assert(forwarder.forward(allowed) === true);
const zeroAmount = { token0: 'GALA', token1: 'USDC', amount: '0', user: 'alice' };
console.assert(forwarder.forward(zeroAmount) === false);
const nonGala = { token0: 'USDC', token1: 'USDT', amount: '100', user: 'alice' };
console.assert(forwarder.forward(nonGala) === false);
const botSwap = { token0: 'GALA', token1: 'USDC', amount: '100', user: 'bot123' };
console.assert(forwarder.forward(botSwap) === false);
Since
6.6.0
Type Parameters
TEvent
TEvent
Event type being filtered
Constructors
Constructor
new SelectiveEventForwarding<
TEvent>():SelectiveEventForwarding<TEvent>
Returns
SelectiveEventForwarding<TEvent>
Accessors
filterCount
Get Signature
get filterCount():
number
Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:425
Get count of active filters
Returns
number
Number of filter predicates
Methods
addFilter()
addFilter(
predicate):this
Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:408
Add a filter predicate
Event must pass ALL filters to be forwarded. Filters are evaluated in the order they were added (short-circuit evaluation).
Parameters
predicate
(event) => boolean
Function returning true to allow event, false to block
Returns
this
This instance for chaining
clearFilters()
clearFilters():
void
Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:419
Clear all filters
Returns
void
forward()
forward(
event):boolean
Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:415
Forward an event if it passes all filters
Parameters
event
TEvent
Event to evaluate
Returns
boolean
True if event passed all filters, false otherwise