jsonfile-storage

0.0.16 • Public • Published

JSON File Storage

Package with a simple API for storing json files to a local directory.

Coverage Status Build Status

Getting Started

npm i jsonfile-storage

var JSONFileStorage = require('jsonfile-storage');

// directory must exist before creating storage instance
var storage = new JSONFileStorage('./data');

// put stuff into the storage
storage.put({ "key" : "stuff" }).then(result => {
    console.log(result);
    // outputs: { key: 'stuff', id: '137280bc-8afe-4ba2-9625-8c1d20b13c58' }
    // the id is generated automatically if it does not exist
    
    // remove item from the storage
    storage.remove(result.id).then(() => {
        // file was removed from storage
        console.log(storage.getFiles());
        // outputs: []
    })
})

API

JSONFileStorage

Kind: global class

new JSONFileStorage(directoryPath)

Creates a new instance of JSONFileStorage

Throws:

  • Error if directoryPath is not a string or an empty string
Param Type Description
directoryPath string The path of the folder where the data will be saved/retrieved

jsonFileStorage.get(id) ⇒ Promise.<any>

Get a single item from the directory with the id

Kind: instance method of JSONFileStorage
Returns: Promise.<any> - a promise that resolves into the file that matches the id. The promise is rejected if the file is not found with the id. Or if there is an error parsing the JSON.

Param Type Description
id string id of the item to get

jsonFileStorage.getBulk() ⇒ Promise.<Array.<any>>

Gets all the items from the directory and their content

Kind: instance method of JSONFileStorage

jsonFileStorage.put(item, [updateListing]) ⇒ Promise.<any>

Puts a single item in the directory

Kind: instance method of JSONFileStorage
Returns: Promise.<any> - promise that resolves into the file that was put

Param Type Default Description
item any item to be put in to the directory
[updateListing] boolean true should the files property be updated. Default is true

jsonFileStorage.putBulk(items) ⇒ Promise.<Array.<any>>

Puts items in the directory in bulk

Kind: instance method of JSONFileStorage
Returns: Promise.<Array.<any>> - items putted to the directory
Throws:

  • Error if items is not an array
Param Type Description
items Array.<any> items to be put to the directory

jsonFileStorage.remove(id, [updateListing])

removes the specified file from the directory

Kind: instance method of JSONFileStorage

Param Type Default Description
id string id of the file
[updateListing] boolean true should the file listing be updated. Default is true

jsonFileStorage.removeBulk(ids) ⇒ Promise.<void>

Deletes files in bulk

Kind: instance method of JSONFileStorage

Param Type Description
ids Array.<string> Array of ids for the files to be deleted

jsonFileStorage.getFiles() ⇒ Array.<string>

Get the json files inside the directory

Kind: instance method of JSONFileStorage
Returns: Array.<string> - files in the directory

jsonFileStorage.changeDirectory(directoryPath)

Changes the directory used within this class

Kind: instance method of JSONFileStorage

Param Type Description
directoryPath string path where to change to

Readme

Keywords

Package Sidebar

Install

npm i jsonfile-storage

Weekly Downloads

0

Version

0.0.16

License

ISC

Unpacked Size

26.5 kB

Total Files

11

Last publish

Collaborators

  • tvieno