handy-storage

HandyStorage is a simple way to store your data in a JSON file


Keywords
handy, storage, json, easy, filesystem, database
License
MIT
Install
npm install handy-storage@2.1.6

Documentation

handy-storage logo

HandyStorage

HandyStorage is a simple way to store your data in a JSON file

Installation

npm install --save handy-storage

Example of Usage

const HandyStorage = require('handy-storage');

const storage = new HandyStorage({
    beautify: true
});

storage.connect('./information.json');

storage.setState({
    name: 'Alireza',
    lastname: 'Sh',
    friends: [
        'Jane',
        'John'
    ],
    visited: storage.state.visited || 0
})

storage.setState({
    visited: storage.state.visited + 1
})

Manual Refrence

HandyStorage

Kind: global class

new HandyStorage([path], [options])

Represents a "Handy" storage

Param Type Description
[path] string Path of JSON file
[options] Object Additional Configurations
[options.beautify] boolean Should storage beautify JSON before storing? (Default: false)
[options.autoSave] boolean Should storage auto save when you use .setState() method? (Default: true)

handyStorage.connect(path)

Connects storage to a JSON file

Kind: instance method of HandyStorage

Param Type Description
path string Path of JSON file

handyStorage.state

State object of storage, including all stored data

Kind: instance property of HandyStorage

Tip 1: you can change this object and call .save() to store it into JSON file.

Tip 2: try to use .setState() method instead of changing .state directly! it's much safer, also it supports autoSave mode.

handyStorage.setState(changes) ⇒ Promise

Sets some changes on "state" object then saves it into the file

Kind: instance method of HandyStorage

Param Type Description
changes Object State changes

Returns: Promise - State change callback promise

handyStorage.save([options]) ⇒ Promise

Saves current state into the connected JSON file

Kind: instance method of HandyStorage

Param Type Description
[options] Object Additional save configurations
[options.sync] boolean Should save synchronous? (Default: false)

Returns: Promise - Saving state callback promise