Skip to main content

Class: SimVarPublisher<Events, IndexedEventRoots>

A base class for publishers that need to handle simvars with built-in support for pacing callbacks.

Type parameters

NameType
Eventsextends Record<string, any>
IndexedEventRootsextends Record<string, any> = Events

Hierarchy

Constructors

constructor

new SimVarPublisher<Events, IndexedEventRoots>(entries, bus, pacer?): SimVarPublisher<Events, IndexedEventRoots>

Creates a new instance of SimVarPublisher.

Type parameters

NameType
Eventsextends Record<string, any>
IndexedEventRootsextends Record<string, any> = Events

Parameters

NameTypeDescription
entriesIterable<readonly [keyof Events | keyof IndexedEventRoots & string, SimVarPublisherEntry<any>]>Entries describing the SimVars to publish.
busEventBusThe event bus to which to publish.
pacer?PublishPacer<Events>An optional pacer to control the rate of publishing.

Returns

SimVarPublisher<Events, IndexedEventRoots>

Overrides

BasePublisher.constructor

Defined in

src/sdk/instruments/BasePublishers.ts:159

Properties

bus

Protected Readonly bus: EventBus

Inherited from

BasePublisher.bus

Defined in

src/sdk/instruments/BasePublishers.ts:10


indexedSimVars

Protected Readonly indexedSimVars: Map<keyof IndexedEventRoots & string, IndexedSimVarPublisherEntry<any>>

Defined in

src/sdk/instruments/BasePublishers.ts:149


pacer

Protected Readonly pacer: undefined | PublishPacer<Events>

Inherited from

BasePublisher.pacer

Defined in

src/sdk/instruments/BasePublishers.ts:13


publishActive

Protected publishActive: boolean

Inherited from

BasePublisher.publishActive

Defined in

src/sdk/instruments/BasePublishers.ts:12


publisher

Protected Readonly publisher: Publisher<Events>

Inherited from

BasePublisher.publisher

Defined in

src/sdk/instruments/BasePublishers.ts:11


resolvedSimVars

Protected Readonly resolvedSimVars: Map<keyof Events & string, ResolvedSimVarPublisherEntry<any>>

Defined in

src/sdk/instruments/BasePublishers.ts:147


subscribed

Protected Readonly subscribed: Set<keyof Events & string>

Defined in

src/sdk/instruments/BasePublishers.ts:151


INDEXED_REGEX

Static Protected Readonly INDEXED_REGEX: RegExp

Defined in

src/sdk/instruments/BasePublishers.ts:145

Methods

getValue

getValue<K>(topic): undefined | Events[K]

Gets the current value for a topic.

Type parameters

NameType
Kextends string

Parameters

NameTypeDescription
topicKA topic.

Returns

undefined | Events[K]

The current value for the specified topic.

Defined in

src/sdk/instruments/BasePublishers.ts:343


getValueFromEntry

getValueFromEntry<T>(entry): T

Gets the current value for a resolved topic entry.

Type parameters

Name
T

Parameters

NameTypeDescription
entryResolvedSimVarPublisherEntry<T>An entry for a resolved topic.

Returns

T

The current value for the specified entry.

Defined in

src/sdk/instruments/BasePublishers.ts:357


handleSubscribedTopic

handleSubscribedTopic(topic): void

Handles when an event bus topic is subscribed to for the first time.

Parameters

NameTypeDescription
topicstringThe subscribed topic.

Returns

void

Defined in

src/sdk/instruments/BasePublishers.ts:193


isPublishing

isPublishing(): boolean

Tells whether or not the publisher is currently active.

Returns

boolean

True if the publisher is active, false otherwise.

Inherited from

BasePublisher.isPublishing

Defined in

src/sdk/instruments/BasePublishers.ts:45


onTopicSubscribed

onTopicSubscribed(topic): void

Responds to when one of this publisher's topics is subscribed to for the first time.

Parameters

NameTypeDescription
topickeyof Events & stringThe topic that was subscribed to.

Returns

void

Defined in

src/sdk/instruments/BasePublishers.ts:279


onUpdate

onUpdate(): void

Publish all subscribed data points to the bus.

Returns

void

Overrides

BasePublisher.onUpdate

Defined in

src/sdk/instruments/BasePublishers.ts:315


publish

publish<K>(topic, data, sync?, isCached?): void

Publish a message if publishing is acpive

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameTypeDefault valueDescription
topicKundefinedThe topic key to publish to.
dataEvents[K]undefinedThe data type for chosen topic.
syncbooleanfalseWhether or not the event should be synced to other instruments. Defaults to false.
isCachedbooleantrueWhether or not the event should be cached. Defaults to true.

Returns

void

Inherited from

BasePublisher.publish

Defined in

src/sdk/instruments/BasePublishers.ts:63


publishTopic

publishTopic(topic): void

Publishes data to the event bus for a topic.

Parameters

NameTypeDescription
topickeyof Events & stringThe topic to publish.

Returns

void

Defined in

src/sdk/instruments/BasePublishers.ts:325


resolveIndexedSimVar

resolveIndexedSimVar(topic, entry, index): undefined | string

Attempts to resolve an indexed topic with an index, generating a version of the topic which is mapped to an indexed simvar. The resolved indexed topic can then be published.

Parameters

NameTypeDescription
topickeyof IndexedEventRoots & stringThe topic to resolve.
entryIndexedSimVarPublisherEntry<any>The entry of the topic to resolve.
indexnumberThe index with which to resolve the topic. If not defined, the topic will resolve to itself (without a suffix) and will be mapped the index-1 version of its simvar.

Returns

undefined | string

The resolved indexed topic, or undefined if the topic could not be resolved with the specified index.

Defined in

src/sdk/instruments/BasePublishers.ts:250


startPublish

startPublish(): void

Start publishing.

Returns

void

Inherited from

BasePublisher.startPublish

Defined in

src/sdk/instruments/BasePublishers.ts:30


stopPublish

stopPublish(): void

Stop publishing.

Returns

void

Inherited from

BasePublisher.stopPublish

Defined in

src/sdk/instruments/BasePublishers.ts:37


subscribe

subscribe(data): void

NOOP - For backwards compatibility.

Parameters

NameTypeDescription
datakeyof EventsKey of the event type in the simVarMap

Returns

void

Deprecated

Defined in

src/sdk/instruments/BasePublishers.ts:298


tryMatchIndexedSubscribedTopic

tryMatchIndexedSubscribedTopic(topic): void

Checks if a subscribed topic matches one of this publisher's indexed topics, and if so resolves and starts publishing the indexed topic.

Parameters

NameTypeDescription
topicstringThe subscribed topic to check.

Returns

void

Defined in

src/sdk/instruments/BasePublishers.ts:208


unsubscribe

unsubscribe(data): void

NOOP - For backwards compatibility.

Parameters

NameTypeDescription
datakeyof EventsKey of the event type in the simVarMap

Returns

void

Deprecated

Defined in

src/sdk/instruments/BasePublishers.ts:308