Skip to content

LuisAcerv/quarkdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quark DB

Simple JSON db implemented for local storage in Electron projects

Installation

npm install --save my-quarkdb

npm install

Usage

Instantiation

const quarkDb = require('quarkdb');
const db = new quarkDb('/path/to/your/database.json');

The prototype of the constructor is new quarkDb(string, [object]), and you can supply the optional options object by giving it as second parameter:

const db = new quarkDb('/path/to/your/database.json', { ... });

See the Options section for more details.

Options

Key Value type Description Default value
asyncWrite Boolean Enables the storage to be asynchronously written to disk. false (synchronous behaviour)
syncOnWrite Boolean Makes the storage be written to disk after every modification. true

Set a key

db.set('key', 'value');

The key parameter must be a string, value can be whatever kind of object can be stored in JSON format. JSON.stringify() is your friend!

Get a key

db.get('key');

The key parameter must be a string. If the key exhists its value is returned, if it doesn't the function returns undefined.

Check a key

db.has('key');

The key parameter must be a string. If the key exhists true is returned, if it doesn't the function returns false.

Delete a key

db.delete('key');

The key parameter must be a string. The function returns as per the delete operator if the key exhists, else it returns undefined.

Sync to disk

db.sync();

This function writes the JSON storage object to the file path specified as the parameter of the main constructor. Consult the Options section for usage details; on default options there is no need to manually invoke it.

Access JSON storage

db.JSON();

This will return a copy of the internal JSON storage object, for you to tinker with and loop over.

Replace JSON storage

db.JSON({ data });

Giving a parameter to the JSON function makes the object passed replace the internal one. Be careful, as there's no way to recover the old object if the changes have already been written to disk.

Tests

Run npm test to start the combined Mocha & Chai testing suite.

About

Simple JSON db implemented for local storage in electron projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published