https://github.com/hazae41/serac
Garbage-collectable persistent key-value database for TypeScript
https://github.com/hazae41/serac
Last synced: 5 months ago
JSON representation
Garbage-collectable persistent key-value database for TypeScript
- Host: GitHub
- URL: https://github.com/hazae41/serac
- Owner: hazae41
- Created: 2024-11-05T16:41:34.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-11-10T06:18:12.000Z (6 months ago)
- Last Synced: 2024-11-20T21:55:54.099Z (5 months ago)
- Language: TypeScript
- Homepage:
- Size: 50.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Serac
Garbage-collectable persistent key-value database for TypeScript
```bash
npm i @hazae41/serac
```[**Node Package 📦**](https://www.npmjs.com/package/@hazae41/serac)
## Features
### Current features
- 100% TypeScript and ESM
- No external dependencies
- Backed by IndexedDB
- Garbage collection## Usage
```tsx
import { Database } from "@hazae41/serac";const database = await Database.openOrThrow("example", 1, () => { })
await database.setOrThrow("kaaa", "vaaa", Date.now())
await database.setOrThrow("kbbb", "vbbb", Date.now() + 1000)
await database.setOrThrow("kccc", "vccc", Date.now() - 1000)console.log(await database.getOrThrow("kaaa")) // null
console.log(await database.getOrThrow("kbbb")) // "vbbb"
console.log(await database.getOrThrow("kccc")) // nullfor await (const key of database.collectOrThrow())
await database.deleteOrThrow(key)console.log("Garbage collection done")
```