Class: DefaultUserSettingManager<T>
Defined in: src/sdk/settings/UserSetting.ts:219
A manager for user settings. Provides settings using their names as keys, publishes value change events on the event bus, and keeps setting values up to date when receiving change events across the bus.
Extended by
Type Parameters
Type Parameter | Description |
---|---|
T extends UserSettingRecord | The record describing the settings provided by the manager. |
Implements
Constructors
Constructor
new DefaultUserSettingManager<
T
>(bus
,settingDefs
,keepLocal
):DefaultUserSettingManager
<T
>
Defined in: src/sdk/settings/UserSetting.ts:238
Creates a new instance of DefaultUserSettingManager.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
bus | EventBus | undefined | The bus used by this manager to publish setting change events. |
settingDefs | readonly UserSettingDefinition <T [keyof T ]>[] | undefined | The setting definitions used to initialize this manager's settings. |
keepLocal | boolean | false | Whether the manager should only sync the values of its settings within its local instrument. If true, then the manager will not sync setting values to or from the same settings on other instruments. If false, then the manager will sync setting values to and from the same settings on other instruments. Defaults to false . |
Returns
DefaultUserSettingManager
<T
>
Properties
bus
protected
readonly
bus:EventBus
Defined in: src/sdk/settings/UserSetting.ts:239
The bus used by this manager to publish setting change events.
publisher
protected
readonly
publisher:Publisher
<T
>
Defined in: src/sdk/settings/UserSetting.ts:222
settings
protected
readonly
settings:Map
<string
,UserSettingManagerEntry
<T
[keyofT
]>>
Defined in: src/sdk/settings/UserSetting.ts:220
subscriber
protected
readonly
subscriber:EventSubscriber
<T
>
Defined in: src/sdk/settings/UserSetting.ts:223
syncPublisher
protected
readonly
syncPublisher:Publisher
<UserSettingManagerSyncEvents
>
Defined in: src/sdk/settings/UserSetting.ts:225
syncSubscriber
protected
readonly
syncSubscriber:EventSubscriber
<UserSettingManagerSyncEvents
>
Defined in: src/sdk/settings/UserSetting.ts:226
Methods
getAllSettings()
getAllSettings():
UserSetting
<UserSettingValue
>[]
Defined in: src/sdk/settings/UserSetting.ts:330
Gets an array of all settings of this manager.
Returns
UserSetting
<UserSettingValue
>[]
an array of all settings of this manager.
Implementation of
UserSettingManager
.getAllSettings
getSetting()
getSetting<
K
>(name
):UserSetting
<ToNonNullable
<PropertyTypeOf
<T
,K
>>>
Defined in: src/sdk/settings/UserSetting.ts:320
Gets a setting from this manager.
Type Parameters
Type Parameter |
---|
K extends string |
Parameters
Parameter | Type | Description |
---|---|---|
name | K | The name of the setting to get. |
Returns
UserSetting
<ToNonNullable
<PropertyTypeOf
<T
, K
>>>
The requested setting.
Throws
Error if no setting with the specified name exists.
Implementation of
mapTo()
mapTo<
M
>(map
):UserSettingManager
<M
&T
>
Defined in: src/sdk/settings/UserSetting.ts:345
Maps a subset of this manager's settings to ones with aliased names, and creates a new setting manager which supports accessing the settings using their aliases.
Type Parameters
Type Parameter |
---|
M extends UserSettingRecord |
Parameters
Parameter | Type | Description |
---|---|---|
map | UserSettingMap <M , T > | A map defining the aliases of a subset of this manager's settings, with aliased setting names as keys and original setting names as values. |
Returns
UserSettingManager
<M
& T
>
A new setting manager which supports accessing a subset of this manager's settings using aliased names.
Implementation of
onSettingValueChanged()
protected
onSettingValueChanged<K
>(entry
,value
):void
Defined in: src/sdk/settings/UserSetting.ts:354
A callback which is called when one of this manager's settings has its value changed locally.
Type Parameters
Type Parameter |
---|
K extends string | number | symbol |
Parameters
Parameter | Type | Description |
---|---|---|
entry | UserSettingManagerEntry <T [K ]> | The entry for the setting that was changed. |
value | T [K ] | The new value of the setting. |
Returns
void
onSettingValueSynced()
protected
onSettingValueSynced<K
>(entry
,data
):void
Defined in: src/sdk/settings/UserSetting.ts:367
A callback which is called when a setting changed event is received over the event bus.
Type Parameters
Type Parameter |
---|
K extends string | number | symbol |
Parameters
Parameter | Type | Description |
---|---|---|
entry | UserSettingManagerEntry <T [K ]> | The entry for the setting that was changed. |
data | UserSettingManagerSyncData <T [K ]> | The sync data. |
Returns
void
syncSettingFromEvent()
protected
syncSettingFromEvent<K
>(entry
,data
):void
Defined in: src/sdk/settings/UserSetting.ts:386
Syncs a setting using data received from a sync event.
Type Parameters
Type Parameter |
---|
K extends string | number | symbol |
Parameters
Parameter | Type | Description |
---|---|---|
entry | UserSettingManagerEntry <T [K ]> | The entry for the setting to sync. |
data | UserSettingManagerSyncData <T [K ]> | The sync event data. |
Returns
void
tryGetSetting()
tryGetSetting<
K
>(name
):OptionalUserSettingFromManager
<T
,K
>
Defined in: src/sdk/settings/UserSetting.ts:315
Attempts to get a setting from this manager.
Type Parameters
Type Parameter |
---|
K extends string |
Parameters
Parameter | Type | Description |
---|---|---|
name | K | The name of the setting to get. |
Returns
OptionalUserSettingFromManager
<T
, K
>
The requested setting, or undefined
if no such setting exists.
Implementation of
UserSettingManager
.tryGetSetting
whenSettingChanged()
whenSettingChanged<
K
>(name
):UserSettingConsumerFromManager
<T
,K
>
Defined in: src/sdk/settings/UserSetting.ts:335
Gets a consumer which notifies handlers when the value of a setting changes.
Type Parameters
Type Parameter |
---|
K extends string |
Parameters
Parameter | Type | Description |
---|---|---|
name | K | The name of a setting. |
Returns
UserSettingConsumerFromManager
<T
, K
>
a consumer which notifies handlers when the value of the setting changes.
Throws
Error if no setting with the specified name exists.
Deprecated
Please use getSetting(name).sub()
instead.