# @wywppkd/browser-localstorage

> 支持设置过期时间的 localStorage

Latest version **1.0.3** (published 2021-12-14) · MIT license · 0 weekly downloads

## Install

```sh
npm install @wywppkd/browser-localstorage
pnpm add @wywppkd/browser-localstorage
yarn add @wywppkd/browser-localstorage
bun add @wywppkd/browser-localstorage
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2021-12-14 |
| First published | 2021-12-13 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 7.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | wywppkd |
| Maintainers | wywppkd |
| Keywords | localstorage, expire, browser, ttl |

## Links

- npm: https://www.npmjs.com/package/@wywppkd/browser-localstorage
- Repository: https://github.com/wywppkd/browser-localstorage
- Homepage: https://wywppkd.github.io/browser-localstorage
- Issues: https://github.com/wywppkd/browser-localstorage/issues
- npm.io page: https://npm.io/package/@wywppkd/browser-localstorage

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 1.0.3 (latest) — 2021-12-14
- 1.0.2 — 2021-12-13
- 1.0.1 — 2021-12-13
- 1.0.0 — 2021-12-13

## README

## 轻松上手!

```bash
npm i @wywppkd/browser-localstorage
```

```ts
import { setLocalStorage, getLocalStorage } from '@wywppkd/browser-localstorage';

// 设置有效期(默认30天过期)
setLocalStorage('token', 'xxxxx'); // 30天后过期
setLocalStorage('token', 'xxxxx', 1); // 1天后过期
getLocalStorage('token'); // 'xxxxx', 过期则返回null

// 永不过期
setLocalStorage('token', 'xxxxx', 0);

// 保持原数据类型
setLocalStorage('num', 1); // 存储number类型
getLocalStorage('num'); // 1

setLocalStorage('list', [1, 2, 3]); // 存储数组
getLocalStorage('list'); // [1,2,3]

setLocalStorage('info', { name: 'lisa', age: 19 }); // 存储对象
getLocalStorage('info'); // { name: 'lisa', age: 19 }
```

## TIPS:

- 和框架无关: Vue/React 等均可使用
- 数据类型不变: 如存储对象, 则读取也是对象, 无需 `JSON.parse()`, 数组, number 同理
- 删除和清空缓存: 可使用原生 API `localStorage.removeItem` `localStorage.clear`
- 不可混用: `setLocalStorage, getLocalStorage` 不可与 `localStorage.setItem, localStorage.getItem` 混用

  - 即: 使用 `setLocalStorage` 存储, 则必须用 `getLocalStorage` 读取

---
_Source: https://npm.io/package/@wywppkd/browser-localstorage · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
