tablora
v1.0.4
Published
A lightweight ORM for TypeScript with SQLite support.
Maintainers
Readme
Tablora - Lightweight TypeScript ORM
Tablora is a simple, lightweight ORM for TypeScript, providing a flexible way to manage data using either SQLite or JSON storage. It offers a robust Query Builder, logging capabilities, and an intuitive API for handling CRUD operations efficiently.
🚀 Features
✔ Supports both SQLite and JSON storage (user can choose at startup).
✔ Simple and intuitive Query Builder for advanced filtering.
✔ Logging system with colored output using Chalk.
✔ Lightweight and easy to integrate into any TypeScript project.
✔ Flexible and scalable architecture for future enhancements.
📦 Installation
npm install tablora🎯 Usage
1️⃣ Initialize a Table
import { Table } from "tablora";
import { User } from "./models/User";
import logger from "./utils/logger";
const usersTable = new Table<User>("users");2️⃣ Create Records
usersTable.create({ name: "Alice", age: 25 });
usersTable.create({ name: "Bob", age: 30 });3️⃣ Retrieve Records
console.log(usersTable.findAll());
console.log(usersTable.findById(1));4️⃣ Update Records
usersTable.update(1, { age: 26 });5️⃣ Delete Records
usersTable.delete(2);6️⃣ Query Builder Example
const results = usersTable.query()
.where("age", ">", 20)
.orderBy("name", "asc")
.get();
console.log(results);⚡ Logging System
Tablora uses a logging system to track operations. By default, logs are displayed in the console.
Example output:
🚀 Adding new users...
🔹 User created: { id: 1, name: "Alice", age: 25 }
🔹 User created: { id: 2, name: "Bob", age: 30 }📂 Storage Options
When initializing the database, you can choose between SQLite or JSON storage:
import { DatabaseManager } from "tablora";
const db = DatabaseManager.getInstance("sqlite"); // or "json"📜 License
MIT License. Free to use and modify. 🚀
Happy Coding with Tablora! 🎉
