1.0.0 • Published 3 years ago

nibzbstx v1.0.0

Weekly downloads
4
License
MIT
Repository
github
Last release
3 years ago

Welcome to nibzbstx 👋

Version License: MIT

Simple and reusable state management system with side effects

Install

yarn add nibzbstx

or

npm install nibzbstx

Usage

Chainable

import {getActionHOC} from "../helpers/nibzbstm/actions";
import {State, generateStore, Actions} from "../helpers/nibzbstm/index";

const makeBtnTrue = (state, payload) => {
    return {...state,btn: true};
};
const makeBtnFalse = (state, payload) => {
    return {...state,btn: false};
};
const makeBtn2True = (state, payload) => {
    return {...state,btn2: true};
};
const makeBtn2False = (state, payload) => {
    return {...state, btn2: false};
};
const changeBtn3State = (state, payload) => {
    return {...state, btn3: payload};
};
$(document).ready(() => {
    const btnAction = State({
        initial: {btn: false},
        makeBtnTrue,
        makeBtnFalse
    });
    const btnAction2 = State({
        initial: {btn2: false},
        makeBtn2True,
        makeBtn2False
    });
    const btnAction3 = State({
        initial: {btn3: false},
        changeBtn3State
    });

    const store = generateStore(btnAction, btnAction2, btnAction3);

    store.manageEffects(function () {
        console.log("changed");
    }, ["btn","btn3"]);

    console.log(store.getState());
    store.actions.makeBtnTrue();
    console.log(store.getState());
    store.actions.makeBtn2True();
    console.log(store.getState());
    store.actions.changeBtn3State(false);
    console.log(store.getState());

🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page.