EventIterator
Class: EventIterator
Defined in: packages/runtime/src/utils/iterators.ts:15
Iterate over events
for await (const evt of new EventIterator(this.eventEmitter).iterate({"event": true})) {
console.log(evt);
}
This class should optimize to never use more than 1 listener per event / eventEmitter
Constructors
Constructor
new EventIterator(
eventEmitter,events,prefix?,initValue?):EventIterator
Defined in: packages/runtime/src/utils/iterators.ts:29
Create an async iterator over event emitter events
Parameters
eventEmitter
EventEmitter<any> | AsyncEventEmitter<AsyncEventUnknown>
source emitter to listen on
events
string | {[key: string]: true | ((data) => any); }
map of event names to transform functions (true = identity)
prefix?
string
if set, wraps each yielded value in { [prefix]: value }
initValue?
any
optional initial value to yield before listening
Returns
EventIterator
Properties
eventEmitter
protectedeventEmitter:EventEmitter<any> |AsyncEventEmitter<AsyncEventUnknown>
Defined in: packages/runtime/src/utils/iterators.ts:30
source emitter to listen on
events
events:
object
Defined in: packages/runtime/src/utils/iterators.ts:17
Index Signature
[key: string]: (data) => any
initValue?
protectedoptionalinitValue?:any
Defined in: packages/runtime/src/utils/iterators.ts:33
optional initial value to yield before listening
listeners
listeners:
object
Defined in: packages/runtime/src/utils/iterators.ts:16
Index Signature
[key: string]: (evt) => void
prefix?
protectedoptionalprefix?:string
Defined in: packages/runtime/src/utils/iterators.ts:32
if set, wraps each yielded value in { [prefix]: value }
queue
queue:
any[] =[]
Defined in: packages/runtime/src/utils/iterators.ts:18
resolve
resolve: () =>
void
Defined in: packages/runtime/src/utils/iterators.ts:19
Returns
void
running
running:
boolean
Defined in: packages/runtime/src/utils/iterators.ts:20
Methods
iterate()
iterate():
AsyncGenerator<any,void,unknown>
Defined in: packages/runtime/src/utils/iterators.ts:75
Async generator that yields event values as they arrive, until stopped
Returns
AsyncGenerator<any, void, unknown>
Yields
transformed event values (optionally wrapped with prefix key)
push()
push(
event,data):Promise<void>
Defined in: packages/runtime/src/utils/iterators.ts:54
Enqueue a transformed event value for the async iterator to yield
Parameters
event
string
event name used to look up the transform function
data
any
raw event payload to transform and enqueue
Returns
Promise<void>
stop()
stop():
void
Defined in: packages/runtime/src/utils/iterators.ts:66
Stop the iterator
Returns
void