domain/settings/setting
Classes
Section titled “Classes”SettingDefinitionError
Section titled “SettingDefinitionError”Defined in: app/src/domain/settings/setting.ts:49
Thrown for an invalid setting definition.
Extends
Section titled “Extends”Error
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new SettingDefinitionError(
message?):SettingDefinitionError
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1080
Parameters
Section titled “Parameters”message?
Section titled “message?”string
Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”Error.constructor
Constructor
Section titled “Constructor”new SettingDefinitionError(
message?,options?):SettingDefinitionError
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1080
Parameters
Section titled “Parameters”message?
Section titled “message?”string
options?
Section titled “options?”ErrorOptions
Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”Error.constructor
Properties
Section titled “Properties”
readonlyname:"SettingDefinitionError"='SettingDefinitionError'
Defined in: app/src/domain/settings/setting.ts:50
Overrides
Section titled “Overrides”Error.name
Interfaces
Section titled “Interfaces”SettingDefinition
Section titled “SettingDefinition”Defined in: app/src/domain/settings/setting.ts:34
Declares one setting. It is the single source for the settings page, the policy templates, the JSON schema and the documentation.
Type Parameters
Section titled “Type Parameters”T
Properties
Section titled “Properties”default
Section titled “default”
readonlydefault:T
Defined in: app/src/domain/settings/setting.ts:40
Value used when nothing else is set.
readonlykey:string
Defined in: app/src/domain/settings/setting.ts:36
Dotted key, such as tabs.position. Never renamed without a migration.
policy?
Section titled “policy?”
readonlyoptionalpolicy?:SettingPolicy
Defined in: app/src/domain/settings/setting.ts:42
restartRequired?
Section titled “restartRequired?”
readonlyoptionalrestartRequired?:boolean
Defined in: app/src/domain/settings/setting.ts:45
Whether a change only takes effect after a restart.
schema
Section titled “schema”
readonlyschema:GenericSchema<unknown,T>
Defined in: app/src/domain/settings/setting.ts:38
Valibot schema that every value must satisfy.
readonlyscope:SettingScope
Defined in: app/src/domain/settings/setting.ts:41
readonlyoptionalui?:SettingUi
Defined in: app/src/domain/settings/setting.ts:43
SettingPolicy
Section titled “SettingPolicy”Defined in: app/src/domain/settings/setting.ts:8
Links a setting to the policy that administrators use to set or lock it.
Properties
Section titled “Properties”
readonlyname:string
Defined in: app/src/domain/settings/setting.ts:10
Policy name in PascalCase, such as TabStripPosition. Never renamed once released.
recommended?
Section titled “recommended?”
readonlyoptionalrecommended?:boolean
Defined in: app/src/domain/settings/setting.ts:12
Whether the policy may also be set as a recommended (user-changeable) default.
sensitive?
Section titled “sensitive?”
readonlyoptionalsensitive?:boolean
Defined in: app/src/domain/settings/setting.ts:17
Sensitive policies (update source, proxy, search engine) are only accepted from machine-wide, mandatory sources.
SettingUi
Section titled “SettingUi”Defined in: app/src/domain/settings/setting.ts:21
How the settings page presents a setting. Texts come from the module’s locale catalog.
Properties
Section titled “Properties”control
Section titled “control”
readonlycontrol:"number"|"text"|"toggle"|"select"|"color"|"list"|"shortcut"
Defined in: app/src/domain/settings/setting.ts:25
Control used to edit the value.
order?
Section titled “order?”
readonlyoptionalorder?:number
Defined in: app/src/domain/settings/setting.ts:27
Sort order inside the section; lower comes first.
section
Section titled “section”
readonlysection:string
Defined in: app/src/domain/settings/setting.ts:23
Section id on the settings page, such as appearance.
Type Aliases
Section titled “Type Aliases”SettingScope
Section titled “SettingScope”SettingScope =
"global"|"workspace"
Defined in: app/src/domain/settings/setting.ts:5
Where a setting can be overridden: globally only, or also per workspace.
Functions
Section titled “Functions”defineSetting()
Section titled “defineSetting()”defineSetting<
T>(definition):SettingDefinition<T>
Defined in: app/src/domain/settings/setting.ts:63
Declares a setting and checks that its key, policy name and default are valid.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”definition
Section titled “definition”The setting.
Returns
Section titled “Returns”The frozen definition, which also serves as a typed handle for
settings.get(definition).
Throws
Section titled “Throws”SettingDefinitionError for an invalid key, policy name or default.
validateSetting()
Section titled “validateSetting()”validateSetting<
T>(definition,value):Result<T,string>
Defined in: app/src/domain/settings/setting.ts:89
Validates a value against a setting’s schema.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”definition
Section titled “definition”The setting.
unknown
Any value, for example from a file or a policy.
Returns
Section titled “Returns”Result<T, string>
The parsed value, or the first validation message as the error.