# Class: `Settings` [@jupyterlite/settings](../modules/jupyterlite_settings.md).Settings A class to handle requests to /api/settings ## Implements - [`ISettings`](../modules/jupyterlite_settings.md#isettings) ## Constructors ### `constructor` > **`new Settings`**(`options`) #### Parameters | Name | Type | | :-------- | :-------------------------------------------------------------------- | | `options` | [`IOptions`](../interfaces/jupyterlite_settings.Settings.IOptions.md) | #### Defined in [packages/settings/src/settings.ts:21](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L21) ## Properties ### `_localforage` > `Private` **`_localforage`**: `LocalForage` #### Defined in [packages/settings/src/settings.ts:172](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L172) ### `_ready` > `Private` **`_ready`**: `PromiseDelegate`<`void`\> #### Defined in [packages/settings/src/settings.ts:173](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L173) ### `_storage` > `Private` **`_storage`**: `undefined` \| `LocalForage` #### Defined in [packages/settings/src/settings.ts:171](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L171) ### `_storageDrivers` > `Private` **`_storageDrivers`**: `null` \| `string`[] = `null` #### Defined in [packages/settings/src/settings.ts:170](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L170) ### `_storageName` > `Private` **`_storageName`**: `string` = `DEFAULT_STORAGE_NAME` #### Defined in [packages/settings/src/settings.ts:169](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L169) ## Accessors ### `defaultStorageOptions` > `Protected` `get` **`defaultStorageOptions`**(): `LocalForageOptions` Get default options for localForage instances #### Returns `LocalForageOptions` #### Defined in [packages/settings/src/settings.ts:61](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L61) ### `ready` > `get` **`ready`**(): `Promise`<`void`\> A promise that resolves when the settings storage is fully initialized #### Returns `Promise`<`void`\> #### Implementation of ISettings.ready #### Defined in [packages/settings/src/settings.ts:32](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L32) ### `storage` > `Protected` `get` **`storage`**(): `Promise`<`LocalForage`\> A lazy reference to initialized storage #### Returns `Promise`<`LocalForage`\> #### Defined in [packages/settings/src/settings.ts:39](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L39) ## Methods ### `_getFederated` > `Private` **`_getFederated`**(`pluginId`): `Promise`<`undefined` \| > [`IPlugin`](../interfaces/jupyterlite_settings.IPlugin.md)\> Get the settings for a federated extension #### Parameters | Name | Type | Description | | :--------- | :------- | :----------------- | | `pluginId` | `string` | The id of a plugin | #### Returns `Promise`<`undefined` \| [`IPlugin`](../interfaces/jupyterlite_settings.IPlugin.md)\> #### Defined in [packages/settings/src/settings.ts:140](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L140) ### `defaultSettingsStorage` > `Protected` **`defaultSettingsStorage`**(): `LocalForage` Create a settings store. #### Returns `LocalForage` #### Defined in [packages/settings/src/settings.ts:73](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L73) ### `get` > **`get`**(`pluginId`): `Promise`<`undefined` \| > [`IPlugin`](../interfaces/jupyterlite_settings.IPlugin.md)\> Get settings by plugin id #### Parameters | Name | Type | Description | | :--------- | :------- | :------------------- | | `pluginId` | `string` | the id of the plugin | #### Returns `Promise`<`undefined` \| [`IPlugin`](../interfaces/jupyterlite_settings.IPlugin.md)\> #### Implementation of ISettings.get #### Defined in [packages/settings/src/settings.ts:87](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L87) ### `getAll` > **`getAll`**(): `Promise`<{ `settings`: > [`IPlugin`](../interfaces/jupyterlite_settings.IPlugin.md)[] }\> Get all the settings #### Returns `Promise`<{ `settings`: [`IPlugin`](../interfaces/jupyterlite_settings.IPlugin.md)[] }\> #### Implementation of ISettings.getAll #### Defined in [packages/settings/src/settings.ts:104](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L104) ### `initStorage` > `Protected` **`initStorage`**(): `Promise`<`void`\> Prepare the storage #### Returns `Promise`<`void`\> #### Defined in [packages/settings/src/settings.ts:54](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L54) ### `initialize` > **`initialize`**(): `Promise`<`void`\> Finish any initialization after server has started and all extensions are applied. #### Returns `Promise`<`void`\> #### Defined in [packages/settings/src/settings.ts:46](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L46) ### `save` > **`save`**(`pluginId`, `raw`): `Promise`<`void`\> Save settings for a given plugin id #### Parameters | Name | Type | Description | | :--------- | :------- | :------------------- | | `pluginId` | `string` | The id of the plugin | | `raw` | `string` | The raw settings | #### Returns `Promise`<`void`\> #### Implementation of ISettings.save #### Defined in [packages/settings/src/settings.ts:131](https://github.com/jupyterlite/jupyterlite/blob/7971e0aa/packages/settings/src/settings.ts#L131)