@yantrix/automata v0.1.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