1.6.6 ⢠Published 11 months ago
@aurios/jason v1.6.6
jason db š¦

š A simple, lightweight, and embeddable JSON database built with Bun
jason is the perfect solution when you need a fast and easy-to-use JSON database in your Bun projects. With features like schema validation, concurrency control, and built-in caching, it provides everything you need in a simple package.
⨠Highlights
- š Simple API - CRUD and query JSON documents with just a few lines of code
- šŖ¶ Lightweight & Embeddable - Easy integration without adding bloat to your project
- ā Schema Validation - Ensure your data integrity
- š Concurrency Control - Prevent update conflicts
- š Versioning Support - Track document changes
- ā” Built-in Caching - Improve read performance
- š Query System - Find documents with custom criteria
š Installation
bun add -D jason
# or
npm install -D jasonš» Quick Example
import JasonDB from "jason";
// Define your interfaces
interface User {
name: string;
email: string;
}
interface Database {
users: User[];
}
// Initialize the database
const db = new JasonDB<Database>("my-db");
// Create a collection
const users = await db.collection("users", {
schema: (user) => user.name && user.email.includes("@"),
});
// Use the simple API
await users.create({
name: "John Smith",
email: "john@example.com",
});š ļø Core API
š¦ JasonDB
// Create an instance
const db = new JasonDB("my-database");
// Access collections
const myCollection = db.collection("name");
// List collections
const collections = await db.listCollections();š Collections
// Create
const doc = await collection.create({ ... });
// Read
const item = await collection.read("id");
// Update
await collection.update("id", { field: "new value" });
// Delete
await collection.delete("id");
// Query
const results = await collection.query(doc => doc.age > 18);š¤ Contributing
Contributions are welcome!
- š“ Fork the project
- š§ Create your feature branch (
git checkout -b feature/AmazingFeature) - š Commit your changes (
git commit -m 'Add: amazing feature') - š¤ Push to the branch (
git push origin feature/AmazingFeature) - š Open a Pull Request
š Development
# Clone the repo
git clone https://github.com/realfakenerd/jason
# Install dependencies
bun install
# Run tests
bun test
# Build project
bun run buildš License
Distributed under the MIT License
ā If this project helped you, consider giving it a star! š« Questions? Open an issue or get in touch!