bryku-jsonbase
v1.0.6
Published
Interact with .json files like a database.
Downloads
9
Readme
Summary
Jsonbase allows you to interact with .json files like a database. This can be a great solution for logs, news, and admin messages. I would say the target range is for databases smaller than 200 rows, otherwise a traditional database is recommended.
.target(directory) (STRING)
Defines the directory location for the database files.
- /index.js
- /database
- /database/employees.json
jsonbase.target('/database')
.then(()=>{
// do something
})
.catch((e)=>{
// handle errors
})
.create(table) (STRING)
Creates a new tables.
jsonbase.create('employees')
.then(()=>{
// do something
})
.catch((e)=>{
// handle errors
})
.backup(table) (STRING)
Creates a backup of table. The backup will be stored in the specificed directory with the same name, but it will be converted into a text file.
jsonbase.backup('employees')
.then(()=>{
// do something
})
.catch((e)=>{
// handle errors
})
.revert(table) (STRING)
Overrides the current table with the backup.
jsonbase.revert('employees')
.then(()=>{
// do something
})
.catch((e)=>{
// handle errors
})
.delete(table) (STRING)
Deletes and existing table.
jsonbase.delete('employees')
.then(()=>{
// do something
})
.catch((e)=>{
// handle errors
})
.report()
Returns an ARRAY with table information.
jsonbase.report()
.then((output)=>{
// do something
})
.catch((e)=>{
// handle errors
})
The output will look like this:
[
{ name: 'employees', bytes: 147, size: '147b', rows: 2 }
]
.insert(table, data) (STRING, ARRAY/OBJECT)
Inserts a new row into the table. This will return the number of rows added.
let employee = {
name: 'john doe',
age: 57,
};
jsonbase.insert('employees', employee)
.then((count)=>{
// do something
})
.catch((e)=>{
// handle errors
})
You can also add multiple rows at one time using an Array.
let employees = [
{name: 'jane doe', age: 54,}
{name: 'joe doe', age: 31,}
};
jsonbase.insert('employees', employees)
.then((count)=>{
// do something
})
.catch((e)=>{
// handle errors
})
.update(table, query, data) (STRING, FUNCTION, OBJECT)
Updates all matching rows within the table.
jsonbase.update('employees', (r)=>{r.name == 'John Doe'}, {position: 'manager'})
.then((count)=>{
// do something
})
.catch((e)=>{
// handle errors
})
.single(table, query) (STRING, FUNCTION)
Returns the first matching result.
jsonbase.single('employee', (r)=>{return r.name == 'john doe'})
.then((row)=>{
// do something
})
.catch((e)=>{
// handle errors
})
.select(table, query) (STRING, FUNCTION)
jsonbase.select('employee', (r)=>{return r.age > 40})
.then((rows)=>{
// do something
})
.catch((e)=>{
// handle errors
})
.remove(table, query) (STRING, FUNCTION)
Removes all matching rows.
jsonbase.remove('employees',(r)=>{return r.name = 'joe doe'})
.then(()=>{
// do something
})
.catch((e)=>{
// handle errors
})