Skip to content

@yantrix/automata v0.1.0Docs


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