---
name: "setStorage"
mode: "kit"
versionRequirements:
  - { name: "BaseKit", version: "2.0.1" }
platform:
  - "iOS"
  - "Android"
async: true
---

## setStorage

> [VERSION] BaseKit >= 2.0.1

> [PLATFORM] iOS, Android

> ⚡ **Supports Promise** — Returns a Promise when success / fail / complete callbacks are omitted.

### Description

Store data in local storage under the specified key. Overwrites any existing content for that key. Data remains available unless explicitly deleted by the user or cleared by the system due to storage constraints. Maximum size per key is 1MB; total storage limit is 10MB.

### Parameters

| Property | Type | Required | Default | Since | Description |
| --- | --- | --- | --- | --- | --- |
| `key` | `string` | Yes | - | `2.0.1` | The specified key in local storage |
| `data` | `string` | Yes | - | `2.0.1` | Content associated with the key |
| `complete` | `() => void` | No | - | - | Completion callback (executes on success and failure) |
| `success` | `() => void` | No | - | - | Callback for API call success |
| `fail` | `(params: Object) => void` ↓see below | No | - | - | Callback for API call failure |

#### fail callback parameters

| Property | Type | Description |
| --- | --- | --- |
| `errorMsg` | `string` | Error message |
| `errorCode` | `string \| number` | Error code |
| `innerError` | `Object` | Error extension |

##### fail(params).innerError properties

| Property | Type | Description |
| --- | --- | --- |
| `errorCode` | `string \| number` | Extended error code |
| `errorMsg` | `string` | Extended error info |


### Examples

```tsx
// Write data to local storage for the specified key (overwrites existing content)
ty.setStorage({
  key: "demoKey",
  data: "demoValue",
  success: () => console.log("Written"),
  fail: error => console.error(error),
});
```
