json-v2

0.1.4 • Public • Published

A package that allows you to continue using JSON files as a database (although not recommended), while avoiding corruption of your files, and keeping them up to date.

Example:

let FileModule = require('json-v2')
let AccountJson = new FileModule.FileSystem("./accounts.json") //Create new file object, with the path to the JSON.

AccountJson.getFile().then(async function (parsedFile) {  //Get files. (returns parsed)
    let Overwrite = await AccountJson.overwriteFile([{"Vabajaa": true}]) //Overwrite the entire file with the provided JSON.
        
    AccountJson.changeProperty({"Vabajaa": true}, {"Vabajaa": false, "Healthy": true}).then(async function(NewObject) { //Argument1 is the matching property that will be used to find the object. Argument2 are the properties to set.
        let newFile = await AccountJson.getFile() //Gets the parsed JSON.
        let pushedFile = await AccountJson.push({"Popeeyy": "best"}) //Push a value into a JSON file.
        let newestFile = await AccountJson.getFile() //Get the parsed JSON, again.
            
        console.log(newestFile)

        await AccountJson.removeObject({"Popeeyy": "best"}) //Remove object that we just pushed.
    }).catch(err => {
        console.log(err)
    })
})

New FileSystem

Creates an object for the provided path which you can use functions on.

let FileModule = require('json-v2')
let JSON = new FileModule.FileSystem("path/to/json")

Get File

Gets the parsed version of your JSON.

JSON.getFile() //returns promise with parsed data

Change Property

Gets the object in the JSON using the first argument's property and replaces properties from Argument2

JSON.changeProperty({"Key to find by": "Value to find by"}, {"Key to replace/add": "Value to replace/add"})

Push

Adds value into the JSON.

JSON.push(value)

Remove Object

Removes an object from the JSON.

JSON.removeObject(object)

Readme

Keywords

Package Sidebar

Install

npm i json-v2

Weekly Downloads

3

Version

0.1.4

License

MIT

Unpacked Size

11 kB

Total Files

4

Last publish

Collaborators

  • ewhbgfi3rb9g2