1.1.5 • Published 10 months ago

calm.db v1.1.5

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

calm.db

calm.db is a zero-dependency, lightweight JSON-based database for Node.js applications. It provides methods to easily store, retrieve, and manipulate data, now including CSV import and export capabilities.

Installation

You can install calm.db via npm:

npm install calm.db

Usage

Initialize calm.db

const Database = require("calm.db");

// Initialize calm.db with a file path
const db = new Database("data/db.json");

Setting Data

// Set key-value pair
await db.set("key1", "value1");

Getting Data

// Get value by key
const value = await db.get("key1");
console.log(value); // Output: 'value1'

Checking Existence

// Check if key exists
const exists = await db.has("key1");
console.log(exists); // Output: true

Deleting Data

// Delete data by key
const deleted = await db.delete("key1");
console.log(deleted); // Output: true (if successful)

Other Operations

// Get all keys
const keys = await db.keys();
console.log(keys); // Output: ['key1', 'key2', 'key3']

// Get all values
const values = await db.values();
console.log(values); // Output: ['value1', 'value2', 'value3']

// Get the number of entries
const count = await db.size();
console.log(count); // Output: 3

JSON Operations

// Convert database to JSON object
const json = await db.toJSON();
console.log(json); // Output: { key1: 'value1', key2: 'value2', key3: 'value3' }

// Load JSON data into database
const newData = { key4: "value4", key5: "value5" };
await db.fromJSON(newData);

Exporting and Importing CSV

// Export database to CSV string
const csvString = await db.toCSV();
console.log(csvString);

// Import CSV string into database
const newCSVData = `
key,value
key2,value2
key3,value3
`;
await db.fromCSV(newCSVData);

Searching with Filters

// Find entries based on a filter function
const filtered = await db.find((key, value) => key.startsWith("key"));
console.log(filtered); // Output: [['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3']]

Contributing

Contributions are welcome! Feel free to open issues or pull requests for any improvements or bug fixes.

License

MIT License. See the LICENSE file for details.


© 2024 RohanDaCoder (Discord: rohan_ohio)

1.1.5

10 months ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago