Skip to content

@yantrix/automata v0.5.2 • 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 ​

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 ​

IAgnosticDataSource.isActive


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 ​

IAgnosticDataSource.start


stop() ​

ts
stop: () => this;

Stop/pause data emission

Returns ​

this

This data source instance

Inherited from ​

IAgnosticDataSource.stop