jsoning
✨ A simple key-value JSON-based persistent lightweight database. ✨
View Demo · Report Bug · Request Feature · Star On GitHub
Loved the project? Please consider donating to help it improve!
Like us a lot? Help others know why you like us! Review this package on pkgreview.dev | ➡ |
---|
Features
- 📝 Uses JSON files to modify and write key-value elements as JSON-objects.
- 👌 Easy to use JSON database.
- 🚫 Prevents JSON corruption with atomic file writing.
- 1️⃣ Uses only 1 dependency (
write-file-atomic
) - 🕊️ Lightweight package with an unpacked size of 12.1 kB.
- 🖥️ Requires Node.js v12.x or greater
Install 💾
Node.js v12.x or greater is required for this package to work.
npm install jsoning
View the full documentation here.
Basic Usage 📑
let jsoning = require('jsoning');
let database = new jsoning("database.json");
(async() => {
// set some values with a key
await db.set("birthday", "07-aug");
await db.set("age", "13");
// push stuff to an array for a particular key
await db.push("transformers", "optimus prime");
await db.push("transformers", "bumblebee");
await db.push("transformers", "iron hide");
// simply log what get is (i forgot what the transformers were)
console.log(await db.get("transformers")); // [ 'optimus prime', 'bumblebee', 'iron hide' ]
// just want to see what all is there
console.log(await db.all()); // { object of the whole database contents }
// does such a value exist
console.log(await db.has("value2")); // false
// my age keeps changing, so I'm deleting it
console.log(await db.delete("age")); // true
// i got 100$ for my birthday
await db.set("money", 100);
// and someone gave me 200 more dollars xD
await db.math("money", "add", 200);
// just wanna make sure how much money I got
console.log(await db.get("money")); // 300
// i'm getting bored, so i'm clearing the whole database
await db.clear();
})();
Links 🔗
Contributing
Please see CONTRIBUTING.md
for more details on contributing!
License
This package is open sourced under the MIT License.
Top comments (2)
Nice way to evolve my amazingly simple json reading code for better readability.
Thanks for the valuable feedback! This is actually my first project that has been this successful!