Simple State for SPAs
npm install @codeforcoffee/simple-state or yarn add @codeforcoffee/simple-state
ES Module
import SimpleState from '@codeforcoffee/simple-state';
After importing the library, you can create as many instances as you'd like (but likely should not).
If you use create-react-app or anything else that uses babel, you will need to update your config files for your project to enable @babel/plugin-proposal-class-properties.
Install the following packages:
npm i --save-dev @babel/preset-env @babel/preset-react @babel/plugin-proposal-class-properties"babel": {
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ],
  "plugins": [
    [
      "@babel/plugin-proposal-class-properties"
    ]
  ]
}
If using CRA, follow the above steps (the config block will be added to your package.json), npm i @codeforcoffee/simple-state.
You will need to npm run eject. From there, in your scripts/webpack.*.config files, update your Babel config block:
presets: [
  [
    require.resolve("babel-preset-react-app/dependencies"),
    { helpers: true }
  ]
],
plugins: ["@babel/plugin-proposal-class-properties"],An example application is located in this repository under the example folder.
store = new SimpleState({ amiibo: [] });Then you can update the State:
store.updateStore({ myValue: "isNotEmpty" });You can get state:
store.getState();Previous state:
store.getPreviousState();and initial state:
store.getInitialState();and to JSON for API calls:
store.toJSON();- SimpleState
- Created by codeforcoffee on 11/2/18. 
- SimpleState : object
Created by codeforcoffee on 11/2/18.
Kind: global class
constructor
| Param | Type | 
|---|---|
| initialState | * | 
Returns initial state
Kind: instance method of SimpleState
Update the store. MergeArrays is true by default.
Kind: instance method of SimpleState
| Param | Type | Default | 
|---|---|---|
| newAttributes | * | |
| mergeArrays | Boolean | true | 
Get current state
Kind: instance method of SimpleState
Get prior state
Kind: instance method of SimpleState
converts state to JSON
Kind: instance method of SimpleState
Kind: global namespace
- SimpleState : object
constructor
| Param | Type | 
|---|---|
| initialState | * | 
Returns initial state
Kind: instance method of SimpleState
Update the store. MergeArrays is true by default.
Kind: instance method of SimpleState
| Param | Type | Default | 
|---|---|---|
| newAttributes | * | |
| mergeArrays | Boolean | true | 
Get current state
Kind: instance method of SimpleState
Get prior state
Kind: instance method of SimpleState
converts state to JSON
Kind: instance method of SimpleState
- 1.0.0-beta.0 - Initial release