1.0.0 • Published 1 month ago

sans-db v1.0.0

Weekly downloads
-
License
-
Repository
-
Last release
1 month ago

Sans-DB

Sans-DB is a simple and lightweight Node.js database library for managing key-value data with ease. It includes features like automatic backups and default values for keys. This module is from clarity-db.

Installation

npm install sans-db
## Usage
To use the library, you need to import it into your project:

const DataBase = require("sans-db")
const db = new DataBase("./db.json", {
    backup: {
        enabled: true,
        folder: './backups/',
        interval: 1000 * 60 * 60
    },
    preset: {
        prefix: "+"
    }
})


// Setting an object in the database:
db.set("userInfo", { difficulty: "Easy" });
// -> { difficulty: 'Easy' }

// Checking an object from the database
if (db.has("userInfo")) 
// -> true

// Getting an object from the database
db.get("userInfo")
// -> { difficulty: 'Easy' }

// Getting an object property from the database:
db.get("userInfo.difficulty");
// -> 'Easy'

// Pushing an element to an array (that doesn't exist yet) in an object:
db.push("userInfo.items", "Sword");
// -> { difficulty: 'Easy', items: ['Sword'] }


// Adding to a number (that doesn't exist yet) in an object:
db.add("userInfo.balance", 500);
// -> { difficulty: 'Easy', items: ['Sword'], balance: 500 }

// Removing to a number (that doesn't exist yet) in an object:
db.add("userInfo.balance", 100);
// -> { difficulty: 'Easy', items: ['Sword'], balance: 400 }

// Repeating previous examples:
db.push("userInfo.items", "Watch");
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 400 }
    
db.add("userInfo.balance", 700);
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 1100 }

db.sub("userInfo.balance", 100);
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 1000 }

// Fetching individual properties
db.get("userInfo.balance");
// -> 1000

db.get("userInfo.items"); 
// -> ['Sword', 'Watch']

db.save()
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 1000 }

db.backup()
// -> ./backups/db-00-00-00.json

db.clear()
// -> Empty

db.restore("./backups/db-00-00-00.json")
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 1000 }

db.all()
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 1000 }