# LocalStorageManager\<T>

Defined in: [atomiq-sdk/src/storage-browser/LocalStorageManager.ts:9](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/storage-browser/LocalStorageManager.ts#L9)

[IStorageManager](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md) implementation using browser's local storage API, this is used as general purpose key-value storage, not used for storing swaps! See [IUnifiedStorage](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IUnifiedStorage.md) for swap storage interface.

## Type Parameters

| Type Parameter                                                                                                             |
| -------------------------------------------------------------------------------------------------------------------------- |
| `T` *extends* [`StorageObject`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/StorageObject.md) |

## Implements

* [`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md)<`T`>

## Constructors

### Constructor

```
new LocalStorageManager<T>(storageKey): LocalStorageManager<T>;
```

Defined in: [atomiq-sdk/src/storage-browser/LocalStorageManager.ts:24](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/storage-browser/LocalStorageManager.ts#L24)

#### Parameters

| Parameter    | Type     | Description                                                                                                      |
| ------------ | -------- | ---------------------------------------------------------------------------------------------------------------- |
| `storageKey` | `string` | The key-value store is stored as JSON serialized parameter of the Local Storage under the specified `storageKey` |

#### Returns

`LocalStorageManager`<`T`>

## Properties

### data

```
data: object = {};
```

Defined in: [atomiq-sdk/src/storage-browser/LocalStorageManager.ts:16](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/storage-browser/LocalStorageManager.ts#L16)

In-memory cache of stored objects, keyed by hash

#### Index Signature

```
[hash: string]: T
```

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`data`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#data)

***

### rawData

```
rawData: object = {};
```

Defined in: [atomiq-sdk/src/storage-browser/LocalStorageManager.ts:13](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/storage-browser/LocalStorageManager.ts#L13)

#### Index Signature

```
[hash: string]: any
```

***

### storageKey

```
storageKey: string;
```

Defined in: [atomiq-sdk/src/storage-browser/LocalStorageManager.ts:11](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/storage-browser/LocalStorageManager.ts#L11)

## Methods

### init()

```
init(): Promise<void>;
```

Defined in: [atomiq-sdk/src/storage-browser/LocalStorageManager.ts:31](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/storage-browser/LocalStorageManager.ts#L31)

Initializes the storage backend

#### Returns

`Promise`<`void`>

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`init`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#init)

***

### loadData()

```
loadData(type): Promise<T[]>;
```

Defined in: [atomiq-sdk/src/storage-browser/LocalStorageManager.ts:92](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/storage-browser/LocalStorageManager.ts#L92)

Loads all stored objects and deserializes them using the provided constructor

#### Parameters

| Parameter | Type            | Description                                     |
| --------- | --------------- | ----------------------------------------------- |
| `type`    | (`data`) => `T` | Constructor function to instantiate each object |

#### Returns

`Promise`<`T`\[]>

Array of deserialized objects

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`loadData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#loaddata)

***

### removeData()

```
removeData(hash): Promise<void>;
```

Defined in: [atomiq-sdk/src/storage-browser/LocalStorageManager.ts:67](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/storage-browser/LocalStorageManager.ts#L67)

Removes an object from storage

#### Parameters

| Parameter | Type     | Description                        |
| --------- | -------- | ---------------------------------- |
| `hash`    | `string` | Identifier of the object to remove |

#### Returns

`Promise`<`void`>

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`removeData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#removedata)

***

### removeDataArr()

```
removeDataArr(hashArr): Promise<void>;
```

Defined in: [atomiq-sdk/src/storage-browser/LocalStorageManager.ts:79](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/storage-browser/LocalStorageManager.ts#L79)

Removes multiple objects from storage (optional batch operation)

#### Parameters

| Parameter | Type        | Description                    |
| --------- | ----------- | ------------------------------ |
| `hashArr` | `string`\[] | Array of identifiers to remove |

#### Returns

`Promise`<`void`>

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`removeDataArr`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#removedataarr)

***

### saveData()

```
saveData(hash, object): Promise<void>;
```

Defined in: [atomiq-sdk/src/storage-browser/LocalStorageManager.ts:45](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/storage-browser/LocalStorageManager.ts#L45)

Saves an object to storage

#### Parameters

| Parameter | Type     | Description                      |
| --------- | -------- | -------------------------------- |
| `hash`    | `string` | Unique identifier for the object |
| `object`  | `T`      | Object to save                   |

#### Returns

`Promise`<`void`>

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`saveData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#savedata)

***

### saveDataArr()

```
saveDataArr(arr): Promise<void>;
```

Defined in: [atomiq-sdk/src/storage-browser/LocalStorageManager.ts:55](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/storage-browser/LocalStorageManager.ts#L55)

Saves multiple objects to storage (optional batch operation)

#### Parameters

| Parameter | Type        | Description                      |
| --------- | ----------- | -------------------------------- |
| `arr`     | `object`\[] | Array of id-object pairs to save |

#### Returns

`Promise`<`void`>

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`saveDataArr`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#savedataarr)
