Jsoning Save Abandoned

✨ A simple key-value JSON-based persistent lightweight database. ✨

Project README

jsoning

✨ A simple key-value JSON-based persistent lightweight database. ✨


CodeCov Build Status Latest Stable Version NPM Downloads node-current FOSSA Status


View Demo · Report Bug · Request Feature

Loved the project? Please consider donating to help it improve!


🚨 Since v0.10.19, JSON files are generated in the current working directory, rather than within the node_modules which resulted in loss of the JSON files whenever packages were re-installed!

Features ✨

  • Uses JSON files to modify and write key-value elements.
    • This allows for the usage of pre-existing JSON files by specifying the path when creating a new instance of Jsoning.
  • Easy to use, beginner-friendly and lightweight.
  • Writes atomically to prevent file corruption.

Install 💾

Node.js v12.x or greater is required for this package to work.

# npm
npm install jsoning

# or yarn if you're feeling fancy
yarn add jsoning

View the full documentation here.

Basic Usage 📑

let jsoning = require("jsoning");
let db = new jsoning("db.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

	// rip iron hide, he died
	await db.remove("transformers", "iron hide");

	// i'm getting bored, so i'm clearing the whole database
	await db.clear();
})();

Contributing

Please see CONTRIBUTING.md for more details on contributing!

Contributors

All Contributors

Thanks goes to these wonderful people (emoji key):


Khaleel Gibran

💻 📖 🎨 🚇 ⚠️

David

📖

Jonyk56

💻

ayntee

💻

undefine

💻 🐛 🛡️

Aditya Gupta

💻

Manuel Maly

💻 🐛

wh0

💻

This project follows the all-contributors specification. Contributions of any kind are welcome!

License

This package is open sourced under the MIT License.

FOSSA Status

Open Source Agenda is not affiliated with "Jsoning" Project. README Source: khalby786/jsoning
Stars
82
Open Issues
3
Last Commit
1 year ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating