json-disk-store
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

JsonDiskStore

JsonDiskStore is a lightweight Node.js library for storing and managing JSON data on the local disk. It offers an easy-to-use API for reading, writing, updating, and deleting JSON data. It also supports optional in-memory caching, custom file paths, and encryption for secure data storage.

Features

  • Read, write, update, and delete JSON data.
  • In-memory cache for faster read and write operations.
  • Custom file path support for storing the JSON data.
  • AES-256 encryption support for secure data storage.

Installation

Install JsonDiskStore using npm:

npm install json-disk-store

Usage

Here are some examples of how to use JsonDiskStore:

Basic Usage

import { JsonDiskStore } from "json-disk-store";

const db = new JsonDiskStore("data.json");

// Write data
const uniqueKey1 = await db.write("key1", "value1");

// Read data
const value = await db.read(uniqueKey1);
console.log(`Read value: ${value}`);

// Update data
await db.update(uniqueKey1, "newValue");
const updatedValue = await db.read(uniqueKey1);
console.log(`Updated value: ${updatedValue}`);

// Delete data
const deleted = await db.delete(uniqueKey1);
console.log(`Key deleted: ${deleted}`);

In-Memory Cache

Enable in-memory caching for faster read and write operations:

import { JsonDiskStore } from "json-disk-store";

const db = new JsonDiskStore("data.json", undefined, true);

// Usage is the same as the basic example

Custom File Path

Store the JSON data in a custom file path:

import { JsonDiskStore } from "json-disk-store";
import path from "path";

const customPath = path.resolve(process.cwd(), "custom_data");
const db = new JsonDiskStore("data.json", customPath);

// Usage is the same as the basic example

Encryption

Encrypt the JSON data using AES-256 encryption:

import { JsonDiskStore } from "json-disk-store";

const db = new JsonDiskStore(
  "encryptedData.json",
  undefined,
  false,
  "encryptionPassword123"
);

// Usage is the same as the basic example

Note: The encryption password should be kept secret and not hardcoded in the source code in a production environment. Instead, consider using environment variables or a secure key management system to store the password.

License

MIT

Package Sidebar

Install

npm i json-disk-store

Weekly Downloads

0

Version

0.2.0

License

MIT

Unpacked Size

16.8 kB

Total Files

13

Last publish

Collaborators

  • unseen