[**@jupyterlite**](../../../README.md) *** [@jupyterlite](../../../README.md) / [@jupyterlite/contents](../README.md) / BrowserStorageDrive # Class: BrowserStorageDrive Defined in: packages/services/lib/contents/drive.d.ts:13 A custom drive to store files in the browser storage. ## Implements - `IDrive` ## Constructors ### Constructor > **new BrowserStorageDrive**(`options`): `BrowserStorageDrive` Defined in: packages/services/lib/contents/drive.d.ts:17 Construct a new localForage-powered contents provider #### Parameters ##### options [`IOptions`](../namespaces/BrowserStorageDrive/interfaces/IOptions.md) #### Returns `BrowserStorageDrive` ## Properties ### contentProviderRegistry > `readonly` **contentProviderRegistry**: `ContentProviderRegistry` Defined in: packages/services/lib/contents/drive.d.ts:22 **`Experimental`** Content provider registry. #### Implementation of `Contents.IDrive.contentProviderRegistry` *** ### reduceBytesToString() > `protected` **reduceBytesToString**: (`data`, `byte`) => `string` Defined in: packages/services/lib/contents/drive.d.ts:232 A reducer for turning arbitrary binary into a string #### Parameters ##### data `string` ##### byte `number` #### Returns `string` ## Accessors ### checkpoints #### Get Signature > **get** `protected` **checkpoints**(): `Promise`\<`LocalForage`\> Defined in: packages/services/lib/contents/drive.d.ts:72 A lazy reference to the underlying checkpoints. ##### Returns `Promise`\<`LocalForage`\> *** ### counters #### Get Signature > **get** `protected` **counters**(): `Promise`\<`LocalForage`\> Defined in: packages/services/lib/contents/drive.d.ts:68 A lazy reference to the underlying counters. ##### Returns `Promise`\<`LocalForage`\> *** ### defaultStorageOptions #### Get Signature > **get** `protected` **defaultStorageOptions**(): `LocalForageOptions` Defined in: packages/services/lib/contents/drive.d.ts:76 Get default options for localForage instances ##### Returns `LocalForageOptions` *** ### fileChanged #### Get Signature > **get** **fileChanged**(): `ISignal`\<`IDrive`, `IChangedArgs`\> Defined in: packages/services/lib/contents/drive.d.ts:42 Signal emitted when a file operation takes place. ##### Returns `ISignal`\<`IDrive`, `IChangedArgs`\> #### Implementation of `Contents.IDrive.fileChanged` *** ### isDisposed #### Get Signature > **get** **isDisposed**(): `boolean` Defined in: packages/services/lib/contents/drive.d.ts:30 Whether the drive is disposed. ##### Returns `boolean` #### Implementation of `Contents.IDrive.isDisposed` *** ### name #### Get Signature > **get** **name**(): `string` Defined in: packages/services/lib/contents/drive.d.ts:34 The name of the drive. ##### Returns `string` #### Implementation of `Contents.IDrive.name` *** ### ready #### Get Signature > **get** **ready**(): `Promise`\<`void`\> Defined in: packages/services/lib/contents/drive.d.ts:60 A promise that resolves once all storage is fully initialized. ##### Returns `Promise`\<`void`\> *** ### serverSettings #### Get Signature > **get** **serverSettings**(): `ISettings` Defined in: packages/services/lib/contents/drive.d.ts:38 The server settings of the drive. ##### Returns `ISettings` #### Implementation of `Contents.IDrive.serverSettings` *** ### storage #### Get Signature > **get** `protected` **storage**(): `Promise`\<`LocalForage`\> Defined in: packages/services/lib/contents/drive.d.ts:64 A lazy reference to the underlying storage. ##### Returns `Promise`\<`LocalForage`\> ## Methods ### clearStorage() > **clearStorage**(): `Promise`\<`void`\> Defined in: packages/services/lib/contents/drive.d.ts:94 Clear all storage (files, counters, and checkpoints). #### Returns `Promise`\<`void`\> A promise which resolves when all storage is cleared. *** ### copy() > **copy**(`path`, `toDir`): `Promise`\<`IModel`\> Defined in: packages/services/lib/contents/drive.d.ts:115 Copy a file into a given directory. #### Parameters ##### path `string` The original file path. ##### toDir `string` The destination directory path. #### Returns `Promise`\<`IModel`\> A promise which resolves with the new contents model when the file is copied. #### Notes The server will select the name of the copied file. #### Implementation of `Contents.IDrive.copy` *** ### createCheckpoint() > **createCheckpoint**(`path`): `Promise`\<`ICheckpointModel`\> Defined in: packages/services/lib/contents/drive.d.ts:166 Create a checkpoint for a file. #### Parameters ##### path `string` The path of the file. #### Returns `Promise`\<`ICheckpointModel`\> A promise which resolves with the new checkpoint model when the checkpoint is created. #### Implementation of `Contents.IDrive.createCheckpoint` *** ### createDefaultCheckpoints() > `protected` **createDefaultCheckpoints**(): `LocalForage` Defined in: packages/services/lib/contents/drive.d.ts:88 Create the default checkpoint storage. #### Returns `LocalForage` *** ### createDefaultCounters() > `protected` **createDefaultCounters**(): `LocalForage` Defined in: packages/services/lib/contents/drive.d.ts:84 Initialize the default storage for counting file suffixes. #### Returns `LocalForage` *** ### createDefaultStorage() > `protected` **createDefaultStorage**(): `LocalForage` Defined in: packages/services/lib/contents/drive.d.ts:80 Initialize the default storage for contents. #### Returns `LocalForage` *** ### delete() > **delete**(`path`): `Promise`\<`void`\> Defined in: packages/services/lib/contents/drive.d.ts:151 Delete a file from browser storage. Has no effect on server-backed files, which will re-appear with their original timestamp. #### Parameters ##### path `string` The path to the file. #### Returns `Promise`\<`void`\> #### Implementation of `Contents.IDrive.delete` *** ### deleteCheckpoint() > **deleteCheckpoint**(`path`, `checkpointID`): `Promise`\<`void`\> Defined in: packages/services/lib/contents/drive.d.ts:194 Delete a checkpoint for a file. #### Parameters ##### path `string` The path of the file. ##### checkpointID `string` The id of the checkpoint to delete. #### Returns `Promise`\<`void`\> A promise which resolves when the checkpoint is deleted. #### Implementation of `Contents.IDrive.deleteCheckpoint` *** ### dispose() > **dispose**(): `void` Defined in: packages/services/lib/contents/drive.d.ts:26 Dispose the drive. #### Returns `void` #### Implementation of `Contents.IDrive.dispose` *** ### forgetPath() > `protected` **forgetPath**(`path`): `Promise`\<`void`\> Defined in: packages/services/lib/contents/drive.d.ts:157 Remove the localForage and checkpoints for a path. #### Parameters ##### path `string` The path to the file #### Returns `Promise`\<`void`\> *** ### get() > **get**(`path`, `options?`): `Promise`\<`IModel`\> Defined in: packages/services/lib/contents/drive.d.ts:124 Get a file or directory. #### Parameters ##### path `string` ##### options? `IFetchOptions` #### Returns `Promise`\<`IModel`\> A promise which resolves with the file content. #### Implementation of `Contents.IDrive.get` *** ### getDownloadUrl() > **getDownloadUrl**(`path`): `Promise`\<`string`\> Defined in: packages/services/lib/contents/drive.d.ts:46 Get the download URL #### Parameters ##### path `string` #### Returns `Promise`\<`string`\> #### Implementation of `Contents.IDrive.getDownloadUrl` *** ### initialize() > **initialize**(): `Promise`\<`void`\> Defined in: packages/services/lib/contents/drive.d.ts:52 Finish any initialization after server has started and all extensions are applied. TODO: keep private? #### Returns `Promise`\<`void`\> *** ### initStorage() > `protected` **initStorage**(): `Promise`\<`void`\> Defined in: packages/services/lib/contents/drive.d.ts:56 Initialize all storage instances #### Returns `Promise`\<`void`\> *** ### listCheckpoints() > **listCheckpoints**(`path`): `Promise`\<`ICheckpointModel`[]\> Defined in: packages/services/lib/contents/drive.d.ts:175 List available checkpoints for a file. #### Parameters ##### path `string` The path of the file. #### Returns `Promise`\<`ICheckpointModel`[]\> A promise which resolves with a list of checkpoint models for the file. #### Implementation of `Contents.IDrive.listCheckpoints` *** ### newUntitled() > **newUntitled**(`options?`): `Promise`\<`IModel`\> Defined in: packages/services/lib/contents/drive.d.ts:102 Create a new untitled file or directory in the specified directory path. #### Parameters ##### options? `ICreateOptions` #### Returns `Promise`\<`IModel`\> A promise which resolves with the created file content when the file is created. #### Implementation of `Contents.IDrive.newUntitled` *** ### normalizeCheckpoint() > `protected` **normalizeCheckpoint**(`model`, `id`): `ICheckpointModel` Defined in: packages/services/lib/contents/drive.d.ts:176 #### Parameters ##### model `IModel` ##### id `number` #### Returns `ICheckpointModel` *** ### rename() > **rename**(`oldLocalPath`, `newLocalPath`): `Promise`\<`IModel`\> Defined in: packages/services/lib/contents/drive.d.ts:133 Rename a file or directory. #### Parameters ##### oldLocalPath `string` The original file path. ##### newLocalPath `string` The new file path. #### Returns `Promise`\<`IModel`\> A promise which resolves with the new file content model when the file is renamed. #### Implementation of `Contents.IDrive.rename` *** ### restoreCheckpoint() > **restoreCheckpoint**(`path`, `checkpointID`): `Promise`\<`void`\> Defined in: packages/services/lib/contents/drive.d.ts:185 Restore a file to a known checkpoint state. #### Parameters ##### path `string` The path of the file. ##### checkpointID `string` The id of the checkpoint to restore. #### Returns `Promise`\<`void`\> A promise which resolves when the checkpoint is restored. #### Implementation of `Contents.IDrive.restoreCheckpoint` *** ### save() > **save**(`path`, `options?`): `Promise`\<`IModel`\> Defined in: packages/services/lib/contents/drive.d.ts:142 Save a file. #### Parameters ##### path `string` The desired file path. ##### options? `Partial`\<`IModel`\> & `IContentProvisionOptions` Optional overrides to the model. #### Returns `Promise`\<`IModel`\> A promise which resolves with the file content model when the file is saved. #### Implementation of `Contents.IDrive.save`