Class: SimVarPublisher<Events, IndexedEventRoots>
A base class for publishers that need to handle simvars with built-in support for pacing callbacks.
Type parameters
Name | Type |
---|---|
Events | extends Record <string , any > |
IndexedEventRoots | extends Record <string , any > = Events |
Hierarchy
BasePublisher
<Events
>↳
SimVarPublisher
↳↳
AdcPublisher
↳↳
EISPublisher
Constructors
constructor
• new SimVarPublisher<Events
, IndexedEventRoots
>(entries
, bus
, pacer?
): SimVarPublisher
<Events
, IndexedEventRoots
>
Creates a new instance of SimVarPublisher.
Type parameters
Name | Type |
---|---|
Events | extends Record <string , any > |
IndexedEventRoots | extends Record <string , any > = Events |
Parameters
Name | Type | Description |
---|---|---|
entries | Iterable <readonly [keyof Events | keyof IndexedEventRoots & string , SimVarPublisherEntry <any >]> | Entries describing the SimVars to publish. |
bus | EventBus | The event bus to which to publish. |
pacer? | PublishPacer <Events > | An optional pacer to control the rate of publishing. |
Returns
SimVarPublisher
<Events
, IndexedEventRoots
>
Overrides
Defined in
src/sdk/instruments/BasePublishers.ts:159
Properties
bus
• Protected
Readonly
bus: EventBus
Inherited from
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
Defined in
src/sdk/instruments/BasePublishers.ts:13
publishActive
• Protected
publishActive: boolean
Inherited from
Defined in
src/sdk/instruments/BasePublishers.ts:12
publisher
• Protected
Readonly
publisher: Publisher
<Events
>
Inherited from
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
Name | Type |
---|---|
K | extends string |
Parameters
Name | Type | Description |
---|---|---|
topic | K | A 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
Name | Type | Description |
---|---|---|
entry | ResolvedSimVarPublisherEntry <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
Name | Type | Description |
---|---|---|
topic | string | The 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
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
Name | Type | Description |
---|---|---|
topic | keyof Events & string | The 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
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
Name | Type |
---|---|
K | extends string | number | symbol |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
topic | K | undefined | The topic key to publish to. |
data | Events [K ] | undefined | The data type for chosen topic. |
sync | boolean | false | Whether or not the event should be synced to other instruments. Defaults to false . |
isCached | boolean | true | Whether or not the event should be cached. Defaults to true . |
Returns
void
Inherited from
Defined in
src/sdk/instruments/BasePublishers.ts:63
publishTopic
▸ publishTopic(topic
): void
Publishes data to the event bus for a topic.
Parameters
Name | Type | Description |
---|---|---|
topic | keyof Events & string | The 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
Name | Type | Description |
---|---|---|
topic | keyof IndexedEventRoots & string | The topic to resolve. |
entry | IndexedSimVarPublisherEntry <any > | The entry of the topic to resolve. |
index | number | The 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
Defined in
src/sdk/instruments/BasePublishers.ts:30
stopPublish
▸ stopPublish(): void
Stop publishing.
Returns
void
Inherited from
Defined in
src/sdk/instruments/BasePublishers.ts:37
subscribe
▸ subscribe(data
): void
NOOP - For backwards compatibility.
Parameters
Name | Type | Description |
---|---|---|
data | keyof Events | Key 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
Name | Type | Description |
---|---|---|
topic | string | The subscribed topic to check. |
Returns
void
Defined in
src/sdk/instruments/BasePublishers.ts:208
unsubscribe
▸ unsubscribe(data
): void
NOOP - For backwards compatibility.
Parameters
Name | Type | Description |
---|---|---|
data | keyof Events | Key of the event type in the simVarMap |
Returns
void
Deprecated
Defined in
src/sdk/instruments/BasePublishers.ts:308