Skip to content

Latest commit

 

History

History
97 lines (79 loc) · 2.03 KB

File metadata and controls

97 lines (79 loc) · 2.03 KB

kasdb

kasdb is a simple and easy-to-use database library for Node.js.

Installation

npm install @kasperenok/kasdb

Usage

const { DB } = require("@kasperenok/kasdb");
const db = new DB({ filename: "database/example", extension: ".db" });

Functions

Save Data to File

db.saveData("money", { username: "example username", count: 0 });

Get Data from File

  1. Get full data from file:
const data = db.getData();
console.log(data.money.count);
  1. Get data by key:
const data = db.getData("money");
console.log(data.count);

Event Handling with on Function

Listen for Data Retrieval Event

db.on("getData", (eventData) => {
  console.log(`Data retrieved from key ${eventData.key} in file ${eventData.filename}`);
});

Attributes in eventData for event getData:

  • key
  • data
  • filename

Listen for Data Save Event

db.on("saveData", (eventData) => {
  console.log(`Data saved with key ${eventData.key} in file ${eventData.filename}`);
});

Attributes in eventData for event saveData:

  • key
  • value
  • filename

AsyncDB

AsyncDB has the same API as DB, but all methods are async.

const { AsyncDB } = require("kasperdb");
const db = new AsyncDB({ filename: "database/example", extension: ".db" });

Save Data

await db.saveData("money", { username: "example", count: 0 });

Get Full Data

const data = await db.getData();
console.log(data.money.count);

Get Data by Key

const data = await db.getData("money");
console.log(data.count);

Event Handling

Works the same as DB:

db.on("getData", (e) => console.log(`Got key ${e.key} from ${e.filename}`));
db.on("saveData", (e) => console.log(`Saved key ${e.key} to ${e.filename}`));

Dependencies

  • fs: File system module.
  • msgpack-lite: MessagePack implementation for Node.js.