Skip to content

A Database using json files and tables, same usage like quickdb

License

Notifications You must be signed in to change notification settings

KingsBeCattz/katdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

katdb

A Database using json files and tables, same usage like quickdb

Contact me

Discord Badge Twitter Badge Instagram Badge

Install

npm i katdb

Setup (Using CommonJS):

const { KatDataBase } = require('katdb')

const db = new KatDataBase({ //Create the a new database instance
    path: './Database',
    tables: ['main']
})

db.on('start', () => {
    console.log('Database is ready!')
})

db.start() // let's start the class

Events

The package has events for each function except getTable, isValidTable, insert, ping and has.

  • Structure of an event is:
db.on('function', (...args) => { /*any*/ })
  • Example using set, get and push:
db.on('set', (key, value, table) => { /*any*/ })
db.on('get', (key, table, res) => { /*any*/ })
db.on('push', (key, value, table, res) => { /*any*/ })

The args depend on the function but are the same, except that at the end it is always what the function returns

Methods

Set

Sets a value from the provided key on the table (Default table: main)

  • Usage: set (key: string, value: any, table: string)
  • Example:
db.set('kingsbecats',{owner:true},'users') // Returns: {owner:true} (Promise)
db.set('kingsbecats.dev',true,'users') // Returns: true (Promise)
//Table: { "kingsbecats": { "owner": true, "dev": true } }

Get

Gets a value from the provided key on the table (Default table: main)

  • Usage: get (key: string, table: string)
  • Example:
db.get('kingsbecats','users') // Returns: { "owner": true, "dev": true } (Promise)
db.get('kingsbecats.owner','users') // Returns: true (Promise)
db.get('kingsbecats.dev','users') // Returns: true (Promise)

Delete

Deletes a value from the provided key on the table (Default table: main)

  • Usage: delete (key: string, table: string)
  • Example:
//Before: { "kingsbecats": { "owner": true, "dev": true } }
db.delete('kingsbecats.dev','users')
//After: { "kingsbecats": { "owner": true } }

Push

Pushs a value from the provided key on the table (Default table: main)

  • Usage: push (key: string, value: any, table: string)
  • Example:
db.push('kingsbecats.packages','katdb','users') // Returns: [ 'katdb' ] (Promise)
db.push('kingsbecats.packages','hybridcommands','users') // Returns: [ 'katdb', 'hybridcommands' ] (Promise)

Remove

Removes a value from the provided key on the table (Default table: main)

  • Usage: remove (key: string, value: any, table: string)
  • Example:
db.remove('kingsbecats.packages','katdb','users') // Returns: [ 'hybridcommands' ] (Promise)
db.remove('kingsbecats.packages','hybridcommands','users') // Returns: [ ] (Promise)

Shift

Removes and returns the first value from the provided key on the table (Default table: main)

  • Usage: shift (key: string, table: string)
  • Example:
db.get('kingsbecats.packages','users') // Returns: [ 'katdb', 'hybridcommands' ] (Promise)
db.shift('kingsbecats.packages','users') // Returns: 'katdb' (Promise)
db.get('kingsbecats.packages','users') // Returns: [ 'hybridcommands' ] (Promise)

Pop

Removes and returns the last value from the provided key on the table (Default table: main)

  • Usage: pop (key: string, table: string)
  • Example:
db.get('kingsbecats.packages','users') // Returns: [ 'katdb', 'hybridcommands' ] (Promise)
db.pop('kingsbecats.packages','users') // Returns: 'hybridcommands' (Promise)
db.get('kingsbecats.packages','users') // Returns: [ 'katdb' ] (Promise)

unShift

Adds at the begging the provided values from the provided key on the table (Default table: main)

  • Usage: unshift (key: string, value: any, table: string)
  • Example:
db.get('kingsbecats.packages','users') // Returns: [ 'hybridcommands' ] (Promise)
db.unshift('kingsbecats.packages','katdb','users') // Returns: [ 'katdb', 'hybridcommands' ] (Promise)

Add

Adds a value from the provided key and table (Default table: main)

  • Usage: add (key: string, value: number, table: string)
  • Example:
db.add('kingsbecats.money',5,'users') // Returns: 5 (Promise)

Sub

Substracts a value from the provided key and table (Default table: main)

  • Usage: sub (key: string, value: number, table: string)
  • Example:
db.sub('kingsbecats.money',1,'users') // Returns: 4 (Promise)

Multi

Multiply a value from the provided key and table (Default table: main)

  • Usage: multi (key: string, value: number, table: string)
  • Example:
db.multi('kingsbecats.money',2,'users') // Returns: 8 (Promise)

Divide

Divide a value from the provided key and table (Default table: main)

  • Usage: divide (key: string, value: number, table: string)
  • Example:
db.divide('kingsbecats.money',2,'users') // Returns: 4 (Promise)

Has

Verify if the key exists in provided table (Default table: main)

  • Usage: has (key: string, table: string)
  • Example:
db.has('kingsbecats','users') // Returns: true (Promise)
db.has('kingsbecats.owner','users') // Returns: false (Promise)
db.has('kingsbecats.dev','users') // Returns: true (Promise)

Ping

Gets the latency of the database

  • Usage: has ()
  • Example:
db.ping() // Returns: 3 (Promise)

GetTable

Gets all data in the provided table

  • Usage: getTable (name: string)
  • Example:
db.getTable('users') // Returns: { 'kingsbecats' : { owner : true, money : 4, packages : [ ] } } (Promise)

Start

Starts the database

  • Usage: start ()
  • Example:
db.start() // Returns: void

About

A Database using json files and tables, same usage like quickdb

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published