Skip to main content

Class: DefaultUserSettingManager<T>

Defined in: src/sdk/settings/UserSetting.ts:174

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.

Type Parameters

Type Parameter
T extends UserSettingRecord

Implements

Constructors

Constructor

new DefaultUserSettingManager<T>(bus, settingDefs, keepLocal): DefaultUserSettingManager<T>

Defined in: src/sdk/settings/UserSetting.ts:191

Constructor.

Parameters

ParameterTypeDefault valueDescription
busEventBusundefinedThe bus used by this manager to publish setting change events.
settingDefsreadonly UserSettingDefinition<T[keyof T]>[]undefinedThe setting definitions used to initialize this manager's settings.
keepLocalbooleanfalseIf present and true, values will be kept local to the instrument on which they're set.

Returns

DefaultUserSettingManager<T>

Properties

bus

protected readonly bus: EventBus

Defined in: src/sdk/settings/UserSetting.ts:192

The bus used by this manager to publish setting change events.


publisher

protected readonly publisher: Publisher<T>

Defined in: src/sdk/settings/UserSetting.ts:177


settings

protected readonly settings: Map<string, UserSettingManagerEntry<T[keyof T]>>

Defined in: src/sdk/settings/UserSetting.ts:175


subscriber

protected readonly subscriber: EventSubscriber<T>

Defined in: src/sdk/settings/UserSetting.ts:178


syncPublisher

protected readonly syncPublisher: Publisher<UserSettingManagerSyncEvents>

Defined in: src/sdk/settings/UserSetting.ts:180


syncSubscriber

protected readonly syncSubscriber: EventSubscriber<UserSettingManagerSyncEvents>

Defined in: src/sdk/settings/UserSetting.ts:181

Methods

getAllSettings()

getAllSettings(): UserSetting<UserSettingValue>[]

Defined in: src/sdk/settings/UserSetting.ts:270

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<NonNullable<T[K]>>

Defined in: src/sdk/settings/UserSetting.ts:260

Gets a setting from this manager.

Type Parameters

Type Parameter
K extends string

Parameters

ParameterTypeDescription
nameKThe name of the setting to get.

Returns

UserSetting<NonNullable<T[K]>>

The requested setting.

Throws

Error if no setting with the specified name exists.

Implementation of

UserSettingManager.getSetting


mapTo()

mapTo<M>(map): MappedUserSettingManager<M, T>

Defined in: src/sdk/settings/UserSetting.ts:285

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

ParameterTypeDescription
mapUserSettingMap<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

MappedUserSettingManager<M, T>

A new setting manager which supports accessing a subset of this manager's settings using aliased names.

Implementation of

UserSettingManager.mapTo


onSettingValueChanged()

protected onSettingValueChanged<K>(entry, value): void

Defined in: src/sdk/settings/UserSetting.ts:294

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

ParameterTypeDescription
entryUserSettingManagerEntry<T[K]>The entry for the setting that was changed.
valueT[K]The new value of the setting.

Returns

void


onSettingValueSynced()

protected onSettingValueSynced<K>(entry, data): void

Defined in: src/sdk/settings/UserSetting.ts:304

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

ParameterTypeDescription
entryUserSettingManagerEntry<T[K]>The entry for the setting that was changed.
dataUserSettingManagerSyncData<T[K]>The sync data.

Returns

void


syncSettingFromEvent()

protected syncSettingFromEvent<K>(entry, data): void

Defined in: src/sdk/settings/UserSetting.ts:323

Syncs a setting using data received from a sync event.

Type Parameters

Type Parameter
K extends string | number | symbol

Parameters

ParameterTypeDescription
entryUserSettingManagerEntry<T[K]>The entry for the setting to sync.
dataUserSettingManagerSyncData<T[K]>The sync event data.

Returns

void


tryGetSetting()

tryGetSetting<K>(name): undefined | UserSetting<NonNullable<T[K]>>

Defined in: src/sdk/settings/UserSetting.ts:255

Attempts to get a setting from this manager.

Type Parameters

Type Parameter
K extends string

Parameters

ParameterTypeDescription
nameKThe name of the setting to get.

Returns

undefined | UserSetting<NonNullable<T[K]>>

The requested setting, or undefined if no such setting exists.

Implementation of

UserSettingManager.tryGetSetting


whenSettingChanged()

whenSettingChanged<K>(name): Consumer<NonNullable<T[K]>>

Defined in: src/sdk/settings/UserSetting.ts:275

Gets a consumer which notifies handlers when the value of a setting changes.

Type Parameters

Type Parameter
K extends string

Parameters

ParameterTypeDescription
nameKThe name of a setting.

Returns

Consumer<NonNullable<T[K]>>

a consumer which notifies handlers when the value of the setting changes.

Throws

Error if no setting with the specified name exists.

Implementation of

UserSettingManager.whenSettingChanged