json-v2
Version:
Used to store data in JSON files without corruption.
64 lines (44 loc) • 2.04 kB
Markdown
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:**
```js
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.``
```js
let FileModule = require('json-v2')
let JSON = new FileModule.FileSystem("path/to/json")
```
**Get File**
``Gets the parsed version of your JSON.``
```js
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``
```js
JSON.changeProperty({"Key to find by": "Value to find by"}, {"Key to replace/add": "Value to replace/add"})
```
**Push**
``Adds value into the JSON.``
```js
JSON.push(value)
```
**Remove Object**
``Removes an object from the JSON.``
```js
JSON.removeObject(object)
```