diff --git a/src/lib/extension/ConfigurationController.ts b/src/lib/extension/ConfigurationController.ts index 7f973ff..218d553 100644 --- a/src/lib/extension/ConfigurationController.ts +++ b/src/lib/extension/ConfigurationController.ts @@ -1,25 +1,24 @@ import StorageHelper from "$lib/browser/StorageHelper"; export default class ConfigurationController { - /** @type {string} */ - #configurationName; + readonly #configurationName: string; /** * @param {string} configurationName Name of the configuration to work with. */ - constructor(configurationName) { + constructor(configurationName: string) { this.#configurationName = configurationName; } /** * Read the setting with the given name. * - * @param {string} settingName Setting name. - * @param {any} [defaultValue] Default value to return if the setting does not exist. Defaults to `null`. + * @param settingName Setting name. + * @param [defaultValue] Default value to return if the setting does not exist. Defaults to `null`. * - * @return {Promise} The setting value or the default value if the setting does not exist. + * @return The setting value or the default value if the setting does not exist. */ - async readSetting(settingName, defaultValue = null) { + async readSetting(settingName: string, defaultValue: DefaultType|null = null): Promise { const settings = await ConfigurationController.#storageHelper.read(this.#configurationName, {}); return settings[settingName] ?? defaultValue; } @@ -27,12 +26,12 @@ export default class ConfigurationController { /** * Write the given value to the setting. * - * @param {string} settingName Setting name. - * @param {any} value Value to write. + * @param settingName Setting name. + * @param value Value to write. * * @return {Promise} */ - async writeSetting(settingName, value) { + async writeSetting(settingName: string, value: any): Promise { const settings = await ConfigurationController.#storageHelper.read(this.#configurationName, {}); settings[settingName] = value; @@ -44,10 +43,8 @@ export default class ConfigurationController { * Delete the specific setting. * * @param {string} settingName Setting name to delete. - * - * @return {Promise} */ - async deleteSetting(settingName) { + async deleteSetting(settingName: string): Promise { const settings = await ConfigurationController.#storageHelper.read(this.#configurationName, {}); delete settings[settingName]; @@ -63,9 +60,8 @@ export default class ConfigurationController { * * @return {function(): void} Unsubscribe function. */ - subscribeToChanges(callback) { - /** @param {Record} changes */ - const changesSubscriber = changes => { + subscribeToChanges(callback: (record: Record) => void): () => void { + const changesSubscriber = (changes: Record) => { if (!changes[this.#configurationName]) { return; }