Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rohandacoder/calm.db
📦 calm.db is a simple, lightweight JSON-based database for Node.js applications. It provides easy methods to store, retrieve, and manage data in a JSON file, perfect for small to medium-sized projects that need a straightforward database solution.
https://github.com/rohandacoder/calm.db
Last synced: about 1 month ago
JSON representation
📦 calm.db is a simple, lightweight JSON-based database for Node.js applications. It provides easy methods to store, retrieve, and manage data in a JSON file, perfect for small to medium-sized projects that need a straightforward database solution.
- Host: GitHub
- URL: https://github.com/rohandacoder/calm.db
- Owner: RohanDaCoder
- License: mit
- Created: 2024-07-03T10:41:19.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-09-27T05:46:23.000Z (5 months ago)
- Last Synced: 2024-12-19T08:48:05.093Z (about 2 months ago)
- Language: TypeScript
- Size: 43.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
```bash
npm install calm.db
```## Usage
### Initialize calm.db
```javascript
const Database = require("calm.db");// Initialize calm.db with a file path
const db = new Database("data/db.json");
```### Setting Data
```javascript
// Set key-value pair
await db.set("key1", "value1");
```### Getting Data
```javascript
// Get value by key
const value = await db.get("key1");
console.log(value); // Output: 'value1'
```### Checking Existence
```javascript
// Check if key exists
const exists = await db.has("key1");
console.log(exists); // Output: true
```### Deleting Data
```javascript
// Delete data by key
const deleted = await db.delete("key1");
console.log(deleted); // Output: true (if successful)
```### Other Operations
```javascript
// 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
```javascript
// 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
```javascript
// 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
```javascript
// 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](./LICENSE) file for details.
---
© 2024 RohanDaCoder (Discord: rohan_ohio)