@yantrix/automata v0.2.0 • Docs
Yantrix API / @yantrix/automata / IDataSource
Interface: IDataSource<EventType, EventMetaType, DataPacketType>
Interface for a data source that emits Events based on incoming data packets
Extends
IAgnosticDataSource<DataPacketType>
Type Parameters
• EventType extends TAutomataBaseEventType
The base type of events that can be emitted
• EventMetaType extends { [K in EventType]: any } = Record<EventType, any>
The type mapping from EventType to metadata shapes
• DataPacketType = unknown
The source data type (defaults to Record<string, any>)
Properties
addListener()
ts
addListener: (id, transform, dispatch?) => this;Add a data listener that emits events, one per each data package
Parameters
• id: string
The unique string identifier for the listener
• transform
Transformer to supply event metadata from data packet.
• dispatch?
Optional dispatch function to use for emitting events
Returns
this
This data source instance
eventEmitter()
ts
eventEmitter: () => Generator<TAutomataEventStack<EventType, EventMetaType>, any, any>;Emit all registered events based on incoming data packet.
Returns
Generator<TAutomataEventStack<EventType, EventMetaType>, any, any>
Array of dispatched event stacks
getEventListeners()
ts
getEventListeners: () => Partial<object>;Get all registered emitters
Returns
Partial<object>
Map of listener ids to their transform and dispatch functions
isActive()
ts
isActive: () => boolean;Check if data emission is active
Returns
boolean
True if emission is active, false otherwise
Inherited from
removeListener()
ts
removeListener: (id) => this;Remove event emitter with a given id
Parameters
• id: string
The unique string identifier for the listener to remove
Returns
this
This data source instance
start()
ts
start: () => this;Start/resume data emission
Returns
this
This data source instance
Inherited from
stop()
ts
stop: () => this;Stop/pause data emission
Returns
this
This data source instance