Nautilus: Pelagic Mollusc

    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

    Install

    npm i jsonfile-storage

    DownloadsWeekly Downloads

    2

    Version

    0.0.16

    License

    ISC

    Unpacked Size

    26.5 kB

    Total Files

    11

    Last publish

    Collaborators

    • tvieno