# redux-state-save

> Save and load the redux state

Latest version **1.0.0** (published 2018-01-16) · WTFPL license · 0 weekly downloads

## Install

```sh
npm install redux-state-save
pnpm add redux-state-save
yarn add redux-state-save
bun add redux-state-save
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2018-01-16 |
| First published | 2017-03-11 |
| Weekly downloads | 0 |
| License | WTFPL |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | bytefunc |
| Maintainers | bytefunc |
| Keywords | redux, redux-middleware, flux, middleware, localstorage |

## Links

- npm: https://www.npmjs.com/package/redux-state-save
- Repository: https://github.com/bytefunc/redux-state-save
- Homepage: https://github.com/bytefunc/redux-state-save#readme
- Issues: https://github.com/bytefunc/redux-state-save/issues
- npm.io page: https://npm.io/package/redux-state-save

## Alternatives

- [@reckona/mreact-store](https://npm.io/package/@reckona/mreact-store.md) — 976 weekly downloads
- [regular-state](https://npm.io/package/regular-state.md) — 410 weekly downloads
- [@pacote/flux-actions](https://npm.io/package/@pacote/flux-actions.md) — 65 weekly downloads
- [@pilotlab/lux-debug](https://npm.io/package/@pilotlab/lux-debug.md) — 39 weekly downloads
- [vue-persist-state](https://npm.io/package/vue-persist-state.md) — 19 weekly downloads

## Recent versions

- 1.0.0 (latest) — 2018-01-16
- 0.1.3 — 2017-11-20
- 0.1.2 — 2017-03-18
- 0.1.1 — 2017-03-11
- 0.1.0 — 2017-03-11

## README

# redux-state-save

Save and load the redux state.

## Installation

```javascript
npm install --save redux-state-save

or

yarn add redux-state-save
```

# Usage

## Example 1 (using the file storage)

Example of the most simple method of use. Save all of the redux state that have registered to reducers to file storage.

```javascript
import Storage from "redux-state-save";

var storage1 = new Storage();
storage1.setConfig({
    storage_type: "file_storage",
    file_path: "c:\test",
    file_name: "user.json"
});
var store = createStore(reducers, applyMiddleware(storage1.saveState()));

// state data load from file storage
store = storage1.loadState(store);
```

## Example 2 (using the the local storage)

local storage is window.localstorage of Web API.

if you want to use local storage. you should change storage_type value of config option to local_storage.

```javascript
import Storage from "redux-state-save";

var storage1 = new Storage();
storage1.setConfig({
    storage_type: "local_storage",
    local_key: "redux-states"
});
var store = createStore(reducers, applyMiddleware(storage1.saveState()));

// state data load from local storage
store = storage1.loadState(store);
```

## Example 3 (using multi storage)

State saved using both of local storage and file storage in the below example.

```javascript
import Storage from "redux-state-save";

var storage1 = new Storage();
var storage2 = new Storage();

storage1 = {
    storage_type: "local_storage",
    local_key: "state-log",
    filter_type: "whitelist",
    filter_list: ["stateLog"]
};

storage2 = {
    storage_type: "file_storage",
    file_path: "c:abc",
    file_name: "user.json",
    filter_type: "whitelist",
    filter_list: ["stateUser"]
};

var store = createStore(
    reducers,
    applyMiddleware(storage1.saveState(), storage2.saveState())
);

store = storage1.loadState(store);
store = storage2.loadState(store);
```

## API

### .saveState()

### .loadState(createStore())

### .setConfig({options})

| options      |   type |       default       |                   description                   |
| :----------- | -----: | :-----------------: | :---------------------------------------------: |
| storage_type | string |   "file_storage"    |        "file_storage" or "local_storage"        |
| filter_type  | string |     "blacklist"     |           "whitelist" or "blacklist"            |
| filter_list  |  array |         []          |          set the state name to filter           |
| file_path    | string |         ""          | If you use file storage. have to set path value |
| file_name    | string | "redux-states.json" |     Can set the file name for save the file     |
| local_key    | string |   "redux-states"    |             local storage key name              |

## License

WTFPL

---
_Source: https://npm.io/package/redux-state-save · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
