https://github.com/ymzuiku/nano-indexed
nano indexed 是一个简化的 web-indexedDB 方法
https://github.com/ymzuiku/nano-indexed
Last synced: about 2 months ago
JSON representation
nano indexed 是一个简化的 web-indexedDB 方法
- Host: GitHub
- URL: https://github.com/ymzuiku/nano-indexed
- Owner: ymzuiku
- License: mit
- Created: 2021-02-24T05:19:10.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-07T10:14:51.000Z (over 3 years ago)
- Last Synced: 2025-02-20T14:16:36.346Z (2 months ago)
- Language: TypeScript
- Size: 16.6 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nano-indexed
nano indexed 是一个简化的 web-indexedDB 方法
## Feature
- gzip 0.3kb, 仅仅是一个工具方法
- 很好的抽象了 set / get / remove 方法
- 自动 parse/format 对象
- 支持 uint8Array 数据结构
- 支持 autoIncrement
- 支持 Typescript
- 完全 Promise 增删查改
- 兼容没有 indexedDB,使用 localStorage 进行存储
- 兼容没有 uint8Array 的环境## Use
```js
import { NanoIndexed } from "nano-indexed";// 主动声明建的例子
const example = async () => {
const db = NanoIndexed({
dbName: "my-db",
store: "user",
// version?: number; // 版本
// keyPath?: string; // 自定义对象内容作为 主键
// autoIncrement?: boolean; // 是否自增主键
// uint8Array?: boolean; // 是否存储为 unit8Array 数据结构
});// 存储
await db.set("page", { name: "bobo", age: 20 });// 读取
const data = await db.get("page");// 更新部分值
const nextData = await db.update("page", { name: "dog" });// 删除
await db.remove("page");
};
example();// 自增类型例子
const autoIncrementExample = async () => {
const db = NanoIndexed({
dbName: "my-db",
store: "user",
autoIncrement?: boolean; // 自增主键
});// 存储
await db.set(null, { name: "bobo", age: 20 });// 读取, 使用 int id 读取
const data = await db.get(1);// 更新部分值
const nextData = await db.update(1, { name: "dog" });// 删除
await db.remove(1);
};autoIncrementExample();
```