0.1.0 • Published 2 years ago

@web-deps/state-manager v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

state-manager

A JavaScript library for state management and automation. It can be used on both the frontend and backend.

Installation

NPM

npm install @web-deps/state-manager

Yarn

yarn add @web-deps/state-manager

Usage

Creating a State Manager

import { StateManager } from "@web-deps/state-manager";

const states = [
  {
    name: "success",
    observers: [
      (stateEvent) => {
        console.log(stateEvent.name);
      }
    ]
  },
  {
    name: "error",
    observers: [
      (stateEvent) => {
        console.log(stateEvent.name);
      }
    ]
  },
  {
    name: "warning",
    observers: [
      (stateEvent) => {
        console.log(stateEvent.name);
      }
    ]
  },
  {
    name: "info",
    observers: [
      (stateEvent) => {
        console.log(stateEvent.name);
      }
    ]
  }
];

let alertType = new StateManager({
  name: "AlertType",
  initialState: "success",
  states
});

console.log(alertType.current); // 'success'

Changing State

// Import StateManager and create instance 'alertType'

alertType.current = "error"; // Output 'error'

Adding Observers

// Import StateManager and create instance 'alertType'

alertType.addObserver("warning", () => {
  console.log("Giving some warning message.");
});

alertType.current = "waring";
// Output
// 'waring'
// 'Giving some warning message.'

API

License

MIT License.