moderator-toolbox-nxg-for-reddit / util/persistence/settings

util/persistence/settings

Functions

getAnonymizedSettings()

getAnonymizedSettings(extraPolicies?): Promise<SettingsObject>

Defined in: extension/data/util/persistence/settings.ts:130

Produces an anonymized copy of the settings object: sensitive entries are dropped and certain others are rewritten into a non-identifying form.

Parameters

extraPolicies?

Record<string, SharedSettingPolicy> = {}

Additional per-key policies derived from module definitions via buildPolicyMap() (from framework/module). Merged with the built-in Utils fallback.

Returns

Promise<SettingsObject>


getModuleSettingAsync()

getModuleSettingAsync<T>(moduleID, setting, defaultVal?): Promise<T>

Defined in: extension/data/util/persistence/settings.ts:105

Typed wrapper for getSettingAsync that uses module ID constants. This reduces stringly-typed setting lookups and provides better type safety.

Type Parameters

T

T = unknown

Parameters

moduleID

string

The module ID constant (use imports from moduleIds.ts)

setting

string

Key of the setting.

defaultVal?

T

Value returned when the setting is unset.

Returns

Promise<T>


getSettingAsync()

getSettingAsync(moduleID, setting, defaultVal?): Promise<any>

Defined in: extension/data/util/persistence/settings.ts:88

Reads a single setting’s value, using a fallback when it has never been set.

Parameters

moduleID

string

ID of the module the setting belongs to.

setting

string

Key of the setting.

defaultVal?

unknown = undefined

Value returned when the setting is unset.

Returns

Promise<any>


getSettings()

getSettings(): Promise<SettingsObject>

Defined in: extension/data/util/persistence/settings.ts:48

Reads the current settings object straight from extension storage.

Returns

Promise<SettingsObject>


setSettingAsync()

setSettingAsync(moduleID, setting, value): Promise<void>

Defined in: extension/data/util/persistence/settings.ts:119

Stores a new value for a single setting.

Parameters

moduleID

string

ID of the module the setting belongs to.

setting

string

Key of the setting.

value

unknown

New value to store.

Returns

Promise<void>


updateSettings()

updateSettings(settings): Promise<void>

Defined in: extension/data/util/persistence/settings.ts:72

Applies a batch of setting changes.

Parameters

settings

Partial<SettingsObject>

Map of setting keys to new values. Omitted keys keep their stored values; keys set to undefined are deleted from storage; null is not a valid setting value and is skipped.

Returns

Promise<void>


writeSettings()

writeSettings(newSettings): Promise<void>

Defined in: extension/data/util/persistence/settings.ts:57

Overwrites extension storage with a complete settings object.

Parameters

newSettings

SettingsObject

The full settings object to persist.

Returns

Promise<void>

Interfaces

SettingsObject

Defined in: extension/data/util/persistence/settings.ts:42

A flat key-value store for all Toolbox settings. Keys are namespaced as Toolbox.{ModuleID}.{settingName}. Values are intentionally any - each module stores different types (strings, numbers, booleans, arrays, objects) and there is no central registry of what type each key holds.

Indexable

[key: string]: any

Variables

sharedSettingPolicies

const sharedSettingPolicies: Record<string, SharedSettingPolicy>

Defined in: extension/data/util/persistence/settings.ts:25

Fallback policy map for settings that are stored directly via setSettingAsync rather than through a module’s defineSettings() array. All other per-module settings carry their policy via SettingDefinition.sharedPolicy.