Simple JSON db implemented for local storage in Electron projects
npm install --save my-quarkdb
npm install
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.
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 |
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!
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
.
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
.
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
.
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.
db.JSON();
This will return a copy of the internal JSON storage object, for you to tinker with and loop over.
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.
Run npm test
to start the combined Mocha & Chai testing suite.