node-json-file-storage

1.1.0 • Public • Published

Node JSON File Storage

npm GitHub Snyk Vulnerabilities for npm package npm npm Tests

A simple, lightweight node.js file storage for JSON data.

Installation

Download this project via Github and add it manually to your project or install the JSON File Storage npm / yarn package:

npm i node-json-file-storage / yarn add node-json-file-storage

How to Use / API

Create a new Store

// load lib...
const JSONFileStorage = require('node-json-file-storage'); // adjust the require path, if not installed via npm/yarn
 
// create store...
const file_uri = __dirname + "/your-storage-name.json";
const storage = new JSONFileStorage(file_uri);

Put

// content to save...
const obj_1 = 'some_content';
const obj_2 = {bar: 'baz'};
 
// save to file 
const id = storage.put(obj_1); // returns a random uuid 'id_1'
 
// save multiple items into the store (faster than calling put() twice)
const ids = storage.putBulk([obj_1, obj_2]); // returns an array of uuids: ['id_1', 'id_2']

A Note on the Use of IDs

You can use the storage in db manner (auto-id) const id = storage.put('your_content'); or key-value manner by wrapping your content in an object and providing your own keys in an id field storage.put({id:'your_key', 'your_content'}).

If you put an object with an id existing in the store, the existing and the new object will be merged, strings etc. will be replaced. An example: the new object {'id': {'foo': 1, 'bar': 2}} and the existing {'id': {'foo': 2, 'baz': 4}} will result in {'id': {'foo': 1, 'bar': 2, 'baz': 4}}.

Get (Everything)

// retrieve an item from the store
const obj = storage.get('id_1'); // returns the item or null
 
// retrieve multiple items from the store (again, its faster)
const objs = storage.getBulk(['id_1', 'id_2']); // returns an array of items found: ['some_content', {bar: 'baz'}]
 
// read the whole store
const everything = storage.all(); // returns a copy of the store: [{'id_1': 'some_content'}, 'id_2': {bar: 'baz'}}]

Remove (Everything)

// remove an item from store
const bool = storage.remove('id_1'); // returns if successfull
// or simply...
storage.remove('id_1');
 
// remove multiple items from the store (you know why...)
storage.removeBulk(['id_1', 'id_2']);
 
// clear the whole store
storage.clear();

Donate

If you like the project and it saved you a while of coding, spend me a coffee (or all of your savings) to keep me motivated: paypal.me

Dependents (0)

Package Sidebar

Install

npm i node-json-file-storage

Weekly Downloads

13

Version

1.1.0

License

GPL-3.0

Unpacked Size

50.9 kB

Total Files

9

Last publish

Collaborators

  • henrikdetjen