3.3.3 • Published 3 years ago

abyjs.db v3.3.3

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

aby.js

abyjs.db

Discord Server

Table Of Contents

About

abyjs.db is a database that aims to be swift and optimal.

Examples

Setup

const abyjsDB = require("abyjs.db");
const db = new abyjsDB.Database({
  path: "database",
  tables: {{
    name: "test",
  }},
});

db.once("ready", () => {
  console.log("Database ready!");
});

db.connect();

Set

await db.set("test", "apple", "turtle.");
await db.set("test", "leref", "abyjs.db owner");

Get

const apple = await db.get("test", "apple");
const leref = await db.get("test", "leref");

Get All

const lerefAndApple = await db.all("test", {
  filter: ({ data }) => data.key.includes("w"),
});

Delete

await db.delete("test", "apple");
await db.delete("test", "leref");

API

#Database

ParamsDescription
options: DatabaseOptionsThe database constructor to make a new database instance.
  • #set() | Params | Return | Description | | :--- | :---: | ---: | | table: string, key: string, value: any | Promise\ | Set method for the database. |
  • #get() | Params | Return | Description | | :--- | :---: | ---: | | table: string, key: string | Promise\<Data> | Get method for the database. |
  • #all() | Params | Return | Description | | :--- | :---: | ---: | | table: string, options: AllOptions | Promise\<AllData[]> | GetAll method for the database. |
  • #delete() | Params | Return | Description | | :--- | :---: | ---: | | table: string, key: string | Promise\ | Delete method for the database. |

Interfaces

Database Options

PropertyValueDefaultDescription
tablesTable[]The reserved tables for the database.
path?string"database"Path to main database folder.
maxFileData?number50000The max data that a file can store.
debug?booleanfalseWhether the database should send debug log events.
extension?string".sql"The extension for each file in the database.
force?booleanfalseWhether to force the database to save or delete data on the file.
cache?number3000How many data can the database store in memory cache.
timestamp?booleanfalseWhether the database should save timestamp for each data.
saveTime?number100How long until the database can save the data into file (ms).
getTime?number1How long until the database pull a data from file (ms).
allTime?number100How long until the database pull some data from file (ms).
deleteTime?number100How long until the database delete a data from file (ms).
cacheRouters?booleantrueWhether the database should cache data routers on startup.

Table

PropertyValueDescription
namestringName for the table, this will also define the path to this table file.

Data

PropertyValueDescription
keystringThe key of the data.
valueanyThe value of the data.
ttl?numberThe ttl for the data.
createdAt?numberThe time which this data was created.
updatedAt?numberThe time which this data was last updated.

All Options

PropertyValueDescription
filter(allData: AllData) => booleanThe function to filters data.

All Data

PropertyValueDescription
keystringThe key of the data.
dataDataThe data object of the data.

Links

abyjs.db was created for aby.js now available for anyone to learn and use.