Skip to content

web-deps/state-manager

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published