3.0.3 • Published 9 days ago

zanixon.db v3.0.3

Weekly downloads
-
License
ISC
Repository
github
Last release
9 days ago

ZanixonDB

A simple database that you can use for your projects, supports multiple storage, uses lodash for fast reading and searching, supports nested data storage.

GitHub last commit (branch) GitHub package.json version (subfolder of monorepo) GitHub repo size Static Badge

Table of contents

Installing package

Install package using npm i

npm i zanixon.db@latest

Setup database

Import package from node_modules, then add directory path to your database folder

// import { ZanixonDB } from "zanixon.db";
const { ZanixonDB } = require("zanixon.db");

const db = new ZanixonDB({
  directory: "./database",
  showLogs: false
})

This setup will create default database file on path ./database/main/db.json

Create table database

Tables are used to create other storage, you can use the same table to store storage files with the same category or usage.

const { ZanixonDB } = require("zanixon.db");

const db = new ZanixonDB({
  directory: "./database",
  showLogs: false,
  tables: {
    "account": "/user/accounts.json"
    "user": "/user/users.json"
  }
})

Parameters

ParameterDefaultRequiredDescription
directory./databasefalseDefining database paths.
showLogsfalsefalseShowing something logs into your terminal.
tables{ "main": "/main/db.json" }falseUsed for creating custom database tables.

With this, all tables will be created automatically by package

Create variables

Actually you don't need this, it's just my need as the author. so this serves to create a default data value when using the get() function instead of returning undefined because the data is not in the object.

// save variables to default table
db.variables({
  "username": "unknown",
  "balance": 0
});

// save variables to custom table
db.variables({
  "username": "unknown",
  "balance": 0
}, "user");

Parameters

ParameterDefaultRequiredDescription
data{}trueCreate custom variables data.
tablemaintrueSave variables to default table or custom table.

You can access this variables using db.Variables or db.Variables.values()

setKey

Used to update the key of a data in the database

db.setKey("user.username", "name") // output: true (if user have data named username)

Parameters

ParameterDefaultRequiredDescription
oldKeynulltrueoldKey data path
newKeynulltruenewKey data name
tablemainfalsedatabase table name

set

Used for save or update data value

// set data to table named account
db.set("totalUser", 999, "account"); // output: 999

// update data user balance
db.set("user.balance", 12000, "user"); // output: 12000

Parameters

ParameterDefaultRequiredDescription
keynulltruekey data path
valuenulltruedata value
tablemainfalsedatabase table name

get

Used to get data from database

// get data from table named account
db.get("totalUser", "account"); // output: 999

// get data user balance
db.get("user.balance", "user"); // output: 12000

Parameters

ParameterDefaultRequiredDescription
keynulltruekey data path
tablemainfalsedatabase table name

delete

Used to delete data from database

// delete data from table named account
db.delete("totalUser", "account"); // output: true

Parameters

ParameterDefaultRequiredDescription
keynulltruekey data path
tablemainfalsedatabase table name

has

Used to check data in database is available or not

// set data to table named account
db.has("totalUser", "account"); // output: false because the data was deleted

Parameters

ParameterDefaultRequiredDescription
keynulltruekey data path
tablemainfalsedatabase table name

all

Used to get all data from database

// get all data of table named account
db.all("user"); // output: { ...data }

Parameters

ParameterDefaultRequiredDescription
tablemainfalsedatabase table name

abbreviate

Used for abbreviating number from long to short

db.abbreviate(12_000_000, "0.00a"); // output: 12.00M

Parameters

ParameterDefaultRequiredDescription
numbernulltruebig number
format0.00afalsenumber format output
3.0.3

9 days ago

3.0.0

9 days ago

2.1.7

1 month ago

2.1.6

2 months ago

2.1.5

4 months ago

2.1.4

4 months ago

2.1.3

4 months ago

2.1.2

4 months ago

2.1.1

4 months ago