Socket
Socket
Sign inDemoInstall

node-json-file-storage

Package Overview
Dependencies
1
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    node-json-file-storage

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


Version published
Weekly downloads
10
decreased by-23.08%
Maintainers
1
Install size
70.6 kB
Created
Weekly downloads
 

Readme

Source

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

Keywords

FAQs

Last updated on 19 Mar 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc