mrsel.db
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Morsel DB

Morsel DB is a JSON file-based database management module that offers simple usage and high performance for organizing your data.

Installation

You can easily install Morsel DB via npm:

npm install morsel.db

Getting Started

First, define your database file. If you don't specify a file name, Morsel DB will use data.json by default.

const { Database } = require('morsel.db');
const db = new Database('file.json'); // Replace 'file.json' with your desired file name.

TypeScript Usage

Morsel DB also supports TypeScript. To use it with TypeScript, follow these steps:

  1. Install TypeScript (if not already installed):

    npm install typescript --save-dev
  2. Install Type Definitions:

    Install the type definitions for Morsel DB:

    npm install --save-dev @types/morsel.db
  3. Example Usage with TypeScript:

    import { Database } from 'morsel.db';
    
    const db = new Database('file.json');
    
    const object1 = { key: true, key2: "true" };
    db.set('Object', object1); // 'Object': { key: true, key2: "true" }
    
    const array1: string[] = ['element', 'element2'];
    db.set('Array', array1); // 'Array': ['element', 'element2']
    
    db.push('Array', 'element3'); // 'Array': ['element', 'element2', 'element3']

Example Usage

Set / Push Functions

To set data and push elements to arrays, use the following methods:

const { Database } = require('morsel.db');
const db = new Database('file.json');

const object1 = { key: true, key2: "true" };
db.set('Object', object1); // 'Object': { key: true, key2: "true" }

const array1 = ['element', 'element2'];
db.set('Array', array1); // 'Array': ['element', 'element2']

db.push('Array', 'element3'); // 'Array': ['element', 'element2', 'element3']

Data Retrieval

To retrieve data, use these methods:

db.objectFetch('Object', 'key'); // 'key': true
db.arrayFetch('Array', 1); // 'element2'
db.fetch('data'); // Fetches the value of 'data'
db.get('data'); // Fetches the value of 'data'
db.fetchAll(); // Fetches all data in the database
db.all(); // Fetches all data in the database

Data Deletion

To delete data, use these methods:

db.remove('data'); // Removes 'data' from the database
db.delete('Array', 'element3'); // Removes 'element3' from the array
db.deleteKey('Object', 'key'); // Deletes 'key' from the 'Object'
db.deleteEach('data'); // Deletes all keys starting with 'data'

Clearing and Destroying the Database

To clear all data or delete the database file:

db.clear(); // Clears all data in the database
db.destroy(); // Deletes the database file and clears all data

Boolean Functions

To check if data exists:

db.has('data'); // Returns true or false if 'data' exists

Mathematical Operations

To perform mathematical operations on data:

db.add('data', 1); // Adds 1 to 'data'
db.subtract('data', 1); // Subtracts 1 from 'data'
db.math('eco', '+', 10); // Adds 10 to 'eco'

Multiple Files

You can use multiple database files:

const bot = new Database('bot-config.json');
const servers = new Database('servers-config.json');
const users = new Database('users.json');

servers.push('servers', '800060636041314375');
bot.set('prefix', '#');
users.set('whitelist_747430301654974546', true);

Data Backup

To backup and restore your data:

db.setBackup('backup.json'); // Sets 'backup.json' as the backup file
db.loadBackup('backup.json'); // Loads the backup file

Use Cases

Morsel DB is suitable for various use cases including:

  • Bot Configuration: Store and manage configuration settings for bots.
  • User Management: Maintain user-related data such as preferences and permissions.
  • Game Data: Save game states or player data in applications.
  • Task Management: Track tasks, lists, and project data.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.


Package Sidebar

Install

npm i mrsel.db

Weekly Downloads

7

Version

1.0.0

License

Apache-2.0

Unpacked Size

36.3 kB

Total Files

7

Last publish

Collaborators

  • mrsel.js