https://github.com/faressoft/appstorage
LocalStorage for Node.js, auto syncing for objects with JSON files using the Proxy API
https://github.com/faressoft/appstorage
appstorage config files json localstorage preferences proxy sync
Last synced: about 1 year ago
JSON representation
LocalStorage for Node.js, auto syncing for objects with JSON files using the Proxy API
- Host: GitHub
- URL: https://github.com/faressoft/appstorage
- Owner: faressoft
- License: mit
- Created: 2018-07-08T23:11:17.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-07-15T13:35:43.000Z (almost 8 years ago)
- Last Synced: 2025-03-19T00:16:59.047Z (about 1 year ago)
- Topics: appstorage, config, files, json, localstorage, preferences, proxy, sync
- Language: JavaScript
- Size: 32.2 KB
- Stars: 20
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# AppStorage
[](https://www.npmjs.com/package/appstoragejs)
[](https://github.com/faressoft/appstoragejs/blob/master/LICENSE)
> LocalStorage for Node.js, auto syncing for objects with JSON files using the Proxy API
# Table of Contents
* [Installation](#installation)
* [Usage](#usage)
* [License](#license)
## Installation
```
npm install --save appstoragejs
```
## Introduction
Use the ES6 [Proxy](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy) API to set traps to recursively watch changes on an object and sync it automatically with a `JSON` file within the current event loop phase using `fs.writeFileSync`.
* `Good for` CLI tools, storing configs, user preferences, cached data, states, etc.
* `Bad for` production applications, scalable or high-performance applications, web servers, etc.
## Usage
* The data are synced automatically with `data.json` on every change within the current event loop phase.
* The data are read automatically from `data.json` when the app starts.
* Nothing to worry about just deal with the object as any normal object.
```js
var AppStorage = require('appstoragejs');
// Create a new AppStorage
var appStorage = new AppStorage('data.json');
// Just do anything with your object !
appStorage.name = 'Bob';
appStorage.age = 13;
appStorage.records = [1,2,3,4];
```
You can define your AppStorage object as a `global` object to be used anywhere within your app.
```js
global.appStorage = appStorage;
```
# License
This project is under the MIT license.